Analisi della Tessitura
Nel campo della elaborazione delle immagini si è consolidato con il termine TESSITURA una qualunque disposizione geometrica e ripetitiva dei livelli di grigio di una immagine Il sistema visivo umano determina e riconosce facilmente diversi tipi di tessiture caratterizzandole in modo soggettivo. Infatti, non esiste una generale definizione di tessitura ed una metodologia di misura della tessitura accettata da tutti. Il nostro approccio qualitativo nella caratterizzazione della tessitura può essere del tipo grossolana, granulare, casuale, ordinata, filiforme, punteggiate, a grana fine, ecc..
Il nostro sistema visivo determina facilmente macrostrutture, ossia relazioni tra le strutture geometriche fondamentali che caratterizzano una determinata tessitura come può essere il rivestimento regolare di un fabbricato o di un pavimento. Analogamente il nostro sistema visivo è abile ad interpretare facilmente una tessitura composta da microstrutture tipi di coltivazione di un territorio oppure microstrutture associate ad un vestito e quelle osservate da una immagine al microscopio. Possiamo dire che il nostro sistema visivo descrive in modo rigoroso le microstrutture di una tessitura? La risposta non sembra ovvia visto che spesso la caratterizzazione di una tessitura risulta molto soggettiva Aggiungiamo inoltre che spesso la nostra soggettività dipende anche dalle condizioni di visibilità e dal particolare contesto
L’interpretazione della tessitura dipende molto dal fattore di scala con cui si osservano le primitive di tessitura, da come sono illuminate dalle dimensioni dell’immagine considerata Mosaico di Brodatz texture Dal punto di vista di una macchina di visione possiamo associare la definizione di tessitura per una immagine come una particolare disposizione anche ripetitiva dei pixel con una data variazione locale dei livelli di grigio che identificano una o più regioni (regioni con tessitura).
L’analisi della tessitura comprende tre aspetti: classificazione segmentazione ricostruzione della superficie (shape from texture) La classificazione della tessitura riguarda la ricerca di particolari regioni di tessitura tra varie classi di tessitura predefinite. Si possono usare metodi statistici che definiscono i seguenti descrittori della tessitura: matrice di co-occorrenza, contrasto, omogeneità, entropia, banchi di filtri ecc.. Le distorsioni prospettiche possono modificare i descrittori delle macrostrutture Un altro metodo di classificazione della tessitura è quello di confrontare le caratteristiche della tessitura osservata con un modello di tessitura precedentemente sintetizzato.
La segmentazione della tessitura determina i confini tra regioni che presentano tessiture diverse. Si ricorre alla segmentazione della tessitura quando gli approcci statistici non forniscono misure accurate delle caratteristiche di tessitura e pertanto sono insufficienti a caratterizzare la tessitura di una regione Inoltre, la segmentazione di una tessitura è indispensabile quando non si ha nessuna conoscenza sia sul numero delle classi di tessitura che sulle caratteristiche a priori. Gli algoritmi di shape from texture invece sono fondamentali per la ricostruzione della superficie degli oggetti partendo dalle informazioni associate alle macrostrutture quali densità, dimensione e loro orientazione. classificazione segmentazione
APPLICAZIONI Ispezionamento In campo tessile, sono stati utilizzati algoritmi per il riconoscimento automatico dei difetti A partire da maschere di convoluzione, banchi di filtri vengono selezionati in modo adattivo in base all’immagine da analizzare. Le features tessiturali vengono quindi estratte dalle immagini filtrate e date in input ad un classificatore basato per esempio sulla distanza di Mahalanobis per ricercare le aree in cui è presente il difetto Analisi nel contesto della Medicina Le applicazioni sono orientate alla discriminazione di tessuto normale rispetto a quello anomalo. In base al task dell’applicazione, le feature estratte catturano proprietà morfologiche, proprietà del colore o alcune proprietà dell’immagine Elaborazione di documenti Per esempio l’uso dell’analisi della tessitura per la localizzazione di zone in cui è presente un codice a barre
METODI STATISTICI DELLA TESSITURA Particolarmente adatto per l’analisi delle microstrutture. Le primitive elementari delle microstrutture sono determinate analizzando le caratteristiche di tessitura associate a pochi pixel nell’immagine Ricordiamo che per la caratterizzazione della tessitura è importante derivare la dipendenza spaziale dei pixel con i valori di livelli di grigio. La distribuzione dei livelli di grigio in un istogramma non costituisce una utile informazione per la tessitura poiché non contiene nessuna proprietà spaziale.
Matrice di Co-occorrenza dei livelli di grigio La relazione spaziale dei livelli di grigio è espressa dalla matrice di co-occorrenza PR(L1,L2) (istogramma bidimensionale) L1=I(i,j) ed L2=I(l,k) R relazione di distanza - per esempio i due pixel si trovano tra loro ad una distanza d = (dx,dy) espressa in pixel. Quindi siamo interessati a matrici di co-occorrenza del tipo PR(L1,L2) dove R=(,d) indica la co-occorrenza di coppie di pixel a distanza d ed in direzione .
Matrice di Co-occorrenza dei livelli di grigio Diverse di queste matrici possono essere calcolate per caratterizzare le microstrutture di tessitura ed alcune matrici di co-occorrenza di tipo simmetrico sono definite come segue: P,d=(dx,dy)(L1=I(i,j),L2=I(l,k)) dx=|i-l| e dy=|j-k|.
Matrice di Co-occorrenza dei livelli di grigio Alcune matrici significative sono: P0,d(L1,L2) con (i-l) = 0 e |j-k| = d P45,d(L1,L2) con (i-l) = d e (j-k) = -d o (i-l) = -d e (j-k) = d P90,d(L1,L2) con (i-l) = d e |j-k| = 0 P135,d(or -d)(L1,L2) con (i-l) = d e (j-k) = d o (i-l) = -d e (j-k) = -d
Matrice di Co-occorrenza dei livelli di grigio Per esempio, calcoliamo P0,1(L1,L2) per la seguente immagine che presenta massimo 4 livelli di grigio: L2 L2 L1 L1 Quali informazioni estrarre ora????
Quantitative Texture Measures 03/16/09 Quantitative Texture Measures Numeric quantities or statistics that describe a texture can be calculated from the intensities (or colors) themselves One problem with deriving texture measures from co-occurrence matrices is how to choose the displacement vector d. The choice of the displacement vector is an important parameter in the definition of the GLCM (Gray Level Co-occurrence Matrix). Occasionally the GLCM is computed from several values of d and the one which maximizes a statistical measure computed from P[i,j] is used. Zucker and Terzopoulos used a χ2 measure to select the values of d that have the most structure; i.e. to maximize the value:
03/16/09 Windowing • Algorithms for texture analysis are applied to an image in a series of windows of size w, each centered on a pixel (i,j). • The value of the resulting statistical measure are assigned to the position (i,j) in the new pixel.
Matrice di Co-occorrenza dei livelli di grigio Energia o misura del grado di omogeneità della tessitura corrisponde al momento angolare del secondo ordine.
Matrice di Co-occorrenza dei livelli di grigio Entropia L’entropia è alta quando ogni elemento della matrice di co-occorrenza ha valore uguale ossia quando le frequenze P(L1,L2) sono equamente distribuite. L’entropia ha valori bassi se la matrice di co-occorrenza è diagonale ossia esistono coppie di livelli di grigio dominanti spazialmente per una certa direzione e distanza.
Matrice di Co-occorrenza dei livelli di grigio 3- Massima probabilità: 4- Contrasto oppure misura della variazione locale di intensità: Un basso valore del contrasto si ottiene se l’immagine ha livelli di grigio quasi costanti, viceversa presenta valori alti per immagini con forti variazioni locali di intensità ossia con tessitura molto pronunciata. Calcolato con finestre w=21 e d=(2,2)
Matrice di Co-occorrenza dei livelli di grigio 5- Momento della differenza inversa:
Matrice di Co-occorrenza dei livelli di grigio 6- Correlazione: dove le medie sono calcolate con: Le medie e varianze sono calcolate rispetto a
Biometria - Riconoscimento Iride mediante descrittori estratti dalle matrici di cooccorrenza
Biometria - Riconoscimento Iride mediante descrittori estratti dalle matrici di cooccorrenza [glcm] = graycomatrix(pattern,'NumLevels',255,'GrayLimits',[0 255],'Offset',[0 1; -1 1; -1 0; -1 -1; 0 3; -3 3; -3 0; -3 -3; 0 5; -5 5; -5 0; -5 -5; 0 10; -10 10; -10 0; -10 -10]); Il risultato finale dell'estrazione delle feature è un vettore di 112 elementi (16 matrici x 7 statistiche) per ogni immagine di un dato occhio.
Biometria - Riconoscimento Iride mediante descrittori estratti dalle matrici di cooccorrenza
Content based Image Retrieval
Content based Image Retrieval Similarity Assessment Retrieved Images Building Index Query Image Query Blobs Image Database Feature Space 25 March 2017
Caratteristiche di tessitura mediante autocorrelazione Una caratteristica della tessitura è valutata mediante l’analisi delle frequenze spaziali. In questo modo sono identificate le strutture spaziali ripetitive della tessitura Tessitura caratterizzate da strutture fini presentano alti valori di frequenze spaziali, viceversa primitive con strutture più grossolane risultano con basse frequenze spaziali. La funzione di autocorrelazione di una immagine può essere utilizzata per valutare le frequenze spaziali ossia per misurare il livello di omogeneità o di ruvidità (fineness/coarseness) della tessitura presente nell’immagine
Caratteristiche di tessitura mediante autocorrelazione Data una immagine f(i,j) di dimensione N×N il coefficiente di correlazione ff è dato da: dove 0 k,l N-1. tessitura grossolana → coefficiente di correlazione decresce lentamente con l’aumentare della distanza d Tessitura fine → decresce rapidamente
Caratteristiche di tessitura mediante autocorrelazione Un approccio alternativo per la misura delle frequenze spaziali è ottenuto mediante la trasformata di Fourier. Consideriamo con F(u,v) la trasformata di Fourier dell’immagine f(i,j) di cui si vuole misurare la tessitura con |F(u,v)|2 lo spettro di potenza, che coincide con la trasformata di Fourier della funzione di autocorrelazione ff(l,k).
Caratteristiche di tessitura mediante autocorrelazione
TESSITURA DELLA FREQUENZA DEI BORDI Una caratteristica della tessitura può essere espressa in relazione al numero di bordi presenti in una finestra. Per tale scopo è necessario applicare all’immagine di input f(i,j) uno degli algoritmi già noti per l’estrazione dei bordi, per produrre una mappa di bordi B(i,j) con B(i,j)=1 se è presente un bordo B(i,j)=0 nel caso contrario. Normalmente, la mappa B è binarizzata con valori di soglia molto bassi. W dimensione della finestra di interesse
Tessitura mediante filtraggio spaziale Le caratteristiche di tessitura possono essere determinate mediante il filtraggio spaziale scegliendo una risposta impulsiva del filtro che accentua in modo efficace le microstrutture della tessitura Laws ha proposto 9 misure di tessitura mediante la convoluzione dell’immagine f(i,j) con 9 maschere di filtraggio (3×3) che rappresentano le risposte impulsive del filtro per esaltare le microstrutture della tessitura
Tessitura mediante filtraggio spaziale Dai risultati della convoluzione ge sono calcolate le relative dispersioni Te che costituiscono le caratteristiche di tessitura Te che esprimono la misura energetica delle microstrutture
Tessitura mediante filtraggio spaziale Le maschere proposte da Laws sono le seguenti
Tessitura mediante filtraggio spaziale Le microstrutture sono inizialmente estratte dall’immagine di input f con le convoluzioni ge(i,j) = f(i,j) * he(i,j) e = 1,2,…,9 e(i,j) è la media locale sulla finestra W×W della misura di tessitura ge nelle vicinanze del pixel in elaborazione (i,j) W = 2w + 1
Tessitura mediante filtraggio spaziale I risultati delle caratteristiche di tessitura con le maschere energetiche di Laws sono state applicate ad alcune immagini che rappresentano un mosaico campione dei campi di tessitura di Brodatz. Risultati ottenuti nell’Identificazione dei campi al 90% Le maschere di filtraggio di LAWS sono generate dalle tre maschere monodimensionali di base che possono essere convolute hi*hiT con se stesse una volta trasposte oppure con ciascuno delle altre maschere monodimensionali hi*hjT per produrre le maschere 3×3 bidimensionali hi di Laws
Tessitura mediante filtraggio spaziale Per stimare caratteristiche di tessitura associate a microstrutture più grossolane possono essere utilizzate maschere di filtraggio più grandi (per esempio 5×5) Le maschere monodimensionali di base 5×1 sono ricavate mediante convoluzione di quelle 3×1 come segue analogamente per h2 ed h3, mentre per Da queste maschere di base 5×1 si possono derivare mediante convoluzione quelle bidimensionali 5×5 come segue
Tessitura mediante filtraggio spaziale In alternativa alle maschere di Laws, Haralick ha proposto quelle utilizzate per l’estrazione dei bordi per la misura della tessitura derivata con le seguenti maschere di base
Metodo per la descrizione di tessiture orientate In diverse applicazioni siamo di fronte a tessiture cosiddette orientate ossia le primitive sono rappresentate da una selettività di orientamento locale che varia nei vari punti dell’immagine La tessitura si presenta con una orientazione locale dominante ed in questo caso si parla di tessitura con elevato grado di anisotropia locale Conviene pensare all’immagine di livello di grigio come una mappa di flusso dove ogni pixel rappresenta un elemento di fluido soggetto ad un moto nella direzione dominante della tessitura Possiamo definire un campo di orientazione della tessitura chiamato semplicemente campo di tessitura orientato (Oriented Texture Field) costituito da immagine dell’orientazione: informazione locale di orientazione della tessitura per ciascun pixel immagine di coerenza: rappresenta il grado di anisotropia per ciascun pixel
Metodo per la descrizione di tessiture orientate I campi di tessitura orientata (CTO) sono calcolati con le seguenti cinque fasi: Filtraggio Gaussiano per attenuare il rumore presente nell’immagine Calcolo del gradiente dell’immagine Gaussiana Stima dell’angolo di orientazione locale usando la funzione arcotangente Calcolo della media delle stime di orientazione locale per una data finestra centrata sul pixel in elaborazione Calcolo di una stima della coerenza (informazione di flusso della tessitura) per ogni punto dell’immagine.
Stima della direzione locale dominante Consideriamo una zona dell’immagine con diversi segmenti le cui orientazioni indicano la disposizione locale della tessitura Si potrebbe calcolare come direzione dominante quella corrispondente al vettore risultante somma delle singole direzioni locali Questo approccio però non può determinare una unica direzione in quanto si avrebbero due angoli e + Altro inconveniente si verificherebbe se si considerassero segmenti orientati. Alcuni di questi con segno opposto si annullerebbero, invece di contribuire alla stima dell’orientazione dominante. Rao suggerisce la seguente soluzione
Stima della direzione locale dominante Siano N i segmenti locali e consideriamo una retta orientata ad un angolo rispetto all’asse orizzontale x Consideriamo un segmento j con angolo j e con Rj indichiamo la sua lunghezza La proiezione del segmento sulla linea considerata è Rjcos(j - )
Stima della direzione locale dominante La somma di valori assoluti di tutte le proiezioni dei segmenti è data da dove S1 varia al variare dell’orientazione della linea L’orientazione dominante si ottiene per un valore di dove S1 è massimo. In tal caso è calcolato ponendo a zero la derivata della funzione S1 rispetto a
Stima della direzione locale dominante Per eliminare il problema di differenziazione della funzione valore assoluto (non differenziabile) è conveniente considerare e differenziare la seguente somma S2: che derivando rispetto a si ottiene: e ponendola uguale a zero, si ottengono le seguenti equazioni:
Stima della direzione locale dominante da cui Se indichiamo con ‘ il valore di per cui si ottiene il massimo valore di S2 questo coincide con la stima migliore di orientazione locale dominante
Stima della direzione locale dominante Vediamo ora come viene utilizzata l’equazione precedente per il calcolo della orientazione dominante in ogni pixel dell’immagine Consideriamo con gx e gy le componenti orizzontali e verticali del gradiente in ogni punto dell’immagine, la quantità complessa gx + igy che costituisce la rappresentazione dello stesso pixel nel piano complesso Il vettore gradiente in un punto (l,k) dell’immagine può essere rappresentato in coordinate polari con Rm,neim,n
Stima della direzione locale dominante A questo punto possiamo calcolare l’angolo di orientazione locale dominante per un intero di (m,n) definita dalla finestra di N×N pixel come segue: L’orientazione dominante nel punto (m,n) è data da +/2 poiché il vettore gradiente è perpendicolare alla direzione di anisotropia.
Coerenza della tessitura Sia G(x,y) il modulo del gradiente calcolato nella fase 2 nel punto (x,y) del piano immagine. La misura della coerenza nel punto (x0,y0) è calcolata considerando in questo punto centrato una finestra di dimensioni W×W Per ciascun punto (xi,yj) della finestra è proiettato il vettore gradiente G(xi,yj) considerato nella direzione (xi,yj) nel vettore unitario in direzione (x0,y0). Il vettore gradiente proiettato è dato da:
Coerenza della tessitura La somma normalizzata dei valori assoluti di tali proiezioni di vettori gradienti compresi nella finestra è considerata come stima della misura di coerenza: Questa misura è correlata con la dispersione della direzionalità dei dati
Coerenza della tessitura Una migliore misura della coerenza è ottenuta pesando il valore dell’equazione precedente con il modulo del gradiente nel punto (x0,y0): La coerenza si presenta pertanto con valori alti in corrispondenza di valori alti del gradiente ossia di forti variazioni d’intensità nell’immagine
Caratterizzazione della Tessitura mediante un Banco di Filtri Gabor Wavelet
Color-texture Feature -1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 1 Input color image Gaussian color model Gabor filters Color-Texture Feature 25 March 2017
Color-texture Segmentation Ground truth C1 C4 25 March 2017
Color-texture Segmentation (cont.) #134052 #66075 25 March 2017