Projet Vista

previous up next contents
Précédent : Présentation générale et objectifs Remonter : Projet VISTA, Vision Spatio-Temporelle et Suivant : Grands domaines d'application



Fondements scientifiques

Modèles markoviens hiérarchiques et estimation bayésienne

Mots-clés : champs markoviens, observation partielle, estimation bayésienne, estimation de paramètres, modèles hiérarchiques, algorithme multigrille, arbres, inférence non-itérative


Résumé : Dans le but de traiter les problèmes inverses multi-images liés aux axes de recherche du projet, nous nous intéressons au formalisme markovien associé à la théorie bayésienne de la décision [Win95]. Dans ce cadre, nous nous attachons à définir des modèles ou des algorithmes de type hiérarchique qui permettent de mener de façon efficace les tâches d'estimation (des cartes d'attributs cachés ou des paramètres du modèle), pour des problèmes à espace d'états aussi bien continu que discret.


Le type d'approche statistique de l'analyse d'image que nous privilégions nous conduit à mettre en place des modèles markoviens partiellement observés, associés à des distributions $P(z\vert\theta)$, où $\theta$ est un jeu de paramètres. L'ensemble $z=\{z_s,s\in S\}$ se décompose en variables observées $y$ et variables cachées $x$ : $z=(x,y)$.Le caractère markovien se manifeste par une factorisation de cette loi jointe en un produit d'interactions locales :

\begin{displaymath}P(z\vert\theta)\propto\prod_{c\in{\cal C}}f_c(z_c\vert\theta)\end{displaymath}




$\cal C$ est un ensemble de ``petites'' parties de $S$ ($\vert c\vert=1$ ou 2 en général). Une structure de graphe est associée à cette factorisation (celle pour laquelle tous les éléments de $\cal C$ sont des cliques), fournissant un outil de codage des indépendances conditionnelles entre variables [Whi90] : si une partie $C$ de $S$ sépare deux autres parties $A$ et $B$ pour ce graphe, alors $z_A$ et $z_B$ sont indépendants sachant $z_C$($P(z_A,z_B\vert z_C,\theta)=P(z_A\vert z_C,\theta)P(z_B\vert z_C,\theta)$). La chaîne, la grille bidimensionnelle et le quad-arbre sont les graphes les plus fréquemment rencontrés en analyse d'image ; ils sont illustrés sur la figure jointe.

\epsfig {figure=vista_ra97.eps}

Sur la base de la distribution $P(z\vert\theta)$,se posent les deux problèmes suivants (outre celui préalable du choix de la famille paramétrique) :

Dans le cas de problèmes de très grande dimension (telle que l'extraction de cartes denses de primitives à partir de plusieurs images), les différents algorithmes génériques précédemment évoqués, même pour des paramètres supposés connus, sont coûteux : en raison de la localité des couplages entre variables, l'information se propageant de façon lente et peu efficace.

Dans le but de traiter ces problèmes, une démarche générique souvent fructueuse consiste à hiérarchiser les primitives et/ou les données. Cette idée peut être déclinée de diverses manières.

Dans un premier groupe d'approches, des versions ``réduites'' (en terme du nombre des variables inconnues) $P^i(x^i,y\vert\theta)$ ou $P^i(x^i,y^i\vert\theta)$, $i=L\ldots 0$, du modèle spatial initial sont d'abord construites, puis exploitées au sein d'une algorithmique descendante. Les attributs $\hat x^i$ inférés à un niveau $i$servent de point de départ à la procédure d'inférence au niveau $i-1$ de ``taille'' immédiatement supérieure. Il s'agit ici principalement des méthodes multirésolutions ou multigrilles (selon que des versions réduites de $y$ sont également calculées ou non). Ces méthodes permettent une accélération substantielle des schémas itératifs déterministes standard, et fournissent souvent une amélioration de la qualité des résultats [4].

Une deuxième classe d'approches vise à la définition de modèles hiérarchiques globaux $P(x^L,\ldots,x^0,y\vert\theta)$. Il s'agit de champs markoviens sous-tendus par un graphe hiérarchique causal, un arbre le plus souvent. Dans ce cas, les différents niveaux sont liés au sein du même modèle. L'inférence est donc menée de façon globale, et est rendue efficace par l'exploitation de la causalité. Plus précisément, des estimateurs exacts peuvent être obtenus en deux ``passes'' rappelant celles connues dans le cadre des chaînes de Markov. Par contre, il s'agit d'une classe restrictive de modèles dont la capacité à rendre compte des interactions spatiales entre primitives images est encore à étudier de façon complète.

Commande référencée vision

Mots-clés : vision, robotique, commande référencée capteurs, asservissement visuel


Résumé : L'asservissement visuel consiste à utiliser les informations fournies par une caméra afin d'en contrôler le mouvement. L'approche que nous avons retenue repose sur la modélisation de fonctions de tâches appropriées et consiste à spécifier le problème en termes de régulation dans l'image. Elle permet de compenser les imprécisions des modèles (erreurs de calibration), aussi bien du capteur que du porteur de la caméra, par des lois de commande robustes en boucle fermée sur les informations visuelles extraites de l'image.


Les techniques d'asservissement visuel [HHC96] utilisent généralement des informations visuelles 2D extraites de l'image. Les lois de commande consistent alors à contrôler le mouvement de la caméra afin que les mesures dans l'image $s(t)$ atteignent une valeur désirée $s^*$ ou suivent une trajectoire spécifiée $s^*(t)$.

Afin d'élaborer une loi de commande en boucle fermée sur des mesures $s(t)$, il est nécessaire d'estimer ou d'approximer la relation qui lie la variation de $s$ aux variables de contrôle. Dans le cas d'informations visuelles géométriques (telles par exemple les coordonnées 2D d'un point) contrôlées à l'aide des six degrés de liberté d'une caméra, cette relation est définie par [2] :

\begin{displaymath}\dot{s} = L_{(s,z)} \; T\end{displaymath}



$T$ est le torseur cinématique de la caméra et où $L$ est la matrice d'interaction associée à $s$. Cette matrice dépend de la valeur courante de $s$, mais aussi de la profondeur de l'objet considéré, représentée par les paramètres notés $z$. L'asservissement visuel 2D consiste schématiquement à réguler (c'est-à-dire amener et conserver à 0) la fonction de tâche suivante :

\begin{displaymath}e = \hat{L}^+ \; (s - s^*)\end{displaymath}



$\hat{L}^+$ est la pseudo-inverse d'un modèle ou d'une approximation de $L$. Pour assurer la stabilité et la convergence de $e$, il faut avoir $ \hat{L}^+ \; L \gt 0 \; , \; \forall t$, c'est-à-dire que $\hat{L}$ doit être suffisamment correct et proche de $L$ pour ne pas trop perturber le système. Deux choix sont couramment utilisés :

Ces deux possibilités ont chacune leurs avantages et leurs inconvénients [34] : dans le premier cas, mouvements de la caméra inadéquats, voire impossibles à réaliser, rencontre éventuelle de minima locaux ; dans le second cas, possible passage de l'objet hors du champ de vue de la caméra. Finalement, il est possible de rencontrer une singularité de la matrice d'interaction, entraînant soit une instabilité de la commande, soit un échec dans la convergence du système. Nous travaillons à lever ces limitations, notamment par le développement des techniques dites d'asservissement visuel 2D 1/2.

Ces différents problèmes ne doivent pas faire oublier que l'asservissement visuel 2D apporte toute satisfaction dans un grand nombre de cas. De plus, l'intégration de l'asservissement visuel dans l'approche générale de la fonction de tâche [SBE91] permet de résoudre de manière efficace et élégante les problèmes de redondance rencontrés lorsqu'une tâche visuelle ne contraint pas l'ensemble des degrés de liberté de la caméra. Il est alors possible d'exécuter, parallèlement à la tâche visuelle, des tâches secondaires telles des opérations de suivi de trajectoires pour des applications d'inspection, ou d'évitement des butées et singularités du robot.

Lorsque la fonction de tâche est correctement modélisée, il est ensuite assez aisé d'élaborer une loi de commande générique permettant une décroissance exponentielle de la fonction de tâche. On obtient :

\begin{displaymath}T = -\hat{\lambda} \; e - \widehat{\frac{\partial e}{\partial t}} \end{displaymath}



$\hat{\lambda}$ est un gain qui permet de régler la vitesse de convergence, et où $\widehat{\frac{\partial e}{\partial t}}$ représente une compensation de la vitesse éventuelle de l'objet considéré. Ce terme, s'il est correctement estimé, permet de supprimer les erreurs de traînage inhérentes à tout problème de poursuite de cibles.

Extraction de pistes et trajectographie

Mots-clés : Trajectographie, extraction de pistes, poursuite, hypothèses multiples, combinatoire


Résumé : Nous décrivons les problèmes liés à l'extraction de pistes et à l'estimation des paramètres cinématiques. L'accent est mis sur la nature des observations et des problèmes d'estimation associés.


Nous considérons les problèmes liés à l'estimation de systèmes dynamiques partiellement observés. Pratiquement, ces problèmes sont généralement posés dans un cadre passif, l'observateur est uniquement un récepteur.

Un corollaire de ceci est que le système est, en général, uniquement partiellement observé, ce qui siginifie que l'on n'observe pas directement l'état du système, mais seulement une fonction (non-linéaire) bruitée de cet état. Ainsi, en sonar passif, l'état du système (i.e. les paramètres définissant la trajectoire de la source) n'est observé qu'au travers des gisements (angles) estimés par l'antenne.

Le problème d'extraction-poursuite de cibles mobiles se pose dans le contexte du traitement de l'information. On dispose d'observations constituées de fonctions non-linéaires de l'état de la source (azimuts, dopplers, etc.). Les observations sont décrites comme les sorties d'un système variable dans le temps. Le modèle d'évolution temporelle de l'état est lié aux hypothèses faites sur la trajectoire des sources. Il est alors possible de décrire les observations par un système non-linéaire variable dans le temps pour lequel les paramètres à déterminer sont les composantes de l'état initial. Plus précisément, on appelle ${\bf X}^i$ le vecteur de l'état relatif (i.e. dans un repère lié à l'observateur) de la ième source dont les composantes sont les coordonnées relatives $(r_{x},r_{y} )$ et les vitesses relatives $(v_{x},v_{y} )$ de la source. L'état du système est ${\bf X}=({\bf X}^1,{\bf X}^2,..,{\bf X}^n)$ et son équation à temps discret prend alors la forme ci-dessous, [NLG84]:

\begin{displaymath}{\bf X}(k) = \Phi(k,k-1) {\bf X}(k-1)+{\bf U}(k) +{\bf W}(k)\end{displaymath}



$\Phi$ désigne la matrice de transition du système, le vecteur ${\bf U}$ représente l'accélération (instantanée) de l'observateur et où ${\bf W}_k$ représente un bruit markovien. Par ailleurs, l'équation d'observation prend la forme suivante: $ \hat{\theta}^i_{k}=\theta^i_{k}+w_{k} $,où $ \theta^i_{k}=\mbox{arctan}(r^i_{x}(k)/r^i_{y}(k) )$et $i$ est un indice aléatoire : $i=i(n,\omega)$,correspondant au fait que l'on ne sait pas de quelle source provient la détection (ou s'il s'agit d'une fausse alarme).

Les caractéristiques de ce type de problème sont multiples : i) non-linéarité du système, ii) possibilité de manoeuvre (action sur ${\bf U}$); iii) caractère aléatoire de $i$. L'étape d'extraction consiste à attribuer des détections aux sources (estimation de $i(n,\omega)$), et lorsque $i(n,\omega)$ est connu, ou estimé, le problème se découple alors sur les différentes sources. L'objectif de l'extraction consiste à élaborer des pistes à partir des données provenant des étapes de traitement direct et massif des sorties de capteurs. Les données sont constituées de plots (de nature binaire dans le cas le plus simple). Le problème de l'extraction est le suivant: quels sont les sous-ensembles de plots $S_{i}$ ayant une origine commune? On entend ici par origine commune le fait que les différents points de $S_{i}$ sont associés à une même source en mouvement. Un sous-ensemble $S_{i}$ s'appelle alors une piste extraite. Il importe de noter que cette suite est d'une nature statistique plus compliquée que précédemment puisque, dans le cas général, elle inclut des fausses alarmes, des fausses associations ainsi que des non-détections.

Une approche naturelle consiste donc à considérer un modèle probabiliste des observations incluant à la fois des hypothèses sur la nature statistique des observations (probabilités de détection, de fausse-alarme, distribution et nombre de fausses alarmes) et sur la nature de la trajectoire de la (ou des) source(s). Utilisant cette structure, il s'agit de séparer l'ensembles des plots en des sous-ensembles de plots ayant une origine cinématique commune et un ensemble de fausses alarmes.

Ainsi, dans le cas mono-source, la densité des observations est un mélange de lois normale (la densité d'une vraie détection), de Poisson (le nombre de fausses alarmes par unité de volume) et uniforme (répartition des fausses alarmes). On montre ainsi que la densité des observations prend la forme ci-dessous:


\begin{displaymath}P({\cal Z} \vert{\bf X}_{0})=\prod_{t=1}^{T} p(Z_{t}\vert{\bf X}_{0}) \mbox{~~~~~~~~~avec}\end{displaymath}


\begin{eqnarray*}p(Z_t\vert{\bf X}_0) & = &u^{-m_t}(1-P_d)\mu_u(m_t)+ u^{1-m_t... ...rt\vert z_{t,j}-h_t({\bf X}_0)\vert\vert^2_{\Sigma_t^{-1}}\right)\end{eqnarray*}



$m_{t}$ désigne le nombre de détections dans la fenêtre de validation, $u$ le volume de la fenêtre de validation, $Z_{t}$ l'observation au temps $t$, ${\mu}_{u}(m_{t})$ la probabilité de $m_{t}$ et $P_{d}$ la probabilité de détection. Le problème de l'extraction revient alors à chercher le vecteur ${\bf X}_{0}$ maximisant la vraisemblance $P(\cal Z\vert{\bf X}_{0})$ définie ci-dessus.
Cependant, la réalité de l'extraction est faite de problèmes multi-sources. L'assignation des mesures aux pistes peut être réalisée au moyen d'une énumération exhaustive des hypothèses d'assignation. Ceci constitue le cadre classique des algorithmes MHT (Multiple Hypotheses Tracking). Pour éviter l'explosion combinatoire de tels algorithmes, diverses méthodes ont été développées. Il est cependant assez évident que la faiblesse des algorithmes de tri et, dans une moindre mesure, de fusion réside dans le risque d'éliminer certaines bonnes séquences.

Une approche séduisante consiste alors à considérer que les probabilités d'assignation des mesures aux pistes sont indépendantes d'un scan à l'autre. Ainsi, la méthode PMHT (Probabilistic Multiple Hypothese Tracking) ne nécessite aucune énumération des hypothèses, mais un nombre (maximal) de pistes est fixé. L'algorithme PMHT repose sur deux étapes, l'une d'optimisation et l'autre de calcul d'espérance conditionnelle. Ces deux étapes ont été reconsidérées dans le contexte plus général de l'estimation des paramètres de mélanges (algorithme EM), [3].

Le problème de l'initialisation des pistes, lui-même, consiste en l'association de diverses détections élémentaires prises au cours du temps. C'est avant tout un problème de combinatoire. Il s'agit, en général, d'un problème d'assignation $n$-dimensionnel de variables binaires. Notre approche a été celle de la relaxation Lagrangienne où n -2 variables d'assignation sont relaxées et où l'on se ramène à une série de problèmes d'assignation 2D, [9,37]. L'estimation des variables duales est elle-même accomplie au moyen d'algorithmes du type ``sous-gradient''. Les étapes d'obtention de solutions réalisables (calcul du saut de dualité), d'optimisation (sous-gradients, calcul du pas) ainsi que l'inclusion de fausses mesures ont été étudiées avec attention. Ce type d'approche a été appliqué à des problèmes d'association de données multi-capteurs, [PDBSW92].



previous up next contents Précédent : Présentation générale et objectifs Remonter : Projet VISTA, Vision Spatio-Temporelle et Suivant : Grands domaines d'application