Tecniche di Visione Artificiale e Patt Tessiture su

Transcript

Tecniche di Visione Artificiale e Patt Tessiture su
Tecniche di Visione Artificiale e Pattern Recognition per l’analisi di
Tessiture
essiture su superfici ceramiche
R. Cucchiara, S. Calderara
Imagelab- Dipartimento di Ingegneria dell’Informazione
Università di Modena e Reggio Emilia
1. Introduzione
Da più di vent’anni, l’analisi di immagini al calcolatore è uno strumento prezioso durante il processo
produttivo ceramico, specialmente nella fase di ispezione visiva. Queste tecniche di Automated Visual
Inspection (AVI) sono state sviluppate nell’ambito di due discipline
discipline ormai affermate nel mondo informatico
quali la Visione Artificiale e la Pattern
Patter Recognition.
La prima, si occupa di modelli e tecniche per emulare
emular il comportamento visivo proprio di un sistema
biologico, e quindi studia tutte le tecniche al calcolatore
calcol re per estrarre primitive visuali,
visuali quali colori, tessiture,
contorni e forme poi impiegate in processi per la comprensione e il riconoscimento. La seconda si avvale di
strumenti, soprattutto statistici, per analizzare,
analizzare, classificare ed individuare pattern
patter e modelli definiti in
grandi quantità di dati misurati, come le suddette primitive visuali estratte dalle immagini.
Molteplici problemi che influiscono la qualità del prodotto ceramico possono essere risolti grazie alla
Visione Artificiale: l’analisi dimensionale,
ensionale, per la identificazione delle difettosità geometriche (ad es. bordi e
spigoli); l’analisi di difettosità locali ( quali crepe o gocce o porosità), l’analisi di tonalità e di colore e l’analisi
delle tessiture.
Le tecniche di analisi automatica dii immagini per l’integrità geometrica sono ben consolidate fin dagli anni
‘80 tanto che l’industria modenese e’ leader mondiale per la produzione di sistemi di controllo; ugualmente
l’analisi di difetti locali su superfici di colore uniforme e’ un problema stabilmente risolto. Queste soluzioni
sono risultati di studi scientifici iniziati negli anni ’70 , [1], e sviluppati negli anni ’80 e ‘90, come ad esempio
tecniche per l’analisi di crepe [2] generalizzate su diverse superfici. Anche l’analisi tonale della
dell qualità ed
uniformità del colore di superfici ceramiche e’ un problema affrontato in dettaglio attraverso l’analisi con
strumenti specifici quali spettrometri e interferometri e con algoritmi immagini digitali soprattutto basati su
istogrammi [3].
L’analisi del colore è un campo molto interessante che interseca diverse discipline come l’Imaging per la
restituzione visiva (ad esempio per la stampa fedele su carta e su ceramica di serigrafie
ser
definite al
calcolatore), Image Processing e la Visione Artificiale per il controllo e la scelta del colore. In questo caso si
deve prestare attenzione all’immenso panorama di spazi colore nati per descrivere la natura fisica del
colore ( es. CIE LAB) , la restituzione a monitor (es.
(es CIE XYZ, RGB, s-RGB),
RGB), la trasmissione
trasmission e la compressione
(es. YCbCr) o l’ emulazione della percezione umana (es.
(es HSV; HLS).
Fig. 1 Esempi di spazi colore.
Lo studio dell’ispezione superficiale di difettosità e colore dagli anni ottanta ad ora ha conseguito
significativi progressi;; negli ultimi anni gli sforzi si sono concentrati sulle analisi di tessiture non uniformi sia
periodiche che casuali,, decisamente più complesse da essere elaborate al calcolatore in modo automatico.
automatico
In questo lavoro vogliamo soffermarci
arci sulle nuove tecniche di visione dedicate alle tessiture, valutando a) il
tipo di problema b) le metodologie di estrazioni di primitive visuali c) le tecniche di pattern recognition
associate. Per quel che riguarda il primo punto,
punto l’analisi di tessiture si può dividere in due categorie:
1. deviazioni locali della tessitura quali irregolarità nella trama o brusche rotture e imperfezioni nel
disegno
gno e riportate sulla superficie, visibili sull’immagini digitale. A questa categoria fanno riferimento
le difettosità standard che devono essere valutate sulle superfici ceramiche,
ceramiche, cercando di differenziarle
dalle trame e tessiture più o meno complesse.
2. deviazioni di carattere globale sia di colore che di tessitura senza che siano presenti particolari
anomalie di carattere
tere locale. Tale difettosità viene definite anche ombreggiatura o variazione di
tonalità.
A seconda del problema devono essere estratte primitive visuali diverse come descritto nei paragrafi
successivi.. Per quel che riguarda il terzo punto invece bisogna distinguere tra
1. classificazione (supervisionata)) i campioni vengono divisi in modelli o in classi e dato un nuovo
campione deve essere riconosciuto a quale modello o classe appartiene. Questi classici problemi di
classificazione possono essere impiegati sia per applicazioni di smistamento, packaging o ordinamento
dei prodotti sia per la definizione delle scelte durante il processo produttivo
2. analisi di anomalie: in questo caso i dati di training in genere in numero limitati vengono elaborati al
fine di definire uno o più modelli di riferimento, anche con
con classificazione non supervisionata o
clustering. Il problema consiste nell’individuare se il campione ispezionato sia compatibile col modello
o si tratta di un’anomalia ( sia essa deviazione locale o globale)
Questo problema verrà brevemente discusso nell’ultima
l’ultima parte, ma esiste una vasta letteratura
sull’argomento
o e sulle tecniche correlate, ad es. [5].
3. Analisi di tessitura: operatori per deviazioni locali
Le tecniche per rilevare i difetti locali della tessitura, che comprendono crepe, imperfezioni quali
qua bolle o
gocce oppure irregolarità della
la trama come mostrato in Fig. 2,
2, sono convenzionalmente raggruppate in
quattro categorie: tecniche statistiche, tecniche strutturali, approcci basati su filtri
filt e approcci basati su
modello.
Fig. 2 Esempi di difetti locali: Immagine a sinistra: bolla;
bolla; immagine centrale crepa in scala di grigi; Immagine a destra: Crepa e
variazione di tonalità.
Fig. 3 Possibili approcci per l'individuazione di difetti di trama di tipo locale
2.1 Metodi statistici
Gli approcci statistici analizzano con metodi matematici la distribuzione dei pixel all’interno dell’immagine
rilevando variazioni rispetto a un campione di riferimento o anomalie rispetto la normale distribuzione
statistica dell’intensità
nsità all’interno dell’immagine. Tali metodi nella maggior parte operano in scala di grigi e
possono sfruttare statistiche del primo ordine quali media,
media moda e mediana di una distribuzione di
probabilità o statistiche di ordine superiore quali la varianza, la deviazione standard le matrici di coco
occorrenza …
La più semplice descrizione discreta della distribuzione dell’intensità luminosa dei pixel all’interno di una
immagine è l’istogramma. Esso viene utilizzato per ottenere una distribuzione discreta che descrive
l’andamento dell’intera immagine. Tramite gli istogrammi è possibile analizzare eventuali variazioni di
intensità dovute a crepe o macchie, utilizzando la statistica del primo ordine, oppure confrontare due
istogrammi per rilevare difetti di carattere globale come le variazioni tonali [7].
Fig. 4: a) immagine originale. b) istogramma dell'immagine. c) evidenziazione della difettosità
Un importate elemento per la classificazione della tessitura e ampiamente utilizzato per l’analisi di
materiale ceramico sono le matrici di co-occorrenza (GrayLevel Co-occurence Matrices). Tali matrici sono
ottenute valutando le dipendenze spaziali di due livelli di grigio differenti in una immagine data una
direzione di riferimento, come mostrato in Fig.6. Una volta calcolata la matrice di co-occorrenza, data una
specifica direzione, statistiche del secondo ordine e di ordini superiori quali l’entropia, l’energia e la
correlazione possono essere utilizzate per evidenziare eventuali difetti [9]. Pur essendo largamente
utilizzate le matrici di co-occorrenza hanno il significativo problema di dipendere da direzioni specifiche che
devono essere fornite a priori. Non esiste una direzione ottima in grado di rilevare ogni tipo di difettosità
pertanto devono essere calcolate diverse matrici per ogni immagine analizzata.
livarinen in [10] ha mostrato come sia possibile ottenere risultati comparabili in termini di rilevazioni dei
difetti per materiale ceramico utilizzando come elemento discriminante il Local Binary Pattern (LBP)
estremamente più semplice da calcolare e meno oneroso computazionalmente. Tale descrittore consiste in
una matrice ottenuta facendo scorrere una finestra di dimensioni fisse sull’immagine ed utilizzando il
livello di grigio del pixel centrale come soglia all’interno della finestra. Ad ogni centro viene quindi sostituito
il numero di elementi della finestra risultanti dall’operazione di sogliatura. Un esempio e’ mostrato in Fig. 5.
Fig. 5 Differenti pattern di tessitura di piastrelle evidenziati applicando l'operatore LBP
Fig. 6 A sinistra: immagini di riferimento con tessitura simile e relative matrici di co-occorrenza. A destra: immagine da
confrontare con relativa matrice di co-occorrenza. Sotto: risultato del confronto dove si evidenzia come l’immagine avente
tessitura di tipo b risulta distinta dal cluster formato dalle immagini aventi tessitura di tipo a.
2.2 Metodi strutturali
Negli approcci strutturali la tessitura viene analizzata utilizzando gli elementi primitivi che la compongono
quali punti o linee e sfruttando le relazioni spaziali tra essi. Tali approcci per la loro semplicità sono stati i
più utilizzati negli anni ’80, ma l’estrazione degli elementi primitivi risulta fortemente influenzata dal
rumore di acquisizione e non particolarmente discriminante per l’analisi delle tessiture più complesse.
2.3 Metodi basati su filtri
La totalità delle tecniche di analisi della tessitura presenti in questa categoria sono basate sull’applicazione
di uno o più filtri all’immagine della piastrella per evidenziare particolari aree di interesse. Tali tecniche a
seconda del tipo di filtro applicato possono operare nel dominio delle frequenze, dello spazio o in
entrambi.
Tra i possibili filtri nel dominio dello spazio sono degni di nota i filtri per il calcolo del gradiente, degli edge
di una immagine o di punti isolati come Canny, Sobel, Laplace e Deriche. Filtri basati su autovettori
(eigenfilters) sono stati recentemente applicati all’analisi della tessitura di materiale ceramico [11], tali
filtraggi, essendo basati sull’autospazio indotto dagli autovettori di una immagine hanno l’importante
proprietà di fornire come immagini risultanti del filtraggio una serie di immagini ortogonali tra loro.
Per quanto concerne i filtri nel dominio delle frequenze sicuramente la trasformazione più utilizzata
nell’analisi della tessitura è la trasformata di Fourier [12]. L’immagine della superficie da analizzare viene
trasformata nel dominio delle frequenze e successivamente opportuni filtraggi sono applicati per
evidenziare irregolarità nella tessitura. Tali tecniche basate sulla trasformata di Fourier sono efficaci
soltanto nel caso di tessiture che godono di un certo grado di periodicità ma non sono efficaci nel caso di
tessiture casuali.
Fig. 7 Risposta Reale e Immaginaria ai filtri di Gabor di due piastrelle aventi tessiture differenti
Per quanto concerne le trasformate nel dominio congiunto dello spazio e delle frequenze le più utilizzate
sono la trasformata di Gabor Fig. 7, che consiste nell’applicare la trasformata di Fourier su finestre spaziali
dell’immagine di tipo Gaussiano, e la trasformata wavelet[14]. Applicate tali trasformazioni un approccio
consueto consiste nell’analizzare l’energia dell’immagine e in particolare individuare zone aventi energia
differente rispetto a quella dell’immagine nel suo complesso come mostrato in Fig. 8.
Fig. 8 Analisi dell'energia di una immagine per l'individuazione di una crepa utilizzando la trasformata wavelet. I picchi nel
grafico tridimensionale dell'energia evidenziano la presenza di un difetto che interrompe una tessitura uniforme.
2.4 Metodi basati su modelli
I metodi basati su modelli consistono nell’utilizzo di modelli matematici parametrici per l’analisi della
tessitura quali i frattali, i modelli autoregressivi[16], random fields[17] e più recentemente su modelli
basati su elementi di tessitura definiti texem(texture exemplars)[21].
Tali approcci particolarmente complessi sono molto interessanti anche se computazionalmente molto
onerosi da adottare per un controllo in linea ma potranno essere di interesse per i sistemi con processori
avanzati delle prossime generazioni.
2.5 Studi comparativi per l’analisi di difetti locali su materiale ceramico
Per l’analisi di materiale ceramico la scelta dell’approccio più conveniente è subordinata a numerosi fattori
quali il tipo di superficie da analizzare, la potenza di calcolo e il tempo a disposizione per compiere le
analisi, il sistema di acquisizione e la risoluzione delle immagini stesse. Numerosi studi comparativi sono
stati proposti per individuare comunque, a parità di questi fattori, le tecniche più opportune per la
rilevazione di anomalie locali nella tessitura. In particolare in [18] viene presentato un interessante
confronto tra tre differenti metodi statistici per l’analisi della tessitura (LBP, istogrammi e matrici di cooccorrenza) e cinque differenti filtraggi tra cui Gabor e le wavelet con la conclusione che, per
l’evidenziazione di difetti locali, la tecnica più efficace risulta il filtraggio di Gabor che fornisce una buona
accuratezza anche su superfici significativamente differenti tra loro. Recentemente molti sforzi sono stati
profusi per sfruttare le relazioni di vicinanza di pixel dell’immagine anche nell’individuazione delle
difettosità. In particolare metodi come i modelli texem e i Markov Random Fields(comunemente usati per
la segmentazione di immagini) sono stati applicati con successo anche alla rilevazione di difetti nella
tessitura.
3. Deviazioni Globali
Durante il processo ceramico l’analisi delle proprietà cromatiche della tessitura sono importanti per
mantenere la tonalità il più uniforme possibile e ridurre le imperfezioni del prodotto finito. Il controllo della
tonalità consiste nel verificare la consistenza cromatica tra i prodotti in modo che non si percepiscano
significative variazioni tra una superficie e un'altra. Ogni immagine a colori consiste di più canali a seconda
dello spazio colore impiegato. Tali canali possono essere analizzati separatamente con le stesse tecniche
utilizzate per l’individuazione di difetti in scala di grigio oppure analizzati nel complesso per valutare
globalmente la tonalità della piastrella.
In [19] per l’analisi tonale viene utilizzata la trasformata wavelet nello spazio RGB e comuni tecniche di
clustering come il K-means vengono utilizzate per raggruppare elementi aventi energia simile ottenendo
così gruppi cromaticamente omogenei.
Un altro approccio diffuso consiste nell’utilizzo di istogrammi multidimensionali. Tali approcci variano a
seconda dello spazio colore utilizzato. Nel caso dello spazio RGB tali istogrammi sono quattro-dimensionali
e possono essere ottenuti direttamente dalle immagini, come nel caso di immagini a scala di grigio e
confrontati utilizzando metriche quali la distanza di Mahalanobis o l’intersezione tra istogrammi. Il
confronto diretto tra istogrammi seppur semplice si è rivelato efficace per individuare variazioni di tonalità
significative rispetto a un campione di riferimento [7].
L’utilizzo di istogrammi in opportuni spazi colore, ad esempio lo spazio YCbCr, può essere adottato anche
per rilevare difetti cromatici di tipo locale utilizzando gli istogrammi su ciascun canale per clusterizzare le
zone aventi proprietà cromatiche comuni e sfruttare tale suddivisione per classificare elementi difettati
come mostrato in Fig. 9.
Fig. 9 Esempio di rilevazione di difetti cromatici locali nello spazio YCbCr mediante clustering e classificazione
La scelta dello spazio colore è importante per l’individuazione delle variazioni tonali. Spazi colore opponenti
sono preferibili a spazi colore con canali correlati come l’RGB. In [20] numerosi spazi colore sono stati
confrontati per l’analisi della tessitura di diversi materiali tra cui materiali ceramici. Nel caso di materiali
ceramici i migliori risultati sono stati ottenuti con lo spazio CIELab.
4. Tecniche di pattern recognition
Come detto le tecniche di classificazione e clustering che possono essere impiegate sono molteplici e
dipendono dallo spazio delle feature visuali impiegate, dalla dimensionalità dello spazio e dalla linearità di
divisione dello spazio. Quando la classificazione ha lo scopo di riconoscere oggetti di modelli diversi e ben
riconoscibili classificatori Bayesiani o a Maximum Likelihood(ML) possono essere efficacemente impiegati
anche se spesso si cerca di impiegare classificatori non lineari. Un possibile esempio sono le Support Vector
Machine (SVM) o le reti neurali[1].
In caso di analisi di anomalie invece si impiegano tecniche di classificazione non supervisionata o clustering,
La tecnica più diffusa è il K-means e la sua variante fuzzy (Fuzzy K-means) o tecniche derivate per dividere
lo spazio delle feature in gruppi a omogenea similarità. Ad esempio in Fig. 9 una piastrella texturata
contiene in forma casuale due tonalità di colori predominanti che vengono clusterizzati in due gruppi sulla
base dell’istogramma bidimensionale nello spazio YCbCr (considerando solo le componenti Cb Cr di
crominanza) di cui si vede il modello in basso. Un altro campione dello stesso tipo dovrebbe prevedere un
andamento simile dell’istogramma sebbene localmente il colore dei singoli pixel risulti differente. Nel caso
presentato in Fig. 9 la presenza di gruppi di pixel di colore dissimile ad ogni cluster ottenuto dal campione di
riferimento è utilizzata per rilevare una possibile anomalia della tessitura.
Numerose tecniche di pattern recognition possono essere utilizzate per l’analisi delle tessiture di materiale
ceramico, molte delle quali possono essere ottimizzate per un’elaborazione in tempo reale e quindi
applicate in modo proficuo in contesti produttivi.
5. Conclusioni:
Quest’articolo ha come obiettivo soltanto porre l’accento su un vasto panorama di tecniche di pattern
recognition e di operatori di visione artificiale che sono potenzialmente molto efficaci nell’ambito
dell’ispezione visiva ceramica. Ovviamente queste tecniche prima di poter essere stabilmente impiegati in
sistemi in linea devono essere valutate e testate su numerosi casi di studio reali. Fortunatamente si stanno
sviluppando diverse librerie statistiche e di visione artificiale che possono essere impiegate in fase di
valutazione, tra esse ricordiamo numerose librerie per l’ambiente Matlab estremamente utili in fase di
valutazione del progetto non essendo computazionalmente ottimizzate. Altre librerie software invece come
le open source Computer Vision library (openCv) o librerie commerciali come le IPP dell’Intel, scritte in C o
C++ possono essere direttamente impiegate per lo sviluppo di sistemi di visione automatizzate. Per questo
il laboratorio ImageLab del Dipartimento di Ingegneria dell’Informazione dell’Università degli studi di
Modena e Reggio Emilia da più di dieci anni sta sviluppando librerie ed esperienze sia nell’ambito
dell’ispezione visiva 2D e 3D che di molte altre applicazioni di visione artificiale quali la videosorveglianza e
l’analisi di dati multimediali. I ricercatori dell’ImageLab fanno parte dell’associazione italiana per la pattern
recognition GIRPR, capitolo italiano del raggruppamento internazionale IAPR.
Bibliografia:
[1] R.Haralick, K. Shanmugam, L.Dinstein Textural features for image classification, IEEE Trans on System
Man and Cybernetics Vol. 3 1973
[2] R.Cucchiara, F.Filicori The vector gradient Hough transform, IEEE Trans. On Pattern analysis and
Machine Intelligence No. 7, July 1998
[3] C. Boukovales, J.Kittler, M.Petrou Color grading of randomly textured ceramic tiles using color
histograms, IEEE Trans on Industrial Electronics Vol. 46-1 1999.
[4] Raghu, P.P.; Yegnanarayana, B. Supervised texture classification using a probabilistic neural network and
constraint satisfaction model, IEEE Trans. On Neural Networks Vol. 9, No. 3, 1998
[5] Richard O. Duda, Peter E. Hart and David G. Stork Pattern Classification, Wiley-Interscience Ed.
[7] C. Boukouvalas, J. Kittler, R. Marik, and M. Petrou. Color grading of randomly textured ceramic tiles
using color histograms. IEEE Transactions on Industry Electronics, 46(1):219–226, 1999.
[9] L. Siew, R. Hodgson, and E. Wood. Texture measures for carpet wear assessment. IEEE Transactions
on Pattern Analysis and Machine Intelligence, 10:92–105, 1988.
[10] J. Iivarinen. Surface defect detection with histogram-based texture features. In SPIE Intelligent Robots
and Computer Vision XIX: Algorithms, Techniques, and Active Vision, volume 4197, pages 140–145,
2000.
[11] A. Monadjemi, M. Mirmehdi, and B. Thomas. Restructured eigenfilter matching for novelty detection
in random textures. In British Machine Vision Conference, pages 637–646, 2004.
[12] D. Tsai and T. Huang. Automated surface inspection for statistical textures. Image and Vision
Computing, 21:307–323, 2003.
[14] F. Truchetet and O. Laligant. A review on industrial applications of wavelet and multiresolution based
signal-image processing. Journal Electronic Imaging, 2008.
[16] J. Mao and A. Jain. Texture classification and segmentation using multiresolution simultaneous
autoregressive models. Pattern Recognition, 25(2):173–188, 1992.
[17] N. Jojic, B. Frey, and A. Kannan. Epitomic analysis of appearance and shape. In IEEE International
Conference on Computer Vision, pages 34–42, 2003
[18] A. Monadjemi. Towards Efficient Texture Classification and Abnormality Detection. PhD thesis,
University of Bristol, UK, 2004.
[19] F. Lumbreras, J. Serrat, R. Baldrich, M. Vanrell, and J. Villanueva. Color texture recognition through
multiresolution features. In International Conference on Quality Control by Artificial Vision, volume 1,
pages 114–121, 2001.
[20] Maneesha Singh, Markos Markou, Sameer Singh, "Colour Image Texture Analysis: Dependence on
Colour Spaces," icpr , p. 10672, 2002.
[21] X. Xie and M. Mirmehdi. TEXEM: Texture exemplars for defect detection on random textured surfaces.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(8):1454–1464, 2007.