Projet : Robotvis

previous up next contents
Précédent : Approches variationnelles et à base Remonter : Résultats nouveaux Suivant : Actions régionales, nationales et internationales


Sous-sections


   
Traitement des séquences spatiales et temporelles

Mots clés : mosaïques, chromaKey, mouvements de la main, synthèse de vues, stéréoscopie multivue .

 

Changer l'éclairage dans une photographie



Participants : Robert Stahr, Olivier Faugeras.

Étant donné une image I d'une personne et la connaissance de la direction $d_{\mbox{\scriptsize avant}}$ de la lumière, nous souhaitons créer une image de la même personne pour laquelle la lumière vient d'une autre direction. Ceci est accompli en trois étapes en utilisant une base de données de photos d'un autre visage prises sous différentes illuminations :

La méthode d'interpolation est fondée sur une décomposition en composantes principales des images dans la base. Suite à cette décomposition, nous ajustons des modèles analytiques aux relations entre la direction de la lumière et les coordonnées des images correspondantes exprimées dans le repère des axes (ou composants) principaux. Finalement, l'interpolation est effectuée à l'aide de ces modèles analytiques.


  
Figure 10: Le visage sur lequel nous souhaitons changer l'éclairage. (a) La photo donnée. (b) Le résultat obtenu par la méthode. (c) Une photo réellement prise avec la direction de lumière cherchée
[a] \includegraphics[width=.3\textwidth]{Fig/zimad1.ps} [b] \includegraphics[width=.3\textwidth]{Fig/zimad2.ps} [c] \includegraphics[width=.3\textwidth]{Fig/zimad3.ps}


  
Figure 11: Photos du visage qui se trouve dans la base de données
\includegraphics[width=.3\textwidth]{Fig/jose1.ps} \includegraphics[width=.3\textwidth]{Fig/jose2.ps}

Les figures 10 et 11 montrent un exemple. Soit l'image de la figure 10(a) pour laquelle la lumière vient de la gauche. On souhaite obtenir cette même image avec une lumière venant d'en haut a gauche. On utilise donc les deux images de la figure 11 pour obtenir le résultat de la figure 10(b). Pour comparaison, nous avons mis une image du même visage avec l'éclairage en haut à gauche (figure 10(c)).

Prétraitement de séquences continues d'images en vue de la reconstruction euclidienne.



Participants : Philippe Renaut, Olivier Faugeras, Thierry Viéville.

On s'attaque au problème de l'analyse du mouvement 3D et de la structure le long de longues séquences vidéo que l'on souhaite segmenter en volumes spatio-temporels homogènes, stabiliser de façon à réduire la disparité ne contenant pas d'information de structure dans chaque volume identifié et dans lesquelles on veut détecter les événements tels qu'objets mobiles ou obstacles proches, qui nécessiteront un traitement ultérieur spécifique pour finalement reconstruire la forme 3D de certains objets d'intérêt. Tenant compte du fait que ces données ont été acquises dans le cas non-calibré avec des variations des paramètres intrinsèques de la caméra et des objets mobiles dans la scène, on se propose d'attaquer le problème en mettant au point un module de prétraitement qui rende valide à la fois l'utilisation des équations au premier ordre du mouvement, que l'on revisite ici pour en montrer tout l'intérêt, et qui prépare automatiquement le flot de données à des traitement ultérieurs, manuels ou interactifs, sur un ensemble réduit et prétraité de données.


  
Figure 12: Exemple de séquence traitée.
\includegraphics[width=1.5cm]{Fig/otte1.10.ps} \includegraphics[width=1.5cm]{Fig/otte1.13.ps} \includegraphics[width=1.5cm]{Fig/otte1.16.ps} \includegraphics[width=1.5cm]{Fig/otte1.19.ps} \includegraphics[width=1.5cm]{Fig/otte1.22.ps} \includegraphics[width=1.5cm]{Fig/otte1.25.ps} \includegraphics[width=1.5cm]{Fig/otte1.28.ps} \includegraphics[width=1.5cm]{Fig/otte1.31.ps} \includegraphics[width=1.5cm]{Fig/otte1.34.ps} \includegraphics[width=1.5cm]{Fig/otte1.39.ps}


  
Figure 13: Séquence stabilisée.
\includegraphics[width=1.5cm]{Fig/stabotte1.10.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.13.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.16.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.19.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.22.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.25.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.28.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.31.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.34.ps} \includegraphics[width=1.5cm]{Fig/stabotte1.38.ps}


  
Figure 14: Graphe d'erreur permettant d'analyser les performances de la stabilisation.
\includegraphics[width=10cm]{Fig/graph.ps}


  
Figure 15: Exemple de carte numérique de profondeur reconstruite.
\includegraphics[width=10cm]{Fig/depth.ps}

Positionnement et localisation d'une caméra non calibrée pour l'insertion d'objets virtuels



Participants : Robert Fournier, Rachid Deriche, Luc Robert.

Dans le cadre du projet européen HPCN-Epsis - EP 2348, nous avons développé une approche et mis en oeuvre un logiciel permettant de calibrer une caméra et de suivre sa trajectoire 3D à des fins d'insertion dans les images perçues de modèles 3D virtuels. Après une première phase initiale de calibration qui permet de récupérer les paramètres intrinsèques de la caméra à partir d'un sous-ensemble de points 3D et de leur projection 2D, on fait usage du logiciel X Vision, support pour les applications de vision en temps réel, développé à New Haven, Yale University, et en particulier de son algorithme de suivi 2D, pour suivre la projection 2D des points 3D considérés.

Le suivi de cet ensemble de points 2D (3 ou plus) sur les images successives permet, en minimisant une somme de carrés de fonctions non linéaires des variables de position et de localisation, de calculer la trajectoire de la caméra et d'utiliser son modèle numérique pour projeter d'éventuels éléments graphiques dans la scène. Afin de rendre plus robuste le résultat du suivi 2D, on contraint les points suivis à correspondre à la projection des points 3D.

Une première implémentation a permis le suivi en temps réel du mouvement d'une caméra Indycam, déplacée manuellement.

Une deuxième implémentation travaillant en différé sur des séquences d'images préenregistrées a été utilisée sur des séquences réalisées par Radamec.

Ce travail a fait l'objet du rapport technique D3420 relatif à la tâche T340 : 3D Motion and Structure from Motion du projet HPCN-Epsis EP 2348

Studio Virtuel



Participants : Robert Fournier, Rachid Deriche, Luc Robert.

Dans le cadre du projet européen HPCN-Epsis - EP 2348, nous avons développé et réalisé une plateforme logicielle permettant de construire un modèle d'un studio donné, et de segmenter par la suite tout acteur (ou objet volumique) évoluant dans ce studio.

Cette application, de grande importance dans le domaine du cinéma et des effets spéciaux, est une première étape vers le développement d'une approche principalement géométrique pour le problème de la segmentation d'acteurs pouvant évoluer devant un fond texturé, non nécessairement bleu comme le contraignent les méthodes classiques issues de la Blue screen technology.

L'idée retenue est d'utiliser plusieurs caméras synchrones ( 3 actuellement) afin de construire un modèle fiable du studio vide. Ce modèle est alors comparé pour segmentation avec le modèle du studio observé durant les performances des acteurs. La construction du modèle, constitué principalement de plans, est réalisé off-line et de manière interactive à l'aide d'une estimation très fine des homographies reliant les plans des murs et du sol entre les différentes vues des caméras.

En cours d'utilisation, l'application de ces homographies permet de transférer les images issues des caméras auxiliaires vers l'image issue de la caméra de référence. Une comparaison par un score de corrélation permet alors de vérifier si les points observés par la caméra de référence appartiennent au studio vide ou à celui d'un objet volumique évoluant dans le studio.

Une première implémentation a été réalisée en utilisant des enregistrements monochromes avec du matériel local.

Une deuxième implémentation s'est appuyée sur un enregistrement réalisé chez Symah Vision et a conduit à un logiciel et à sa notice technique d'utilisation

La figure  16 montre en haut la vue initiale du studio vide et en bas, les vues des 2 caméras auxiliaires transférées pour comparaison avec l'image de référence : les pixels appartenant aux murs et au sol du studio se correspondent mais pas ceux appartenant à l'acteur. C'est ce qui va permettre de segmenter correctement l'acteur, indépendemment de son ombre et des conditions de lumières qui peuvent changer entre les instants off line et on line.

Ce travail a fait l'objet d'un rapport technique relatif à la tâche T350 : Pattern Key System du projet HPCN-Epsis EP 2348


  
Figure 16: Haut : Vues du studio vide par les 2 caméras auxiliaires et la caméra de référence (centre) . Milieu : Vues du studio en cours de performance par les 2 caméras auxiliaires et la caméra de référence (centre) Bas : Vues auxiliaires transformées pour comparaison avec l'image de référence (centre)
\includegraphics[width=1.25in,height=1.25in]{Fig/svcaux1i.ps} \includegraphics[width=1.25in,height=1.25in]{Fig/svcmaini.ps} \includegraphics[width=1.25in,height=1.25in]{Fig/svcaux2i.ps}
\includegraphics[width=1.25in,height=1.25in]{Fig/aux1.160.ps} \includegraphics[width=1.25in,height=1.25in]{Fig/svc160main.ps} \includegraphics[width=1.25in,height=1.25in]{Fig/aux2.160.ps}
\includegraphics[width=1.25in,height=1.25in]{Fig/svc160rc1.ps} \includegraphics[width=1.25in,height=1.25in]{Fig/svc160main.ps} \includegraphics[width=1.25in,height=1.25in]{Fig/svc160rc2.ps}

Suivre des formes articulées dans des séquences d'images.



Participants : Quentin Delamarre, Olivier Faugeras.

Notre but ici est de faire comprendre à l'ordinateur les mouvements d'une personne filmée par plusieurs caméras. Les applications sont multiples: interface homme-machine par le geste (« souris 3D »), surveillance automatique de lieux sensibles (comme les banques), analyse et construction de preuves à partir de vidéos amateurs (projet européen Improofs).

La méthode choisie consiste à extraire des informations des images, et à les mettre en correspondance avec un modèle 3D de ce que l'on cherche à localiser (main, personne, ...).

Ce modèle est un système d'objets rigides (sphères, pavés, cônes tronqués) articulés entre eux. Un tel choix a deux avantages : il est assez simple à manipuler, et il offre suffisamment de précision pour être comparé aux informations tirées des images.

Pour extraire ces informations (ou primitives), deux voies ont été suivies jusqu'à présent:

Dans chacun de ces deux cas, on va ensuite créer des forces entre le modèle 3D et les primitives de l'image. Un algorithme rapide de calcul de la dynamique du modèle articulé soumis à ces forces va faire converger celui-ci vers la position estimée de l'objet suivi (pour plus de détails, voir [[24]]). On contourne ainsi la difficulté d'avoir à minimiser sur un grand nombre de degrés de liberté.

On suppose que le modèle a été initialisé dans une configuration proche de celle cherchée. Dans une séquence d'images vidéo, on prendra la position précédente mise à jour par un filtre de Kalman. Les paramètres du modèle 3D sont initialisés à la main dans les premières images.

Des tests encourageants ont été effectués sur des modèles de doigts (8 degrés de liberté (ddl)), de mains (27 ddl) et de personnes (20 ddl) (voir figures 5.3.5).


  
Figure 17: En haut à gauche, deux vues de la main d'un utilisateur. À droite, la reconstruction 3D de cette même main, vue sous un autre angle, et sur laquelle on a fait converger un modèle 3D de doigt. En bas à gauche, un modèle 3D d'une personne soulevant une valise, avec son contour projeté sur le plan image en noir.
\includegraphics[width=16cm]{Fig/rap98.eps}



previous up next contents
Précédent : Approches variationnelles et à base Remonter : Résultats nouveaux Suivant : Actions régionales, nationales et internationales