u sujets –détection des droites –transformée de hough (espace paramétré) *avec la pente et...
TRANSCRIPT
![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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/551d9db8497959293b8dc6d8/html5/thumbnails/37.jpg)
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