analisi della tessitura. tessitura nel campo della elaborazione delle immagini si è consolidato con...
TRANSCRIPT
Analisi della Tessitura
Nel campo della elaborazione delle immagini si è consolidato con il termine TESSITURATESSITURA 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..
Analogamente il nostro sistema visivo è abile ad interpretare facilmente una tessitura composta da microstrutturemicrostrutture
•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
Il nostro sistema visivo determina facilmente macrostrutturemacrostrutture, 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.
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’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 Mosaico di di Brodatz Brodatz texturetexture
L’analisi della tessitura comprende tre aspetti:• classificazione• segmentazione• ricostruzione della superficie (shape from texture)
La classificazione della tessituraLa 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 tessituraLa 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 textureGli 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
IspezionamentoIn campo tessile, sono stati utilizzati algoritmi per il riconoscimento automatico dei difettiA 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 MedicinaLe 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 documentiPer esempio l’uso dell’analisi della tessitura per la localizzazione di zone in cui è presente un codice a barre
APPLICAZIONIAPPLICAZIONI
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 istogramma
bidimensionalebidimensionale) 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:0 0 1 1
0 0 1 1
0 2 2 2
2 2 3 3
Quali informazioni estrarre ora????Quali informazioni estrarre ora????
2100
1601
0042
0124
3
2
1
0
1,0P
3210
0200
2013
0121
0312
3
2
1
0
1,135P
3210L1
L2
L1
L2
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:
i j dd
d
jPiP
jiPd 1
][][
],[)(
22
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.
Energy T P L LdLL
12
1 221
, ( , )
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.
Entropia T P L L P L LdLL
d 2 1 2 1 221
, ,( , ) log[ ( , )]
Matrice di Co-occorrenza dei livelli di grigio
3- Massima probabilità:
T P L LL L
d3 1 21 2
( , )
,max ( , )
4- Contrasto oppure misura della variazione locale di intensità:
1 2
),()( 21,2
214L L
d LLPLLT
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- MomentoMomento della differenza inversa:
21221
21,5 L Lcon
)(1
),(
1 2
L L
d
LL
LLPT
Matrice di Co-occorrenza dei livelli di grigio
6- CorrelazioneCorrelazione:
dove le medie sono calcolate con:
2 11 2
),(),( 21,221,1L L
dyL L
dx LLPLLLPL
2 11 2
),()(),()( 21,2
221,2
1L L
dyyL L
dxx LLPLLLPL
Le medie e varianze sono calcolate rispetto a
P x P x L P y P L yd dL
d dL
( ) ( , ) ( ) ( , ), , 2 12 1
yx
L Ldyx LLPLL
T
1 2
)],())([( 21,21
6
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
April 11, 2023 25
Content based Image Retrieval
Similarity Assessment
Retrieved Images
BuildingIndex
Query Image
Query Blobs
Image Database
Feature Space
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 misurare il livello di omogeneità o di ruvidità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:
ff
j
N k
i
N l
j
N
i
Nl k
N
N l N kf i j f i l j k
f i j( , )
( )( )( , ) ( , )
( , )
2
11
2
11
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 tessituracon |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
2
0
21
2
21|),(|
r
r
rr drdvuFf
2
1
21
0
2|),(|
drdvuFf
)/arctan(22 uvvur
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.
T i jW
B i l j kk w
w
l w
w
( , ) ( , ) 1
2 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
121
242
121
36
1
101
202
101
12
1
121
242
121
12
1
121
000
121
12
1
101
000
101
4
1
121
000
121
4
1
121
242
121
12
1
101
202
101
4
1
121
242
121
4
1
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
w
wm
w
wneee njminjmig
WjiT 2
2)],(),([
1),(
e en w
w
m w
w
i jW
g i m j n( , ) ( , ) 1
2
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
h h h116 2
12 3
12
1
2
1
1
0
1
1
2
1
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
51
31
31 1 2 1 1 2 1 1 4 6 4 1h h h * *
analogamente per h2 ed h3, mentre per
54
31
32 1 2 1 1 0 1 1 2 0 2 1h h h * *
55
32
33 1 0 1 1 2 1 1 2 0 2 1h h h * *
Da queste maschere di base 5×1 si possono derivare mediante convoluzione quelle bidimensionali 5×5 come segue
51con *5 ,..,i,jhhh jTii
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
h h h113 2
12 3
12
1
1
1
1
0
1
1
2
1
111
111
111
9
1
111
000
111
6
1
101
101
101
6
1
111
222
111
6
1
101
000
101
4
1
121
121
121
4
1
101
202
101
4
1
121
000
121
4
1
121
242
121
4
1
Metodo per la descrizione di tessiture orientate
In diverse applicazioni siamo di fronte a tessiture tessiture cosiddette orientate 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 anisotropiaanisotropia locale
Conviene pensare all’immagine di livello di grigio come una mappa di flussomappa 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’orientazioneimmagine dell’orientazione: informazione locale di orientazione della tessitura per ciascun pixel
• immagine di coerenzaimmagine 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:
1. Filtraggio Gaussiano per attenuare il rumore presente nell’immagine
2. Calcolo del gradiente dell’immagine Gaussiana
3. Stima dell’angolo di orientazione locale usando la funzione arcotangente
4. Calcolo della media delle stime di orientazione locale per una data finestra centrata sul pixel in elaborazione
5. 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 è R jcos(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
S R j jj
N
11
| cos( )|
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:
S Rj jj
N
22 2
1
cos ( )
dS
dR sinj j j
j
N2 2
12
cos( ) ( )
R sin R sin R sinj jj
N
j jj
N
j jj
N2
1
2
1
2
12 0 2 2 2 2( ) cos cos
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
tancos
22
2
2
1
2
1
R sin
R
j jj
N
j jj
N
02sin2cos1
2
N
jjjR
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,ne
im,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.
1
2
2
2
1 1
2
1
1
2
1
tan (cos
). ,
, ,
n
N
m n m nm
N
n
N
m n m nm
N
R sin
R
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:
G x y x y x yi i i i( , ) cos[ ( , ) ( , )] 0 0
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:
G x y x y x yi i i i( , ) cos[ ( , ) ( , )] 0 0
| ( , ) cos[ ( , ) ( , )]|
( , )( , )
( , )
G x y x y x y
G x y
i i i ii j W
i ii j W
0 0
Questa misura è correlata con la Questa misura è correlata con la
dispersione della direzionalità dei datidispersione 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 La coerenza si presenta pertanto con valori alti in corrispondenza di valori alti del gradiente ossia di corrispondenza di valori alti del gradiente ossia di forti variazioni d’intensità nell’immagine forti variazioni d’intensità nell’immagine
G x yG x y x y x y
G x y
i i i ii j W
i ii j W
( , )| ( , ) cos[ ( , ) ( , )]|
( , )( , )
( , )
0 0
0 0
Caratterizzazione della Tessitura mediante un Banco di Filtri
Gabor Wavelet
April 11, 2023 51
Color-texture Feature
-1-0.8-0.6-0.4-0.2
00.20.40.60.8
1
Input color image
Gaussian color model
Gabor filters
Color-Texture Feature
April 11, 2023 52
Color-texture Segmentation
C1
C4
Ground truth
April 11, 2023 53
Color-texture Segmentation (cont.)
#1
3405
2#
6607
5