RFIA 008 Une approche de SLAM visuel direct A direct visual SLAM approach Geraldo Silveira, Ezio Malis Patrick Rives INRIA Sophia-Antipolis 004 Route des Lucioles, BP 93 0690 Sophia-Antipolis Cedex, France Prénom.Nom@inria.fr CenPRA Division DRVC Rod. Dom Pedro I, km 43,6, Amarais CEP 3069-90, Campinas/SP, Brazil Geraldo.Silveira@cenpra.gov.br Résumé Nous proposons une méthode efficace pour calculer le déplacement de la caméra et la structure de la scène directement à partir des valeurs d intensités des pixels. Le fait d utiliser tout l information contenue dans l image augmente la précision et évite les problèmes liés aux procédures d extraction de primitives géométriques. Le système est automatiquement initialisé à partir de la première image sans aucune hypothèse sur la structure de la scène ni sur le mouvement de la caméra. Les paramètres de mouvement et de la structure sont simultanément estimés par une technique d optimisation efficace du deuxième ordre pour un traitement des données plus rapide et permettant d éviter des minimum locaux non significatifs. Ainsi, la méthode autorise des grands déplacements dans l image. En outre, la méthode proposée est robuste aux variations des conditions d éclairement. Par ailleurs, la rigidité de la scène et le fait qu elle soit située face à la caméra sont imposés en tant que contraintes dans l optimisation. Tous ces facteurs contribuent à obtenir des résultats précis de SLAM visuel. L approche proposée est validée sur des données expérimentales et simulées. Mots Clef SLAM basée vision, structure à partir du mouvement, méthodes directes. Abstract We propose an efficient method that simultaneously computes the camera displacement and the scene structure directly from the image intensities. That is, without any feature extraction procedure. Hence, much more information is exploited and there is no noise introduction. The system is automatically initialized from the first image without any assumptions neither about the scene nor the incremental camera motion. Motion and structure parameters are simultaneously estimated by an efficient second-order optimization technique for faster processing and avoidance of irrelevant local minima. Thus, the method can cope with large inter-frame displacements. In addition, the proposed method is robust to arbitrary illumination variations. Moreover, the rigidity and visibility constraints on the structure are enforced. All those factors significantly contribute to achieve accurate visual SLAM results. The proposed approach is validated on experimental and simulated data. Keywords vision-based SLAM, Structure from Motion, direct methods. Introduction Le SLAM visuel consiste à estimer simultanément le mouvement d une caméra et l environnement dans lequel elle se déplace. Dans la communauté de vision par ordinateur ce problème est également connu sous le nom de Structure and Motion ]. Cette tâche est traditionnellement divisée en trois étapes principales. D abord, des primitives géométriques sont extraites de l image, par exemple grace à un détecteur d Harris ou des points SIFT, puis suivies (ou appariées) entre les images successives de la séquence. Une fois ce problème d association de données réalisé, seule les coordonnées des points retenus sont utilisées dans traitements ultérieures. Cependant, cette association n est jamais parfaite et les mesures aberrantes (outliers) sont rejetés dans une deuxième étape en utilisant une technique robuste (par exemple, RANSAC). L objectif est de trouver un ensemble de points cohérent qui va permettre d estimer un tenseur approprié qui contient le déplacement de la caméra 55
Recueil des Articles (la matrice Essentielle, le tenseur Trifocal, etc.). Une fois le déplacement estimé à partir du tenseur, on peut reconstruire la structure de la scène à une facteur d échelle près. Le lecteur peut se référer, par exemple, aux techniques proposées dans, 3] parmi beaucoup d autres. Dans ce travail, nous nous écartons de cette méthodologie et nous proposons une nouvelle approche de SLAM monoculaire. La méthode proposée calcule simultanément la pose de la caméra et la structure de la scène directement à partir des valeurs d intensités des pixels. De cette façon, au lieu de se limiter à l information portée par des primitives géométriques particulières, il est possible d exploiter toute l information disponible dans l image. La méthode optimise itérativement les paramètres du mouvement et de la structure afin de recaler une image de référence préalablement choisie avec l image courante. La fonction de coût est basée sur la différence pixel à pixel de l intensité entre les deux images. En plus des paramètres de structure et de mouvement, des paramètres photométriques sont également considérés dans la procédure d optimisation. Ceci permet au système de fonctionner en présence de changements d illumination. Une hypothèse de mouvement global unique est également supposée pendant la minimisation imposant une contrainte de rigidité de la scène. Cette contrainte a pour effet d améliorer la précision et d apporter une robustesse intrinsèque vis à vis des mesures abbérantes. La technique proposée est également différente des méthodes directes existantes en plusieurs d autres aspects. La stratégie proposée dans 4], plus sensible aux changement d illumination, ne considère pas le couplage fort entre mouvement et structure qui sont estimés séparément. La méthode 5], bien qu elle propose un cadre unifié, s appuie sur les linéarités du gradient d image, ce qui, en pratique, limite son application à des mouvements très lents de la caméra. L approche unifiée proposée ici utilise une procédure de minimisation du second ordre efficace qui permet d obtenir des taux de convergence plus élevés et de plus grands domaines de convergence. En outre, une paramétrisation appropriée de la structure est proposée dans ce travail pour imposer, pendant l optimisation, le fait qu elle soit située face à la caméra (the cheirality constraint). Par rapport à la paramétrisation du suivi visuel par l algèbre de Lie, a pour effet d améliorer la stabilité, la précision et le taux de convergence de l algorithme, ainsi qu une représentation de la scène planaire par morceaux 6]. Pour cette raison, nous supposons que n importe quelle surface régulière peut être localement approximée par un ensemble de morceaux de plan. Pour respecter la contrainte de temps réel, un choix approprié d un sous-ensemble de régions est effectué. L autre contribution de ce travail porte sur l initialisation du SLAM visuel. Ce problème d initialisation ne peut pas être négligé puisque, au début de la tâche, n importe quelle scène peut être vue comme composée par un seul plan : le plan à l infini, 7]. La structure de la scène apparaît seulement quand le déplacement de la caméra devient suffisamment grand par rapport aux profondeurs de la scène. Pour pallier ce mauvais conditionnement, quelques travaux e.g. 4], s appuie sur une connaissance a priori de certains éléments de la scène. D autres, comme par exemple dans 8], proposent de retrouver la matrice Essentielle et de la décomposer. Cependant, dans le cas de scène planaire sa décomposition fournit un vecteur incorrect pour la translation. Dans cet article, nous proposons une nouvelle solution pour initialiser le SLAM visuel dans le cas d un environnement inconnu ni supposé non-planaire. Des résultats de simulation et expérimentaux sont présentés illustrant les performances de l approches dan le cas de grands mouvements de la caméra et de variations d éclairement. L approche basée sur le suivi d images de référence sur une longue période permet d éviter l accumulation des dérives propres aux méthodes d odométrie visuelle. Préliminaires. Notations Considérons une image I prise en observant une scène rigide. Après le déplacement de la caméra par une rotation R SO(3) et une translation t R 3, une autre image I de la même scène est acquise. Les déplacements peuvent classiquement être représentés par une matrice de transformation homogène T SE(3). Soit p P le vecteur contenant les coordonnées d un pixel et I(p) la valeur d intensité de ce pixel. Nous utiliserons également les notations habituelles v, ṽ, v, v pour représenter respectivement une estimée, une valeur incrémentale, une version augmentée et modifiée de v. L opérateur gradient par rapport à la variable v est représenté ici par v ( ), tandis que {v i } n i= correspond à l ensemble {v, v,..., v n }. Enfin, (Q ) = (Q ) est abrégé par Q, et 0 désigne une matrice nulle de dimension appropriée.. L algèbre de Lie et le group de Lie SE(3) Soit A i, i =,,..., 6, les bases canoniques de l algèbre de Lie se(3) 9]. N importe quelle matrice A se(3) peut être écrite comme une combination linéaire des A i : A(x) = 6 x i A i se(3), () i= où x = x, x,..., x 6 ] R 6, et x i est le i-ème élément. L algèbre de Lie se(3) est reliée à son groupe de Lie SE(3) via la transformation exponentielle exp : se(3) SE(3); A(x) e (A(x)). () Cette transformation () est régulière et bijective, avec une inverse aussi régulière, dans un très grand voisinage de l origine de se(3) et de l élément identité de SE(3). Les avantages de cette paramétrisation seront présentées lors de son application dans les Sous-section.3 et 3.4. 56
RFIA 008.3 Suivi visuel paramétré dans SE(3) Considérons qu une région planaire appropriée R a été définie dans l image de référence I (voir Section 3.). Les coordonnées de p définies dans R I sont liées aux coordonnées de p dans l image courante I par une homographie projective G SL(3). Cette propriété nous permet de définir une fonction de déformation sur les coordonnées des pixels w( ; G) : P P ; p p = w(p ; G). (3) Soit K la matrice (3 3) triangulaire supérieure des paramètres intrinsèques de la caméra. Étant donnée K, alors G peut être écrite comme G(T, n ) = K R + t n 3 + t R n K, (4) où n R 3 désigne le vecteur normal du plan divisé par sa distance au repère de référence. Pour simplicité, supposons pour l instant que ce vecteur normal est connu (dans la Section 3.3 nous montrerons comment le problème peut être résolu si le vecteur normal est inconnu). Le problème du suivi visuel direct géométrique dans SE(3) peut être formulé comme la recherche de la matrice optimale T qui transforme tous les pixels dans la région R de telle façon que leurs intensités correspondent à celles dans I. Pour cela, une procédure non linéaire de minimisation doit être utilisée puisque l intensité I(p) est, en général, non linéaire par rapport à p. Une technique classique pour résoudre ce problème consiste à calculer un développement de Taylor au premier ordre de la fonction de coût, permettant ainsi de se ramener à un problème aux moindres carrés linéaire. La solution obtenue n étant qu une approximation de la vrai solution, on met donc à jour itérativement l estimation initiale jusqu à la convergence. Par conséquent, soit une estimation T de T, l incrément optimal T = T( x) sera trouvé en résolvant : min ex R 6 p i R I w p i ; G TT( x) I (p i )]. (5) La mise à jour de la transformation sera effectuée au cours des itérations par : T TT( x) = T e (A(ex)), (6) en utilisant (). Remarquons que le T résultant (6) appartient toujours au groupe et aucune approximation n est effectuée, ce qui a pour effet d améliorer la stabilité et la précision des résultats. Lorsque le déplacement est inférieur à un certain seuil, i.e. x < ɛ, on peut considérer qu on a obtenu l estimation optimale. Cette estimation peut être utilisée pour initialiser la procédure lorsqu une nouvelle image est disponible. 3 L approche directe pour le SLAM visuel Cette section présente une approche unifiée de SLAM visuel intégrant à la fois les modèles géométriques et photométriques. Dans cette section, nous montrerons comment initialiser et obtenir efficacement les paramètres globaux et locaux optimaux liés à ces modèles. 3. Sélection des régions Pour satisfaire les aspects temps réel, plutôt que de traiter toute l image, nous sélectionnerons un ensemble de régions sur la base d un score. Pour un bon conditionnement des méthodes directes, les hauts scores doivent refléter un fort gradient d image selon différentes directions. Soit la région R une matrice de taille w w dont la taille peut être vue comme un compromis entre robustesse et précision et qui désigne la région que l on souhaite suivre dans l image. Soit G l image des gradients définie à partir de I, alors une image possible de scores S peut être obtenue comme une somme de tous les valeurs de G dans un bloc w w centré à chaque pixel. Cette opération peut être réalisée de façon efficace par une convolution avec un masque K w composé de : S = G K w, (7) Un deuxième critère à ajouter à (7), pondéré différemment, est basé sur la quantité d extrêma locaux de G dans chaque bloc. Ceci empêche d assigner de hauts scores sur des pics isolés. Le S résultant contient les scores qui sont donc ordonnés, sans qu aucun seuil absolu n ait été fixé. 3. Robustesse aux variations d illumination Une question inhérente à toutes les méthodes basées vision est sa robustesse aux changements d éclairage. Dans ce travail, nous utilisons une implémentation du modèle de changements d illumination générique proposé dans 0], qui ne nécessite ni les caractéristiques des sources lumineuses (e.g. leur nombre, puissance, ou pose), ni la connaissance des propriétés de réflectivité de la surface (qui peut être non-lambertienne). Une variation d illumination dans une région R est donc modélisée par deux termes α, β R : I i(α, β) = α I w p i ; G(T) + β, p i R. (8) Dû au fait que (8) comporte des paramètres locaux (un α par region) et global (β), ce modèle peut être interprété comme un moyen de régler le contraste d une région particulière et la luminosité de l image entière. Cette régularisation du modèle présenté dans 0] s est avéré un bon compromis entre l erreur de modélisation et la complexité de calcul (un Jacobien creux, comme montré dans la Soussection 3.5). En utilisant une procédure itérative avec une mise à jour des paramètres d illumination tels que : { α α + α β β + β, (9) 57
Recueil des Articles on peut définir l intensité d un pixel géométriquement transformée et le changement d éclairage compensée comme étant I i = ( α + α) I w p i ; G TT( x) + β + β. (0) Par conséquent, en incorporant (0), le suivi visuel basée modèle (5) devient I i I (p i ) ]. () min ex R 6 eα, e β R p i R Notons que le modèle utilisé de variation d éclairage (8) est différent de ceux présentés généralement dans la littérature. Par exemple, le modèle utilisé dans 5], bien qu affine, utilise deux paramètres locaux pour chaque région. En ne considérant pas la contribution globale explicitement, qui représente la variation de la luminosité ambiante et le changement du gain de la caméra, une estimation de beaucoup plus de paramètres est nécessaire. Ceci peut dégrader la performance de calcul et, pire encore, peut mener à des problèmes de convergence. Dans notre cas (8), on utilise un modèle affine par morceaux. Deuxièmement, les paramètres liés à notre modèle sont obtenus en exécutant une approximation de second ordre efficace de la fonction de coût. Par conséquent, des bonnes propriétés de convergence sont obtenues (voir Section 3.4). En outre, certaines approches modifient la référence R pour pallier des changements importants d aspect dans l image courante I. Dans notre approche, nous proposons plutôt d introduire également l image précèdent (k ) déformée dont on a compensé l illumination dans le problème d optimisation. Ainsi, nous transformons () en min ex R 6 eα, e β R + p i R { I i I (p i ) ] + I i α (k ) I w p i ; G T (k ) + β (k )] }. () L application de cette dernière modification est facultative (puisqu elle augmente le nombre d équations à résoudre) et dépend de la complexité du scénario. 3.3 Le système complet Le modèle métrique de la scène n étant pas connu a priori, les paramètres de la structure doivent être aussi inclus comme variables d optimisation. Pour cela, nous proposons d effectuer une paramétrisation de n R 3 en utilisant la profondeur z i > 0 de n importe quels 3 points p i appartenant à R (e.g. les coins) de la façon suivante. Définissions d abord le vecteur z z, z, z 3 ]. (3) La relation entre les deux paramétrisations est alors donnée par : n = K p p p 3 ] z M z, M R 3 3, (4) à partir des équations de la projection perspective des points 3D coplanaires. Les profondeurs devant être scalaires strictement positives, nous les paramétrons par z = z(y) = e y, y R 3. Leur mise à jour se fera par le processus itératif suivant : ẑ ẑ z(ỹ) = ẑ e ey = diag(ẑ) e ey, (5) où désigne une multiplication élément par élément. Donc, en utilisant cette paramétrisation n = n (z(y)) (6) nous imposons, durant la procédure d optimisation, le fait que la scène est située face à la caméra. Ainsi, l intensité d un pixel géométriquement transformée et la compensation d éclairage décrite dans (0) devient I i = ( α+ α) I w p i ; G TT( x), n (ẑ z(ỹ)) + β+ β. De façon à inclure cette dernière modification pour toutes les régions R j, j =,,..., n, Eq. () se transforme en min θ R 7+4n I ij α (k ) j j p ij R j { ] I ij I (p ij) + } {{ } d ij I w p ij; G T (k ), n (k ) j +β (k ) } {{ } d ij ] }, (7) où θ = x, β, { α j, ỹ j } n j=]. Notons que dans ce cas les régions ne sont pas suivies indépendamment. En fait, la contrainte de rigidité de la scène est explicitement imposée car toutes les régions partagent les mêmes paramètres de mouvement. Ainsi, notre système peut alors être réécrit comme la recherche de la valeur optimale θ = arg min θ R 6+4n d(θ) telle que le vecteur de différence d intensités d(θ) = (8) {d i} i,..., {d in} i, {d i} i,..., {d in} i ], (9) dont les éléments sont définis dans (7), est minimisé. Dans la prochaine sous-section, un algorithme efficace en temps de calcul pour résoudre ce problème est présenté. Dans la pratique, les régions ne satisfaisant pas les modèles (e.g. celles qui ont des mouvements indépendants) doivent être détectées et rejetées par l algorithme. Pour celà, deux métriques sont employées pour évaluer la j-ième imagette : une mesure photométrique ainsi qu une géométrique. La première est ici définie comme RMS j card(r j ) p ij R j d ij + d ij, (0) 58
RFIA 008 où card( ) désigne la cardinalité de l ensemble. Observons que la variation de l illumination a déjà été compensée dans cette mesure. Une mesure géométrique naturelle est le rapport entre la taille de la région courante et de celle précédemment déformée. C est-à-dire, si une région se contracte ou se dilate de manière significative dans au moins une direction, ceci peut signifier que le contenu est insuffisant pour contraindre tous les paramètres (et la région peut être ainsi rejetée). 3.4 La procédure d optimisation Cette sous-section étend la méthode de minimisation de deuxième ordre efficace proposée dans ] pour résoudre la problème (8). Ainsi, on peut montrer que, en négligeant le résidu de troisième degré, une approximation au deuxième ordre efficace de d(θ) autour de θ = 0 est donnée par d(θ) = d(0) + J(0) + J(θ) θ. () Les Jacobiens peuvent être obtenus dans ], où la procédure a été utilisée pour résoudre le problème (5). Dans notre cas, le Jacobien courant J(0) pour la j-ième région est construit à partir des Jacobiens élémentaires par rapport aux paramètres du mouvement, aux changements d illumination, et de la structure : J(0) = J x (0), J αβ (0), J z (0) ], () où J x (0) = α J I J w J K J bt J X (0) J αβ (0) = bβ I, bα I ] =, I ] J z (0) = α J I J w J K J bn M z, en appliquant la règle de dérivation chaînée. De la même façon, le Jacobien J(θ) est décomposé en : où J(θ) = J x (θ), J αβ (θ), J z (θ) ], (3) J x (θ) = α J I J w J K J T J X (θ) J αβ (θ) =, I ] J z (θ) = α J I J w J K J n M z. En appliquant une condition nécessaire pour que θ = θ soit un extremum de (8), on obtient θ d(θ) d(θ) θ=θ = θ d(θ) θ=θ d(θ ) = 0. (4) Étant donné que J(θ) θ=θ est de rang plein (voir Soussection 3.5) et en utilisant () autour de θ = θ, Eq. (4) fournie J(0) + J(θ ) θ = d(0). (5) Ce n est pas un système linéaire en θ du fait de la présence de J(θ ). Cependant, en raison de la paramétrisation appropriée du suivi (voir Section.3), la propriété d invariance à gauche des champs vectoriels sur SE(3) est vérifiée 9]. Donc, J X (θ ) θ = J X (0) θ. (6) De plus, étant donné que J T J bt et J n J bn, on peut écrire le côté gauche de (5) comme J θ α (J I +J I )J x,, (I+I ) ] ], α (J I +J I )J z θ, (7) où J x = J w J K J bt J X (0) et J z = J w J K J bn M z. Puis, en concaténant convenablement chaque J j = J donné en (7), afin de prendre en compte toutes les régions j =,,..., n (voir Sous-section 3.5) ainsi que tous les Jacobiens associés à {d j }n j=, on obtient le système linéaire rectangulaire suivant : J θ = d(0), (8) dont la solution θ met à jour itérativement les paramètres selon (6), (9) et (5) jusqu à ce qu ils deviennent arbitrairement petits ou que le coût soit arbitrairement proche de la stabilité au cours des itérations. Cette procédure de minimisation du deuxième ordre est efficace en temps de calcul car elle n utilise que les dérivés du premier ordre. En d autres termes, contrairement à d autres techniques de second ordre (e.g. Gauss-Newton), les Hessiens ne sont jamais calculés explicitement. Ceci contribue à l obtention des bonnes propriétés de convergence. 3.5 L initialisation du système Dans cette sous-section, une nouvelle méthode pour initialiser le SLAM visuel est présentée. La technique consiste à exploiter les Jacobiens de l algorithme de minimisation proposé. Ainsi, considérons tout d abord une réécriture du Jacobien J défini dans (7) comme J = J x, J αβ, J ] z. (9) Puis, soit l expansion du Jacobien augmenté J dans (8) : J J x J α 0 0 J z 0 0 =... 0... 0 0.. 0 J xn 0 0 J αn 0 0 J zn (30) = J x, J αβ, J ] z. (3) Au début de la tâche, la translation peut être faible relativement à la distance à la scène entrainant un mauvais conditionnement du Jacobien augmenté de la structure J z. Celà signifie que les paramètres de la structure ne sont pas encore pleinement observables. Dans ce cas de figure, obtenue au sens du moindre carré en résolvant les équations J J θ = J d(0). 59
Recueil des Articles FIG. Haut : quelques images de la séquence Pyramide superposées avec les régions suivies (en rouge) en employant l approche proposée. A noter les changements significatifs d illumination. Bas : la pose et la structure sont incrémentalement reconstruites. A l initialisation, la scène entière correspond au plan à l infini. les paramètres de mouvement ainsi que d illumination à eux seuls peuvent expliquer la plupart des différences entre l image de référence et l image courante. Ainsi, l ensemble d équations linéaires (8) est initialement changé en : J x, J αβ] x, β, { α j } n j=] = d(0), (3) dont la solution x, β, { α j } n j=] est également obtenue au sens du moindre carré, puis est itérativement mise à jour en utilisant (6) et (9). Les paramètres de structure seront intégrés dans le processus d optimisation, c.-à-d. en résolvant (8), seulement si la différence entre la valeur de coût résultante en employant (3) et la résultante de l optimisation précédente (d image) excède le bruit d image. Cette paramétrisation adaptée présente beaucoup d avantages. D abord, en ne prenant pas en compte les paramètres inobservables dans le processus, l estimation de la pose n est pas indirectement perturbée. En second lieu, il n y a aucune initialisation différée : tous les imagettes sont toujours directement exploitées pour calculer le mouvement. De plus, une fois les paramètres optimaux de la structure pour un ensemble donné de régions obtenus, il n y a plus aucune raison de les maintenir dans l optimisation (bien qu ils soient repris en compte toutes les fois que cette différence est excédée). Sans compter que leurs valeurs peuvent être perturbées, e.g. si la résolution d image est réduite, moins de paramètres à estimer signifie plus de puissance disponibles. Dans ce cas particulier, un autre ensemble de régions peut alors être choisi. Un filtre de Kalman dont la taille est variable (permettant ainsi de prendre en compte l apparition et la disparition des régions au cours du déplacement) a été utilisé fournissant une prédiction des paramètres pour la prochaine image, et des covariances. 4 Résultats Afin de valider l algorithme et d évaluer ses performances, nous l avons testé avec des scènes simulées et réelles. Nous rapportons ici une exemple pour chaque scénario. Dans tous les cas, les conditions initiales triviales ont été employées : T 0 = I 4, α j0 =, β j0 = 0, n j0 = 0, 0, ], j =,,..., n. Nous remarquons que aucun ajustement de faisceaux n est effectué, ni aucune phase d apprentissage est réalisée. Une scène synthétique a été construite de sorte qu une vérité terrain soit disponible. Elle est composée par quatre plans disposés en forme pyramidale, tronquée par un autre au dessus. Afin de simuler des situations le plus réalistes possibles, des images réelles texturées ont été appliquées sur les plans (voir Fig. ). Une séquence d images a été produites en déplaçant le point de vue tout en faisant varier les conditions d illumination de manière significative : nous appliquons un α (k) qui change les intensités d image jusqu à 50% de leurs valeurs originales, et un β (k) qui change sinusoïdalement avec l amplitude de 50 pixels. Nous avons alors comparé notre approche (en employant 50
RFIA 008 translation error deg] 0 8 6 4 Proposed Method S+R+5P H+ZNCC+R+5P rotation error deg].5.5 0.5 Proposed Method S+R+5P H+ZNCC+R+5P Percentage of survivors 0 0 0 0 30 40 50 image 00 90 80 70 60 50 Proposed Method S+R+5P H+ZNCC+R+5P 40 0 0 0 30 40 50 image Percentage of ouliers 0 0 0 0 30 40 50 image 70 60 50 40 30 0 0 Proposed Method S+R+5P H+ZNCC+R+5P 0 0 0 0 30 40 50 image FIG. Comparaison de méthodes standards et de l approche proposée. Haut : erreurs sur l estimation du mouvement. Bas : Gestion des primitives et des points abbérants au cours du déplacement. 30 régions de taille ) aux méthodes standards ainsi qu avec une méthode directe. Les résultats obtenus par la technique proposée sont montrés dans le Fig., où les régions d image ont été suivies avec succès en exécutant de façon robuste et simultanément la reconstruction de la pose de la caméra et de la scène. En ce qui concerne des méthodes standards, nous avons utilisés les points SIFT et le détecteur de Harris sous-pixellique avec Zero-mean Normalized Cross-Correlation associé à un contrôle de cohérence mutuelle pour apparier ces derniers points. Puis, 00 de ces primitives appariées ont été sélectionnées grâce à un procédé RANSAC (avec en général 300 essais) pour estimer la pose de façon robuste en utilisant l algorithme des 5-point ]. Les résultats sont montrées dans la Fig., où les approches sont référencées respectivement par S+R+5P et H+ZNCC+R+5P. Du fait que le facteur d échelle est supposé inconnu, l erreur de translation est mesurée par l angle entre les directions réelles et celles estimées. Notons que, malgré un plus grand nombre de primitives, des erreurs plus importantes ont été obtenues en appliquant les techniques standards à cette séquence difficile, en particulier à l étape d initialisation et dans le cas de grands déplacements. Les résultats montrent un nombre de primitives appariées qui décroît rapidement, et un pourcentage croissant des outliers. Pour éviter une divergence rapide, il est nécessaire d introduire fréquemment de nouvelles primitives compensant celles perdues au cours du suivi. Malgré leurs limitations, ces méthodes globales pourraient être em- FIG. 3 Résultats du suivi (en rouge) en utilisant 5] pour la deuxième et septième image de la séquence, où elle échoue. Les régions étaient les mêmes que montrées dans la Fig.. Observons que même à la ème image, beaucoup de régions ont été déjà rejetées. Cette méthode a également échoué pour la séquence d image présentée dans la Fig. 4. ployées comme bootstrap à notre technique. En ce qui concerne les méthodes directes, nous avons fait une comparaison avec 5], dont les résultats peuvent être vus dans le Fig. 3. Étant donné que les déplacements (mouvement et illumination) n étaient pas très petits, ce qui n est pas conforme aux hypothèses, l algorithme a échoué dans la septième image de la séquence. En raison de l approximation de deuxième ordre que nous proposons, de plus grands déplacements sont possibles. Notons également que la méthode proposée dans 4] ne pourrait pas être appliquée 5
Recueil des Articles FIG. 4 Haut : quelques images de la séquence Versailles superposées avec les régions suivies (en rouge) en employant l approche proposée. Bas : la pose de la caméra et la structure sont incrémentalement reconstruites. Observons que, à l initialisation, la scène entière correspond au plan à l infini. du fait que la scène est inconnue (nécessité d un modèle de référence pour l initialisation). Les résultats de la méthode proposée sur une séquence d images réelles sont montrés dans la Fig. 4. Au début, la scène peut être vue comme le plan à l infini (voir la première image). Lorsque la caméra progresse, des résultats plus précis sont obtenus. Notez à nouveau que l étape d initialisation a été bien exécutée. Les régions ont été choisies en utilisant 7] pour montrer qu une cartographie beaucoup plus dense peut être réalisée avec notre technique. 5 Conclusions Dans cet article, nous avons proposé quelques contributions pour améliorer le SLAM visuel. Tout d abord, nous avons traité le problème d observabilité dans l étape d initialisation. Puis, nous avons fourni une méthode efficace et robuste qui calcule directement la structure de scène, le déplacement de la caméra et les variations d illumination par rapport à un repère de référence. Nous avons montré que les méthodes standards doivent mettre à jour les primitives plus fréquemment. De ce fait, la méthode proposée permet de réduire la dérive en maintenant plus longtemps l estimation du déplacement par rapport au même repère de référence. Des travaux futurs seront consacrés à l implémentation d une méthode complète de SLAM visuel pour de grandes distances. Remerciements Ce travail a été en partie financé par la Fondation CAPES processus no. 886/03-7, ainsi que par l accord international FAPESP-INRIA no. 04/3467-5. Références ] O. Faugeras, Three-Dimensional Computer Vision A geometric viewpoint. Cambridge : The MIT Press, 993. ] P. H. S. Torr and A. Zisserman, Feature based methods for structure and motion estimation, in Workshop on Vision Algorithms : Theory and Practice, 999, pp. 78 94. 3] S. Se, D. Lowe, and J. Little, Vision-based global localization and mapping for mobile robots, IEEE Transactions on Robotics and Automation, vol., no. 3, pp. 364 375, 005. 4] N. D. Molton, A. J. Davison, and I. D. Reid, Locally planar patch features for real-time structure from motion, in Proc. BMVC, 004. 5] H. Jin, P. Favaro, and S. Soatto, A semi-direct approach to structure from motion, The Visual Computer, vol. 6, pp. 377 394, 003. 6] R. Szeliski and P. H. S. Torr, Geometrically constrained structure from motion : points on planes, in 5
RFIA 008 Proc. Eur. Workshop on 3D Struct. from Mult. Images of Large-Scale Environments, 998, pp. 7 86. 7] G. Silveira, E. Malis, and P. Rives, Real-time robust detection of planar regions in a pair of images, in Proc. of the IEEE/RSJ IROS, China, 006, pp. 49 54. 8] D. Burschka and G. D. Hager, V-GPS(SLAM) : vision-based inertial system for mobile robots, in Proc. of the IEEE ICRA, USA, 004. 9] F. W. Warner, Foundations of differential manifolds and Lie groups. Springer Verlag, 987. 0] G. Silveira and E. Malis, Real-time visual tracking under arbitrary illumination changes, in IEEE CVPR, Minneapolis, USA, 007. ] S. Benhimane and E. Malis, Integration of Euclidean constraints in template based visual tracking of piecewise-planar scenes, in Proc. of the IEEE/RSJ IROS, China, 006, pp. 8 3. ] D. Nistér, An efficient solution to the five-point relative pose problem, in Proc. of the IEEE CVPR, vol., 003, pp. 95 0. 53