• Aucun résultat trouvé

1.2 Plan de la thèse

2.1.2 Ellipses : biais et détection

La détection d’une ellipse consiste généralement à extraire précisément les points décrivant le contour pour ensuite estimer les paramètres de l’ellipse. Une multitude de méthodes ont été proposées pour estimer une ellipse à partir d’un ensemble de points, dont certaines sont relativement récentes [45, 46, 47, 48, 49, 50, 51]. Ces méthodes se différencient en fonction de leur précision, robustesse et capacité à estimer les para- mètres à partir d’un contour partiel. Toutes ces méthodes reposent sur un ensemble de points de contour extraits à une étape précédente. Comme l’illustre la Fig.2.17, l’ex- traction de points de contour précis consiste en plusieurs étapes incluant l’estimation du gradient de l’image, l’identification des maximums locaux (les points de contour), le seuillage, l’association des points à leur contour respectif, et finalement le raffinement de la position des maximums à l’intérieur du pixel.

L’estimation d’ellipses partielles n’est pas considérée dans les présents travaux. Bien que la restriction aux ellipses complètes peut sembler contraignante, elles n’en de- meurent pas moins d’un grand intérêt pour le calibrage et les applications de mesures précises où il est commun d’utiliser des marqueurs circulaires qui apparaissent sous la forme d’ellipses dans l’image [20]. Dans ces applications, l’estimation d’ellipses partielles est moins fiable et généralement évitée.

Il est possible d’éviter l’extraction de points de contour en utilisant des méthodes plus directes. On dit qu’une méthode est directe lorsque les données, ici les pixels de l’image, sont utilisées sans transformation ou dérivation. Le nombre d’étapes pour ca- ractériser l’ellipse est ainsi réduit et l’algorithme s’en retrouve simplifié. Des méthodes directes de localisation d’ellipses ont déjà été proposées. Par exemple, Shortis[52] ana- lyse deux méthodes basées sur l’intensité de l’image. La première méthode consiste à estimer le centre de masse de l’intensité de la région associée à l’ellipse. En pondérant chaque pixel de la région par l’intensité de l’image, on peut retrouver le centre de la

région. Dans la seconde méthode analysée par Shortis [52], on modélise la distribu- tion des niveaux d’intensités par une fonction gaussienne 2D. La fonction gaussienne est ajustée itérativement sur la région incluant l’ellipse pour obtenir le centre de la fonction, ainsi que ses coefficients de variance et covariance. Les résultats de Shortis révèlent que la première méthode, le centre de masse, s’avère plus précise. Toutefois, les méthodes basées sur l’intensité sont particulièrement sensibles à un éclairage non uniforme. Les causes d’un éclairage non uniforme sont nombreuses, source d’éclairage, réflexions, vignettage, etc.

Les méthodes basées sur le gradient sont moins affectées par un éclairage non uni- forme. Cependant, la dérivation rend l’estimation plus sensible au bruit. Généralement, ce type de méthode s’applique en deux étapes distinctes : les arêtes de la région sont identifiées et une conique est estimée sur ces points. La méthode d’estimation la plus simple minimise l’erreur algébrique associée aux points par moindres carrés. L’erreur algébrique d’un point x = [x y 1]T est définie comme :

xTCx = 0, C =    a b/2 d/2 b/2 c e/2 d/2 e/2 f    , (2.15)

Comme le système d’équations linéaires est homogène, une contrainte doit être impo- sée aux paramètres de la conique Θ = [a, b, c, d, e, f]T

pour éviter la solution triviale Θ = 0. Plusieurs contraintes ont été proposée dans la littérature, f = 1, kΘk = 1 (voir [46, 45] pour une revue ). Cependant, l’estimation doit être invariante à une transfor- mation euclidienne des points de l’ellipse (translation, rotation, échelle). Ainsi, on doit obtenir le même résultat, si on applique une transformation aux points avant d’estimer la conique, que si on estime la conique et on applique la transformation à la conique es- timée. D’après cette définition, les contraintes f = 1 et kΘk = 1 ne sont pas invariantes [53]. Une contrainte basée sur un invariant serait donc particulièrement bénéfique. Un invariant bien connu des coniques est l’expression du discriminant 4ac − b2. À partir de

cette expression, on peut donc formuler la contrainte :

4ac − b2 = 1. (2.16)

Sous cette contrainte, les paramètres qui minimisent l’erreur algébrique ne peuvent décrire qu’une ellipse. Cette contrainte a été exploitée élégamment par Fitzgibbon pour obtenir une ellipse à partir de points [49]. La solution est obtenue par un système de valeurs propres généralisées. Dans le cas où les points décrivent partiellement le contour de l’ellipse, cette méthode, comme toutes celles basées sur l’erreur algébrique d’ailleurs, vont sous-estimer l’excentricité de l’ellipse [54]. Différents algorithmes itératifs ont été proposés pour compenser ce biais [48,50]. Toutefois, pour une ellipse complète, le biais est pratiquement inexistant et il n’y a pas de différence entre les méthodes d’estimation [45]. Dans cette situation, il est avantageux d’utiliser une méthode simple.

(a) (b) (c)

Figure2.18 – (a) Les droites parallèles au gradient du contour d’un cercle convergent en son centre. (b) Les droites parallèles au gradient du contour d’une ellipse ne se croisent pas. (c) Les droites perpendiculaires au gradient du contour d’une ellipse sont tangentes à l’ellipse.

Estimer une conique à partir de points situés aux centres des pixels est généralement imprécis. Une meilleure estimation est obtenue à partir des points dont la position est raffinée à l’intérieur du pixel. Une méthode simple pour obtenir cette précision est d’estimer le maximum d’une parabole ajustée sur le gradient perpendiculairement à l’arête. Cette méthode est simple, mais est sensible au bruit. Une alternative a été proposée par Tabatabai [55] où un modèle d’arête idéal est ajusté sur chaque pixel du contour en conservant les trois premiers moments de la distribution locale de l’intensité. Le modèle est ajusté à partir d’une région circulaire centrée sur le maximum du gradient, ce qui réduit la sensibilité au bruit. Cependant, la localisation est biaisée lorsque l’arête est courbée dans la région. Cette situation est commune lorsqu’on traite le contour d’une ellipse. Pour réduire ce biais, un terme de correction basé sur la courbure locale a été introduit par Safaee [56], lequel a ensuite été raffiné par Heikkila [57]. Ceci complexifie grandement les étapes pour estimer l’ellipse. Cette revue de littérature suggère qu’une méthode évitant l’extraction des points de contour en exploitant directement le gradient pourrait simplifier considérablement le procédé.

Une approche radicalement différente a été proposée par Forstner [24] pour la loca- lisation de jonctions et cercles. Dans cette approche, l’extraction des points de contour individuels est évitée ; la position est estimée directement à partir du gradient de la ré- gion incluant le cercle. Comme mentionné précédemment, le gradient à un pixel donné est un vecteur donnant l’orientation de la normale d’un segment de droite passant par le pixel. Ainsi, on peut retrouver la position d’une jonction en estimant l’intersection des segments de droite perpendiculaires au gradient. De manière similaire, on peut obtenir le centre d’un cercle. Comme l’illustre la Fig.2.18(a), les droites parallèles au gradient du contour d’un cercle se croisent au centre du cercle. On peut donc estimer le point d’intersection par moindres carrés en pondérant chaque segment de droite par la norme du gradient au carré [24].

(a) (b) (c)

Figure2.19 – (a) Image d’une cible de calibrage avec marqueurs circulaires. (b) Agran- dissement d’une région renfermant une ellipse. (c) Section de l’ellipse identifiée en (b) sur laquelle les vecteurs du gradient sont tracés en blanc. Une courbe pointillée montre l’ellipse estimée.

Toutefois, l’opérateur de Forstner n’est pas adapté à la localisation d’ellipses ; dans ce cas, les droites ne convergent pas au centre (voir Fig.2.18(b)). De plus, comme le centre du cercle ou de l’ellipse est relativement loin de son contour, le système d’équations est mal conditionné. En effet, le gradient qui donne l’orientation des droites est bruité. Une petite erreur dans le gradient se traduit par une forte erreur dans l’estimation due à la distance entre le pixel contour et le centre. Par contre, on remarque que les segments de droite perpendiculaires au gradient sont tangents à l’ellipse. En fait, comme le montre la Fig.2.19, les vecteurs associés au gradient dans le voisinage du contour sont perpendiculaires au contour.

Cette observation est très intéressante car il existe un modèle qui décrit les tangentes à la courbe : la conique exprimée dans l’espace dual. Généralement, le terme conique réfère à une équation décrivant un ensemble de points inscrits sur la courbe. En géo- métrie projective, le rôle des points et des droites peut être interchangé lorsqu’ils sont exprimés en coordonnées homogènes ; c’est la dualité point-droite. Ainsi, deux droites décrivent un point, et deux points décrivent une droite. Un résultat direct de ceci est qu’il existe une conique dans l’espace dual, qui définit un ensemble de droites tangentes au lieu de points [58]. Il est donc intéressant d’adapter l’opérateur de Forstner à ce mo- dèle pour exploiter les tangentes au contour qui sont des observables directs de l’ellipse. On souhaite donc définir une méthode qui pourra estimer les paramètres d’une ellipse directement à partir des pixels inclus dans la région contenant l’ellipse. Des exemples de régions sont montrés dans la Fig.2.20. En pondérant les tangentes proportionnellement à la norme du gradient, l’estimation se concentre sur les régions actives du gradient où le contour de l’ellipse a une grande probabilité d’être situé. Préférablement, la région sera concentrée sur le contour de l’ellipse (voir Fig.2.20(a)).

(a) (b) (c)

Figure2.20 – Il est possible d’estimer une ellipse duale à partir d’une région couvrant son contour (a), sa surface (b) ou même une fenêtre quelconque comprenant l’ellipse (c).

Conique et espace dual

Une conique est une courbe inscrite dans un plan formée par l’intersection du plan avec un cône circulaire. Cette courbe décrit les points inscrits sur le contour formé par l’intersection sur le plan. Plus précisément, un point xi = [ui, vi, 1]T, en coordonnées

homogènes appartient à une conique C s’il respecte xT

i Cxi = 0. De façon similaire, une

droite li = [ai, bi, ci]T est tangente à la conique duale de C si elle satisfait liTC∗li =

0. Ici, C∗ est simplement l’inverse de C, lorsque le déterminant n’est pas nul. Les paramètres de cette forme donnent directement le centre de la conique duale ec =

[uc, vc 1]T en coordonnées homogènes. Le centre de la conique duale coïncide avec celui

de la conique dans l’espace normal. Si on définit le pôle x d’une droite l comme étant x = C∗l, le centre de la conique duale est alors le pôle de la droite à l’infini l∞ = [0 0 1]T

[59], λ [uc, vc, 1]T = λ [uc, vc, wc]T =  d∗ 2 , f∗ 2 , f ∗ T = C∗l∞. (2.17)

Étant donné un ensemble de droites li, les paramètres Θ = {a∗, b∗, c∗, d∗, e∗, f∗}

de la conique duale C∗ peuvent être estimés linéairement par moindres carrés. L’esti-

mation consiste à trouver les paramètres Θ pour lesquels Φ (Θ) est minimal, Φ (Θ) =X

i∈R

ωi lTi C∗(Θ) li

2

, (2.18)

où R est l’ensemble des droites contribuant à l’estimation de la conique duale, et ωi

est un poids associé à chaque droite. Comme une droite est un triplet de coordonnées homogènes, l’échelle n’est pas déterminée. Multiplier une droite par un facteur arbitraire ne change pas la solution de l’Eq.2.18, en absence de bruit. Toutefois, le facteur change l’importance de l’erreur d’une droite dans l’estimation. Pour s’assurer que les droites aient la même importance dans l’estimation, leurs paramètres sont normalisés selon ka, bk = 1.

Les équations normales dérivées de l’Eq.2.18 sont linéaires selon Θ et mènent à la forme suivante : " X i∈R ωi2KiKiT # [Θ] = 0, (2.19)

où Ki est composé des coefficients des droites tel que Ki = [a2i, aibi, bi2, aici, bici, c2i] T

. Ce système peut être résolu sous la contrainte kΘk = 1 par décomposition en valeurs singulières (SVD). Cependant, cette contrainte n’est pas invariante à une transformation euclidienne [53]. Une contrainte similaire à celle utilisée pour l’estimation d’une ellipse peut être définie.

De la conique duale à l’ellipse duale

L’estimation d’une conique peut être contrainte à une ellipse en fixant le discriminant 4ac − b2 = 1 [49]. Une contrainte similaire peut être formulée dans l’espace dual. Une

conique et sa duale sont reliées par l’inverse de la matrice. Ainsi, le paramètre f∗ de la

conique duale peut être exprimé en fonction des paramètres de la conique C : f∗ = 1 4 |c| 4ac − b 2 = 1 |c| a b/2 b/2 c . (2.20)

Dans cette expression, le facteur 1

4|c| peut être éliminé puisque C

est connue à un

facteur d’échelle près. Après cette correction, le terme f∗ correspond au discriminant

de la conique 4ac − b2. À partir de l’équation 2.20, on peut définir la condition pour

que la conique duale soit une ellipse duale : f∗ > 0. En formulant une contrainte sur les

paramètres de C∗ basée sur cette condition, on obtient f= 1. Imposer f= 1 revient

donc à fixer le discriminant de la conique pour qu’elle décrive une ellipse. Le système d’équations normales est revu en fonction de cette nouvelle contrainte. On obtient alors cinq paramètres Θ′ = (a′∗, b′∗, c′∗ , d′∗ , e′∗) selon :

" X i∈R ω2iKi′Ki′T # [Θ′] =X i∈R −ωi2K ′ ic 2 i, (2.21)

où K′ est composé des cinq premiers éléments de K. Bien qu’invariant à une transfor-

mation euclidienne, le système peut être sensible aux erreurs numériques. Il est donc recommandé de normaliser les données pour améliorer le conditionnement du système [58]. La normalisation des droites est obtenue par une translation qui amène le centre approximatif de l’ellipse à l’origine, suivie d’un changement d’échelle qui fera en sorte que la distance moyenne des droites à l’origine soit √2.

Estimation de l’ellipse duale

Le gradient de l’image près d’un contour donne naturellement l’orientation de la normale du contour. Ainsi, le gradient associé aux pixels dans le voisinage d’une ellipse

permet de construire un ensemble de droites pour résoudre l’Eq. (2.21). Plus précisé- ment, le gradient ∇Ii = [Iui, Ivi]T au pixel xi définit une droite passant par le centre

du pixel tel que :

li =



Iui, Ivi, −∇IiTxi

T

. (2.22)

Selon cette définition, chaque droite contribue à l’estimation avec un poids égal à la norme du gradient au carré. On donne ainsi plus d’importance aux pixels où le gradient est fort. L’estimation se concentre donc sur les régions actives du gradient où le contour de l’ellipse a une grande probabilité d’être situé. On évite ainsi la détection des points de contour ; tous les pixels sont traités.

L’opérateur final nécessite peu d’étapes. Le gradient de chaque pixel de la région contribue à la somme de l’équation Eq.2.21. Une fois les paramètres obtenus, la matrice de variance-covariance des paramètres peut être déterminée. La variance des paramètres est particulièrement utile car elle caractérise directement l’incertitude du centre de l’ellipse (d∗, e). La matrice de covariance est obtenue par la relation suivante :

S (Θ′) = (KΘ) T

(KΘ)

n − 5 K

′TK′−1, (2.23)

où n est le nombre de pixels contribuant à l’estimation. La matrice de covariance du centre de l’ellipse est alors obtenue selon :

S (uc, vc) = 1 4S (d ∗, e) = S  d∗ 2, e∗ 2  . (2.24)

Biais : Analyse et solution

L’ellipse n’est pas affectée par les mêmes biais affectant la jonction, qui ont été décrits dans la section précédente. Le gradient est calculé sur le contour qui comporte une seule composante. Dans le cas de la jonction, l’intersection de plusieurs contours à la jonction biaisait le gradient et ainsi la localisation. Ce n’est pas le cas pour l’ellipse. Nous avons identifié deux sources de biais par rapport à l’utilisation d’ellipses : le biais de l’erreur algébrique et le biais projectif. Le biais de l’erreur algébrique est causé par une asymétrie de l’erreur le long du contour dans la région d’estimation. Il sera analysé en premier. Le second biais est lié à la façon dont l’ellipse est utilisée en calibrage et positionnement. Généralement, le centre de l’ellipse est extrait et devient la caractéristique utilisée pour les calculs subséquents. Le biais se présente alors lorsque l’ellipse est observée d’un point de vue différent. Dans cette situation, la déformation projective fait en sorte que les centres ne correspondent plus au même point physique, comme le montre la Fig.2.3. Biais de l’erreur algébrique

La conique duale et la conique point sont intimement liées dans la représentation de l’erreur algébrique. Cette relation vient de l’équivalence dans l’expression de l’erreur

∇Ii ǫi xi= C∗li

li C∗

(a) (b) (c)

Figure 2.21 – Erreur algébrique. a) Dans l’espace dual, l’erreur algébrique est pro- portionnelle à la distance ǫ. b) Les isocontours de l’erreur d’une conique point. c) Les isocontours de l’erreur de la conique duale.

donnée par l’inverse de la matrice 3x3 associé à la conique. Dans l’espace dual, l’erreur est proportionnelle à la distance entre la tangente li et sont pôle xi = C∗li, tandis que

dans l’espace normal, l’erreur est proportionnelle à la distance entre un point xi et son

polar li = Cxi. L’erreur algébrique dans l’espace dual est représentée par ǫi dans la

Fig.2.21(a). Il est important de noter que c’est la tangente qui définit le pôle. Ainsi, pendant l’estimation de la conique duale, le pôle ne correspond pas nécessairement au pixel définissant la tangente. De plus, l’erreur algébrique de la conique duale évolue différemment avec la distance le long du contour. On peut comparer l’évolution de l’erreur pour la conique normale et duale en observant les isocontours des Fig.2.21(b) et Fig.2.21(c). Elle diffère dans les régions de faible et haute courbures. Dans la figure, la courbe plus large marque le contour de l’ellipse. Pour produire la Fig.2.21(c), l’erreur algébrique est calculée pour chaque point en utilisant les tangentes obtenues d’ellipses concentriques.

Dans le cas de la conique point, l’espace entre les isocontours est plus large aux extrémités et à l’intérieur de la conique. Ceci indique que l’erreur croît plus rapidement en s’éloignant du contour extérieur de l’ellipse que de son contour intérieur. De plus, cette croissance est plus rapide aux extrémités où la courbure est forte. L’estimation aura donc tendance à surestimer la taille et l’excentricité de l’ellipse [46]. Dans la Fig.2.21(c), on observe le phénomène opposé. Dans ce cas, la taille et l’excentricité seront sous-estimées, bien que le biais soit non significatif pour une ellipse complète, l’estimation à partir d’un contour partiel amplifie le biais. L’estimation de l’ellipse duale à partir de contours partiels sera particulièrement affectée, car l’opérateur inclut une large bande couvrant la transition du contour de l’ellipse, contrairement à l’ellipse complète. Cette bande couvre symétriquement l’intérieur et l’extérieur du contour. Le biais provient du fait que l’erreur croit plus rapidement à l’extérieur du contour. La Fig.2.22montre trois cas où l’on peut visualiser comment l’estimation de l’ellipse duale se comporte en présence de contours partiels.

(a) (b) (c) (d)

Figure 2.22 – Analyse du biais de l’erreur algébrique. Des ellipses sont estimées à partir de régions couvrant trois pourcentages du contour de l’ellipse, a) 25%, b) 50% et c) 75%. L’estimation est répétée 15 fois pour chaque couverture. d) Les ellipses estimées par la méthode ellipse duale. La couleur de l’ellipse correspond à la couleur de la région d’estimation en (a), (b) ou (c).

continue ("graceful"). L’asymétrie de l’erreur fait en sorte que l’ellipse est fortement biaisée et le résultat ne représente pas le contour partiel. Ce comportement qui semble négatif ici sera exploité avantageusement dans un algorithme de détection de marqueurs artificiels dans les images naturelles, présenté à la section3.2. En présence de contours partiels, il est possible de réduire le biais en utilisant une méthode de renormalisation [50] pour correctement re-pondérer les droites tangentes. Des expériences ont montré que la renormalisation permet d’obtenir des résultats moins biaisés. Toutefois, elle n’est pas étudiée ici, car les ellipses partielles, dont la localisation est moins précise, sont généralement évitées en calibrage.

Biais face aux déformations projectives

Nous avons déjà indiqué que le centre de l’ellipse est un observable indirect. Ainsi, lorsque la caméra observe un cercle, le centre de l’ellipse obtenue ne correspond pas au centre du cercle lorsque l’orientation du plan image n’est pas parallèle au plan où est inscrit le cercle. Ce biais est souvent mal compris et est donc résumé par le schéma de la Fig.2.23(a). Le profil illustré est celui d’un disque noir projeté sur une image. La figure du bas montre l’image obtenue pour les deux orientations de la caméra. La partie importante du schéma est la droite bleue au centre : elle passe par le centre de l’ellipse et le centre de projection de la caméra, mais ne croise pas le centre du disque. Ce biais géométrique, ǫ, est proportionnel à la taille du disque L, la distance zo entre la

caméra et le disque ainsi qu’à l’angle de rotation du disque θ, illustré sur la Fig.2.23(a). L’expression du biais en fonction de ces variables est la suivante :