53
DEA IARFA - Techniques du traitement d’images Description de contours et de formes Florence Tupin 1

descripteurs de fourier

Embed Size (px)

Citation preview

Page 1: descripteurs de fourier

DEA IARFA - Techniques du traitement d’imagesDescription de contours et de formes

Florence Tupin

1

Page 2: descripteurs de fourier

Description de contours et de formes

◦ Analyse des objets presents dans une image

• description de formes

• description de contours

• transformees de Hough

2

Page 3: descripteurs de fourier

Preliminaire : etiquetage

◦ Principe

associer une etiquette a chaque composante connexe

(denombrer et isoler les objets)

◦ Algorithme

- 2 passes sur l’image

- liste d’etiquettes mise a jour

- etiquetage des points

- remplacement des etiquettes par les etiquettes terminales le cas echeant

( ! choix de la connexite important)

3

Page 4: descripteurs de fourier

Preliminaire : etiquetage

6

7

5

4

3

2

1

0

2

2

3

2

0

1

2

2

2

3

2

8

2

4

0

12 2 3 4 5 6

8

2

x

3

4

z

67

7 7

23

2 y

initiale

étiquette

pointeur finale

étiquette

t

4

Page 5: descripteurs de fourier

Preliminaire : etiquetage

5

Page 6: descripteurs de fourier

Description de formes Caracterisation des objets binaires

◦ Grandeurs geometriques

aire : nombre de pixels de S

perimetre : nombre de pixels de S voisins d’un pixel de S

A = 16 A = 13

P = 16 P =

4× 5 = 20

4× 2, 5√

2 = 14, 1

4× 2√

2 = 11, 36

Page 7: descripteurs de fourier

diametre : plus grande distance entre deux points de l’objet

(choix de la distance : euclidienne ou geodesique)

distance géodésique

distance euclidienne

enveloppe convexe : intersection de tous les demi-plans contenant l’objet

7

Page 8: descripteurs de fourier

Description de formes

◦ Indices de forme

– rapport isoperimetrique :

p =carre du perimetre

4π surface

>= 1, =1 pour un disque– allongement :

p =rayon du plus grand cercle inscrit

rayon du plus petit cercle circonscrit

=0 pour une courbe, =1 pour un cercle– concavite

p =perimetre de l′enveloppe convexe

perimetre de l′objet

8

Page 9: descripteurs de fourier

Description de formes

◦ Pas toujours discriminant

meme aire et meme perimetre ⇒ meme circularite

◦ Utilisation– classification par nuees dynamiques dans l’espace de formes– adaptes pour de grands objets

probleme de discretisation pour de petits objets

9

Page 10: descripteurs de fourier

Description de formes

◦ Representation par les moments

Mm,n =∫∫

xmynf(x, y)dxdy Mm,n =∑

(x,y)∈S

xmyn

ordre 0 : M0,0 = surface de l’objet

ordre 1 : centre de gravite de l’objet x = M1,0M0,0

y = M0,1M0,0

ordre 2 : parametres de l’ellipsoıde d’inertie

(moments centres, invariants par translation) :

θ =12arctg

2M ′1,1M ′2,0 −M ′0,2

avec

M ′2,0 = M2,0

M0,0− x2

M ′0,2 = M0,2M0,0

− y2

M ′1,1 = M1,1M0,0

− xy

10-1

Page 11: descripteurs de fourier

a cb

9-1

Page 12: descripteurs de fourier

9-2

Page 13: descripteurs de fourier

Description des contours

Caracterisation de la forme par ses contours

◦ Representation des contours

- codage de Freeman

- signature

- descripteur de Fourier

◦ Approximation polygonale des contours

10

Page 14: descripteurs de fourier

Codage de Freeman

Methode la plus ancienne de description des contours (MPEG-4)

◦ Principe codage des directions du contour dans un repere absolu a partird’une origine donnee

- coordonnees cartesiennes du premier point

- liste des deplacements (4-connexite sur 2 bits, 8 connexite sur 3 bits)

04

2 13

5 6 7

A B

6 6 7 0 1 7 6 0 1 0 2 4 3 1

◦ Proprietes

- invariant par translation

- rotation (multiple de 45o) = addition modulo 811

Page 15: descripteurs de fourier

Codage de Freeman relatif

codage de facon differentielle

- coordonnees cartesiennes du premier point + 1er deplacement

- liste des changements de direction

54 6 7

0 1 2 3 0 1 1 1 6 7 2 1 7 2 2 7 6

◦ Proprietes

- invariant par translation

- invariant par rotation d’un multiple de 45o

12

Page 16: descripteurs de fourier

Codage de Freeman

0

1

2

3

0

123

4

5 6 7

3

91011

12

13

6 75

14

4

12

80

15

4 directions : 2 bits 8 directions : 3 bits 16 directions : 4 bits

1 1 1 0 1 0 0 0 0 0 0 3 0 3 0 3 0 3 3 2 3 2 3 0 3 0 0 0 0 0 1 0 1 0

2 2 1 1 0 0 0 0 7 7 7 7 6 5 4 6 7 0 0 0 0 1 0 1

10 9 8 8 15 15 6 5 4 6 7 8 8 1 0 1 16 x 4 = 64 bits

24 x 3 = 72 bits

34 x 2 = 68 bits

13

Page 17: descripteurs de fourier

Proprietes des chaınes de Freeman

- dilatation, rotation, longueur, inversion d’un chemin, simplification d’unchemin

7

0

1

2

3

4

5

6

7

43210 65

6

2

6

2 0

0

4

0

4

4 0

4

1

7

1 72

2 3

3

5

6

5 6b

a

00000303444142000720660500011

000022442420000066600011

14

Page 18: descripteurs de fourier

Proprietes des chaınes de Freeman

- comparaison des chaınes par l’algorithme de Wagner et Fisher

15

Page 19: descripteurs de fourier

Signature d’un contour

◦ Principe

- centre de gravite = origine d’un systeme de coordonnees polaires

- liste des distances a l’origine en fonction de l’angle :

⇒ fonction ρ(θ)

◦ Proprietes

- invariant par translation

- detection de petits defauts

- rotation = translation selon θ16

Page 20: descripteurs de fourier

Signature d’un contour - exemples

θρ

θρ

R

17

Page 21: descripteurs de fourier

Descripteurs de Fourier

◦ Descripteurs par tangente

- description du contour par son abscisse curviligne s (origine A)

- φ(s) : angle fait par le vecteur tangent en s avec celui en A

Φ(t) = φ

[2π.sL

]− 2πs

L

A

(l)

M

Φ

l

Φ(t) fonction periodique sur [0, 2π[, serie de Fourier :Φ(t) =

∑∞k=0 ak exp(−ikt).

descripteurs de Fourier = ensemble des {|ak|}.18

Page 22: descripteurs de fourier

Descripteurs de Fourier

◦ Proprietes

- invariants par translation de la forme

- invariants par rotation

- invariants par changement d’origine

- comparaison de formes = comparaison des descripteurs par ordre croissant

- simplification de contours = suppression des ordres eleves (contour pouvantdevenir non ferme)

A

B

19

Page 23: descripteurs de fourier

Descripteurs de Fourier

◦ Representation complexe

- forme decrite par un ensemble Mj de points de contours (Mj = xj + iyj)

- descripteurs de Fourier = coefficients de la transformee en Z des zj :

Zk =1N

N∑j=1

zj exp(−2πijk

N)

coefficients Zk, pour k ∈ [−N/2 + 1, N/2]

◦ Proprietes

- k = 0, Z0 = centre de gravite de la forme

- Zk = 0 sauf pour k = 1, forme = cercle de rayon Z1

(Z1 = facteur d’echelle ; si normalisation, forme invariante par homothetie)

- coefficients Z|k| et Z|1−k| = roles opposes mais symetriques sur la courbe

20

Page 24: descripteurs de fourier

Descripteurs de Fourier

◦ ordre k = nombre d’actions sur le cercle unite (entre 0 et 2π) :

- 1 action pour k = 2 et k = −1,

- 2 actions pour k = 3 et k = −2,

- 3 actions pour k = 4 et k = −3, etc.

- valeurs de k > 0 : actions de traction sur la courbe (pour la deformer versl’exterieur du cercle unite),

- valeurs de k < 0 : actions de pression sur la courbe (pour creuser la courbevers son centre)

- phase du nombre complexe Zk : φk : lieu sur le cercle unite ou s’exerce l’action

◦ nombre de coefficients

- coefficients nombreux ⇒ forme complexe

- coefficients d’ordre eleves ⇒ details fins sur la courbe.

21

Page 25: descripteurs de fourier

M = x + i yk k k

x

y

22

Page 26: descripteurs de fourier

23

Page 27: descripteurs de fourier

24

Page 28: descripteurs de fourier

25

Page 29: descripteurs de fourier

26

Page 30: descripteurs de fourier

Approximations polynomiales

Preliminaire : approximation d’un nuage de points par une droite unique

◦ Approximation par regression lineaire

Mi = (xi, yi), N points

approche par moindres carres

droite ∆ : y = ax+ b minimisant l’equation :

d21 =

N∑i

[yi − (axi + b)]2

solution :A = X#Y = (XtX)−1XtY

X =

1 x1

1 x2

.. ..

1 xN

27

Page 31: descripteurs de fourier

Y = [y1, y2, .., yN ]t et A = [ab]t

ce qui s’ecrit :

a =cov(X,Y )varX

et b = E(Y )− aE(X)

28

Page 32: descripteurs de fourier

Approximations polynomiales

M i

d 1

M i

d 2

régression axe d’inertie

29

Page 33: descripteurs de fourier

Approximations polynomiales

◦ Approximation par axe principal d’inertie

droite ∆ : minimisant l’equation ax+ by + c = 0

(avec la contrainte a2 + b2 = 1) :

d22 =

N∑i

[axi + byi + c]2 + λ(1− (a2 + b2))

- (a, b) le vecteur propre associe a la plus petite valeur propre de la matrice decovariance

- c tel que aE(x) + bE(y) + c = 0

30

Page 34: descripteurs de fourier

Approximations polynomiales

Approximations robustes :

probleme du bruit dans les observations (outliers)

◦ Moindres carres tronques

- premiere approximation aux moindres carres

- suppression des points les plus eloignes (test statistique)

- iteration...

◦ Moindres medians

- tirage aleatoire d’ensembles de points

- calcul des parametres

- selection des valeurs medianes

- au maximum 20% d’outliers

31

Page 35: descripteurs de fourier

Approximations polynomiales

Approximations robustes :

◦ Moindres medians bis

- tirage aleatoire d’ensembles de points

- calcul des parametres

- calcul des erreurs pour tous les points et selection de l’erreur mediane

- selection des parametres correspondant a la plus petite valeur mediane

- au maximum 50% d’outliers

◦ Methode RanSac (Random Sample Consensus)

- tirage aleatoire d’ensembles de points

- calcul des parametres

- calcul du nombre de points dont l’erreur est inferieure a un seuil ε

- selection des parametres maximisant ce nombre

32

Page 36: descripteurs de fourier

Approximations polynomiales

Approximations robustes :

◦ Les M-estimateurs

- initialisation (par exemple aux moindres carres)

- calcul des erreurs (distances) pour chaque point

- ponderation des points en fonction de leur distance (quadratique tronquee)

- nouveau calcul des parametres

- iteration du procede

33

Page 37: descripteurs de fourier

Approximations polygonales des contours

reduction d’une courbe Γ continue ou finement echantillonnee a une lignepolygonale

◦ Algorithme de la corde

- subdivision recursive ou iterative a chaque etape

- sommets du polygone = points de Γ les plus eloignes des cordesprecedemment tirees

- arret du processus : nouvelle distance candidate inferieure a un seuil ε fixe.

34

Page 38: descripteurs de fourier

M 2

M 2

BA

B

M1

A

B

M 3

A

M

M

1

3

A B

35

Page 39: descripteurs de fourier

Transformation de Hough

Reconnaissance de courbes parametrees

◦ Principe

associer au plan image un espace d’accumulateurs lie aux parametres de lacourbe recherchee

Detection de courbes dans le plan image (espace I)

m

Recherche de maxima dans l’espace des accumulateurs (espace H)

36

Page 40: descripteurs de fourier

Transformation de Hough

Recherche de droites

◦ TH de 1 a m

un point de l’espace image ⇒ une courbe dans l’espace des parametres

soit Mi = (xi, yi)

si Mi ∈ Di alors yi = axi + b soit b = −xia+ yi

⇒ equation d’une droite dans l’espace (a, b)

(a un point de I est associe m points de H)

37

Page 41: descripteurs de fourier

recherche des intersections des droites dans H

38

Page 42: descripteurs de fourier

Transformation de Hough

Recherche de droites

◦ TH de m a 1

un bipoint de l’espace image ⇒ un point dans l’espace des parametres

soit Mi,Mj de I → une seule droite ∆ij → un point Qij de H

aij =yi − yjxi − xj

bij =xiyj − xjyixi − xj

(a m points de I est associe 1 point de H)

39

Page 43: descripteurs de fourier

Mk

x

y

M j

a

b

Q jk

recherche des points les plus representes dans H

(m=2 !...)

(TH de 1 a m ⇔ TH de m a 1)

40

Page 44: descripteurs de fourier

Transformation de Hough

◦ Discretisation de H

- accumulateur = case de H

- hypothese = vote dans H = incrementation de l’accumulateur

Choix de la taille des cases delicat :

- accumulateurs trop grands = mauvaise precision dans la detection

- accumulateurs trop petits = peu de votes si courbe “bruitee”

- probleme de la taille de l’espace memoire

(surtout si de nombreux parametres pour la forme)

41

Page 45: descripteurs de fourier

Transformation de Hough

◦ Parametrisation de la courbe

Necessite d’une bonne parametrisation des courbes

- Ex : pour les droites y = ax+ b, a, b ∈]−∞; +∞[

a ∈ [0, 1[⇒ 25% des droites du plan

a ∈ [1,+∞[⇒ 25 % des droites

⇒ taille des cellules tres inegale

Autre parametrisation : ρ = xi cos θ + yi sin θ

Transformee de Hough 1 a m :

⇒ ρ = f(θ) sinusoıde

ρ =√x2i + y2

i cos(θ + φ)

cos(φ) = xi/√x2i + y2

i

∆θ = [−π,+π[ et ∆ρ = [0,√

2L] (L cote de l’image)

42

Page 46: descripteurs de fourier

0 2 4 6 8 10 12 14 16 18 20−5

0

5

10

15

20

−150 −100 −50 0 50 100 150−25

−20

−15

−10

−5

0

5

10

15

20

25

43

Page 47: descripteurs de fourier

Transformation de Hough

◦ Parametrisation de la courbe

Transformee de Hough m a 1 :

doublet Mi,Mj de I ⇒ point Qij de H

ρij = |xiyj−xjyi|√(xi−xj)2+(yi−yj)2

et θij = −Arctg[xj−xiyj−yi

]

0 2 4 6 8 10 12 14 16 18 20−5

0

5

10

15

20

−150 −100 −50 0 50 100 1500

5

10

15

20

25

44

Page 48: descripteurs de fourier

Transformation de Hough - exemple

0 2 4 6 8 10 12 14 16 18 20−5

0

5

10

15

20

0 2 4 6 8 10 12 14 16 18 20−5

0

5

10

15

20

−80 −60 −40 −20 0 20 40 60 80−25

−20

−15

−10

−5

0

5

10

15

20

25

−80 −60 −40 −20 0 20 40 60 800

5

10

15

20

25

45

Page 49: descripteurs de fourier

Transformation de Hough - exemple

46

Page 50: descripteurs de fourier

Transformation de Hough - exemple

47

Page 51: descripteurs de fourier

Transformation de Hough - exemple

48

Page 52: descripteurs de fourier

Transformation de Hough

◦ Detection d’objets par TH

- cercles (3 parametres : centre + rayon)

- ellipses (5 parametres centre + rayon+ direction de l’axe + ellipticite)

- paraboles (3 parametres si on connait la direction de l’axe, 5 sinon)

49

Page 53: descripteurs de fourier

Transformation de Hough - exemple

50