720 likes | 895 Views
« Navigation d’un véhicule intelligent à l’aide d’un capteur de vision en lumière structurée et codée ». thèse présentée par David Fofi le 18 septembre 2001. Travaux dirigés par : El Mustapha Mouaddib , Professeur à l’Université de Picardie Jules Verne (France)
E N D
« Navigation d’un véhicule intelligent à l’aide d’un capteur de vision en lumière structurée et codée » thèse présentée par David Fofi le 18 septembre 2001 Travaux dirigés par : El Mustapha Mouaddib, Professeur à l’Université de Picardie Jules Verne (France) Joaquim Salvi, Maître de Conférences à l’Université de Girona (España)
0.sommaire …………………………… 1. introduction générale 2. la vision en lumière structurée 3. segmentation et décodage 4. reconstruction tri-dimensionnelle 5. fonctions visuelles pour la navigation 6. conclusions et perspectives
1.introduction générale Problématique • Comment tirer parti de la vision en lumière structurée pour la perception d’un robot mobile ? • Quels sont les avantages et les inconvénients que l’on peut tirer d’un tel capteur pour la navigation d’un robot ? Points étudiés • Décodage du motif structurant. Segmentation des images codées. • Autocalibration du capteur de vision. • Méthode de détection d’obstacles et de construction d’une carte de l’espace libre. • Méthode d’estimation du déplacement du robot par mise en correspondance des plans qui composent la scène.
2.la vision en lumière structurée …………………………… 2.1 définition 2.2 classification et codage 2.3 applications
2.1 définition Une lumière structurée est une source lumineuse modulée dans l'espace, le temps, l'intensité et/ou la couleur. La vision en lumière structurée consiste à projeter une telle source lumineuse sur l'environnement, lui-même observé par une ou plusieurs caméras CCD ; il s'agit en fait de remplacer, dans un système stéréoscopique classique, une caméra par un projecteur de lumière.
Point de surbrillance : • Pas de problème de mise en correspondance. • Balayage suivant les deux axes. • Multi-plans : • Correspondance entre les plans ? • Pas de balayage. • Plan de lumière : • Correspondance entre points de la ligne projetée ? • Balayage suivant un axe. • Motif structurant : • Problème de mise en correspondance. • Pas de balayage. 2.1 définition
2.2 classification et codage classification 3 critères liés à… • La dépendance temporelle (statique ou dynamique) • La nature de la lumière émise (binaire, niveauxdegris ou couleurs) • La dépendance aux discontinuités (périodique ou absolu) classification proposée par Batlle, Mouaddib et Salvi.
2.2 classification et codage exemples de codage Posdamer et Altschuler • Statique • Binaire • Absolu
2.2 classification et codage exemples de codage Le Moigne et Waxman • Dynamique • Binaire • Absolu
2.2 classification et codage exemples de codage Carrihill et Hummel • Statique • Niveaux de gris • Absolu
2.2 classification et codage exemples de codage Vuylsteke et Oosterlinck • Dynamique • Binaire • Absolu
2.2 classification et codage exemples de codage Boyer et Kak • Dynamique • Couleurs • Périodique
2.2 classification et codage exemples de codage Tajima et Iwakawa • Statique • Couleurs • Absolu
2.2 classification et codage exemples de codage Griffin, Narasimhan et Yee • Dynamique • Couleurs • Absolu
PLAN IMAGE PLAN PROJECTEUR 2.2 classification et codage notre choix
Garcia, Garcia, Obeso et Fernandez Mouaddib, Brassart et Fofi Caméra Projecteur Verre dépoli Laser Profil analysé Caméra linéaire Plaque métallique 2.3 applications métrologie Profilométrie pour des plaques métalliques. Une caméra linéaire observe un point de surbrillance projeté sur la surface de la plaque métallique. Profilométrie pour des plaques de verre. Le verre est illuminé par un motif binaire, la déformation du motif se projette sur du verre dépoli observé par la caméra.
Plan de base Plan de référence Diapositive Plan image Sotoca, Buendia, Iñesta 2.3 applications anthropométrie Mesure des déformations pathologiques du dos. Une grille codée est projetée sur le dos des patients. La calibration consiste à projeter cette grille sur un plan de référence et sur un plan de base. Par des calculs, basés sur la similarité des triangles, une image de profondeur est obtenue à partir des données de l ’image.
Chantier, Clark et Umasuthan Matthies, Balch, Wilcox caméra laser Air Plexiglass Eau ligne de base ligne de base effective caméra rayon laser caméra miroir laser 2.3 applications robotique Robotique sous-marine. Le capteur est enfermé dans un caisson en plexiglass. La ligne de vue est diffractée deux fois. La ligne de base n’est plus constante. Robotique extra-terrestre : Pathfinder. Deux lasers sont diffractés en quinze faisceaux coplanaires et observés par les caméras.
3.segmentation et décodage …………………………… 3.1 éléments de colorimétrie 3.2 segmentation de l’image 3.3 décodage du motif 3.4 résultats expérimentaux
3.1 éléments de colorimétrie qu’est-ce que la couleur ? • La colorimétrie, ou métrique des couleurs, est la science qui permet de chiffrer et mesurer les couleurs. Trois paramètres définissent la couleur : • La teinte • Le degré de pureté (saturation) • Le facteur de clarté (luminance) Le principe de la trivariancevisuelle pose que le mélange de trois radiations indépendantes permet de reproduire toutes les impressions colorées. Les couleurs de base sont appelés couleurs primaires ; celles qui, mélangées aux primaires, donnent du blanc, couleurs secondaires.
3.1 éléments de colorimétrie espace de couleurs Un espace des couleurs est une représentation géométrique des couleurs dans un espace généralement tri-dimensionnel. Un espace à chromaticité constante est un espace au sein duquel les distances représentent approximativement les différences de couleur perçues par l’oeil Loi de Weber-Fechner
Image en Lumière Structurée Couleurs RGB Image en Lumière Structurée Couleurs Lab Image de Chromaticité (a, b) Image de Luminance (L) Traitements Bas-Niveau Segments Horizontaux et Verticaux Décodage du Patron de Lumière Points d'Intersection Image Segmentée et Décodée 3.2 segmentation de l’image schéma général 1. Traitements bas-niveau 2. Points d’intersection 3. Décodage
3.2 segmentation de l’image traitements bas-niveau originale égalisation squelettisation Hough binarisation
3.2 segmentation de l’image points d’intersection Calcul de l’intersection entre horizontales et verticales Si t=0 : droites parallèles Sinon, le point d’intersection est x/t, y/t.
3.3 décodage du motif conversion RVB - Lab RVB XYZ Lab
1… Les classes sont bien discriminées. 2… Elles sont éloignées des mesures théoriques. 3… Elles semblent se rapprocher du point d’achromatisme. 4… Le positionnement relatif des six classes est respecté. 3.3 décodage du motif mesures dans ab • Utiliser un algorithme de coalescence pour partitionner les mesures en six classes. • Utiliser le positionnement relatif des classes pour initialiser l’algorithme.
1… Choisir n centres de classe (n = 6) 2... Créer une nouvelle partition en affectant chaque vecteur au centre de la classe qui est la plus proche (au sens de l’écart chromatique : ) 3… Calculer les centres de gravité des classes ainsi obtenues. 4… Répéter les étapes 2 et 3 jusqu'à stabilisation. 3.3 décodage du motif algorithme de coalescence
3.3 décodage du motif initialisation de l’algorithme 1… Calculer le centre de gravité de tous les points mesurés dans l’espace ab. 2… Extraire le point dont la composante b est la plus élevée (supposé jaune). 3… Calculer l’écart chromatique d entre ces deux points. 4… Initialiser le centre de la classe i :
3.4 résultats expérimentaux segmentation
3.4 résultats expérimentaux segmentation
3.4 résultats expérimentaux segmentation
3.4 résultats expérimentaux analyse quantitative
3.4 résultats expérimentaux décodage
4.reconstruction tri-dimensionnelle …………………………… 4.1 modélisation et calibration 4.2 propriétés du capteur 4.3 auto-calibration du capteur 4.4 résultats expérimentaux
Repère du monde z y x Axe optique Repèreimage (u0, v0) Repère rétinien x z Repère de la caméra y 4.1 modélisation et calibration principe Calibrer, c’est estimer la matrice de passage d’un point 3D exprimé dans le repère du monde à son image exprimée en pixels dans le repère image.
Zw Ow Yw Xw 4.1 modélisation et calibration caméra • Un mouvement rigide • Une projection 3-D / 2-D • Un changement de coordonnées
4.1 modélisation et calibration projecteur Un projecteur de lumière peut être vu comme une caméra opérant à l’envers, en inversant le sens de la ligne de vue. Géométriquement, il n’y a aucunedifférence entre une caméra et un projecteur. L’un et l’autre peuvent donc être modélisés de la même manière. Pour calibrer le projecteur, une solution consiste à relever les coordonnées des traces lumineuses projetées à la surface d’une mire de calibration.
S R Q P 4.2 propriétés du capteur test de colinéarité spatiale Les birapports du motif et de l’image sont égaux si les 4 points sont colinéaires.
o p o' p' s' s r' q' r q 4.2 propriétés du capteur test de coplanarité {o;p,q,r,s}={o';p',q',r'} Les birapports du motif et de l’image sont égaux si les 5 points sont coplanaires.
4.2 propriétés du capteur stabilité du birapport Erreur sur les birapports - bruit de 0 à 0.5d (d est la distance entre 2 points successifs) Nota : pour comparer les birapports, une distance projective est nécessaire. Méthode des birapports aléatoires [K. Aström, L. Morin, "Random cross-ratios", Research Report n°rt 88 imag-14, LIFIA, 1992].
n m n' m' 4.2 propriétés du capteur validité du modèle affine projection affine Valide si 0
4.3 autocalibration du capteur autocalibration : état de l’art • Les équations de Kruppa[Faugeras, Maybank, Luong, Hartley] • Stratification des géométries : • - paramètres intrinsèques constants [Hartley, Heyden, Aström] • - contraintes Euclidiennes [Boufama, Mohr, Veillon]
MOUVEMENT DU PROJECTEUR CAMERA + PROJECTEUR LE MOTIF GLISSE SUR LES OBJETS CAPTEUR HETEROGENE + MOUVEMENT DES POINTS 3D LES PARAMETRES INTRINSEQUES NE PEUVENT ETRE CONSTANTS RECONSTRUCTION A PARTIR D’UNE VUE ET D’UNE PROJECTION = 4.3 autocalibration du capteur autocalibration : état de l’art Reconstruction projective + contraintes Euclidiennes
4.3 autocalibration du capteur reconstruction projective n images composées de m points... mij : point image Pj : matrice de projection Mj : point objet (Uij, Vij) : coord. pixels
4.3 autocalibration du capteur reconstruction projective Une solution unique ne peut pas être calculée puisque... W matrice 4x4 inversible : une colinéation de l’espace 3-D 4x4 - 1 (échelle) = 15 degrés de libertés, donc... 5 points objets sont choisis comme base projective. On leur affecte les coordonnées de la base canonique. RECONSTRUCTION PROJECTIVE (distances, angles et parallelisme ne sont pas conservés)
4.3 autocalibration du capteur contraintes euclidiennes Les transformations Euclidiennes forment un sous-groupe des transformations projectives : Il existe une colinéationW qui redresse la reconstruction projective en reconstruction Euclidienne TRADUIRE DES CONNAISSANCES EUCLIDIENNES SUR LES POINTS 3-D EN CONTRAINTES SUR LES ELEMENTS DE W. Apparier 5 points « projectifs » avec leur correspondant « Euclidiens » ?OUI, MAIS ... Les coordonnées Euclidiennes des points sont rarement disponibles… … s’ils le sont : les points d’intersection du motif doivent se projeter précisément sur les points connus.
A B D C SUR UNE SURFACE PLANE IMAGE OBTENUE CARRE PROJETE 4.3 autocalibration du capteur contraintes du parallélogramme On prend l’hypothèse que le capteur a un comportement affine.
Plan vert. Motif Plan horiz. 4.3 autocalibration du capteur contraintes d’alignement • Distance arbitraire entre 2 plans de même orientation. • Points appartenant à des plans verticaux ou horizontaux. • Un point d’intersection choisi comme origine.
C' Traces lumineuses Plans de lumière B' Surfaces planes A' C A B Lignes projetées 4.3 autocalibration du capteur contraintes d’orthogonalité A'B' ·A'C' = (xA' - xB')(xA' - xC')+ (yA' - yB')(yA' - yC')+ (zA' - zB')(zA' -zC') = 0 Si la condition n ’est pas vérifiée… Contrainte d’orthogonalité réduite : (xA' - xB')(xA' - xC')+ (yA' - yB')(yA' - yC') = 0
4.3 autocalibration du capteur exemple Une contrainte d’alignement : xA' = xB' (relation entre 2 points Euclidiens inconnus) On a : [xA' ; yA' ; zA' ; tA']T = W· [xA ; yA ; zA ; tA]T[xB' ; yB' ; zB' ; tB']T = W· [xB ; yB ; zB ; tB]T Alors : W1i·xA = W1i·xB(relation entre 2 points projectifs connus) Le système d’équations est résolu par Levenberg-Marquardt. 15 contraintes indépendantes sont nécessaires (W est définie à un facteur d’échelle près)