37
Sujets – Détection des droites – Transformée de Hough (espace paramétré) * avec la pente et l’ordonnée à l’origine * avec la normale et l’angle – Détection des droites dans l’espace transformé – Détection des cercles/ellipses Lectures: Notes de cours PIF-6003 Sujets spéciaux en informatique I

u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Embed Size (px)

Citation preview

Page 1: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Sujets– Détection des droites

– Transformée de Hough (espace paramétré)* avec la pente et l’ordonnée à l’origine

* avec la normale et l’angle

– Détection des droites dans l’espace transformé

– Détection des cercles/ellipses Lectures: Notes de cours

PIF-6003Sujets spéciaux en informatique I

Page 2: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites

Si nous avons une image binaire dont les pixels avec une valeur de niveau de gris à PIXMAX font partis de segments de droites– La détection des droites pourrait être effectuée en:

* Déterminant l’ensemble des droites potentielles

)(

2

)1( 22 nO

nnC n

* Chercher les points proches de chaque droite potentielle=> n3 comparaisons

Page 3: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Figure 7.15 [rf. GONZALEZ, p. 434]

Transformée de Hough    (avec la pente et l’ordonnée à l’origine)

Page 4: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Figure 7.16 [rf. GONZALEZ, p. 435]

Représentation discrète d’un espace paramétré : transformée de Hough

Tableau de compteurs de points colinéaires

Page 5: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Figure 7.16 [rf. GONZALEZ, p. 435]

Représentation discrète d’un espace paramétré : transformée de Hough

Image contenant deux segments de droite Représentation du tableau de compteurs

(a) (b)

Page 6: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Transformée de Hough    (avec la pente et l’ordonnée à l’origine)

Faiblesse – Pour a -> => droite verticale b -> – Difficile à représenter dans l’espace paramétré

Page 7: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Figure 7.17 [rf. GONZALEZ, p. 436]

Transformée de Hough    (avec la normale et l’angle)

Page 8: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Transformée de Hough    (avec la normale et l’angle)

Forme normale de la droite

= x cos + y sin L’espace paramétré est borné par:

-(H2+L2)1/2, (H2+L2)1/2H: Hauteur de l’image

L: Largeur de l’image

-/2,/2

Page 9: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Figure 7.18 [rf. GONZALEZ, p. 437]

Transformée de Hough (exemples)

Espace paramétré {où s’étend de ± 90°

et de ± 2D}

Image avec5 points spécifiques

A

B

Espace paramétré ( A relie les pts 1, 3 et 5

et B les pts 2, 3 et 4 )

Espace paramétré ( inversion des signes

de et à ± 90° )

Page 10: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Transformée de Hough    (avec la normale et l’angle)

Algorithme général– Effectuer la transformée de Hough

* Pour chaque pixel à PIXMAX Calculer les droites chacune paramétrées , pouvant passer par ce

pixel Faire la mise à jour des compteurs de points colinéaires (espace

paramétré) aux positions ,

– Détecter les droites* Parcourir l’espace paramétré et déterminer si le nombre de

points colinéaires dépasse un seuil fixé par l’usager

Page 11: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Figure 7.14 [rf. GONZALEZ, p. 433]

Détection des droites dans l’espace transformé (exemples)

Page 12: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites dans l’espace transformé (exemple OpenCV: houghlines.c)

Page 13: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites dans l’espace transformé (exemple OpenCV: houghlines.c)

Page 14: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites dans l’espace transformé (exemple OpenCV: houghlines.c)

Page 15: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites dans l’espace transformé (exemple OpenCV: houghlines.c)

Page 16: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites dans l’espace transformé (exemple OpenCV: houghlines.c)

Page 17: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des droites dans l’espace transformé (exemple OpenCV: houghlines.c)

Page 18: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des cercles

Expression du cercle en coordonnées polaires

sin

cos

ryy

rxx

c

c

L’espace projeté est paramétré par xc et yc donnés par

sin

cos

ryy

rxx

c

c

Page 19: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des cercles

Algorithme général– Effectuer la transformée de Hough (cercle de rayon r)

* Pour chaque pixel à PIXMAX Calculer les centres des cercles donnés par xc,yc pouvant contenir ce

pixel Faire la mise à jour des compteurs des centres de cercle (espace

paramétré) aux positions xc,yc

– Détecter les cercles* Parcourir l’espace paramétré et déterminer si le nombre de

points cocirculaires dépasse un seuil fixé par l’usager

Page 20: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des cercles (Exemple)

Image monnaie

Page 21: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

(ex: findThresholdFaceNIR.c)

Page 22: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

(ex: findThresholdFaceNIR.c)

Page 23: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

(ex: findThresholdFaceNIR.c)

//

Page 24: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

Extraction des contoursà partir de l’image seuillée

Page 25: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

(ex: findThresholdFaceNIR.c)

Page 26: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

Extraction des contours et ellipses à partir de l’image seuillée

Page 27: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

• Si nous avons N points d’un contour p1 …. pN dans une images et pi = [xi, yi]T. Posons x = [x2, xy, y2, x, y, 1]Tet p = [x, y]T, alors nous pouvons écrire:

• Cette forme générale d’une ellipse est caractérisée par le vecteur de paramètres a = [a, b, c, d, e, f]T. L’approximation d’un contour par une ellipse revient à trouver un vecteur a0 qui approxime le mieux les points pi

d’un contour au sens des moindres carrés, et qui est la sol’n de:

D() est une fonction distance

Page 28: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

• En utilisant la distance algébrique le problème de minimisation de moindre carré précédent devient linéaire et peut être résolu de façon directe sous la forme:

• Pour éviter la sol’n triviale a = 0 nous devons imposer une contrainte sura avec la matrice C (constraint matrix):

Page 29: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

• Ensuite, nous pouvons réécrire la fonction de minimisation basée sur la distance algébrique sous la forme:

• Avec X la matrice (design matrix) de la forme suivante et S = XTX (scattering matrix):

Page 30: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

• Le vecteur a0 optimal correspond au vecteur propre associé à la seule valeur propre négative découlant du système suivant :

Algorithme:1) Créer la matrice X à partir des point pi = [xi, yi] d’un contour2) Calculer la matrice S = XTX3) Créer la matrice C4) Calculer les valeurs propres du système précédent et trouver la valeur propre négative n à laquelle est associée le vecteur propre optimal a0

Page 31: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

• Exemples d’approximation découlant de l’application de l’algorithme précédent:

Bruit de contour gaussien croissant

Page 32: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)

• Exemple de programme OpenCV (RTGazeTracking.c):

Création de la matrice de contraintes C

Page 33: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)• Exemple de programme OpenCV (RTGazeTracking.c) (suite ….):

Création de la matrice X

Page 34: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)• Exemple de programme OpenCV (RTGazeTracking.c) (suite ….):

Page 35: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)• Exemple de programme OpenCV (RTGazeTracking.c) (suite ….):

Page 36: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Détection des ellipses (Exemple)• Exemple de programme OpenCV (RTGazeTracking.c) (suite ….):

Page 37: u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et lordonnée à lorigine *avec la normale et langle –Détection

Résumé

Segmentation des images par détection des droites– Détection des droites

– Transformée de Hough

– Détection des droites dans l’espace transformé

– Détection des cercles/ellipses