Visione Artificiale Segmentazione delle immagini Segmentazione di

Transcript

Visione Artificiale Segmentazione delle immagini Segmentazione di
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Segmentazione delle
immagini
Edge Detection
Tecniche di segmentazione a soglia
■ Tecniche di regionalizzazione
■
Visione Artificiale
■
Parte VII: Edge e segmentazione
Acquisizione
Operazioni puntuali
Operazioni locali
Operazioni globali
Segmentazione
Basso Livello
Medio Livello
Risultati
Alto Livello
Edge e segmentazione
Segmentazione
di un’immagine
Alessandra Fascioli - Visione Artificiale
2
Segmentazione
di un’immagine
A basso livello segmentare significa
individuare regioni
■ Ad alto livello lo scopo è identificare
oggetti
■ Individuare un oggetto in una regione è
un incarico di natura semantica e difficile
da conseguire per via automatica
■
L’analisi automatica dell’immagine ha lo
scopo di estrarre informazioni con un
appropriato grado di utilità
■ Segmentare l’immagine significa
suddividerla in parti significative
■
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
3
Edge e segmentazione
Segmentazione
di un’immagine
ll livello di dettaglio della segmentazione
dipende dal tipo di applicazione ed è
necessario adottare accorgimenti per
incrementarne il successo
■ Gli algoritmi di segmentazione sono
basati su similarità o discontinuità di
proprietà dei pixel quali livelli di grigio,
colore, velocità, texture…
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
4
Segmentazione
di un’immagine
Dall’analisi della discontinuità si
estraggono i contorni (edge) o altre
caratteristiche (punti isolati, linee)
■ Sulla similarità si basano metodi di
soglia (thresholding) e di
regionalizzazione
■
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
■
5
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
6
1
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Punti isolati e linee
■
Punti isolati
Per individuare le discontinuità viene
usata una maschera di pesi
■
Rpuntuale = ∑ zi ∗ wi
z1
z2
z3
z…
z4
z5
z6
z…
z7
z8
z9
z…
z…
z…
z…
…
Edge e segmentazione
w1
w2
w3
w4
w5
w6
w7
w8
w9
Alessandra Fascioli - Visione Artificiale
-1 -1 -1
-1 8 -1
-1 -1 -1
7
Punti isolati
Supponiamo infatti che un punto isolato
abbia un valore dei toni di grigio zi,j
molto differente dai punti adiacenti
■ zi,j siano positivi su tutta l’immagine
■ Svolgendo la sommatoria localmente sul
punto si rileverà un valore elevato di
|Rpuntuale|
Alessandra Fascioli - Visione Artificiale
■
■
■
Linee verticali
Linee diagonali \
Linee diagonali /
Edge e segmentazione
-1
2
-1
-1
2
-1
-1
2
-1
2
-1 -1
-1
2
-1
-1 -1
2
-1 -1
2
-1
2
-1
2
-1 -1
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
Alessandra Fascioli - Visione Artificiale
8
Per linee orizzontali spesse un pixel su
sfondo uniforme si può usare la
seguente maschera, infatti R è massimo
quando la linea combacia con la riga
centrale della tabella
-1 -1 -1
2 2 2
-1 -1 -1
9
Individuazione di linee
■
Edge e segmentazione
Individuazione di linee
■
Edge e segmentazione
Per individuare un punto isolato si
valuta la condizione |Rpuntuale|>T con
T soglia opportuna avendo scelto per
esempio la seguente maschera:
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
10
Individuazione di linee
■
11
Il più elevato valore |Rj| associato a
queste maschere indica una maggiore
probabilità che il punto in cui si è
applicata la maschera appartenga ad
una linea orientata nella direzione
della maschera j
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
12
2
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Contorni
Contorni
Il contorno di un oggetto è la separazione
tra questo e lo sfondo o tra l’oggetto ed
altri oggetti
■ È spesso il primo passo per l’individuazione
dell’oggetto
■ Un edge separa due regioni con proprietà
dei toni di grigio distinguibili
■
■
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
Gli algoritmi di edge detection funzionano
meglio quando le regioni da separare sono
uniformi; l’individuazione di un contorno si
suddivide in due distinte fasi:
– Applicazione di filtri derivativi: il valore in ogni
punto di uscita rappresenta in modulo una stima
numerica del gradiente spaziale nel punto
corrispondente dell’immagine di ingresso
– Thresholding e relativa binarizzazione
13
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
Contorni
■
■
Contorni
Nell’esempio il profilo dei
livelli di grigio non è a
gradino ma a rampa, per
rispecchiare i contorni di
un’immagine reale affetti da
blurring dovuto al
campionamento
Le derivata prima e
seconda sono diverse da
zero solo in corrispondenza
delle transizioni
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
■
■
■
■
■
■
■
15
D>0 da scuro a chiaro
D<0 da chiaro a scuro
D=0 zone a livello costante
D2>0 prossimità scura del
contorno
D2<0 prossimità chiara del
contorno
D2=0 zone a livello costante
D2 ha zero crossing in
corrispondenza transizioni
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
Contorni
■
Il valore della derivata prima identifica
un contorno
■ L’attraversamento dello zero di D2 lo
localizza con precisione
■ Il segno di D2 dice se il pixel appartiene
al versante chiaro o a quello scuro del
contorno
■
Consideriamo i seguenti esempi di contorni a gradino e a
rampa (con differenti pendenze)
Per la ricerca di contorni di orientazione qualunque
valgono le stesse osservazioni, considerando il profilo di
grigio lungo una direzione ortogonale al contorno nel
punto considerato
a
a a a b b b b
a a a b b b b
a a a b b b b
b
h
x0
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
16
Contorni
■
Edge e segmentazione
14
17
Edge e segmentazione
a a a c b b b
a a a c b b b
a a a c b b b
a a a d e b b
a a a d e b b
a a a d e b b
b
h
a
x
x0
b
h
a
x
Alessandra Fascioli - Visione Artificiale
x0
x
18
3
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Generazione del gradiente
secondo direzioni ortogonali
Contorni
Derivata prima in un punto: gradiente
della funzione di luminosità f(x, y)
■ Derivata seconda in un punto: laplaciano
della funzione di luminosità f(x, y)
La presenza di un edge si valuta con il
superamento di una soglia da parte del
modulo del gradiente
■ Il modo più semplice per ottenere
un’approssimazione discreta del gradiente
è utilizzare la differenza mobile (running
difference) oppure le differenze incrociate
■
■
∂f 
G
 
gradiente ∇f =  x  =  ∂x 
∂f
G

modulo
[
2
∇f = Gx + Gy
Edge e segmentazione
2
y
]
direzione
  
 ∂y 
1
2
 Gy 
α (x, y) = tan−1  
 Gx 
≈ Gx + Gy
Alessandra Fascioli - Visione Artificiale
19
Edge e segmentazione
…
■
z3
… z4
z5
z6 …
z7
z8
z9
…
z2
■
Le componenti del gradiente nel punto
z5 sono
Gx = z5–z6
e
Gy = z5-z8
quindi
∇f=|z5-z6|+|z5-z8| differenza mobile
oppure
∇f =|z5-z9|+|z6-z8| differenze incrociate
Alessandra Fascioli - Visione Artificiale
21
Generazione del gradiente
secondo direzioni ortogonali
■
a a a b b b b
a a a c b
edge
0 0 h 0 0 0 0
gradino
0 0 h/2 h/2 0 0 0
rampa più ripida
■
■
b
b
a a a d
e b
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
22
Esempio di applicazione
della differenza mobile
b
0 0 h/3 h/3 h/3 0 0
rampa meno ripida
+
I contorni a rampa non possono essere localizzati dall’edge
detector a differenza mobile con la precisione del pixel:
nelle immagini reali ottengo contorni non ben delineati
Il metodo è molto sensibile alle piccole fluttuazioni di
intensità e tende a esaltare il rumore (tipico di tutti gli
operatori derivativi)
Edge e segmentazione
Queste maschere vengono applicate per misurare
le componenti del gradiente nelle due direzioni
Generazione del gradiente
secondo direzioni ortogonali
Utilizzando la differenza mobile nell’esempio con edge a
gradino e a rampa si ottiene
grigi
Queste equazioni possono essere implementate
con l’applicazione di maschere 2 x 2.
Per esempio le differenze incrociate possono
essere determinate con le due maschere
chiamate operatori di Roberts
1 0 0 1
0 -1 -1 0
■
Edge e segmentazione
20
Generazione del gradiente
secondo direzioni ortogonali
Generazione del gradiente
secondo direzioni ortogonali
z1
Alessandra Fascioli - Visione Artificiale
Differenza
orizzontale
(edge verticali)
23
Edge e segmentazione
=
Differenza
verticale
(edge orizzontali)
Alessandra Fascioli - Visione Artificiale
24
4
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Generazione del gradiente
secondo direzioni ortogonali
La localizzazione dei contorni può essere
migliorata tenendo conto dei valori dei pixel da
entrambe le parti del potenziale punto di edge
■
■
…
■
Operatori di Prewitt e Sobel
z2
z3
… z4
z5
z6 …
z7
z8
z9
∇f=|z4-z6|+|z2-z8| differenza separata
-1 0 1 -1 -1 -1
-1 0 1 0 0 0
-1 0 1 1 1 1
…
z1
■
Per i contorni a rampa si ottiene
grigi
a a a c b
b
b
a
a
edge
0 0 h/2 h h/2 0
0
0
0 h/3 2h/3 2h/3 h/3
Edge e segmentazione
a
d
e
b
b
25
Operatori di Prewitt e Sobel
■
■
Edge e segmentazione
■
Sobel
Gx = (z3+2z6+z9) – (z1+2z4+z7)
Gy = (z7+2z8+z9) – (z1+2z2+z3)
Alessandra Fascioli - Visione Artificiale
■
27
■
Prewitt
■
Problemi di
sensibilità al
rumore
Edge e segmentazione
■
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
26
Alessandra Fascioli - Visione Artificiale
28
Sensibilità al rumore
■
Differenza mobile
Alessandra Fascioli - Visione Artificiale
Essendo del tipo a differenza separata
localizzano correttamente i contorni a rampa
spessi un pixel, ma presentano ancora
problemi per le rampe meno ripide
Negli operatori di Sobel il peso raddoppiato
dei coefficienti N, S, W e E rende l’operatore
ugualmente sensibile nei confronti di contorni
comunque orientati
Edge e segmentazione
Operatori di Prewitt e Sobel
Sobel
Gx = (z3+z6+z9) – (z1+z4+z7)
Gy = (z7+z8+z9) – (z1+z2+z3)
Operatori di Prewitt e Sobel
A volte si preferisce normalizzare i gradienti di
riga e di colonna di modo da avere medie
pesate unitarie per i pixel posti ad entrambi i
lati dell’eventuale edge
Si moltiplica per 1/3 la maschera di Prewitt,
per 1/4 la maschera di Sobel
Edge e segmentazione
Prewitt
0
Alessandra Fascioli - Visione Artificiale
-1 0 1 -1 -2 -1
-2 0 2 0 0 0
-1 0 1 1 2 1
Meno sensibili alle variazioni di illuminazione
ed al rumore
Effettuano simultaneamente una
differenziazione lungo una direzione ed una
media spaziale lungo la direzione ortogonale
29
Gli operatori gradienti sono poco efficaci in
presenza di rumore
Si possono applicare operazioni di smoothing
per la riduzione del rumore prima della
differenziazione
È possibile realizzare un operatore composto
Alternativamente si può aumentare l’area di
calcolo del gradiente (effetto di media)
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
30
5
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Operatori di gradiente composti
Estensione della maschera
■
L’onere computazionale per ogni singolo pixel
cresce con il quadrato dell’estensione laterale
della maschera
Prewitt nxn
Edge e segmentazione
1
1
1
1
…
…
…
…
…
1
1
1
1
0
0
0
0
-1
-1
-1
-1
…
…
…
…
■
-1
-1
-1
-1
La risposta impulsiva è ottenuta da una
correlazione tra la risposta impulsiva di un
operatore di gradiente e la risposta impulsiva
di un filtro passa-basso
GC ( x, y) = G( x, y) ∗ M ( x, y)
Con G(x,y) risposta impulsiva dell’operatore gradiente
e M(x,y) risposta impulsiva di un filtro passabasso
Alessandra Fascioli - Visione Artificiale
31
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
32
Operatore derivata della gaussiana
(DroG)
Operatori gradiente composti
Esempio:
■
M(x,y) filtro 3x3 di media mobile
Operatore composto in cui la funzione di
smoothing è una gaussiana
G(x,y) gradiente di riga 3x3 di Prewitt
Si ottiene una maschera precalcolata
da applicare direttamente all’immagine
GCx =1/18 x
Edge e segmentazione
1
1
0 -1 -1
2
2
0 -2 -2
3
3
0 -3 -3
2
2
0 -2 -2
1
1
0 -1 -1
Alessandra Fascioli - Visione Artificiale
2
 x +y
2
h( x , y ) = exp  −
2

■
33
Operatore derivata della gaussiana
(DroG)
■
■
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]

 r
 = exp  −

 2
2
2



σ è la deviazione standard, ossia il valore di r
per il quale h si riduce a 1/√e del massimo
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
34
Operatore derivata della gaussiana
(DroG)
L’apertura della
gaussiana cresce con σ
σ determina i pesi della
maschera e può essere
espresso in pixel : se
l’apertura è maggiore,
l’azione di filtraggio
può riguardare un
intorno più ampio del
punto centrale
Edge e segmentazione
2
Una gaussiana 2D
(con σ = 0.5) e
e la maschera 3 x 3
(la normalizzazione rende
unitaria la somma dei pesi)
0.0113 0.0838 0.0113
0.0838 0.6193 0.0838


0 0113 0 0838 0 0113
35
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
36
6
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Operatore derivata della gaussiana
(DroG)
■
■
Operatore derivata della gaussiana
(DroG)
Per esempio, per la componente lungo x con σ = 0.5
Si possono calcolare le risposte impulsive dell’operatore
DroG nelle due direzioni effettuando la convoluzione
delle due componenti del gradiente con la maschera
della gaussiana
Oppure si calcolano le derivate della gaussiana rispetto a
x e a y, che rappresentano le componenti dell’operatore
DroG nel caso continuo, e si ottengono le maschere
campionando
 x2 + y 2 
x
∂h

= − 2 exp −
2 
∂x
σ
 2σ 
Edge e segmentazione
■
■
0.7733
0.1129 
 0.1129


0
0
0


 − 0.1129 − 0.7733 − 0.1129
 x2 + y 2 
y
∂h

= − 2 exp −
2 
∂y
σ
 2σ 
Alessandra Fascioli - Visione Artificiale
Campionando si ottiene la
maschera 3x3 (i pesi sono
normalizzati per ottenere media
unitaria lungo y)
In maniera analoga si può agire
per la componente lungo y
37
Edge e segmentazione
Sensibilità al rumore
Alessandra Fascioli - Visione Artificiale
38
Metodo di Canny
Primo approccio analitico e non euristico
per l’applicazione di un gradiente ad un
contorno rumoroso
■ Si consideri il caso 1D di un contorno a
gradino di ampiezza hE corrotto da
rumore gaussiano bianco con deviazione
standard σn
■
Sobel
■
DroG
Il comportamento è migliore nel caso Drog,
si riescono ad identificare i contorni anche in
caso di immagini molto rumorose
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
39
Edge e segmentazione
Metodo di Canny
Alessandra Fascioli - Visione Artificiale
40
Metodo di Canny
■
L’edge detection avviene per mezzo di
convoluzione del contorno rumoroso
f(x) con una h(x) antisimmetrica e nulla
all’esterno di [-W,W] (simile al DroG)
■ Si identifica un edge in corrispondenza
di un massimo locale di f(x)*h(x)
■
La h(x) è scelta in modo da soddisfare 3 criteri
1. Capacità di individuazione dell’edge, attraverso
la massimizzazione del rapporto segnale-rumore
(delle ampiezze) del gradiente. Si ottiene una bassa
probabilità di mancare punti di edge reali (falsi
negativi), ed una bassa probabilità di considerare
come punti di edge punti che non sono tali (falsi
positivi)
0
hE
snr = S(h), con S (h) =
σn
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
41
Edge e segmentazione
∫
−W
W
h( x)dx
2
h( x) dx
∫ [ ]
Alessandra Fascioli - Visione Artificiale
42
7
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Metodo di Canny
■
Metodo di Canny
La h(x) è scelta in modo da soddisfare 3 criteri
2. Capacità di localizzazione dell’edge: i punti
riconosciuti come edge devono essere il
più possibile vicini al centro dell’edge
effettivo. È definito un fattore di
localizzazione
LOC =
Edge e segmentazione
hE
L(h) , con
σn
L (h) =
■
xm = kW
h ′( 0 )
Canny ricerca il massimo del prodotto
S(h)L(h) soggetto al vincolo di unicità
∫ [h ′( x ) ] dx
W
La h(x) è scelta in modo da soddisfare 3 criteri
3. Unicità della risposta dell’edge detector in
corrispondenza ad un edge effettivo. La
distanza xm tra due picchi del gradiente,
in presenza di solo rumore, è imposta
uguale ad una frazione k della larghezza
W dell’operatore:
2
−W
Alessandra Fascioli - Visione Artificiale
43
Edge e segmentazione
Metodo di Canny
■
■
■
■
Alessandra Fascioli - Visione Artificiale
■
■
■
45
Metodo di Canny
■
Alessandra Fascioli - [email protected]
Alessandra Fascioli - Visione Artificiale
46
Scelta del valore di soglia
■
Alessandra Fascioli - Visione Artificiale
La qualità dei risultati ottenibili è superiore a
quella di tutti gli altri operatori di gradiente
grazie all’uso di due soglie (una per gli edge
netti e una per quelli deboli)
Gli edge deboli sono considerati solo se
connessi ad edge netti
Diminuisce l’effetto del rumore ed aumenta la
probabilità di trovare veri edge deboli
Edge e segmentazione
■
Edge e segmentazione
44
Metodo di Canny
La determinazione di una soluzione analitica è
complessa, si usano metodi numerici
La figura mostra i profili di diversi
valori della risposta impulsiva del
filtro di Canny al crescere di xm
Per grandi valori di xm l’operatore
di Canny è ben approssimato
dall’operatore DroG
Il filtro adoperato nelle
implementazioni del metodo di
Canny è di questo tipo
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
47
La scelta della soglia è critica
Tradeoff tra la possibilità di rivelare falsi
contorni (dovuti al rumore) e la possibilità di
mancare contorni veri (edge deboli)
L’insieme di contorni individuati da un edge
detector basato su gradiente può essere postprocessato per ridurre la presenza di edge
piccoli o per assottigliarli
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
48
8
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Operatore laplaciano
Operatore laplaciano
Gli zero crossing della derivata seconda
localizzano con precisione gli edge, il
segno determina l’appartenenza di un
pixel al versante scuro o a quello chiaro
■ La derivata seconda di una funzione
f(x,y) è data dal laplaciano definito
come
2
2
■
L(x, y) = ∇2 f =
Edge e segmentazione
■
L( x, y ) = [ f ( x, y ) − f ( x − 1, y )] − [ f ( x + 1, y) − f ( x, y)] +
+ [ f ( x, y ) − f ( x, y − 1)] − [ f ( x, y + 1) − f ( x, y )]
∂ f ∂ f
+
∂x2 ∂y2
L( x, y ) = 4 f ( x, y) − f ( x − 1, y ) − f ( x + 1, y ) − f ( x, y − 1) − f ( x, y + 1)
Alessandra Fascioli - Visione Artificiale
49
Edge e segmentazione
Risposta impulsiva del filtro laplaciano
detto dei quattro vicini
 0 − 1 0
H =  − 1 4 − 1


1 0
 0
■
L ( x, y ) = f ( x, y ) ∗ H ( x, y )
Troppo sensibile al rumore
■ Incapacità di rilevare la direzione
dell’edge
■
Edge e segmentazione
2
Alessandra Fascioli - Visione Artificiale
■
Per un’immagine con oggetti
chiari su sfondo scuro
l’istogramma dei toni di grigio
presenta due modi dominanti
È possibile segmentare
l’immagine con una soglia T
che separi i due modi: i pixel
di valore superiore a T sono
attribuiti agli oggetti, gli altri
allo sfondo
51
Edge e segmentazione
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
■
180
160
140
120
T
80
■
60
40
20
0
0
50
100
150
2

 r
 = exp −

 2
2
2



2
∇ h=−
2
r −σ
2
2
 r
exp −
 2
2
2



Alessandra Fascioli - Visione Artificiale
52
Sogliatura multilivello
200
100
50
Usato in
connessione con
un filtro di
smoothing
gaussiano (LoG)
 x +y
2
h( x, y ) = exp −
2

Segmentazione a soglia
■
Alessandra Fascioli - Visione Artificiale
Operatore laplaciano della gaussiana
(LoG)
Operatore laplaciano
■
Il modo più semplice di approssimare il
laplaciano nel caso discreto consiste nel
calcolo delle differenze delle derivate
prime lungo i due assi
200
In questo caso invece abbiamo
due gruppi di oggetti più chiari
dello sfondo ed è necessario
fissare due soglie
La scelta delle soglie determina
un diverso assegnamento
dell’area dell’immagine all’uno
o all’altro modo
700
600
500
T1 T2
400
300
200
100
0
0
50
100
150
200
250
250
53
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
54
9
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Sogliatura multilivello
■
■
■
■
■
Modi dominanti
Se f(x,y) ≤ T1, il pixel appartiene allo sfondo
Se T1< f(x,y) ≤ T2 il pixel appartiene al primo
gruppo di oggetti
Altrimenti appartiene al secondo gruppo
È difficile da applicare in pratica soprattutto
quando i modi crescono di numero
Occorre valutare opportunamente la
definizione di modo
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
■
55
Edge e segmentazione
Modi dominanti
200
180
180
160
160
140
140
120
120
100
100
80
80
60
60
40
40
20
20
0
0
0
50
100
150
200
250
Parametro: lunghezza di base
Edge e segmentazione
■
■
■
0
50
100
150
200
250
In generale il processo di sogliatura di
un’immagine implica il confronto del livello di
grigio f(x,y) di ogni punto dell’immagine con una
funzione-soglia della forma:
dove p(x,y) rappresenta una proprietà locale
del punto
forma del profilo simmetrico,…
Alessandra Fascioli - Visione Artificiale
57
Edge e segmentazione
■
1 se f (x, y) > T
g(x, y) = 
f ( ) ≤T
0
La soglia è detta globale se T dipende solo da
f (x,y), è detta locale se dipende sia da f (x,y)
che da p(x,y), è detta dinamica se dipende
anche da x e y
L’operazione più semplice è quella di una
singola soglia globale
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
Alessandra Fascioli - Visione Artificiale
58
Segmentazione a soglia
L’immagine binaria risultato della sogliatura è:
Edge e segmentazione
56
T = T [x , y , p ( x , y ), f ( x , y ) ]
Segmentazione a soglia
■
Alessandra Fascioli - Visione Artificiale
Segmentazione a soglia
Correlazione con vari tipi di funzione:
200
Definizione basata:
1. Sull’area dell’istogramma
2. Su una gamma prefissata di livelli centrati
attorno ad un massimo locale, partendo dal
massimo assoluto ed escludendo le ascisse già
considerate in altri modi
3. Come prima partendo dal massimo assoluto e
definendo un rapporto tra base ed altezza del
picco, che massimizzi ad esempio la correlazione
con un triangolo, una gaussiana, ecc.
■
■
59
In altri casi è possibile applicare tecniche ricorsive
di segmentazione di intensità, che portano alla
applicazione di soglie a più livelli
Si applica una soglia globale, corrispondente a un
minimo dell’istogramma, e si separano le zone più
chiare da quelle più scure dell’immagine
Si analizza l’istogramma di ciascuna componente
dell’immagine: se risulta unimodale, la
componente è un segmento dell’immagine,
altrimenti il metodo viene applicato nuovamente
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
60
10
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Tecniche di
regionalizzazione
Tecniche di
regionalizzazione
Tecniche basate sull’analisi della similarità
tra pixel, orientate alla estrazione diretta
delle regioni
Si suddivide l’immagine R in n componenti
Ri (regioni) tali che
■
■
Tutti i pixel appartenenti a una regione
devono soddisfare la proprietà in base
alla quale la regione è stata identificata
(es. similarità di intensità)
■
Ogni regione deve essere diversa da
tutte le altre
– P(Ri) = TRUE per i = 1,2,…,n
1. Ogni pixel è contenuto in una regione Ri
2. Ogni regione Ri è connessa
3. Ogni regione Ri è disgiunta dalle altre
Edge e segmentazione
■
– P(Ri U Rj) = FALSE per i ≠ j
Alessandra Fascioli - Visione Artificiale
61
Edge e segmentazione
Region growing
■
■
Esempio:
Edge e segmentazione
0
1
0
2
0
0
1
1
0
1
T=3
5
5
6
7
5
6
8
7
6
6
7
7
7
6
5
R2
a
a
a
a
a
a
a
a
a
a
b
b
b
b
b
■
b
b
b
b
b
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
Alessandra Fascioli - Visione Artificiale
63
■
■
La scelta delle proprietà P usate per la
segmentazione dipende dal problema in esame e
dai dati a disposizione (intensità, colore, texture,…)
È fondamentale la definizione di adiacenza o
connettività tra i pixel
La regola di arresto dell’accrescimento può essere:
1. Assenza di pixel soddisfacenti il criterio di aggregazione
2. Criteri globali che tengano conto non solo delle P locali
ma anche di come si è formata la regione fino a quel
momento
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
64
Region splitting & merging
Region growing
■
Scelta dei semi:
– spesso la natura del problema fornisce
indicazioni (es. in immagini IR scelgo i pixel
di valore più elevato)
– oppure se vi è tendenza al clustering nello
spazio delle proprietà selezionate per
l’accrescimento, scelgo i pixel al centro di
questi cluster
T=8
b
b
b
b
b
62
Region growing
Si aggregano pixel vicini sulla base della
similarità di una certa proprietà, formando
regioni di dimensione via via crescente
L’aggregazione ha luogo a partire da punti di
seme opportunamente scelti
R1
Alessandra Fascioli - Visione Artificiale
65
Si parte dall’intera immagine
suddividendola in parti disgiunte via via
più piccole, fondendo quelle adiacenti
con caratteristiche simili
■ Il procedimento termina quando tutte le
regioni soddisfano i criteri previsti per la
segmentazione e ricoprono l’intera
immagine
■
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
66
11
Visione Artificiale - Fac. Ingegneria, Univ. Parma
Region splitting & merging
■
Region splitting & merging
Ad ogni livello di suddivisione si verifica il predicato
per tutti i quadranti: se non è soddisfatto, il
quadrante viene ulteriormente suddiviso, e così via
■
■
Quadtree
R
R1
R3
R2
R41 R42
■
Albero a simmetria
R1
R2
R3
R4
– suddividere in quattro quadranti ogni regione Ri per la
quale P(Ri) = FALSE
– fondere due regioni adiacenti Ri e Rj se P(Ri ∪ Rj) =TRUE
– terminare quando non è più possibile effettuare né
splitting né merging
quadrantale
R43 R44
R41
Edge e segmentazione
R42
Alessandra Fascioli - Visione Artificiale
Alessandra Fascioli - [email protected]
R43
Il solo splitting non potrebbe evitare la presenza
all’ultimo livello di suddivisione di regioni adiacenti
con caratteristiche simili
Si fa il merging delle regioni adiacenti i cui pixel
soddisfano il predicato P
Passi della procedura ad ogni livello di suddivisione:
R44
67
Edge e segmentazione
Alessandra Fascioli - Visione Artificiale
68
12