Transcript Document
Cap5. Descrierea si reprezentarea formelor
Segmentarea construirea regiunilor omogene
determinarea frontierelor regiunilor
Descrierea regiunilor
vector (numeric) al trasaturilor
descrierea sintactica
Caracterizeaza proprietatile regiunilor: forma
Forma nu exista tehnici generale de descriere
Clase de forme:
forme generice ale obiectelor ce apartin acelorasi clase
Cap. 5. Descrierea si reprezentarea formelor
Forma (“shape”) proprietatea unui obiect
- reprezentarea formelor
frontiere - extern
regiuni - intern
- abilitatea refacerii obiectelor
- posibilitatea de a recunoaste formele incomplete
- tehnici de reprezentare
matematice: TF
euristice : elongatia
- descrierea sintactica sau statistica
- robustetea descrierii la translatii, rotatii, scalari etc.
Descrierea formelor
descriptori
globali
sau
de frontiera: descriere externa
de regiune: descriere interna
locali
Cap. 5. Descrierea si reprezentarea formelor
5.1. Identificarea regiunilor
Identificarea regiunilor: necesara pentru descrierea regiunilor
Identificarea = etichetarea (“colorarea”) unei regiuni (frontiere) cu un numar intreg
- eticheta cu numarul cel mai mare numarul regiunilor
Imaginea R
segmentare
Ri regiuni disjuncte:
Ri = obiecte (i b); Rb = fundal
Etichetare:
i b
Rb 0, Ri vi
m
c
Ri Rb
i 1i b
m
Ri R,
i 1
Ri R j
i j
Cap. 5. Descrierea si reprezentarea formelor
• Algoritm de etichetare
f (i-1, j)
f (i, j )
f (i, j -1)
V4
f (i-1, j -1)
f (i-1, j)
f (i, j -1)
f (i, j)
f (i-1, j +1)
V8
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
2
2
2
?
0
1. Cerceteaza linie cu linie R
pixelul R(i, j) 0 R(i, j) = v, v 0 : v in functie de pixelii vecini aflati in V4 sau V8
1.1
• vecinii Rb v = valoare noua (numar nou nefolosit)
1.2
• un vecin 0 v = valoare gasita 0
• mai multi vecini 0 se atribuie eticheta oricarui pixel 0
coliziunea etichetelor perechi echivalente in tabele de echivalente
2. Pixeli cu etichete incerte tabelul de echivalente se alege o valoare
(de ex. cea mai mica)
1.3
Etichetele se atribuie incremental in diferite etape ale algoritmului
0
0
0
0
0
0
Cap. 5. Descrierea si reprezentarea formelor
Exemplu
Identificarea regiunilor folosind V8
0
0
0
0
0
0
0
0
0 0
0 0
1 1
0 0
1 1
0 0
1 1
0 0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
a) pasul 1o : v = 1
0
0
0
0
0
0
0
0
0 0
0 0
2 2
0 0
2 2
0 0
3 3
0 0
0
0
2
0
2
0
0
0
0
0
2
2
2
2
0
0
0
2
2
0
2
2
0
0
0
2
2
2
2
2
2
0
0
0
0
0
2
2
0
0
0
0
0
0
2
2
2
0
c) pasul 2o
0
1
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0 0
0 0
5 5
0 0
6 6
0 0
7 7
0 0
0
0
5
0
5
0
0
0
0
0
2
5
5
5
0
0
0
2
2
0
5
5
0
0
0
2
2
2
2
5
5
0
0
0
0
0
2
2
0
0
0
0
0
0
2
2
2
0
0
3
3
0
2
2
0
0
0
3
0
0
2
2
0
0
b) pasii 1.1 - 1.3
0
1
0
0
2
2
0
0
0
0
0
0
2
2
2
0
0
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
Tabelul de echivalente:
2-5
5-6
2-4
0
0
0
0
4
2
2
0
0
4
4
4
4
4
2
0
0
0
0
0
0
0
0
0
Cap. 5 Descrierea si reprezentarea formelor
• Algoritm
de identificare pentru o structura de tip arbore cvadripartit
1o Cauta nodurile incepand de la radacina: dir NW, NE, SW, SE
• nod frunza 0 neetichetat eticheta
• verifica nodurile frunza din vecinatate:
dir = E si S pt. (V4) + SE pt. (V8) nodurile frunza 0
fara eticheta eticheta nodului de unde a inceput verificarea
nod etichetat coliziune
2o Repata 1o pana se verifica tot arborele
3o Reeticheteaza nodurile frunza din tabelul de echivalente
Cap. 5 Descrierea si reprezentarea formelor
5.2. Descrierea formelor bazata pe contur
Reprezentarea matematica a frontierelor regiunilor
y
y
y
xn
yn
n
r
x
x
xn
Sistem de
rectangular
polar
tangential
(r, )
(n, )
coordonate
(•) un element
al frontierei
(xn,yn)
x
Cap. 5 Descrierea si reprezentarea formelor
5.2.1. Codurile Freeman (lant)
• Codul lant = descriere prin:
- coordonate punct start
- secventa de numere = sir segmente de lungime unitate cu directii predefinite
• Codul lant diferential mod 4 sau mod 8: secventa de directii relative masurate ca
variatii cu 90o sau 45o
- dir = dir(k+1) – dir(k)
• Codul lant normalizat independent de pixelul de START
- se alege START secventa numar intreg de valoare minima
Cap. 5 Descrierea si reprezentarea formelor
Exemplu
1
2
0
3
V4
START
•
START: (2, 4)
Codul lant:
300330000011221112223322
Codul diferential: 1 0 3 0 1 0 0 0 0 1 0 3 0 1 0 0 3 0 0 1 0 1 0 3
[0o-(-90o)] [0o-0o] [-90o-0o]
90o
0o
-90o
Cap. 5 Descrierea si reprezentarea formelor
5.2.2. Reprezentari geometrice ale frontierei
Descriptori sensibili la rezolutia imaginii
• Lungimea frontierei
Codul lant: 4 dir. directii de lungime unitara;
8 dir. directii de lungime 1 sau
2
Frontiera inchisa lungime = perimetru [pixeli]
• Curbura
Cazul continuu: curbura = rata de variatie a pantei
Descriptorul curbura =
nr. total de pixeli ai frontierei (lungimea)
nr. de pixeli cu schimbari semnificative de directie
Evaluarea curburii
detectia punctelor de curbura ridicata = colturi sau puncte dominante (•)
Cap. 5 Descrierea si reprezentarea formelor
• puncte dominante: varfurile poligonului care aproximeaza conturul
y
C = x + jy
x x(t )
C
, a t b : reprezentarea parametrica
y y (t )
a curbei C
t dx( ) 2 dy ( ) 2
x
lungimea unui
s (t )
d
:
d
arc t [a, b]
d
a
y
T1
M2
T2
Functia de curbura:
s
M1
Notatii:
s0 s
c(s) lim
x
dx
d2x
x ; x
dt
dt 2
dy
y ;
dt
y
d2y
dt 2
c(t )
xy xy
x2 y 2
2
; pentru c 0 punct
de inflexiune
Cap. 5 Descrierea si reprezentarea formelor
Cazul discret: x (t )
x(t 1) x(t 1)
x(t 1) x(t 1)
2
y (t 1) y (t 1)
2
functia c = zgomotoasa
, x(t ) analog
t2
2
- Netezirea functiilor x(t) si y(t): operator gaussian g (t , ) e 2
x(t , ) x(t ) g (t , )
(t )2
2
x( )e 2 d
netezirea functiei x(t)
x(t , ) x(t ) g (t , ) x(t ) g (t , )
'
x(t , ) x(t ) g (t , ) x(t ) g (t , )
"
t2
t2
2
1 t
g (t , )
te
g (t , )
1 e 2
2
2 2
x(t , ) y (t , ) x(t , ) y (t , )
c(t , )
functia de curbura
3
/
2
x 2 (t , ) y 2 (t , )
1
2 2 ;
2
Cap. 5 Descrierea si reprezentarea formelor
• Energia de indoire
Curbura: c(k) dir(k+1)-dir(k)
0 0
Codul lant
c(k)
2
1
-1
k
45 1
45 1
90 2
90 2
EI
1 L 1 2
c (k )
L k 1
-2
4
c2(k)
EI
2
1
k
1
8
16
8 2 2
4 2
Cap. 5 Descrierea si reprezentarea formelor
y
• Semnatura
Semnatura = {distante normale la contor}
x
• Exemple
2r
r
Cerc
Semnatura unui cerc
h
h
Triunghi echilateral
Semnatura unui triunghi
Cap. 5 Descrierea si reprezentarea formelor
• Distributia corzii
Coarda = linia care uneste doua puncte ale conturului
y
r
b(x, y) = 1 pt. multimea punctelor ce alcatuiesc conturul
x
b(x, y) = 0 celelalte puncte
Descriptori:
b( x, y)b( x x, y y)dx dy
h(x, y) b(i, j )b(i x, j y)
h(x, y)
Imagini digitale
i
j
Distributia radiala = invarianta la rotatii
/2
hr ( r ) h( x, y ) rd
/ 2
r 2 x 2 y ;
Distributia unghiulara: ha ( )
max( r )
arcsin
y
r
h(x, y )dr : invarianta la scalare
0
Cap. 5 Descrierea si reprezentarea formelor
5.2.3. Descriptori Fourier
Curba C parcursa cu viteza constanta:
y
•
s
z(t ) x(t ) jy(t )
(x1(s), y1(s))
viteza intregul contur parcurs in 2
C
z (t) = functie periodica
x
z (t )
n
1
Tn e jnt Tn
T
T
z (t )e jnt dt
Tn = descriptori Fourier
0
L
s: distanta parcursa in t sec. : t
2 s
1
; t s Tn
z ( s )e
L
L
0
Descriptorii Tn depind de:
- forma curbei
- punctul de start
jn
2
s
L ds
Cap. 5 Descrierea si reprezentarea formelor
Descriptori Fourier invarianti
forma
z ( s)
z (k )(V4 ) : z (k ) TFD Tn
discreta
2
L
1
j
nm
a 1 x e L1
m
n L 1
m1
Frontiera inchisa: ( x1, y1) ( xL , yL )
2
L
1
j
nm
1
L
1
ym e
bn
L 1 m1
rn
2
2
r
a
b
;
w
Descriptori invarianti la rotatii si translatii: n
n
n
n
r1
Descriptori invarianti la scalare:
r
wn n
r1
Cap. 5 Descrierea si reprezentarea formelor
• Reprezentarea frontierelor: lk , k
4
y
2
1
(x1, y1)
3 4
lk dist ( x1 , x k ); k : unghiul tangentei pentru x k
5
uk 2 lk L
l4
a (lk ) k uk
: functie periodica
x
SF
1
Sn
2
2
a (u )e jnu du
0
k capteaza frecventele ridicate Sn descreste mai incet ca Tn
Descrierea formelor cativa coeficienti Fourier de ordin inferior
Cap. 5 Descrierea si reprezentarea formelor
5.2.4. Reprezentarea poligonala a frontierei
Reprezentarea poligonala regiunea ~ poligon descriere prin varfuri
Frontiera segmentare secventa de
segmente de drepta
segmente de curbura constanta
Punctele extreme ale fragmentelor de frontiera varfuri
Segmentare
- puncte de curbura ridicata = varfuri pentru fragmentele de frontiera
frontierei
- pixeli adiacenti ce pot fi aproximati prin drepte sau curbe
Cap. 5 Descrierea si reprezentarea formelor
•Determinarea segmentelor liniare de contur (metoda celor mai mici patrate)
Segmentarea frontierei varfurile {x(i), y(i)}, i = 1 … N ; parametrii segmentelor
Fragmente (pixeli de la 1 n) drepte: y = ax + b a, b ?
n
Calculul parametrilor optimi:
f ( a, b)
( yi axi b)2 min
i 1
f (a, b)
0
a
f (a, b)
0
b
Notatii:
n
xi ( yi axi b) 0
i 1
n
yi axi b 0
i 1
n
i 1
xi2
n
mx 2 ;
xi mx ;
i 1
amx2 bmx mxy
amx b m y
m 2 m y mx m y
mxy mx m y
a
;
b x
mx 2 mx2
mx 2 mx2
n
yi m y ;
i 1
n
xi yi mxy
i 1
Cap. 5 Descrierea si reprezentarea formelor
• Segmentarea frontierelor in domeniul - s
Segmentarea frontierei determinarea varfurilor in - s: = dir. tangentei la contur
s = lungimea arcului
b
•
y
•a
2
c
• d•
Punct de start x
s
a
(s) =
constant portiuni liniare
liniar variabil zone de curbura constante
b
c d
Cap. 5 Descrierea si reprezentarea formelor
• Determinarea valorilor lui (s) intr-un punct (xp, yp)
- pixelii din vecinatatea (xp-k, yp-k)
(xp+k, yp+k)
Cuantizarea directiei: 0o, 45o, 90o, …
• Valoarea unghiului :
cos p (k )
ATp (k )B p (k )
A p (k ) B p (k )
(xp+k , yp+k)
•
(xp , yp) • •
p(k) •
x p k x p
A p (k )
y
y
p
k
p
•
•
• •
• •
•
•
• (x , y )
p-k
p-k
x p x pk
B p (k )
y
y
pk
p
impusa apriori
Valoarea lui k
k opt. : cos p (m) cos p (m 1) ... cos p (kopt ) cos p (kopt 1)
m N 10 N = lungimea fragmentului
Cap. 5 Descrierea si reprezentarea formelor
5.3. Descrierea formelor bazata pe regiuni
Regiuni
forme simple: descriptori euristici: aria, elongatia, compactitatea etc
forme complexe descompunere in subregiuni simple descriptori euristici
Obiect graful subregiunilor
- subtierea regiunilor scheletul regiunii
- subregiune = nod; arcele = relatii de vecinatate ale subregiunilor
Reprezentari grafice ale regiunilor:
- invariante la translatii, rotatii si in raport cu magnitudinea
- robuste la mici schimbari ale formei
- potrivite pentru recunosterea sintactica
Cap. 5 Descrierea si reprezentarea formelor
5.3.1. Descritori scalari simpli
Proprietati globale descriptori : vector de trasaturi recunoasterea statistica
• Aria
A = nr. de pixeli aria reala a unui pixel
Grila rectangulara: functie caracteristica a regiunii R
1 daca pixelul ( x, y ) R
g ( x, y )
AR g (i, j )
0 in rest
i j
- R poligon cu varfurile (ik , jk ) si (i0 , j0 ) = (in , jn )
1 n1
A ik jk 1 ik 1 jk
2 k 0
- R codul lant cu 4 directii
1o A = 0, pozitia verticala PV = i (i coordonata punctului de start)
2o Pentru directiile codului executa 0: A = A - PV
1: PV = PV + 1
2: A = A + PV
3: PV = PV - 1
3o Elementele frontierei parcurse aria in A
Cap. 5 Descrierea si reprezentarea formelor
• Perimetrul
Pixelii care apartin frontierei C (i, j ) R V4 (i, j ) R
C (i, j ) R V8 (i, j ) R
C (i0 , j0 ), (i1, j1),..., (in , jn ): ordonarea pixelilor vecini fiecare pereche formata din vecini
P Card(ik , jk ) C (ik , jk ) V4 (ik 1, jk 1)
2 Card(ik , jk ) C (ik , jk ) V8 (ik 1, jk 1) V4 (ik , jk )
P2
• Compactitatea
A
Cerc:
Elipsa:
Dreptunghi:
4
d
2 (a 2 b2 )
ab
a
b
l
kl
cercul cea mai compacta regiune
2l (k 1)2
kl2
2
2
2 (a 2 b2 )
ab
4(k 1) 2
k
Cap. 5 Descrierea si reprezentarea formelor
• Centrul de greutate
1
1
ic
i
;
j
j
c
A (i, j )R
A (i, j )R
• Elongatia
Gradul de excentritate
d (k ) d (ic , jc ), (ik , jk ) k 0,1,..., n 1
(ic , jc) - centrul de greutate
n = nr. de pixeli frontierei
(ik , jk) - pixelii frontierei
Elongatia
d max
,
d min
d max max d (k ); d min min d (k )
d
,
d
n1
2 1
d d (k ); d d (k ) d
n k 0
n k 0
k
1 n1
k
Cap. 5 Descrierea si reprezentarea formelor
Laturile dreptunghiului:
• Punctele de extrem
y
sst
sd
sts
ds
stj
dj
s = sus
j = jos
d = dreapta
st = stanga
imin min (i, j ) I (i, j ) R
i
imax max (i, j ) I (i, j ) R
i
jmin min (i, j ) I (i, j ) R
j
x
jst
jd
jmax max (i, j ) I (i, j ) R
Regiunea incadrata intr-un dreptunghi
j
cu laturi paralele cu 0x si 0y
Coordonatele punctelor de extrem: sd imin , max (imin , j ) I (imin , j ) R
j
d j max (i, jmax ) (i, jmax ) R
i
Fiecare pereche de puncte extreme (ex.: sd, dj) axa: lungime, orientare descriptori
Cap. 5 Descrierea si reprezentarea formelor
5.3.2. Descriptori bazati pe momente
• Functia imagine normalizata = densitate de probabilitate a unei variabile aleatoare 2D
Proprietatile variabilei aleatoare caracteristici
momente
.
p q statistice = imag
m pq x y f ( x, y )dxdy m pq i p j q f (i, j )
digit .
Momentul de ordinul p + q:
i i
pq
(i xc ) p ( j yc )q f (i, j )
- momente centrate (invariante la translatie):
i i
m
m
xc 10 , yc 01
m00
m00
Centrul de greutate (xc, yc):
Imagine binara:
m00 A
f (i, j ) 1
pt. (i, j ) R
x' x, y ' y
- momente centrate scalate:
' pq scalare p q
pq
pq
cu :
1, ' pq
2
'00
( p q 2)
-
Cap. 5 Descrierea si reprezentarea formelor
- momente centrate normalizate nescalate: pq
pq
( 00 )
pq i : invarianta la translatie, rotatie si scalare (pe baza teoriei invariantilor algebrici)
1 20 02 ;
2
2 20 02 2 411
3 30 312 2 3 21 03 2 ; 4 30 12 2 21 03 2
3 21 03 21 03 3 30 12 2 21 03 2
6 20 02 30 12 2 21 03 2 411 30 12 21 03
7 3 21 03 30 12 30 12 2 3 21 03 2
30 312 21 03 3 30 12 2 21 03 2
5 30 312 30 12 30 12 2 3 21 03 2
Cap. 5 Descrierea si reprezentarea formelor
• Regiunea frontiera: d (k ) d (ic , jc ), (ik , jk ) k 0,1,..., n 1
1 n
r
- momentul de ordinul r: mr d (k ) ;
n k 1
1 n
- momentul de ordinul r centrat: r d (k ) m1r
n k 1
1 n
d (k )r
mr
n k 1
- momentul normalizat: mr
;
r/2
r
/
2
(2 )
1 n
2
d
(
k
)
m
1
n
k 1
1 n
d (k ) m1r
r
n k 1
- momentul normalizat centrat: r
r/2
( 2 )r / 2 1 n
2
d ( k ) m1
n k 1
- descriptori cu sensibilitate scazuta la zgomote
F1 ( 2 )1/ 2 m1 ;
F2 3 ( 2 )3 / 2 ; F3 4 ( 2 ) 2
Cap. 5 Descrierea si reprezentarea formelor
5.3.3 Grafuri bazate pe scheletul regiunii
Graf: nod = punct de curbura ridicata
Subtierea regiunii scheletul regiunii graf
• Algoritm (grosimea maxima = 2 pixeli)
1o R: multimea pixelilor unei regiuni
Hi(R): frontiera interioara; H0(R): frontiera exterioara
S(R): pixeli din R cu toti vecinii octoconectati cu Hi(R) sau cu fundalul
Rold = R
2o Construieste regiunea Rnew prin subtiere
Rnew S ( Rold ) Rold H i ( Rold ) H 0 S ( Rold ) Rold
3o Daca Rnew = Rold STOP si treci la pasul 4o
Daca Rnew Rold Rold = Rnew si repeta pasul 2o
4o Rnew = multimea pixelilor ce formeaza scheletul regiunii R
Cap. 5 Descrierea si reprezentarea formelor
• Ilustrarea algoritmului de subtiere
Rnew S ( Rold ) Rold H i ( Rold ) H 0 S ( Rold ) Rold
º º º
Pasul 1o
º
º
º
º
º
º
º
Pasul 2o
º
º
º
º
º
º
º
º
º º º
º
º º º º º º º º º º º
º º
º º
º
º
º
º
+ +
+ +
+ +
+
+ +
+ + +
+ +
Hi(R)
º
H0(R)
Rold - Hi(Rold)
S(R)
+
H0( S(Rold))
H0( S(Rold)) Rold
S(Rold)
+
Cap. 5 Descrierea si reprezentarea formelor
• Subtierea regiunilor axe mediane scheletul
Axa mediana: scheletul = multimea punctelor R care au aceeasi distanta minima de la
frontiera pentru cel putin doua puncte separate ale frontierei
• Exemple: Schelete ale unor regiuni
•
•
•