Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR DETERMINING THE EXPOSURE OF A THREE-DIMENSIONAL OBJECT IN AN IMAGE, AND METHOD AND DEVICE FOR CREATING AT LEAST ONE KEY IMAGE FOR OBJECT TRACKING
Document Type and Number:
WIPO Patent Application WO/2008/125754
Kind Code:
A8
Abstract:
The invention relates to a method and a device for determining the exposure of a three-dimensional object in an image, characterised in that it comprises the following steps: acquiring a three-dimensional generic model of the object, projecting the three-dimensional generic model according to at least one two-dimensional representation and associating to each two-dimensional representation an exposure information of the three-dimensional object, electing and positioning a two-dimensional representation onto the object in said image, and determining the three-dimensional exposure of the object in the image from at least the exposure information associated with the selected two-dimensional representation.

Inventors:
LEFEVRE VALENTIN (FR)
LIVET NICOLAS (FR)
Application Number:
PCT/FR2008/000236
Publication Date:
December 31, 2008
Filing Date:
February 22, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TOTAL IMMERSION (FR)
LEFEVRE VALENTIN (FR)
LIVET NICOLAS (FR)
International Classes:
G06T7/00
Attorney, Agent or Firm:
SANTARELLI (14 Avenue de la Grande Armée, Paris Cedex 17, FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les étapes suivantes :

- acquisition d'un modèle générique tridimensionnel de l'objet,

- projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel,

- sélection et positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,

- détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.

2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape préalable de construction d'un modèle générique tridimensionnel de l'objet à partir de l'objet tridimensionnel.

3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce que le modèle générique tridimensionnel est un maillage de l'objet.

4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape préalable de localisation en trois dimensions de l'objet dans l'image.

5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape de détermination des points caractéristiques de l'objet de l'image.

6. Procédé selon la revendication 5, caractérisé en ce qu'il comprend une étape préalable de détermination de points caractéristiques du modèle générique tridimensionnel de l'objet. 7. Procédé selon la revendication 6, caractérisé en ce que l'étape de détermination de la pose tridimensionnelle de l'objet dans l'image est en outre fonction de la distance entre les points caractéristiques déterminés du modèle

générique tridimensionnel de l'objet et les points caractéristiques déterminés de l'objet dans l'image.

8. Procédé de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes :

- acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ;

- détermination de la pose de l'objet tridimensionnel dans ladite au moins une image selon le procédé de détermination de la pose d'un objet tridimensionnel dans une image conforme à l'une quelconque des revendications 1 à 7, et

- création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement. 9. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé de détermination de la pose d'un objet tridimensionnel dans une image selon l'une quelconque des revendications 1 à 7.

10. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé de création d'au moins une image clé selon la revendication 8.

11. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé de détermination de la pose d'un objet tridimensionnel dans une image selon l'une quelconque des revendications 1 à 7.

12. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé de création d'au moins une image clé selon la revendication 8.

13. Dispositif de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les moyens suivants :

- des moyens d'acquisition d'un modèle générique tridimensionnel de l'objet, - des moyens de projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et des moyens d'association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel,

- des moyens de sélection et des moyens de positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,

- des moyens de détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.

14. Dispositif selon la revendication 13, caractérisé en ce qu'il comprend des moyens de construction d'un modèle générique tridimensionnel de l'objet à partir de l'objet tridimensionnel.

15. Dispositif selon la revendication 13 ou la revendication 14, caractérisé en ce que le modèle générique tridimensionnel est un maillage de l'objet. 16. Dispositif selon l'une quelconque des revendications 13 à 15, caractérisé en ce qu'il comprend des moyens de localisation en trois dimensions de l'objet dans l'image.

17. Dispositif selon l'une quelconque des revendications 13 à 16, caractérisé en ce qu'il comprend des moyens de détermination des points caractéristiques de l'objet de l'image.

18. Dispositif selon la revendication 17, caractérisé en ce qu'il comprend des moyens de détermination de points caractéristiques du modèle générique tridimensionnel de l'objet.

19. Dispositif selon la revendication 18, caractérisé en ce que les moyens de détermination de la pose tridimensionnelle de l'objet dans l'image sont aptes à déterminer la pose tridimensionnelle de l'objet dans l'image, en outre, en fonction de la distance entre les points caractéristiques déterminés du

modèle générique tridimensionnel de l'objet et les points caractéristiques déterminés de l'objet dans l'image.

20. Dispositif de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce dispositif étant caractérisé en ce qu'il comprend les moyens suivants :

- des moyens d'acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ;

- des moyens de détermination de la pose de l'objet tridimensionnel dans ladite au moins une image conforme au dispositif de détermination de la pose d'un objet tridimensionnel dans une image selon l'une quelconque des revendications 13 à 19, et

- des moyens de création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement.

Description:

Procédé et dispositif de détermination de la pose d'un objet tridimensionnel dans une image et procédé et dispositif de création d'au moins une image clé pour le suivi d'objets

La présente invention concerne la combinaison d'images réelles et virtuelles en temps réel, aussi appelée réalité augmentée, et plus particulièrement un procédé et un dispositif de détermination de la pose d'un objet tridimensionnel dans une image et un procédé et un dispositif de création d'au moins une image clé correspondant à un objet tridimensionnel. La réalité augmentée a pour objet d'insérer un ou plusieurs objets virtuels dans les images d'un flux vidéo. Selon le type d'application, la position et l'orientation de ces objets virtuels peuvent être déterminées par des données externes à la scène représentée par les images, par exemple des coordonnées issues directement d'un scénario de jeu, ou par des données liées à certains éléments de cette scène, par exemple des coordonnées d'un point particulier de la scène tel que la main d'un joueur. Lorsque la position et l'orientation sont déterminées par des données liées à certains éléments de cette scène, il peut être nécessaire de suivre ces éléments en fonction des mouvements de la caméra ou des mouvements de ces éléments eux-mêmes dans la scène. Les opérations de suivi d'éléments et d'incrustation d'objets virtuels dans les images réelles peuvent être exécutées par des calculateurs distincts ou par un même calculateur.

Il existe plusieurs méthodes de suivi d'éléments dans un flux d'images. Généralement, les algorithmes de suivi d'élément, aussi appelé algorithme de poursuite de cible, utilisent un marqueur qui peut être visuel ou utiliser d'autres moyens tel que des moyens basés sur les radio fréquences ou l'infrarouge. Alternativement, certains algorithmes utilisent une reconnaissance de forme pour suivre un élément particulier dans un flux d'image.

L'Ecole Polytechnique Fédérale de Lausanne a . développé un algorithme de suivi visuel n'utilisant pas de marqueur et dont l'originalité réside dans l'appariement de points particuliers entre l'image courante d'un flux vidéo

avec une image clé, appelée keyframe, donnée par l'utilisateur à l'initialisation du système et une image clé mise à jour durant l'exécution du suivi visuel.

L'objectif de cet algorithme de suivi visuel est de retrouver, dans une scène réelle, la pose, c'est-à-dire la position et l'orientation, d'un objet dont le maillage tridimensionnel est disponible, ou de retrouver les paramètres extrinsèques de position et d'orientation, relativement à cet objet, d'une caméra filmant cet objet, immobile, grâce à l'analyse d'image.

L'image vidéo courante est comparée avec une ou plusieurs images clés enregistrées pour retrouver un nombre important de correspondances entre ces paires d'images afin d'estimer la pose de l'objet. A cette fin, une image clé est composée de deux éléments : une image capturée du flux vidéo et une pose (orientation et position) d'un modèle tridimensionnelle apparaissant dans cette image. Il convient de distinguer les images clés « hors ligne », ou off Une, des images clés « en ligne », ou on Une. Les images clés hors ligne sont des images extraites du flux vidéo dans lesquelles l'objet à suivre a été placé manuellement grâce à l'utilisation d'un dispositif de pointage tel qu'une souris ou à l'aide d'un outil de réglage tel qu'un Pocket Dial commercialisé par la société Doepfer. Les images clés hors ligne caractérisent de préférence la pose d'un même objet dans plusieurs images. Elles sont crées et enregistrées « hors ligne », c'est-à-dire hors du régime permanent de l'application. Les images clé « en ligne » sont mémorisées dynamiquement durant l'exécution du programme de suivi. Elle sont calculées lorsque l'erreur, c'est-à-dire la distance entre les appariements des points d'intérêts, est faible. Les images clés en ligne remplacent les images clés hors ligne utilisées pour initialiser l'application. Leur utilisation vise à réduire le décalage, aussi appelé dérive, qui peut devenir important lorsque l'on s'éloigne trop de la position relative initiale entre la caméra et l'objet. L'apprentissage de nouvelles images clés en ligne a aussi pour résultat de rendre l'application plus robuste aux variations de lumière extérieure et aux variations de colorimétries des caméras. Elles ont cependant le désavantage d'introduire un effet de « vibrations » sur la pose de l'objet dans le temps. Lors de l'apprentissage d'une nouvelle image clé en ligne, celle-ci

vient remplacer l'image clé précédente, hors ligne ou en ligne. Elle est utilisée comme image clé courante.

Chaque image clé, hors ligne ou en ligne, comprend une image dans laquelle l'objet est présent et une pose pour caractériser l'emplacement de cet objet ainsi qu'un certain nombre de points d'intérêts qui caractérisent l'objet dans l'image. Les points d'intérêts sont, par exemple, construits à partir d'un détecteur de points de Harris et représentent des emplacements avec des fortes valeurs de gradients directionnels dans l'image.

Avant d'initialiser l'application, il est nécessaire de déterminer une ou plusieurs images clés hors ligne. Il s'agit généralement d'images extraites du flux vidéo, qui contiennent l'objet à traquer, et auxquelles sont associées une position et une orientation du modèle tridimensionnel de ce objet. Pour cela, un opérateur fait une opération manuelle qui consiste à faire correspondre visuellement un modèle filaire à l'objet réel. La phase de préparation manuelle consiste donc à retrouver une première estimation de la pose de l'objet dans une image extraite du flux vidéo, ce qui revient à formaliser la transformation affine initiale T p→c qui correspond à la matrice de passage entre le repère attaché à l'objet vers le repère associé à la caméra. La transformation affine initiale peut se décomposer selon une première transformation T 0→c relative à une position initiale de l'objet, par exemple au centre de l'écran, c'est-à-dire une transformation liée au changement de repère entre le repère de la caméra et le repère de l'objet, et en une seconde transformation T p→0 relative au déplacement et à la rotation de l'objet de sa position initiale au centre de l'écran vers la position et l'orientation dans lesquelles se trouve réellement l'objet sur l'image clé, où T p→c = T p→0 - T 0→c . Si les valeurs α, β et γ correspondent à la translation de l'objet de sa position initiale au centre de l'image vers sa position dans l'image clé et si les valeurs θ, φ et φ correspondent à la rotation de l'objet de sa position initiale au centre de l'image vers sa position dans l'image clé selon les axes x, y et z, la transformation T p→0 peut s'exprimer alors sous la forme de la matrice suivante,

cos^cos^ + sin<psin#sin^ sinç?cos^ -cos<psin#sin^ cosέ?sin^ a rpQ -sin#>cos# cos$?cos# sin# β p sinçpsin#cos^ - cosçz>sin^ - o,osφsm.θcosφ -sm.φsm.φ cos#cos^ γ

0 0 0 1

L'utilisation de ce modèle permet d'établir le lien entre les coordonnées des points du modèle tridimensionnel de l'objet exprimées dans le repère de l'objet et les coordonnées de ces points dans le repère de la caméra. Lors de l'initialisation de l'application, les images clés hors ligne sont traitées afin de positionner des points d'intérêts en fonction des paramètres choisis lors du lancement de l'application. Ces paramètres sont spécifiés de façon empirique pour chaque type d'utilisation de l'application et permettent de moduler le noyau de détection d'appariement et d'obtenir une meilleure qualité dans l'estimation de la pose de l'objet selon les caractéristiques de l'environnement réel. Ensuite, lorsque l'objet réel dans l'image courante est dans une pose qui est proche de la pose de ce même objet dans une des images clé hors lignes, le nombre d'appariements devient important. Il est alors possible de retrouver la transformation affine permettant de caler le modèle tridimensionnel virtuel de l'objet sur l'objet réel.

Lorsqu'une telle correspondance a été trouvée, l'algorithme passe en régime permanent. Les déplacements de l'objet sont suivis d'une trame sur l'autre et les dérives éventuelles sont compensées grâce aux informations contenues dans l'image clé hors ligne retenue lors de l'initialisation et dans l'image clé en ligne calculée lors de l'exécution de l'application.

L'application de suivi combine deux types d'algorithme : une détection de points d'intérêts, par exemple une version modifiée de détection de points de Harris, et une technique de reprojection des points d'intérêts positionnés sur le modèle tridimensionnel vers l'image plane. Cette reprojection permet de prévoir le résultat d'une transformation spatiale d'une trame sur l'autre. Ces deux algorithmes combinés permettent un suivi robuste d'un objet selon six degrés de liberté.

D'une façon générale, un point p de l'image est la projection d'un point P de la scène réelle avec p ~ P, - P E • T p→c - P où Pi est la matrice des

paramètres intrinsèques de la caméra, c'est-à-dire sa focale, le centre de l'image et le décalage, PE est la matrice des paramètres extrinsèques de la caméra, c'est-à-dire la position de la caméra dans l'espace réelle, et T p→c la matrice affine de passage entre le repère associé à l'objet suivi vers le repère de la caméra. Seule la position relative de l'objet par rapport à la position relative de la caméra est ici considérée, ce qui revient à placer le repère de la scène réelle au niveau du centre optique de la caméra. Il en résulte la relation P - P, • T p→c • P où T p→c la matrice de la pose de l'objet dans le repère de la caméra. La matrice Pi étant connue, le problème de suivi consiste donc à déterminer la matrice T p→c .

Cependant, il est important de noter que lorsque la mesure d'erreur devient trop importante, c'est-à-dire lorsque le nombre d'appariements entre l'image clé courante et l'image courante devient trop faible, le suivi subit un décrochage (on considère que l'estimation de la pose de l'objet n'est plus suffisamment cohérente) et une nouvelle phase d'initialisation utilisant toujours les mêmes images clés hors ligne est nécessaire.

La pose d'un objet est estimée selon les correspondances entre les points d'intérêts de l'image courante issue du flux vidéo, les points d'intérêts de l'image clé courante et les points d'intérêts de l'image précédente issue du flux vidéo. Ces opérations sont appelées phase d'appariement. A partir des corrélations les plus significatives, le logiciel calcule la pose de l'objet correspondant le mieux aux observations.

Les figures 1 et 2 illustrent cette application de suivi.

Les solutions proposées sont souvent issues de la recherche et ne prennent pas en compte les contraintes d'implémentation de systèmes commerciaux. En particulier, les problèmes liés à la robustesse, à la possibilité de lancer rapidement l'application sans nécessiter une phase manuelle de création d'une ou plusieurs images clés hors lignes nécessaires à l'initialisation du système de suivi, à la détection d'erreurs de type « décrochage » (lorsque l'objet à suivre est « perdu ») et à la réinitialisation automatique et temps réel après de telles erreurs sont souvent laissés de côté.

L'invention permet de résoudre au moins un des problèmes exposés précédemment.

L'invention a ainsi pour objet un procédé de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les étapes suivantes :

- acquisition d'un modèle générique tridimensionnel de l'objet,

- projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel, - sélection et positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,

- détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée. Le procédé selon l'invention permet ainsi de déterminer automatiquement la pose d'un objet tridimensionnel dans une image, en vue notamment de créer des images clés d'initialisation d'une application de réalité augmentée utilisant un suivi automatique, en temps réel, d'objets tridimensionnel dans un flux vidéo. Cette détermination est basée sur l'acquisition d'un modèle de l'objet et la projection de celui-ci selon au moins une représentation en deux dimensions, puis sur un positionnement d'une représentation sur l'objet dans l'image afin d'en déterminer la pose.

Selon une caractéristique particulière, le procédé comprend une étape préalable de construction d'un modèle générique tridimensionnel de l'objet à partir de l'objet tridimensionnel.

Selon une autre caractéristique particulière, le modèle générique tridimensionnel est un maillage de l'objet.

Selon un mode de réalisation, le procédé comprend une étape préalable de localisation en trois dimensions de l'objet dans l'image. Cette caractéristique permet de faciliter le positionnement d'une représentation en deux dimensions de l'objet dans l'image.

Selon un autre mode de réalisation, le procédé comprend une étape de détermination des points caractéristiques de l'objet de l'image.

Cette caractéristique permet ainsi de faciliter le positionnement d'une représentation en deux dimensions de l'objet dans l'image ainsi que la détermination de la pose tridimensionnelle d'un objet dans une image lorsqu'une représentation en deux dimensions est positionnée.

Selon une caractéristique particulière, le procédé comprend une étape préalable de détermination de points caractéristiques du modèle générique tridimensionnel de l'objet. Selon cette caractéristique, le positionnement d'une représentation en deux-dimensions est facilité ainsi que la détermination de la pose tridimensionnelle d'un objet dans une image lorsqu'une représentation en deux dimensions est positionnée.

Selon une autre caractéristique particulière, l'étape de détermination de la pose tridimensionnelle de l'objet dans l'image est en outre fonction de la distance entre les points caractéristiques déterminés du modèle générique tridimensionnel de l'objet et les points caractéristiques déterminés de l'objet dans l'image.

L'invention concerne également un procédé de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes :

- acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ; - détermination de la pose de l'objet tridimensionnel dans ladite au moins une image selon le procédé de détermination de la pose d'un objet tridimensionnel dans une image conforme à l'invention, et

- création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement. Le procédé selon l'invention permet ainsi d'automatiser la création d'images clés, en vue notamment d'initialiser ou réinitialiser une application de

réalité augmentée utilisant un suivi automatique, en temps réel, d'objets tridimensionnel dans un flux vidéo.

L'invention vise également un dispositif de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les moyens suivante :

- des moyens d'acquisition d'un modèle générique tridimensionnel de l'objet,

- des moyens de projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et des moyens d'association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel,

- des moyens de sélection et des moyens de positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,

- des moyens de détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.

De même, l'invention propose un dispositif de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce dispositif étant caractérisé en ce qu'il comprend les moyens suivants :

- des moyens d'acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ;

- des moyens de détermination de la pose de l'objet tridimensionnel dans ladite au moins une image conforme au dispositif de détermination de la pose d'un objet tridimensionnel dans une image selon l'invention, et

- des moyens de création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement.

Ces dispositifs présentent les mêmes avantages que les procédés brièvement décrits ci-dessus et ils ne seront donc pas rappelés ici.

La présente invention vise aussi un moyen de stockage, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur

comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes des procédés tels qu'exposés ci-dessus.

La présente invention vise enfin un programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes des procédés tels qu'exposés ci-dessus.

D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, au regard des dessins annexés dans lesquels :

- la figure 1 représente schématiquement les principes essentiels de l'application de suivi d'objet développé par l'Ecole Polytechnique Fédérale de Lausanne ;

- la figure 2 illustre certaines étapes du procédé pour déterminer la pose d'un objet dans une image d'un flux vidéo à partir d'images clés et de l'image précédente du flux vidéo ; - la figure 3 représente le schéma global de la création d'une ou plusieurs images clés d'un objet tridimensionnel et de géométrie quelconque, dans un environnement mettant en œuvre l'invention ;

- la figure 4 montre un exemple d'appareil permettant d'implémenter au moins partiellement l'invention ; - la figure 5 illustre un algorithme générique basé sur l'analyse d'image conformément à l'invention ;

- la figure 6 illustre un algorithme d'analyse d'image pour la création d'images clés d'un visage conformément à l'invention ; et

- la figure 7 illustre la création de modèles deux dimensions obtenus à partir du maillage tridimensionnel générique d'un visage.

Le procédé selon l'invention a en particulier pour objet la création notamment automatiquement, d'au moins une image clé d'au moins un objet tridimensionnel dans un environnement en vue de l'automatisation des phases d'initialisation et de réinitialisation après un décrochage de l'application de suivi d'objets sur des images issues d'un flux vidéo.

Selon un mode de réalisation, une image clé suffit pour l'automatisation des phases d'initialisation et de réinitialisation, notamment lorsque la pose de l'objet dans une image est retrouvée en temps réel et de façon très précise au moyen d'une analyse d'image. Toutefois une multitude d'images clés peut aussi permettre à l'application de s'initialiser pour tout type de poses relatives entre l'objet à suivre et la caméra.

La figure 3 illustre le schéma global de création d'une ou plusieurs images clés, aussi appelées images clés d'initialisation d'un objet dans un environnement mettant en œuvre l'invention, pour une application de suivi d'objet.

Comme représenté sur la figure 3, la création d'au moins une image clé d'un objet dans un environnement et l'exécution d'une application de suivi (300) en utilisant ces images clés comprennent trois phases interconnectées: une phase de création d'une ou plusieurs images clés d'initialisation (I), une phase d'initialisation du suivi qui utilisent la ou les images clés d'initialisation créent précédemment (II) et une phase de suivi d'objet (III) qui correspond au régime permanent de l'application et qui peut être utilisé pour créer de nouvelles images clés d'initialisation. La phase de création d'une première image clé (I) consiste principalement à l'acquisition d'une image représentant l'objet tridimensionnel dans une position initiale. Cette acquisition est réalisée, notamment, à partir d'un moyen de prise de vue tel qu'une caméra ou un appareil photo. Après avoir acquis l'image contenant l'objet tridimensionnel (étape 305), une première image clé est créée (étape 320) comprenant d'une part la première image acquise et la pose relative de l'objet dans l'environnement selon le point de vue de l'image. Classiquement, pour construire cette première image clé, il convient de placer manuellement le maillage tridimensionnel correspondant à l'objet sur celui-ci dans l'image. Cependant, cette étape est fastidieuse. Conformément à l'invention, un module d'analyse d'image est ainsi introduit préalablement à la création de l'image clé (étape 310) et permet de retrouver la pose de l'objet dans l'image sans intervention de l'utilisateur. Pour

ce faire, et conformément à l'invention, une connaissance préalable du type d'objet à retrouver dans l'image et une connaissance de quelques caractéristiques de celui-ci permettent en effet d'estimer la pose de l'objet dans l'espace réel. Cette approche est particulièrement intéressante lorsqu'il s'agit par exemple de retrouver la pose d'un visage dans une image. En effet, il est possible d'utiliser des caractéristiques du visage telles que les yeux ou la bouche, pour déterminer la pose de l'objet.

Afin d'améliorer la robustesse de l'algorithme de suivi, il est parfois important de capturer une série d'images clés correspondant à plusieurs poses relative entre la caméra et l'objet.

Ainsi, les étapes de cette phase I peuvent être réitérées pour la création d'une pluralité d'images clés, sans nécessiter l'intervention de l'utilisateur. Lors de la phase d'initialisation (II), à partir de ou des images clés d'initialisation créées lors de la phase I, l'application de suivi est initialisée par la recherche d'une image clé représentant l'objet dans le flux vidéo contenant l'objet à suivre (étape 320).

Lorsque la pose de l'objet est déterminée dans la première image du flux vidéo et que l'image clé courante est construite (étape 320), l'application de suivi peut retrouver l'objet (phase III) dans les images successives du flux vidéo selon un mécanisme de suivi (étape 325). Selon ce mécanisme, les déplacements de l'objet (déplacement de l'objet dans la scène ou déplacement induit par le mouvement de la caméra dans la scène) sont suivis d'une trame sur l'autre et les dérives éventuelles sont compensées grâce aux informations contenues dans l'image clé d'initialisation retenue lors de l'initialisation et, éventuellement, dans l'image clé d'initialisation calculée lors de l'exécution de l'application. Ces images clés pourront elles-mêmes servir par la suite comme image clé d'initialisation pour initialiser à nouveau l'application de façon automatique.

Lorsque la mesure d'erreur devient trop importante, le suivi subit un décrochage et une phase de réinitialisation est nécessaire. La phase de

réinitialisation est similaire à la phase d'initialisation décrite précédemment (étape 320).

Il est important de noter que ce schéma de création d'une ou plusieurs images clés peut être répété afin de permettre la création de nouvelles images clés correspondant à d'autres objets également présents dans l'image. Une fois que la création d'au moins une image clé pour chaque objet est terminée, il est possible de suivre plusieurs objets dans le flux vidéo.

La figure 4 représente schématiquement un appareil adapté à mettre en œuvre l'invention. L'appareil 400 est par exemple un micro-ordinateur, une station de travail ou une console de jeux.

L'appareil 400 comporte de préférence un bus de communication 402 auquel sont reliés :

- une unité centrale de traitement ou microprocesseur 404 (CPU, Central Processing Unit) ; - une mémoire morte 406 (ROM, Read OnIy Memory) pouvant comporter le système d'exploitation et des programmes tels que "Prog" ;

- une mémoire vive ou mémoire cache 4 08 (RAM, Random Access Memory) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ;

- une carte d'acquisition vidéo 410 reliée à une caméra 412 ; et,

- une carte graphique 416 reliée à un écran ou à un projecteur 418.

Optionnellement, l'appareil 400 peut également disposer des éléments suivants :

- un disque dur 420 pouvant comporter les programmes "Prog" précités et des données traitées ou à traiter selon l'invention ;

- un clavier 422 et une souris 424 ou tout autre dispositif de pointage comme un crayon optique, un écran tactile ou une télécommande permettant à l'utilisateur d'interagir avec les programmes selon l'invention ;

- une interface de communication 426 reliée à un réseau de communication distribué 428, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données ;

- une carte d'acquisition de données 414 reliée à un capteur (non représenté) ; et,

- un lecteur de cartes mémoires (non représenté) adapté à y lire ou à y écrire des données traitées ou à traiter selon l'invention.

Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans l'appareil 400 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du l'appareil 400 directement ou par l'intermédiaire d'un autre élément du l'appareil 400.

Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 420 ou en mémoire morte 406.

Selon une variante, le code exécutable des programmes pourra être reçu par l'intermédiaire du réseau de communication 428, via l'interface 426, pour être stocké de façon identique à celle décrite précédemment. Les cartes mémoires peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM ou DVD). De manière générale, les cartes mémoires peuvent être remplacées par des moyens de stockage d'information, lisibles par un ordinateur ou par un microprocesseur, intégrés ou non à l'appareil, éventuellement amovibles, et adaptés à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en œuvre du procédé selon l'invention.

De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 400 avant d'être exécutés. L'unité centrale 404 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 420 ou dans la

mémoire morte 406 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 420 ou la mémoire morte 406, sont transférés dans la mémoire vive 408 qui contient alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en œuvre de l'invention.

Il convient de noter que l'appareil de communication comportant le dispositif selon l'invention peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).

Alternativement, l'image issue de la carte vidéo 416 peut être transmise à l'écran ou au projecteur 418 à travers l'interface de communication 426 et le réseau de communication distribué 428. De même, la caméra 412 peut être reliée à une carte d'acquisition vidéo 410', distincte de l'appareil 400, de telle sorte que les images issues de la caméra 412 soient transmises à l'appareil 400 à travers le réseau de communication distribué 428 et l'interface de communication 426.

En raison de la simplification de mise en œuvre apportée par le procédé de l'invention, la création d'une ou plusieurs images clés d'initialisation peut être mise en œuvre sans avoir recours à un spécialiste. A l'issue de la création d'au moins une image clé, une application de suivi peut être initialisée à partir de cet ensemble et utilisée de façon standard pour suivre un objet dans une séquence d'images issues d'un flux vidéo, par exemple pour incruster une séquence vidéo sur un objet de la scène en prenant en compte la position et l'orientation de cet objet, mais aussi pour déterminer le mouvement d'une caméra selon l'analyse d'un objet de la scène. Dans ce cas l'objet fait partie du décor. Retrouver la pose de cet objet dans la scène revient donc à retrouver la pose de la caméra par rapport à celui-ci. Il devient alors possible d'ajouter des éléments virtuels dans la scène à condition que la transformation géométrique entre l'objet et le modèle géométrique de la scène soit connue. Ce qui est le

cas. Cette approche autorise donc à augmenter la scène réelle avec des objets virtuels animés qui se déplacent en fonction de la géométrie de la scène.

Il est maintenant décrit en référence à la figure 5, un algorithme générique utilisant l'analyse d'image conformément à l'invention. Cet algorithme comprend notamment deux phases, l'une pouvant être réalisée hors ligne et l'autre étant réalisée en ligne. Cette seconde phase s'exécutant, notamment, à chaque phase d'initialisation ou de réinitialisation de l'algorithme de suivi d'objets.

Les étapes réalisées hors lignes, étapes 505 à 520 consistent tout d'abord à obtenir la connaissance concernant la forme de l'objet à suivre dans l'image (étapes 505). Cette connaissance est, notamment, liée au type d'objets à suivre dans le flux vidéo.

Par exemple, cette connaissance peut concerner un ou plusieurs objets visages à localiser dans un environnement quelconque, ou encore un ou plusieurs arbres dans un paysage.

Ensuite, à l'étape 510, le modèle générique tridimensionnel de l'objet est construit à partir d'une forme générique de l'objet réel, notamment de l'objet réel à retrouver dans le flux vidéo, ce dernier pouvant être le maillage de l'objet. Sur ce maillage, il est identifié et positionné, à l'étape 515, notamment manuellement, des éléments caractéristiques de l'objet. Concernant le visage, il s'agit notamment du nez, des yeux et de la bouche.

Ensuite, le maillage avec ses éléments caractéristiques identifiés est projeté selon une ou plusieurs représentations deux dimensions, et à chacune de ces représentations, il est associé une information de pose de l'objet tridimensionnel représenté (étape 520). Chaque représentation deux dimensions correspond ainsi à une pose que l'objet tridimensionnel peut avoir.

Durant cette phase, le maillage est échantillonné selon une pluralité de positions, d'orientations et d'échelles possibles. Pour ce faire, plusieurs modèles correspondants à diverses valeurs aléatoires ou non (suivant le cas d'utilisation) dans l'espace de paramètres sont construits. Ces paramètres sont définis notamment dans l'espace tridimensionnel. Cet espace comprend les différents paramètres d'orientation suivants : le lacet (« yaw » en terminologie

anglo-saxonne) correspondant à la rotation autour de l'axe z -> φ, le tangage (« pitch » en terminologie anglo-saxonne) correspondant à la rotation autour de l'axe x -> θ et le roulis (« mil » en terminologie anglo-saxonne) correspondant à la rotation autour de l'axe y -> φ. En outre, on peut échantillonner des paramètres sur la projection du maillage dans l'image. Cette projection peut comprendre un paramètre de position (tx, ty) et deux facteurs de mise à l'échelle (sx, sy) pour tenir compte de la forme générale de l'objet à suivre.

En outre, à ces représentations du maillage générique en deux dimensions, il est associé le positionnement des éléments caractéristiques correspondant en deux dimensions.

La seconde phase de l'algorithme a lieu « en ligne ».

Pour ce faire, l'ensemble de représentations deux dimensions de l'objet tridimensionnel précédemment généré est mis à disposition (étape 525).

A partir d'un flux d'images provenant d'une vidéo ou de tout autre périphérique de capture, une image est extraite (étape 530).

Dans cette image extraite, pour simplifier la recherche de la pose de l'objet dans les étapes suivantes, l'objet dans l'image est éventuellement localisé approximativement en deux dimensions ou trois dimensions (la taille de l'objet dans l'image peut nous donner une information de profondeur), (étape 535).

Par exemple, la technique des ondelettes de Haar discrétisée permet de rechercher dans l'image un modèle similaire à celui appris au préalable sur des centaines d'objets du même type présentant de petites différences. A l'issue de cette étape, il est par exemple identifié un cadre englobant le ou les objets à rechercher dans l'image, ainsi qu'éventuellement des parties de ceux- ci.

Cette étape est suivie de l'étape 540 consistant à rechercher des éléments caractéristiques de l'objet dans l'image.

Ces éléments caractéristiques peuvent être des points, des segments et des courbes qui appartiennent à l'objet. A partir de ces éléments des informations importantes sur la position et l'orientation de l'objet peuvent être déduites. Pour ce faire le recours à des méthodes d'analyse d'image est

pertinent. Par exemple, les opérations suivantes peuvent être effectuées : des analyses de gradients, la détermination de seuils de colorimétrie dans différents espaces de couleurs, l'application de filtres, par exemple le filtre LoG (« Laplacian of Gaussian » en terminologie anglo-saxonne) ou le filtre Sobel, des minimisations d'énergie, notamment l'extraction de contours (« snake » en terminologie anglo-saxonne) en tenant compte, par exemple, de la teinte de l'objet à retrouver dans l'image pour retrouver son contour en deux dimensions. A partir, d'une part, de l'ensemble des représentations deux dimensions et, d'autre part, de l'image, il est sélectionné et positionné une représentation deux-dimensions sur l'objet de l'image pour ensuite déterminer la pose de l'objet dans l'image (étape 550). Le positionnement correspond notamment à recherche de correspondance entre la représentation deux- dimensions et l'objet dans l'image

La pose est déterminée au moins à partir de l'information de pose associée à la représentation deux-dimensions sélectionnée.

En outre, la pose est déterminée à partir de la distance entre les éléments caractéristiques retrouvés.

A l'issue de cette étape, la pose de l'objet tridimensionnelle est déterminée, comprenant notamment l'orientation et la position de l'objet. Ces informations sont utilisées pour la création d'une image clé d'initialisation pour l'application de suivi d'objets temps réel dans un flux vidéo lors de l'étape 320 de la Figure 3.

Selon un exemple de réalisation, l'application peut consister à retrouver la pose d'un objet tridimensionnel, par exemple d'un visage, dans un flux vidéo en temps réel en vue d'enrichir l'objet suivi. Une telle application fonctionne pour tout type d'objet de type « visage » présent dans le flux vidéo.

Dans l'exemple considéré du visage, l'utilisateur peut, par exemple voir, grâce à un écran de contrôle, son visage enrichi par divers objets tridimensionnels de synthèse, notamment sur son visage réel, il est ajouté un chapeau ou des lunettes. Ainsi, l'utilisateur peut ressembler à des personnages virtuels connus ou à un personnage de son choix qu'il a préalablement modélisé.

Contrairement aux techniques de l'état de l'art consistant, lors de l'initialisation du suivi du visage, à extraire une image du flux vidéo et à placer manuellement un maillage correspondant à un visage générique (étape de création manuelle d'une image clé d'initialisation), le procédé de l'invention permet de réaliser le placement du maillage automatiquement au lancement de l'application.

Il est important de noter dans un tel mode de réalisation, qu'une seule image clé d'initialisation est nécessaire puisque celle-ci est crée directement à l'initialisation de l'application par un moyen d'analyse d'image. En effet, l'analyse d'image permet de construire des images clés d'initialisation en temps réel lorsque l'utilisateur se place devant le périphérique de capture.

Cependant, il est également possible de créer de nouvelles images clés soit de la même façon que la première image clé, soit pendant le régime permanent, où les image clés d'initialisation créée « en ligne » peuvent être réutilisées, par exemple, en cas de décrochage, lors d'une phase de réinitialisation.

Ainsi, conformément à l'invention, le maillage correspondant à un visage générique est préalablement modélisé en utilisant des données de proportions générales d'un visage humain. Ces proportions étant très proches d'une personne à l'autre, l'algorithme est rendu plus robuste aux différents utilisateurs susceptibles d'interagir avec l'application.

Conformément à l'invention, la phase d'initialisation est rendue automatique, notamment par l'utilisation d'une solution d'analyse d'image pour retrouver certains points caractéristiques dans l'image. Selon l'exemple considéré, les points caractéristiques peuvent être les yeux, la bouche, le nez, les sourcils et le menton. Ces informations, ici décrites de façon non exhaustives et identifiées en fonction du type d'application à mettre en œuvre, permettent de positionner le maillage correspondant au visage de façon automatique, réaliste et précise. En effet, tout décalage dans l'estimation de la position initiale du maillage sur le visage serait ensuite très néfaste lors de l'exécution de l'application de suivi.

II est illustré en figure 6, un algorithme d'analyse d'image pour la création d'images clés d'un visage conformément à l'invention.

La recherche par analyse d'image permet tout d'abord de retrouver de façon précise la position d'un visage dans les images d'un flux vidéo (étape 600). Pour ce faire, cette analyse d'image utilise, par exemple, la technique des ondelettes de Haar discrétisée pour rechercher dans l'image un modèle similaire à celui appris au préalable sur des centaines de visages différents. A l'issue de cette étape, il est identifié un cadre englobant le visage déterminé dans l'image et éventuellement des cadres plus étroits identifiant certaines zones caractéristiques du visage (par exemple autour des yeux ou de la bouche) qui vont permettre ensuite une recherche plus précise des éléments du visage. Cette première approximation de la position de certains éléments du visage peut être insuffisante pour retrouver ces éléments caractéristiques de façon précise. L'étape suivante (étape 605) consiste ainsi à déterminer de façon plus précise dans ces régions des points, des segments et des courbes caractéristiques qui appartiennent au visage et qui nous donne des informations importantes sur la position et l'orientation du visage. Il s'agit par exemple des yeux, des sourcils, de la bouche et de l'axe du nez. Ces éléments sont retrouvés au moyen de l'analyse d'image. Pour ce faire, par exemple, les opérations suivantes sont effectuées : des analyses de gradients, la reconnaissance de formes simple (ovoïde autour des yeux), la détermination de seuils de colorimétrie (comme ceux qui caractérisent la teinte d'une bouche), l'application de filtres, par exemple le filtre LoG (« Laplacian of Gaussian », pour accentuer les contours présents dans le visage) ou le filtre Sobel (pour retrouver des points caractéristiques), des minimisations d'énergie, notamment l'extraction de contours (« snake ») en tenant compte, par exemple, de la teinte de la peau.

La recherche de ces éléments dans l'image peut également être simplifiée au moyen d'informations génériques sur des propriétés générales de dimension de visage.

II est maintenant décrit la phase d'apprentissage du maillage tridimensionnel générique dans différentes positions et mis à l'échelle avec différents facteurs (Figure 7).

Durant cette phase, le maillage est échantillonné selon une pluralité de positions, d'orientations et d'échelles possibles. Pour ce faire, plusieurs modèles correspondants à diverses valeurs aléatoires ou non (suivant le cas d'utilisation) dans l'espace de paramètres sont construits. Ces paramètres sont définis notamment dans l'espace tridimensionnel. Cet espace comprend les différents paramètres d'orientation suivants : le lacet, le tangage et le roulis. Ces paramètres peuvent varier très légèrement. En effet, on considère que l'utilisateur est plus ou moins correctement positionné devant la caméra. En outre, on peut échantillonner des paramètres sur la projection du maillage dans l'image. Cette projection peut comprendre un paramètre de position (tx, ty) et deux facteurs de mise à l'échelle (sx, sy) pour tenir compte de la forme générale de la tête de l'utilisateur. Ces paramètres peuvent également varier légèrement.

Cette étape d'apprentissage permet ainsi la création d'une série de modèles en deux dimensions simplifiés et projetés obtenus à partir du maillage tridimensionnel générique tel qu'illustré en figure 7, pour lesquels sont associés des paramètres de pose tridimensionnelle de façon à créer des images clés.

De retour à la figure 6, l'algorithme se poursuit par l'ajustement du maillage générique (étape 610) et la recherche automatique de la pose de l'objet tridimensionnel (étape 615). Pour ce faire, à partir de l'ensemble des projections correspondant au maillage générique et des informations pertinentes du visage, le maillage est ajusté et la pose de l'objet tridimensionnel dans l'image retrouvée.

Les maillages projetés et simplifiés sont ainsi comparés avec les informations pertinentes du visage, à savoir les points, les segments et les courbes, au moyen de fonctions de distance. Enfin, une opération de corrélation va permettre d'estimer la pose et la mise à l'échelle, du visage de l'utilisateur dans l'image initiale extraite du flux vidéo. En effet, tous les paramètres pertinents pour retrouver la matrice de

passage entre le maillage générique tridimensionnel et le maillage utilisé pour le suivi sont connus.

La pose du visage dans l'image extraite du flux vidéo étant connue, il est créé une première image clé d'initialisation. Celle-ci peut être utilisée directement pour permettre une initialisation automatique de l'application de suivi de visage. En effet, chaque fois que l'utilisateur est proche de la pose contenue dans cette image clé, l'initialisation a lieu. Il reste cependant possible de créer plusieurs images clés d'initialisation pour permettre une initialisation plus robuste dans diverses poses relatives du visage par rapport à la caméra. En outre, afin de surmonter d'éventuelles imprécisions lors de la détection de la position des zones importantes du visage dans l'image, l'utilisateur peut par exemple être contraint de se placer face à la caméra lors de la création de l'image clé. De cette manière, la variation des degrés de libertés est réduite lors de la recherche automatique de la pose de l'objet. Pour ce faire, il est aussi possible d'ajouter sur l'écran des cibles qui permettent de forcer l'utilisateur à se positionner correctement face à la caméra.

D'un point de vue géométrique, la matrice de transformation entre la position initiale du maillage générique et la position modifiée peut être exprimée par l'expression : S.R.T où S est la matrice de mise à l'échelle, R la matrice de rotation et 7Ia matrice de translation.

Il est important de noter que conformément à l'invention, il est possible de répéter ces opérations d'estimation de la pose du visage dans l'image afin de retrouver plusieurs utilisateurs dans le flux vidéo.

Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente.