Modulo P rif.: ma-mp-color ver. 10.0.1 del 16/2/2010 Manuale del modulo Color Grayscale per la linea di sistemi di visione artificiale HQV / Vedo. Questo manuale illustra le modalità di impiego del modulo opzionale Color nell ambito dei sistemi di visione artificiale HQV / Vedo e si rivolge quindi agli utenti che abbiano già un certo grado di dimestichezza con il funzionamento del software di base. 1. Generalità Il modulo Colors permette di effettuare analisi di colore o di scale di grigio in aree selezionate, è possibile analizzare la luminosità (Luminance), la saturazione (Saturation) e la tinta (Hue) di un campione. 1.1. Definizione dell area di analisi Per effettuare un analisi colore è necessario definire un campione di riferimento morfologico a cui si aggancerà il campione Color (oppure selezionare da menù Analysis Disable morphological analysis) e selezionare dal menù Analysis della finestra Sample la voce Color o Grayscale a seconda se la telecamera utilizzata è a colori o in bianco e nero. A questo punto è possibile premere Get sample della finestra Color e definire la zona da analizzare. Finestra visualizzata con telecamera a colori Premendo Get Sample è possibile selezionare l' area da analizzare Filtro che riduce gli effetti del rumore MP1
2. Configurazione dei parametri. Una volta definita la zona di analisi la finestra Colors mostra tre istogrammi, rispettivamente: Luminance, Saturation ed Hue se la telecamera utilizzata è a colori, altrimenti con telecamere in bianco e neroè presente solo il grafico per Luminance. Telecamere bianco/nero Istogramma E possibile definire una maschera al fine di non prendere in considerazione nell analisi la zona mascherata, premendo Create Mask si apre la finestra Mask (v. 5.3 del manuale). L istogramma visualizzato può essere calcolato tenendo conto della maschera premendo Calculate with mask. Quando si sta utilizzando una telecamera a colori sono visualizzati tre istogrammi, è necessario spuntare almeno una casella tra Luminance, Saturation e Hue per definire quali parametri includere nei calcoli durante l elaborazione. Spuntare la casella per includere la saturazione nei calcoli durante l elaborazione Note: dalla versione 8.5.1 la zona di analisi segue la rototraslazione degli oggetti a cui è collegata (prima poteva solo traslare). MP2
3. Strategie di analisi. E possibile selezionare varie strategie di analisi. Alcune di queste sono legate alla soglia di filtraggio che può essere variata agendo sul cursore Filter. Questa soglia è espressa in percentuale, fatto 100% il massimo valore rilevato nell istogramma. Normal: l analisi impara la posizione (asse X) del centroide dell istogramma (la media pesata di tutti i valori visualizzata come elemento in alto della piramide di numeri posizionata a sinistra dell istogramma) ed in fase di elaborazione da un valore = 100 se è uguale, < 100 più si sposta dal valore campionato. Delta MIN: l analisi impara la differenza tra il centroide ed il valore minimo dell istogramma (l intersezione tra il filtro e l istrogramma a sinistra del centroide visualizzata come elemento in basso a sinistra della piramide di numeri posizionata a sinistra dell istogramma). Delta MAX: l analisi impara la differenza tra il centroide ed il valore massimo dell istogramma (l intersezione tra il filtro e l istrogramma a destra del centroide visualizzata come elemento in basso a destra della piramide di numeri posizionata a sinistra dell istogramma). Peak count: l analisi conta i picchi presenti al di sopra del filtro impostato, una finestra in basso a destra visualizza il numero di picchi trovati. In fase di elaborazione da un valore = 100 se il numero di picchi è uguale a quello rilevato, < 100 se diverso. Horizontal / vertical Thread: l analisi impara la presenza del filetto. In fase di elaborazione da un valore tanto inferiore a 100 quanto più il filetto è diverso dall originale. Delta MIN-MAX: l analisi impara la differenza tra il valore minimo ed il valore massimo dell istogramma (l intersezione tra il filtro e l istrogramma a destra ed a sinistra del centroide visualizzata come elemento in basso a destra ed a sinistra della piramide di numeri posizionata a sinistra dell istogramma). Mask delta min: l analisi impara la differenza tra il valore minimo della zona mascherata ed il valore minimo della zona non mascherata. Solitamente si maschera una zona più scura (ad esempio dove ci sono scritte od incisioni scure rispetto ad un fondo chiaro) e si lascia non mascherata la zona di fondo chiaro. Agendo sul cursore filter si farà in modo di rendere massimo il valore visualizzato come elemento in basso a sinistra della piramide di numeri posizionata a sinistra dell istogramma. Nella foto a lato si vede come riconoscere un incisione rispetto al fondo. Mask delta max: l analisi impara la differenza tra il valore massimo della zona mascherata ed il valore massimo della zona non mascherata. Solitamente si maschera una zona più chiara (ad esempio dove ci sono scritte od incisioni chiare rispetto ad un fondo scuro) e si lascia non mascherata la zona di fondo scuro. Agendo sul cursore filter si farà in modo di rendere massimo il valore visualizzato come elemento in basso a destra della piramide di numeri posizionata a sinistra dell istogramma. MP3
Auto PHP: l analisi apprende la Peak Hit Parade in modo automatico durante l elaborazione, ed effettua la differenza (pesata) tra il centroide e il picco massimo dell istogramma dell immagine del campione. Questa analisi si articola in tre fasi: apprendimento, elaborazione, reset. Apprendimento: durante l elaborazione si preme il pulsante di apprendimento e in questo modo il sistema apprende dalle immagini acquisite le diverse informazioni di cui ha bisogno l analisi. Bisogna apprendere qualche immagine per rilevare tutte le informazioni necessarie, poiché l analisi deve effettuare una media di diversi valori e registrare delle regole di apprendimento; è dunque consigliato utilizzare un campione privo di difetti, altrimenti si deve controllare a vista che l immagine acquisita sia buona. Al termine, disattivare l apprendimento premendo nuovamente il pulsante sul pannello operatore. Elaborazione: a sistema avviato e dopo aver eseguito l apprendimento è possibile attivare l elaborazione dell analisi premendo il corrispondente pulsante sul pannello operatore. È anche possibile apprendere ed elaborare allo stesso tempo, ma bisogna ricordarsi di disattivare l apprendimento automatico dopo aver acquisito qualche immagine, altrimenti i risultati potrebbero essere falsati. In questa fase l analisi controllerà l accettabilità dei campioni utilizzando le informazioni rilevate nella fase di apprendimento. Reset: durante l elaborazione, dopo aver disattivato l apprendimento e l elaborazione dell analisi, premendo il pulsante reset si comanda al sistema di cancellare le impostazioni rilevate in fase di apprendimento e quindi si azzera la logica dell analisi Auto PHP. Numero di regole per la logica fuzzy che calcola l accettabilità del campione analizzato: un numero alto implica un tempo di apprendimento ed elaborazione maggiore ma anche una più alta affidabilità dell analisi. L impostazione standard è di 1000 regole. I tre pulsanti del pannello operatore che attivano/disattivano le tre operazioni da eseguire con l analisi Auto PHP: apprendimento, elaborazione, reset. Differenza tra centroide e picco massimo dell istogramma (pesata). L analisi Auto PHP permette tre operazioni durante l elaborazione: apprendimento, elaborazione, reset. Queste operazioni vengono effettuate premendo il pulsante corrispondente sul pannello operatore, che abiliterà degli eventi programmati con il modulo PLC (vedi esempio seguente). Per ulteriori informazioni sulla programmazione PLC e l uso del pannello operatore HMI si rimanda alla documentazione specifica. MP4
SECTION apprendimento LIBERO 1) IF(Pr. OR) & IH 13 THEN UH 13, V 15001 1 Msec 2) IF(Pr. OR) & IL 13 THEN UL 13, V 16001 END SECTION elaborazione LIBERO 1) IF(Pr. OR) & IH 15 THEN UH 15, V 17001 1 Msec 2) IF(Pr. OR) & IL 15 THEN UL 15, V 18001 END SECTION reset LIBERO 1) IF(Pr. OR) & IA 17 THEN UH 17, V 19001 1000 Msec 2) IF(Pr. OR) * THEN UL 17 END Per segnalare un evento si scrive V seguito dal numero dell evento 15 più il numero del campione su tre cifre 001. L evento 15 corrisponde a inizio apprendimento ; nell esempio V 15001 si legge: evento di inizio apprendimento per il campione 001. Gli altri codici di evento significano: Evento 16 : fine apprendimento. Evento 17 : inizio elaborazione. Evento 18 : fine elaborazione. Evento 19 : reset delle impostazioni iniziali. All analisi Auto PHP si possono applicare il filtro del rumore e la maschera del campione come illustrato precedentemente. In più, con tutte le analisi superficiali di questo modulo (Color Grayscale) è possibile utilizzare anche l analisi strutturale Matrix presente nello stesso menu delle analisi. MP5
4. Impostazione degli I/O. Per generare degli eventi legati all analisi colore è necessario spuntare l apposita casella nella finestra IO: Spuntare le caselle di questa colonna per includere il risultato dell analisi colore. Per esempio se si spunta la casella in corrispondenza dell evento All Found OUT, sarà attivata l uscita specificata nel caso in cui l analisi per il campione rientra nei parametri di accettabilità. MP6
5. Elaborazione e risultati. La finestra Result mostra i risultati dell analisi durante l elaborazione. Percentuale di accettabilità dell analisi. Una V indica che l analisi è andata a buon fine. La percentuale di accettabilità dell analisi si può variare dalla finestra Setting: Accettabilità dell analisi MP7
6. Salvataggio nelle variabili. Abilita la scrittura dei dati rilevati nelle variabili Cliccando su Write data in variable il sistema memorizzerà i valori di hue saturation e luminance ed RGB come specificato nella tabella seguente. Sarà possibile, ad esempio, mostrare i valori trovati tramite HMI (vedi ma-ml- MMI) o memorizzarli su disco (vedi ma-ma-disk). VARIABILE TIPO BASE DESCRIZIONE R Double (#) 256 RED (RGB) Abs G Double (#) 256 GREEN (RGB) Abs B Double (#) 256 BLUE (RGB) Abs H Long (&) 256 HUE Abs H Double (#) 256 HUE Diff. I Double (#) 360 HUE Abs J Double (#) 360 HUE Diff. L Long (&) 256 LUMINANCE Abs L Double (#) 256 LUMINANCE Diff. M Double (#) 100 LUMINANCE Abs N Double (#) 100 LUMINANCE Diff. S Long (&) 256 SATURATION Abs S Double (#) 256 SATURATION Diff. T Double (#) 100 SATURATION Abs V Double (#) 100 SATURATION Diff. MP8