VISION HUMAINE
La vision humaine est décrite tout simplement par la perception de l’organe de vue. Les images qui se forment sur la rétine humaine proviennent d’un monde tridimensionnel, mais celles-ci sont réduites à deux dimensions, supprimant la profondeur. Malgré cela, le cerveau est capable de reconstruire cette troisième dimension à partir de la vision stéréoscopique. Les images gauche et droite du même objet, captées en même temps par les deux rétines, sont acheminées au cortex visuel par les nerfs optiques qui se croisent dans le chiasma optique, ce qui fait qu’elles sont présentes dans des cellules voisines du cortex visuel [cf. annexe1]. Cette double information permet, par des mécanismes complexes faisant intervenir d’autres zones du cerveau, la perception de l’angle entre l’information visuelle captée par des photorécepteurs d’un œil et ses homologues de l’autre œil permettant de percevoir les reliefs et la distance. Les deux yeux fournissent au cerveau deux images non superposables, du fait de l’écartement inter-pupillaire [cf. annexe1], mais dans la plupart des cas, quand le cerveau fonctionne correctement, hors de l’emprise de l’alcool par exemple, il restitue une seule image : celle de l’œil directeur. Une seule image, certes mais avec une valeur ajoutée : le relief de la scène observée. Cette perception de la profondeur est à différencier de l’analyse rationnelle de la scène, qui fournit, elle aussi, des renseignements sur la profondeur : étude des parties cachées, connaissance à priori de la taille des objets observés, comparaisons de leur diamètre apparent.
Traitement de bas niveau
Filtrage La première étape d’un algorithme de traitement d’image consiste à appliquer un certain nombre de filtres [cf. annexe2] sur celle-ci. Ces filtres peuvent faciliter les traitements (utilisation de filtres gaussiens passe-bas avant un calcul de flux optique par exemple) ou directement mettre en évidence les parties de l’image intéressantes pour une application donnée (filtre de texture permettant de segmenter le sol dans l’image par exemple). Il est possible également d’utiliser plusieurs filtres séquentiellement.
Extraction d’information Cette deuxième étape a pour but d’extraire de l’image les informations nécessaires pour l’application choisie. Le but est de réduire la grande quantité de données que représente une image en un petit ensemble d’informations plus facilement exploitables. Ces informations sont généralement représentées par quelques valeurs scalaires. Les primitives utilisées pour cette étape d’extraction d’information peuvent se concentrer sur des portions réduites de l’image (extracteurs de coins ou de bords) ou sur des zones plus importantes (calcul de moyenne sur une partie de l’image). [7]
METHODES GLOBALES
Les méthodes globales utilisent des contraintes non-locales afin d’augmenter la robustesse dans les régions locales de l’image, où l’appariement échoue dans des zones de texture uniforme, ou à cause des occlusions et des défauts d’illumination. Par contre l’inconvénient majeur de ces méthodes est la plus grande complexité des calculs. Ces méthodes sont représentées sous forme de problème d’optimisation, cherchant à assigner les disparités qui minimisent une fonction de coût global. [7] Appartiennent à ce groupe les méthodes de :
Programmation dynamique La programmation dynamique est une méthode assez générale pour résoudre des problèmes d’optimisation non-linéaire avec contraintes, quand les variables ne sont pas toutes interdépendantes. Un tel problème peut être décomposé en une séquence de sous-problèmes d’optimisation avec une seule variable, ou de façon plus générale avec un sous-ensemble de variables. La programmation dynamique est équivalente à la recherche d’un chemin optimal dans un graphe, par la minimisation d’une fonction de coût.
Flot de graphe (Graph-cut) Le but de cette méthode est de trouver la coupure d’un graphe qui possède un coût minimum parmi toutes les coupures possibles, en minimisant une fonction d’énergie. Les terminaux du graphe représentent les disparités pouvant être associées à un pixel de l’image, et les différents nœuds correspondent aux pixels de l’image. Pour définir la fonction d’énergie, une fonction de coût basée sur un critère de photo-consistance est introduite (mesure sur la similarité de l’intensité des pixels), appelée le terme des données (data term). Un second terme, appelé terme d’homogénéité ou d’uniformité spatiale (smoothness term), pénalise les discontinuités entre pixels voisins. Cette méthode permet donc d’obtenir une carte de disparités avec des zones homogènes tout en préservant les contours. Le défaut majeur de cette méthode est d’aplatir les objets.
Optimisation ligne par ligne Cette méthode globale d’optimisation n’utilise que les termes horizontaux de lissage (smoothness terms), en résolvant le même problème d’optimisation que l’algorithme de graphcut (sauf que les termes verticaux de lissage sont donc ignorés).
Relaxation C’est un algorithme itératif et localement parallèle, qui améliore une solution en minimisant localement l’énergie. L’implémentation de ce genre de méthode est simple, mais la vitesse de convergence est lente.
CONCLUSION GENERALE
Pour conclure, l’utilisation de la vision est tellement naturelle et simple pour l’homme qu’il est difficile d’appréhender la complexité des traitements réellement effectués pour acquérir et interpréter cette information, ce qui fait l’objet d’étude de la vision artificielle. Cette dernière développe alors des bases algorithmiques et théoriques grâce auxquelles l’information utile relative à l’environnement peut être automatiquement extraite et analysée à partir d’une image ou d’une séquence d’images. D’après l’étude, la stéréovision pose deux problèmes fondamentaux fortement liés: l’identification des points homologues et la calibration du système de prise de vue. Savoir comment se projettent les points de la scène sur l’image s’avère une étape difficile. Pourtant l’obtention des coordonnées des points dans l’espace est quasiment immédiate si les paramètres de la calibration sont connus. Alors il ne reste plus qu’à résoudre les équations de triangulation pour déduire la profondeur ou la distance en temps réel dans l’espace. Les théories sont ensuite appliquées dans la conception d’un système de vision stéréoscopique. Puis un robot mobile est conçu et couplé avec ce système pour lui permettre de mesurer la profondeur dans son champ de vision et ainsi de détecter les obstacles et de se naviguer dans son environnement. Ceci a permis la validation des résultats précédents. Ainsi, c’est prouvé qu’un robot ou un système informatique peut se doter des mêmes capacités de vision d’un être humain. Enfin, cette mémoire ouvre de nombreuses perspectives. Par exemple en ajoutant d’autres capteurs comme l’ultrason ou laser au robot pour avoir des résultats plus précis et aussi d’ajouter des cellules solaires pour lui donner plus d’autonomie. Une autre possibilité serait d’équiper des engins mobiles plus grands qui nécessitent son propre système de vision, par exemple une voiture qui serait intelligente ou même autonome. Cette mémoire est consacrée spécialement dans la vision robotique mais la stéréovision peut être appliquée dans beaucoup plus de domaines. Les captures de mouvement pour l’industrie des jeux vidéo et des cinémas 3D, l’imagerie satellites et la topographie en sont des exemples.
|
Table des matières
INTRODUCTION GENERALE
CHAPITRE I GENERALITES SUR LA VISION ET L’IMAGE
1.1 PRINCIPE DE LA VISION
1.1.1 VISION HUMAINE
1.1.2 VISION PAR ORDINATEUR
1.2 PRINCIPE D’ANALYSE D’IMAGE
1.2.1 NOTION DE BASE
1.2.2 DIFFERENTES PHASES DE L’ANALYSE
1.2.3 NIVEAU DE COMPLEXITE DE L’ANALYSE
1.2.4 CONTRAINTES
CHAPITRE II THEORIES SUR LA STEREOVISION
2.1 LE STEREO-CALIBRAGE
2.2 LA RECTIFICATION EPIPOLAIRE
2.3 APPARIEMENT OU MISE EN CORRESPONDANCE
2.3.1 METHODES LOCALES
2.3.2 METHODES GLOBALES
2.4 LA TRIANGULATION
2.4.1 GEOMETRIE POUR LES CAMERAS PARALLELES
2.4.2 GEOMETRIE POUR LES CAMERAS NON PARALLELES
2.4.3 CAS GENERAL
CHAPITRE III REALISATION DU ROBOT EQUIPE DE LA STEREOVISION
3.1 CONCEPTION DU ROBOT
3.1.1 PRESENTATION DU ROBOT
3.1.2 ELECTRONIQUES
3.2 CONCEPTION DU CAPTEUR
3.2.1 CHOIX DES CAMERAS
3.2.2 ASSEMBLAGE DU CAPTEUR
3.2.3 CALIBRAGE ET RECTIFICATION DU CAPTEUR
3.3 DETECTEUR D’OBSTACLE PAR STEREOVISION
3.3.1 CALCUL DE LA CARTE DE DISPARITE
3.3.2 CALCUL DE LA CARTE DE PROFONDEUR
3.3.3 SEGMENTATION DES OBSTACLES
CONCLUSION GENERALE
Télécharger le rapport complet