

Sommaire
Résumé
Le capteur
Le modèle
Le calibrage
La localisation
Les travaux actuels
Les vidéo des résultats expérimentaux

Modélisation, Calibrage et Localisation à l'aide d'un Capteur de Vision Omnidirectionnelle
Afin d'étendre la détection à d'autres
caractéristiques que les droites radiales dans des images omnidirectionnelles,
nous avons choisi d'essayer de comprendre le phénomène de
formation des images issues d'un capteur composé d'une caméra
CCD et d'un miroir conique. Dans ce cadre, j'effectue une thèse
qui porte sur la modélisation et le calibrage de ce capteur. Ce
calibrage nous permet de connaître les paramètres composant
le processus de formation des images omnidirectionnelles. A l'aide du modèle et de ces paramètres,
nous avons programmé un simulateur d'images omnidirectionnelles.
Une étude sur l'utilisation de ces images pour la localisation
et éventuellement la prédiction est en cours de réalisation.
Le capteur
La vision omnidirectionnelle est obtenue en plaçant une caméra CCD noir & blanc sous un miroir de forme conique, comme le montre la figure ci-dessous.

Ce capteur se nomme SYCLOP pour SYstème Conique pour la LOcalisation et la Perception.
L'avantage de ce type de capteur est d'obtenir en une seule acquisition, une image qui couvre un champs de vue de 360°.
Les images ainsi obtenues présentent une caractéristique très intéressante. En effet, si l'axe optique correspond avec l'axe de révolution du cône, les droites parrallèles à ceux-ci se projettent de façon radiale dans l'image. Autrement dit, si on place ce capteur dans un environnement, de façon à ce que la base du cône soit parrallèle au sol, les droites verticales de l'environnement se projetteront en droites radiales dans l'image.
Voici un exemple de ce que l'on peut obtenir :

Le modèle
 |
Le calibrage consiste à déterminer, avec précision, le processus de formation des images. Avant toute chose, nous devons déterminer un modèle pour notre capteur SYCLOP. Ayant des compétences en calibrage de caméra monoculaire classique, nous avons choisi de définir notre modèle autour d'un modèle de caméra sténopé. Ainsi, nous ajoutons à ce modèle le miroir conique. A gauche, vous pouvez voir une représentation géométrique de ceci.
A ce stade, nous devons maintenant définir le modèle mathématique représentant le phénomène. Comme vous pouvez le voir sur la figure de gauche, le modèle va pouvoir se découper en plusieurs étapes :
- Un mouvement rigide entre le repère du monde et le repère du cône,
- La réflexion conique,
- Un mouvement rigide entre le repère du cône et celui de la caméra,
- La projection perspective.
Le modèle de caméra est bien connu. Par contre, la réflexion conique l'est moins. Nous avons donc utilisé la notion de point virtuel. Comme le montre la figure de droite, ponctuellement, nous pouvons considérer que le miroir conique fonctionne comme un miroir plan. Par conséquent, la projection du point P réel par réflexion conique est équivalente au point V (virtuel). Ainsi, nous sommes capable de modéliser la réflexion conique.
|
Ainsi, nous obtenons le modèle mathématique suivant :

Le calibrage
Pour calibrer, nous avons mis au point une mire bien adaptée au capteur dont un schéma est visible sur la droite. Cette mire est composée de quatre plan orthogonaux deux à deux d'une largeur de 20cm chacun. Comme vous pouvez le constatez, chaque plan est recouvert de motif en damier afin de faciliter l'extraction des points de calibrage. En effet, les droites verticales de la mire vont se projeter radialement et les droites horizontales selon des portions d'ellipse. Ainsi, l'extraction de ces motifs sera facilement réalisable et nous obtiendrons un ensemble de points de calibrage relativement important. De plus, afin de déterminer l'orientation de la mire, un repère a été placé sur l'une des quatre faces. La projection de cette mire sur le plan image est montrée ci-dessous.
Pour obtenir l'ensemble des points de calibrage, nous devons donc extraire les coordonnées des coins des motifs dans l'image. Pour cela, nous appliquons un filtrage de Sobel sur l'image, puis une binarisation. Ensuite, à l'aide d'une transformée de Hough, nous effectuons l'extraction des droites radiales. Maintenant, l'image binaire ne comporte plus que la projection des droites horizontales que l'on va extraire en les interpolant par des portions d'éllipses. Il ne nous reste plus qu'a calculer les intersections entre les droites radiales et les portions d'ellipses afin d'obtenir, avec une précision sub-pixellique, les coordonnées image des points de calibrage.
L'image binarisée
 |
L'image binarisée après extraction des droites radiales
 |
Les droites radiales et les portions d'ellipses
 |
L'image de la mire et les points de calibrage
 |
A ce stade, nous disposons donc d'un ensemble de points 3D et leur correspondants 2D dans le plan image. Nous avons donc un système sur-dimensionné que l'on peut résoudre par des méthodes de minimisation. Nous avons choisi d'utiliser la méthode de Levenberg-Marquardt car c'est la méthode la plus fréquemment utilisée dans ce genre de résolution.
La résolution terminée, nous avons donc une estimation des différents paramètres qui composent notre modèle mathématique.
Afin de montrer l'intérêt que présente le calibrage, voici un petit comparatif. Dans cet exemple, nous avons calculé des images synthétiques de la projection de la mire en utilisant le modèle présenté plus haut. Ces images ont été superposée à une image réelle.
Une image synthétique calculée en utilisant les données constructeurs.
 |
La même image synthétique qu'à gauche, mais cette fois ci, nous avons fait coincider les projections de la pointe du cône.
 |
Une image synthétique calculée en utilisant les paramètres estimés lors du calibrage.
 |
Comme vous pouvez le voir sur les trois photos précédentes, le calibrage permet de simuler avec une grande précision le processus de formation des images omnidirectionnelles.
- Tout d'abord, sur la photo de gauche, l'image synthétique a été calculée en utilisant les données constructeurs pour les différents paramètres du modèle. Sur cette image, aucune correspondance n'est constatée.
- Ensuite, sur la photo du centre, l'image synthétique est identique à celle de gauche, mais cette fois-ci, nous avons mis en correspondance les projections de la pointe du cône. Ainsi, comme vous pouvez le constater, les droites radiales correspondent. Autrement dit, la projection des éléments verticaux correspond. C'est cette particularité qui est utilisé dans la majeure partie des applications utilisant ce capteur.
- Enfin, sur la photo de droite, l'image synthétique a été calculée en utilisant les valeurs des paramètres estimées lors d'un calibrage. Sur cette image, non seulement la projection des éléments verticaux correspond, mais toutes les autres projections aussi.
|
Nous pouvons donc en déduire que le modèle définit précédemment représente correctement le phénomène d'acquisition d'une image omnidirectionnelle. Aussi, nous pouvons dire que l'estimation des paramètres du système permet de calculer des images très proche des images réelles (comme le montre le tableau suivant).
| Image réelle |
Image synthétique |
Superposition |
 |
 |
 |
 |
 |
 |
 |
 |
 |
La localisation
Fort de cette précision de projection, nous avons essayé d'effectuer des localisations spatiales du capteur en utilisant le modèle. Jusqu'à maintenant, les localisations faites avec ce capteur utilisaient la propriété essentielle : les amers verticaux de l'environnement se projettent de façon radiale dans l'image. Pour notre part, nous avons voulu utiliser d'autres primitives : des points. En fait, nous avons choisi de localiser en utilisant 12 points 3D et leur projection dans le plan image.
L'environnement de travail (ci-dessous) a pour dimensions (2m par 3m5). Il se compose de 5 bloc d'une hauteur de 1m25 et de différentes largeurs. Chaque bloc est recouvert d'un ensemble de motif permettant un forte détection de contour. Ainsi, nous pensons mettre en correspondance les images bianrisées des images panoramiques.

Une fois le capteur calibré et l'acquisition faite, l'utilisateur clique 12 points bien connus. Ainsi, nous obtenons un ensemble de 12 points 2D et leurs correspondants 3D.
Hors ligne, à l'aide du modèle, nous avons créé une base de projection de ces même douze points avec un pavage tous les centimètres. En utilisant la distance de Hausdorff, nous déterminons quelle est la position (et l'orientation) qui présente la meilleure correspondance possible. Ainsi, nous disposons de valeur d'initialisation pour l'estimation du mouvement rigide entre le repère du monde, et celui du capteur. Avec cette minimisation, nous obtenons une estimation spatiale de la position du capteur dans l'environnement. La figure ci-dessous présente une projection planaire de ces résultats :

Les résultats sont plutôt encourageant. L'orientation est correctement estimée, avec une erreur moyenne inférieure à 0.3°. En position, l'erreur moyenne est de l'ordre du centimètre.
Cette méthode de localisation semble très intéressante, mais elle présente un défaut, elle nécessite l'intervention humaine pour l'extraction des points dans l'image. Par conséquent, nous voulons supprimer cette étape "humaine" dans la phase de localisation. Pour cela, nous travaillons sur la mise au point d'une méthode d'estimation de position à l'aide d'une base d'image panoramique synthétique explicité dans la partie suivante.
Travaux actuels
Avec le modèle mathématique que nous avons défini, après calibrage, nous sommes capable de calculer des projections planaires à partir d'images omnidirectionnelles. Le tableau ci-dessous présente quelques résultats :
| Image omnidirectionnelle |
Projections planaires |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
Pour l'instant, aucun travail n'a encore été éffectué quand à l'utilisation de ces projections planaires.
De la même façon, il est possible de calculer une projection cylindrique de l'image omnidirectionnelle afin d'obtenir des images panoramiques. Voici quelques photos :
Une image omnidirectionnelle

L'image panoramique correspondante
 |
Une image omnidirectionnelle

L'image panoramique correspondante
 |
L'intérêt de telles images est que pour une position donnée, elles sont invariantes en orientation. Ainsi, il est possible de déterminer l'orientation en éffectuant une simple translation horizontale de l'image. Voilà pourquoi la résolution horizontale de l'image est de 1440 pixels. De cette façon, nous obtenons une définition en orientation de 0.25°. La résolution verticale est défini de façon à conserver un ratio correct (pour avoir un aspect visuel cohérent).
Mes travaux actuels portent sur la mise au point d'une méthode de mise en correspondance d'une image panoramique réelle parmis un ensemble d'image panoramique synthétique (voir ci-dessous). Le but est d'arriver à estimer la position du capteur dans son environnement à l'aide d'une base d'images panoramiques synthétiques.
Une image omnidirectionnelle
 |
Une image omnidirectionnelle synthétique aux mêmes position, et orientation
 |
Les images panoramiques correspondantes


|
