A+K

Transcript

A+K
Morfologia matematica
Morfolog ia binaria
Morfolog ia a toni di g rig io
Tras formata dis tanza
Definizioni preliminari
•
•
•
•
A ⊆ En, t ∈En
Traslazione di A rispetto ad un vettore t
At = { c∈En | c=a+t, a∈A }
Riflessione di A
Ar= { c | c=-a, a∈A }
Complemento di A
Ac = En -A
A
A(2,1)
Ar
Le operazioni e
definizione sugli
insiemi sono date
per note
Visione Artificiale 10/11
Morfologia matematica
2
Somma di Minkowski (Dilation)
•
A⊕B = { c∈En | c=a+b, a∈A, b∈B }
•
A⊕B = U Ab , b∈B
– Si dimostra facilmente: A⊕B = B⊕A
B= { (0,0), (1,0) }
A
A(0,0)
Visione Artificiale 10/11
A(1,0)
Morfologia matematica
A⊕B
3
Dilation
L’insieme B viene normalmente definito elemento strutturante
B= {(-1,0), (1,0) }
A
A(-1,0)
Visione Artificiale 10/11
Morfologia matematica
A(1,0)
A⊕B
4
Dilation
Visione Artificiale 10/11
Morfologia matematica
5
Erosion (Differenza di Minkowski)
•
AΘB = { c∈En | c+b∈A, per ogni b∈B }
•
AΘB = ∩ A-b b∈B
Θ→O
A
A(-1,0)
Visione Artificiale 10/11
Morfologia matematica
B= { (0,0), (1,0) }
A-B
6
Erosion
Visione Artificiale 10/11
Morfologia matematica
7
Proprietà
•
Se l’origine (0,0) appartiene all’elemento strutturante
– (AΘB) ⊆ A ⊆ (A⊕B)
Visione Artificiale 10/11
Morfologia matematica
8
Erosion
Erosion
Visione Artificiale 10/11
Morfologia matematica
Dilation
9
Proprietà
(A+B)+C=A+(B+C)
(A∪B)+C=(A+C)∪(B+C)
A+B= ∪Ab
(A-B)-C=A-(B+C)
(A ∩ B)-C=(A-C) ∩(B-C)
A-B= ∩ A-b
A⊆B⇒(A+C)⊆ (B+C)
A⊆B⇒(A-C)⊆ (B-C)
(A∩B)+C⊆ (A+C)∩(B+C)
(A∪ B)-C⊇ (A-C) ∪(B-C)
A+(B∪C)=(A+B)∪(A+C)
A-(B∪C)=(A-C)∩(B-C)
(A+B)c=Ac -Br
A+Bt=(A+B)t
A-Bt=(A-B)-t
A-(B∩C)⊇(A-C)∪(B-C)
Per semplicità di notazione si è usato +e- per gli operatori Erosion e Dilation
Visione Artificiale 10/11
Morfologia matematica
10
Closing
•
C(A, K) = (A+K)-K = A•K
– A⊆C(A,K)=C(C(A,K),K)
K
A
A+K
(A+K)-K
Visione Artificiale 10/11
Morfologia matematica
11
Closing
•
C(A, K) = (A+K)-K
K
A
A+K
(A+K)-K
Visione Artificiale 10/11
Morfologia matematica
12
Closing
•
C(A, K) = (A+K)-K
K
A
A+K
(A+K)-K
Visione Artificiale 10/11
Morfologia matematica
13
Closing
K
A
A+K
(A+K)-K
Visione Artificiale 10/11
Morfologia matematica
14
Closing
Visione Artificiale 10/11
Morfologia matematica
15
Opening
•
O(A, K) = (A-K)+K = A°K
– O(O(A,K),K)=O(A,K)⊆A
K
A
A-K
(A-K)+K
Visione Artificiale 10/11
Morfologia matematica
16
Opening
•
O(A, K) = (A-K)+K
K
A
A-K=∅=(A-K)+K
Visione Artificiale 10/11
Morfologia matematica
17
Opening
•
O(A, K) = (A-K)+K
K
A
A-K
(A-K)+K
Visione Artificiale 10/11
Morfologia matematica
18
Opening
Visione Artificiale 10/11
Morfologia matematica
19
Opening e closing
Visione Artificiale 10/11
Morfologia matematica
20
Esempio
Visione Artificiale 10/11
Morfologia matematica
21
Hit or Miss
•
A⊗(J,K) = (A-J)∩(Ac-K)
– con il vincolo J∩K=∅
•
Permette di trovare strutture regolari (template matching)
– Dilation e erosion possono essere considerati come casi
particolari
Visione Artificiale 10/11
Morfologia matematica
22
Esempio
•
Ricerca di punti isolati (8-connessi)
– A-J=A
J
A
Ac
Risultato
finale
Ac-K
Visione Artificiale 10/11
K
Morfologia matematica
23
Esempio
•
Ricerca di punti isolati (4-connessi)
J
A
Ac-K
Visione Artificiale 10/11
Morfologia matematica
Ac
K
Risultato
finale
24
Esempio
•
J e K possono essere visti come una unica maschera con tre
tipi di valori
– Punti necessariamente di immagine
– Punti di background
– Punti non rilevanti
M
Visione Artificiale 10/11
Morfologia matematica
25
Hit or Miss - Esempio
Pixel compatibili con la
maschera di background
Visione Artificiale 10/11
Morfologia matematica
Pixel compatibili con la
maschera per l’immagine
26
Estrazione di contorni
•
Edge(A) = A – (AΘB)
B
Edge(A)
A
Visione Artificiale 10/11
Morfologia matematica
27
Estrazione di contorni
Visione Artificiale 10/11
Morfologia matematica
28
Riempimento di regioni
•
Xk = (Xk-1 ⊕ B)∩AC
•
X0 = p
•
Il procedimento termina quando Xk == Xk-1
X
B
X0
A
Visione Artificiale 10/11
Morfologia matematica
29
Componenti connesse
Visione Artificiale 10/11
Morfologia matematica
30
Convex hull
Visione Artificiale 10/11
Morfologia matematica
31
Esercizi
1) Eliminare i conduttori sottili
2) Congiungere i conduttori
vicini
3) Trovare le componenti
connesse
4) Trovare il convex hull di ogni
componente
Visione Artificiale 10/11
Morfologia matematica
32
Umbra (estensione alle immagini gray scale)
•
A ⊆ En, F⊆En-1, x∈F, y∈E
•
Top di un insieme A (T[A]:F→E):
T[A](x) = max { y | (x, y) ∈ A }
•
Umbra di f (f:F→E):
U[f] = { (x, y) ∈ F x E | y ≤ f(x) }
– T[A] ⊆ A ⊆ U[A] ⊆ En
– U[U[A]] ≡ U[ A]
Insieme A
Visione Artificiale 10/11
Top di A
Morfologia matematica
Umbra di A
33
Umbra
•
Si noti che data una funzione f:R2R si può facilmente
definire una nuova funzione f:R3{0, 1} equivalente
– g(x, y, z) = 1 ⇔ z ≤ f(x, y) ⇔ z ∈ U[f(x, y)]
– g(x, y, z) = 0 ⇔ z > f(x, y) ⇔ z ∉ U[f(x, y)]
•
Posso cioè ricondurre la morfologia a toni di grigio alla
morfologia matematica in uno spazio a 3 dimensioni
Visione Artificiale 10/11
Morfologia matematica
34
Gray scale dilation
•
Dati: F,K⊆En-1 , f:F→E, k:K→E
– F,K⊆R2 , f:F→R, k:K→R (nel caso delle immagini)
•
•
Si definisce dilation di f tramite k
(f ⊕k)(x) = max{f(x-z)+k(z) | z∈K, x-z∈F}
Dal punto di vista computazionale la complessità è
equivalente ad una convoluzione
Visione Artificiale 10/11
Morfologia matematica
35
Esempio - dilation
•
(f ⊕k)(6) =
max{f(6-0)+k(0), f(6-1)+k(1), f(6-2)+k(2)}=
max{f(6)+k(0), f(5)+k(1), f(4)+k(2)}=
max{5+0, 6+1, 5+0} = 7
x
0
1
2
3
4
5
6
7
8
Visione Artificiale 10/11
f
1
3
5
3
5
6
5
Morfologia matematica
k
0
1
0
f⊕k
1
3
5
6
5
6
7
6
5
36
Esempio - dilation
•
(f ⊕k)(5) =
max{f(5-(-1))+k(-1), f(5-0)+k(0), f(5-1)+k(1)}=
max{f(6)+k(-1), f(5)+k(0), f(4)+k(1)}=
max{5-1, 6+0, 5-1} = 6
x
-1
0
1
2
3
4
5
6
7
Visione Artificiale 10/11
f
1
3
5
3
5
6
5
Morfologia matematica
k
-1
0
-1
f⊕k
0
2
4
5
4
5
6
5
4
37
Esempio - dilation
k
f
U[f]
U[f]⊕U[k]
Visione Artificiale 10/11
U[k]
Morfologia matematica
f⊕k = T[U[f]⊕U[k]]
38
Esempio - dilation
Visione Artificiale 10/11
Morfologia matematica
39
Gray scale erosion
•
•
•
Dati: F,K⊆En-1 , f:F→E, k:K→E
Si definisce erosion di f tramite k
(fΘk)(x) = min{f(x+z)-k(z) | z∈K, x+z∈F}
Si dimostra che una definizione equivalente è:
fΘk = T{U[f]ΘU[k]}
Visione Artificiale 10/11
Morfologia matematica
40
Esempio - erosion
•
(fΘk)(5) =
min{f(5-(-1))-k(-1), f(5-0)-k(0), f(5-1)-k(1)}=
min{f(6)-k(-1), f(5)-k(0), f(4)-k(1)}=
min{5+1, 6-0, 5+1} = 6
x
-1
0
1
2
3
4
5
6
7
Visione Artificiale 10/11
f
1
3
5
3
5
6
5
Morfologia matematica
k
-1
0
-1
f-k
2
4
3
4
6
41
Esempio - erosion
Visione Artificiale 10/11
Morfologia matematica
42
Esempio - opening
Visione Artificiale 10/11
Morfologia matematica
43
Esempio - closing
Visione Artificiale 10/11
Morfologia matematica
44
Esempi di operatori
Ripreso da
Visione Artificiale 10/11
Morfologia matematica
45
Esempi
Erosion
Closing
Visione Artificiale 10/11
Dilation
Opening
Morfologia matematica
46
Esempi
•
Gradiente morfologico
– G = (f⊕b) – (fΘb)
•
Top-hat transformation
– H = f – O(f,b)
Gradiente morfologico
Visione Artificiale 10/11
Se bi=0 ∀i il gradiente morfologico è
la differenza fra il massimo locale e
il minimo locale
Morfologia matematica
47