0% ont trouvé ce document utile (0 vote)
8 vues8 pages

Article Graf Espic

Transféré par

Rabaaoui Ammar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues8 pages

Article Graf Espic

Transféré par

Rabaaoui Ammar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Transformée de Hough

Basile Graf, Christophe Espic

Prof. Jean-Philippe Thiran

Introduction
• La transformée de Hough, utilisée en
segmentation d’images, permet de
détecter des objets bien précis dans une
image.
• Bonne insensibilité au bruit
• Elle permet de détecter des objets
partiellement recouverts

1
Principe
Détection de droites (1)

y b
y = ax+b

x a
y b

b = -ax+y

x a

Espace « image » Espace des paramètres

Principe
Détection de droites (2)

y b
y = ax+b

x a

Les images de tous les points d’une droite se coupent en (a,b) dans le
domaine de Hough

2
Méthode
Détection de droites (3)
1. Appliquer une détection de contours
2. Discrétiser le plan des paramètres (a,b)
3. Initialiser un accumulateur
4. Pour chaque point sur un contour :
1. Déterminer sa droite image dans l’espace des
paramètres
2. Incrémenter l’accumulateur sur les points de cette
droite
5. Recherche de maxima paramètres

Exemple
Détection de droites

Image originale Détection de contours Transformée de Hough


(MATLAB: edge) Recherche de maximum

Le max correspond aux paramètres (a,b) de la droite

3
Défauts
Paramétrisation

• L’espace des paramètres doit être borné


et discrétisé dans une implémentation
réelle

• => Une droite verticale ne peut pas être


représentée (a=∞)

• => Autre paramétrisation que y=ax+b

Espace (s,θ)
y s

θ
x θ

x = s cos(θ)
y = s sin(θ)

x cos(θ) + y sin(θ) – s = 0

4
Espace (s,θ)
y s

x θ

(x1,y1) s= x1 cos(θ) + y1 sin(θ)

Les sinusoïdes correspondant aux points d’une même droite se coupent


au point (s,θ) paramétrisant cette droite

Exemple (s, θ)

Transformée de
Détection de Droites
Hough (s, θ)
bords correspondantes
Maxima locaux

5
Détection de cercles de rayon R

La paramétrisation d’un cercle de centre (a,b) et de rayon R


peut être donnée par

(x-a)2 + (y-b)2 – R2 = 0
y b

x a

Exemple

Transformée de Hough (a,b) Cercle


Détection de bords
Maxima locaux correspondant

6
Généralisation
Détection d’autres types de courbes

Paramétrisation: f(x,a) = 0 VxC la courbe

La dimension de l’accumulateur (espace des paramètres)


est dim(a)

Algorithme
• Détection de bords
• Pour chaque point appartenant à un bord,
calculer f(xi,a) et incrémenter
l’accumulateur en aj lorsque |f(xi,aj)| < ε
• Recherche des maxima locaux de
l’accumulateur

=> Paramétrisation des courbes recherchées

7
Inconvénients

La dimension du domaine transformé est égal aux


nombres de paramètres nécessaires pour décrire la
courbe

=> Le temps de calcul et la mémoire utilisée


deviennent vite conséquents

Exemple: Cercles de rayons différents b

f(x,a) = (x-a)2 + (y-b)2 – r2


x = (x,y) a = (a,b,r) a
r

Conclusion
• La transformée de Hough est utile pour la
détection de contours descriptibles par
peu de paramètres (2, voire 3)
• Elle est robuste (bruit, occlusions)
• On peut envisager des algorithmes plus
efficaces (multirésolution dans l’espace
des paramètres)

Vous aimerez peut-être aussi