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:
0
0
0
2
L2
0
04
12
P

0,1
21
30
L1
1
2
4
0
0
2
1
0
6
1
3
0
0
1
2
0 1 1
0 1 1
2 2 2
2 3 3
L2
0
02
11
P


135
,1
23
30
L1
1
1
2
1
0
2
3
1
0
2
Quali informazioni estrarre ora????
3
0
0
2
0
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.
 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:
2
P
[
i
,j
]
2
d

(
d
)


1


[
i
]
P
[
j
]
i j P
d
d
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
2


E
n
e
r
g
y

T

P
(,
L
L
)
1

,
d
1
2
L
1L
2
corrisponde al momento angolare del secondo ordine.
Matrice di Co-occorrenza dei livelli di grigio
• Entropia


E
n
t
r
o
p
i
a

T


P
(
L
,
LP
)

l
o
g
[
(
L
,
L
)
]
2

,
d
1
2

,
d
1
2
L
L
1
2
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à:
T
P
(L
,L
)
m
a
x
3

,d
1
2
(LL
, 2)
1
4- Contrasto oppure misura della variazione locale di
2
intensità: T
 (
L

L
)P
(
L
,
L
)
4
1
2

,
d
1
2


L
1L
2
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:
P
(
L
,
L
)

,
d
1
2
T

con
L

L


5
1
2
2
1

(
L

L
)
L
1
2
1L
2
Matrice di Co-occorrenza dei livelli di grigio
6- Correlazione:
[(
L


)(
L


)
P
L
,
L
)]


(
1
T

6
L
1L
2
x 2
y ,
d 12


xy








dove le medie sono calcolate con:

L
P
(
L
,
L
)
x
1 ,
d
1
2
L
1 L
2

L
P
(
L
,
L
)
y
2 ,
d
1
2
LL
2
1










2
2

(
L

)
P
(
L
,
L
)

(
L

)
(
L
,
L
)
x
1
x
,
d
1
2
y
2
yP
,
d
1
2
L
1
L
2
L
2
L
1
Le medie e varianze sono calcolate rispetto a


P
(
x
)

P
(
x
,)
L
P
(
y
)

P
(
L
,
y
)
d

,
d
2
d

,
d
1
L
2
L
1
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
Retrieved Images
Query Image
Image Database
Query
Blobs
Building
Index
Similarity
Assessment
19 December 2015
25
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
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:
2
N

l
N

k
N


fi
(
,)
jfil
(
,j k
)
(
N

lN
)
(
k
)
i

1
j

1

(
l
,)
k

dove 0  k,l  N-1.
f
f
N
N
2


f
(
i
,)
j
i

1
j

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
r
2

1


2
0
r
2

0
1
2
2
f

|
F
(
u
,
v
)
|
drd

f

|
F
(
u
,
v
)
|
drd



r
r


1
2

1
2
2 2
r

u

v


arctan(
v
/
u
)
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.
1ww

T
(
i
,)
j2
B
(
il

,jk
)
W
l


w
kw


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
1 2 1
1

2
4
2

36
1 2 1
1 0 1
1

2
0

2

12

1 0 1

1 2 1
1


2
4

2

12



1
2

1


1 2 1
1

0
0
0

12

 1 2 1

 1 0 1
1

0
0
0

4

1 0 1 

1 2 1
1

0
0
0

4

 1 2 1 

1 2 1
1

2
4
2

12

1 2 1

1 0 1 
1

2
0

2

4

1 0 1 

 1 2 1 
1


2
4

2

4

 1 2 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
w
1
2
T
(
i
,
j
)

[
g
(
i

m
,
j

n
)

(
i

m
,
j

n
)]


e
e
e
2
W
m


w
n


w
ww
1



(
i
,
j
)

g
(
im

,
jn
)
e
e
2
W
m


w
n


w
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
1
1
1
1
1
1
h
62 h
20 h
2 2
1
2
3
1

1
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
h

h
*
h
1
2
1
*
1
2
1

1
4
6
4
1






53
3
11
1
analogamente per h2 ed h3, mentre per
h

h
*
h

1
2
1
*
1
0

1


1

2
0
2
1






5
3
3
4
1
2
h

h
*
h

1
0
1
*
1

2
1

1

2
0
2

1






5
3
3
5
2
3
Da queste maschere di base 5×1 si possono derivare mediante convoluzione
quelle bidimensionali 5×5 come segue
T
h

h
h
i,j

1
,..,
5
i*
j con
5
i
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




1

1
1



1
1
1
h
1
0

2
3
2
2
1
2
3

h

h








1
1




1

1 1 1
1
0 0 0


6


1
1
1


1 0 1
1
1 0 1

6
1 0 1
 1 1 1
1
2 2 2


6


1
1
1


1 0 1 
1
0 0 0


4


1
0

1


1  2 1
1
1  2 1

4
1  2 1
 1 0 1
1
2 0 2 

4
 1 0 1


1 2 1
1
0 0 0

4
 1 2 1 


 1 2 1 
1
2 4 2

4
 1 2 1 


1 1 1
1
1 1 1

9
1 1 1
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:
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 è Rjcos(j - )
Stima della direzione locale dominante
La somma di valori assoluti di tutte le proiezioni dei segmenti è data da
N

S
|R
c
o
s
(


)
|
1
j
j
j
1
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:
N
2
2

S

R

c
o
s
(


)
2
j
j
j
1
che derivando rispetto a  si ottiene:
N
d
S
2
2



2
R
c
o
s
(


)(
s
i
n

)
j
j
j
d
j

1
e ponendola uguale a zero, si ottengono le seguenti equazioni:
N
2
j
j

1
N
2
j
j

1
N
2
j
j

1




R

s
i
n
2
(



)

0
R

s
i
n
2

c
o
s
2


R

c
o
s
2

s
i
n
2

j
j
j
Stima della direzione locale dominante
2
R
cos
2

2


0

j
jsin
N
j
1
da cui
N
tan2
R2j sin2j
j1
N
R2j cos2j
j1
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
rappresentazione dello stesso pixel nel piano complesso
la
Il vettore gradiente in un punto (l,k) dell’immagine può essere
rappresentato in coordinate polari con Rm,neim,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:
NN


Rs
in
2

m
,n
1 
1m

1
n

1

 ta
n(NN
)
2
2


R c
o
s
2

2
m
.n
m

1
n

1
m
,n
m
,n
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:
G
(
x
,
y
)

c
o
s
[

(,
x
y
)


(
x
,
y
)
]
i
i
0
0
i
i
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
)

c
o
s
[

(,
x
y
)


(
x
,
y
)
]
i
i
0
0
i
i

|
G
(
x
,
y
)

c
o
s
[

(
x
,
y
)


(
x
,
y
)
]
|
i
i
00
i
i
(
i
,)
j
W



G
(
x
,
y
)
i
i
(
i
,)
j
W
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):

|(
G
x
,)
y
c
o
s
[

(
x
,)(
y


x
,)
y
|
i
i
0
0
i
i]
(
i
,
jW
)



G
(
x
,)
y
0
0

G
(
x
,)
y
i
i
(
i
,
jW
)

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
Gaussian color model
Input color
image
19 December 2015
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Gabor
filters
52
Color-Texture
Feature
Color-texture Segmentation
Ground truth
C1
C4
19 December 2015
53
Color-texture Segmentation
(cont.)
#134052
#66075
19 December 2015
54
Scarica

ppt