• Aucun résultat trouvé

VISION 3-D ET LUMIÈRE STRUCTURÉE

2.3 S EGMENTATION DES I MAGES EN L UMIÈRE S TRUCTURÉE

2.3.4 Extractions des Segments

Détection des droites par la transformée de Hough

Il est souvent préférable, plutôt que d'avoir une image de type bitmap, de paramétrer les éléments qui la composent en droites, segments et courbes ; en fait, de passer d'une représentation où la primitive est le pixel, à une représentation d'un niveau supérieur, moins sensible au bruit et de manipulation plus aisée. Dans un environnement polygonal ou plan par morceaux, il semble évident que le segment est une primitive appropriée ; de surcroit, l'approximation polygonale des courbes peut conduire à une représentation simple de l'image sans pour autant être trop simpliste en termes de précision pour les mesures ou pour une éventuelle

reconstruction de la scène. En ce sens, la transformée de Hough [HOU62] est un

outil couramment utilisé. Originairement, elle permet de détecter les droites au sein d'une image à partir d'un changement de représentation paramétrique de celles-ci. Elle fut ensuite généralisée à des courbes de degré supérieur. Il existe d'autres techniques d'approximation polygonale dont on trouvera un bilan dans

[GAR92] ; il nous a semblé, cependant, que la transformée de Hough s'adaptait

plus convenablement à la morphologie des images en lumière structurée :

! Si l'on connait a priori le positionnement relatif de la caméra et du projecteur, on peut en déduire la direction approximative qu'auront les droites verticales et horizontales projetées dans l'image et ainsi réduire la taille de l'accumulateur.

! La transformée de Hough, de par son fonctionnement statistique, possède le double avantage de combler les discontinuités des droites perçues et d'être robuste au bruit ; ce qui offre une marge de manoeuvre assez large dans le choix du seuil de binarisation ou du type de seuillage utilisé.

Considérons un ensemble de points du squelette m1, m2, ..., mn, de coordonnées

respectives

(

xi,yi

)

1in. Imaginons un vecteur dont la valeur de la jème composante

est égale au nombre de points pour lesquels j

x y

i

i = . Si une majorité de points

sont alignés sur une droite de pente a, alors la aème composante devrait présenter

un maximum et nous aurons détecté une ligne dans l'image, même dans le cas où les n points ne sont pas connexes. Généralisons ce résultat. L'équation générale d'une droite, dans l'espace affine, est donnée par :

b x a

y= ⋅ + (9)

On sait que cette représentation ne convient pas aux droites verticales. On lui préférera donc la suivante :

θ θ

ρ =x⋅cos +y⋅sin (10)

Dans l'espace des paramètres

( )

ρ,θ , une droite est représentée par un point. Il

passe une infinité de droites d'équations (10) par un point

(

x ,i yi

)

. Pour une

second point

(

x ,j yj

)

, on aura une autre infinité de droites de paramètres

( )

ρ,θ . Pour un ensemble de points alignés, ces droites se couperont en un unique point de l'espace des paramètres ; ces paramètres sont ceux de la droite liant les points. L'algorithme tiré de ce raisonnement, appelé transformée de Hough, peut s'écrire :

1. Quantifier l'espace des paramètres

( )

ρ,θ entre deux minima et deux maxima.

2. Initialiser un tableau à deux entrées, appelé accumulateur, à zéro.

3. Pour chaque point de contour, ou dans notre application, du squelette,

(

x ,i yi

)

, incrémenter l'élément Accu

(

ρkl

)

si :

l i l i k x θ y θ ρ = ⋅cos + ⋅sin (11)

4. Les maxima locaux du tableau correspondent aux segments de droites. Les valeurs des éléments du tableau indiquent le nombre de points alignés.

Il convient maintenant d'étudier la particularité des images en lumière structurée pour fixer les bornes et le pas de l'espace des paramètres. Si l'on se restreint au positionnement préconisé dans la section 4.2.2 (et dont les commentaires quant à la validité et à la perte de généralité demeurent valables), on sait que les verticales projetées garderont un aspect quasi-vertical dans l'image et que les horizontales projetées garderont un aspect quasi-horizontal. De ce fait, nous scinderons

l'ensemble des paramètres θ en deux intervalles, l'un proche de zéro, l'autre

proche de 2

π . Sur la série d'images de test, il est apparu qu'une tolérance de

( )

18

10° ±π

± était suffisante et ce, aussi bien pour les verticales que pour les

horizontales. Le pas d'échantillonnage fixé est de 1°. En pratique, on utilise deux accumulateurs, l'un pour la détection des quasi-verticales, l'autre pour la détection des quasi-horizontales ; le second étant obtenu en ajoutant

2

π aux valeurs du

premier. Le paramètre ρ est choisi de sorte que l'ensemble de l'image soit balayée.

Pour une image 512×512, par exemple, on prendra ρ allant de 0 à la diagonale,

soit 2⋅512≅724. Pour extraire les maxima locaux, nous passons une fenêtre

10×10 sur les accumulateurs et nous ne gardons, au sein de cette fenêtre, que la

valeur du tableau la plus élevée. La Figure 37 présente les maxima locaux extraits des résultats précédents.

Figure 37. Extractions des droites par transformée de Hough

Extrémités des segments

Si nous calculions l'intersection des droites extraites en l'état, on trouverait bien évidemment des points d'intersection qui n'ont pas d'existence réelle. Il nous faut donc réduire les droites obtenues par la transformées de Hough au(x) segment(s) qui les compose(nt) avant de calculer l'intersection. Pour cela chaque droite est balayée jusqu'à ce qu'une extrémité soit rencontrée. Quelques précautions sont à prendre : puisque la transformée de Hough opère un échantillonnage sur l'orientation des droites, il faut tester la présence des extrémités sur un voisinage de deux ou trois pixels dans la direction perpendiculaire à l'orientation estimée. Pour éliminer les segments parasites provoqués par le bruit ou les barbules, on rejettera les segments dont la taille est inférieure à un seuil donné.

Figure 38. Extraction des segments

Au vu de ces premiers résultats, les limites qualitatives des traitements effectués peuvent déjà être pointées. Les résultats offerts sur des scènes planes ou planes

par morceaux sont relativement bons ; en revanche, ils se dégradent très vite si la scène est composée de surfaces complexes. Les courbes se scindent en plusieurs segments dont le nombre et la taille dépend à la fois de l'échantillonnage des paramètres de Hough et des seuils fixés pour la binarisation, le rejet des droites et des segments, etc. D'une manière générale, plus l'image est complexe, plus elle est sensible à la variation des seuils. Une mise au point imprécise est un autre facteur important de dégradation des résultats. Notons que pour la Figure 38, la binarisation a volontairement été très sélective.

Documents relatifs