• Aucun résultat trouvé

Fonction de coût inter-image

2.2 Une mémoire visuelle de l’environnement

2.2.2 Structuration de la mémoire visuelle de l’environnement

2.2.2.1 Fonction de coût inter-image

La définition d’un coût pour chacun des arcs du graphe passe par l’analyse de chaque couple d’images de la base.

Une étape préliminaire consiste donc à détecter un ensemble d’amers des images de la base, et à les mettre en relation avec ceux définis dans les autres vues. Pour ce faire, nous utilisons l’algorithme d’appariement robuste de Zhang [Zhang 94] (la section 1.2.3 page 26 en donne une brève description). À chaque couple d’images de la base est alors associé un ensemble de primitives en correspondance (cet ensemble peut bien sûr être vide si les prises de vue ne décrivent pas une même zone de l’environnement).

Un arc est défini dans le graphe entre chaque couple d’images possédant des amers en com- mun. Clairement, si deux images contiennent des projections de mêmes primitives de la scène, elles correspondent à des positions proches du robot. Dans notre cas, nous choisissons un coût in- versement proportionnel à la facilité du déplacement entre les deux images associées ; deux images n’ayant pas de correspondance sont reliées par un arc de coût infini positif. La recherche d’un che- min par l’algorithme de Dijkstra [Froidevaux 92] permettra ensuite d’obtenir un chemin de coût minimum entre deux nœuds du graphe.

Deux fonctions de coût différentes sont proposées pour valuer les arcs du graphe. L’une est directement basée sur les mises en correspondance, l’autre est dépendante du mouvement entre les images.

1le terme normalement utilisé est chaîne. Nous utilisons plutôt chemin au vu de la signification que nous donnons aux arcs du graphe.

52 2.2 Une mémoire visuelle de l’environnement

Fonction de coût basée vision

Cette première fonction de coût est directement définie à partir du nombre de primitives en correspondance entre les différents couples d’images de la base. Cette fonction repose sur l’hypo- thèse que plus les amers appariés entre deux vues sont nombreux, plus le déplacement associé est facile. La fonction de coûtγ est donc choisie comme l’inverse du nombre de primitives en corres-

pondance. Si l’on noteni,jle nombre de primitives appariées entre les vuesψietψjdu graphe, le coût de l’arc entre les deux nœudsxietxj est :

γ(xi, xj) =

(

+∞ si ni,j = 0, 1

ni,j sinon

Cette fonction est satisfaisante si l’on considère un système robotique pouvant aisément se dé- placer selon tous ses axes de liberté. Nous proposons une deuxième fonction de coût plus adaptée aux systèmes robotiques n’ayant pas autant de liberté de mouvement.

Fonction de coût basée mouvement

Si l’on considère une application en robotique mobile, et plus particulièrement pour des véhi- cules non holonomes2, une valuation simplement basée sur les correspondances n’est pas efficace. En effet si l’on considère deux images prises suite à un déplacement latéral, de nombreuses primitives peuvent être mises en correspondance. Les deux images vont donc être considérées comme proches, ce qui n’est pas souhaitable puisqu’un tel déplacement est difficilement réalisable par un véhicule non holonome. Si l’on désire une fonction de coût traduisant efficacement la facilité qu’aurait le robot à se déplacer d’une position à l’autre, il est alors nécessaire de considérer le mouvement réalisé entre ces deux positions.

Nous avons conservé l’orientation du repère caméra utilisée en robotique pour représenter la pose d’une caméra (voir la figure 2.12). Clairement un véhicule n’a pas la même mobilité qu’un robot manipulateur. Ainsi, les mouvements le long de l’axe~y lui sont impossibles. De la même

manière, les seuls mouvements de rotation qu’il peut réaliser s’effectuent autour de l’axe~y. Notons

cependant que les mouvements supposés interdits peuvent tout de même être mesurés entre deux images ; une route en pente entraîne une variation de la position suivant ~y du robot, un léger

tangage est observé lorsque le véhicule tourne, ce qui correspond à une rotation sur ~z, . . . Ces

mouvements peuvent être associés à la topologie de la route, ou à la dynamique du véhicule, et donc être ignorés lors de la détermination de la fonction de coût.

Finalement, lors d’un déplacement, nous voulons : – favoriser les déplacements le long de l’axe optique ; – éviter les déplacements latéraux ;

– éviter les rotations du véhicule.

Notons de plus qu’une rotation (ou un déplacement latéral) est plus aisée si elle est accompagnée d’un déplacement le long de l’axe optique.

2

un robot non holonome comme une voiture, peut se déplacer vers l’avant, et l’arrière, tourner à gauche et à droite. Mais il ne peut pas se déplacer latéralement et tourner librement. Il possède moins d’entrées de commande (2 pour la voiture) que de degrés de liberté (3).

~ x ~ y ~ z

FIG. 2.12: Position et orientation utilisée pour le repère caméra Comme il a été présenté dans le chapitre 1, le mouvement partiel iRj, αitj



entre deux images ψi etψj peut être estimé à partir de la décomposition3 de l’homographie iHnj associée

à ces deux prises de vue. Dans le reste de ce chapitre, nous noterons ce mouvement partiel R et b= (bx, by, bz) = αt.

La fonction de coûtγ est alors définie comme étant :

γ(xi, xj) =              ∞ si ni,j = 0, γ∞ si bz= 0, 1 + |bx|+κθ|uy| |bz| sinon (2.1)

γ∞est une constante maximale associée aux mouvements purement latéraux (notons qu’en pra- tique, bz ne vaut quasiment jamais exactement 0). uθ est la représentation vectorielle de la rota- tion R, avec u= (ux, uy, uz) l’axe de rotation, et θ l’angle de rotation autour de cet axe. Une telle définition permet de fixer un coût minimum à chaque déplacement du système robotique. Si l’on considère queκ = αη, et dans le cas où bz 6= 0, la valuation devient :

γ(xi, xj) = 1 + |bx| + κθ|uy| |bz| = 1 + α|tx| + αηθ|uy| α|tz| = 1 +|tx| + ηθ|uy| |tz| .

Finalement, le termeκ > 0 a trois objectifs :

– il permet de prendre en considération la différence d’amplitude entre les translations et rotations ;

– il donne la possibilité de définir une préférence entre les rotations sur~y et les translations

sur~x ;

– il permet de compenser le facteur d’échelle inconnuα.

3

N’ayant aucune information a priori sur le plan de référence qui peut être choisi, l’ambiguïté sur la décomposition dei

Hnj peut être levée en estimant deux homographies relatives à deux plans de références différents, et en gardant la

54 2.2 Une mémoire visuelle de l’environnement

Cette fonction de coût permet de définir un graphe valué associé à la base d’images. La section suivante présente comment un ensemble de graphes hiérarchiques peut être défini à partir de ce graphe initial, afin de diminuer par la suite l’espace de recherche de chemins.