Brevet FR2946439A1 — publié le 20101210

La présente invention concerne la combinaison d'images réelles et virtuelles en temps réel, dans un système de réalité augmentée, et plus particulièrement des procédés et des dispositifs d'identification d'objets réels, de suivi de la représentation de ces objets et de réalité augmentée, dans une séquence d'images, en mode client-serveur pour permettre notamment la mise en oeuvre d'application de réalité augmentée dans des dispositifs distants, en particulier des dispositifs mobiles comprenant de faibles ressources. 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 de 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 ou un élément du décor. De façon générale, les objets virtuels insérés correspondent à des éléments réels présents dans la scène. Ainsi, il peut être nécessaire d'effectuer une étape préalable d'identification ou de reconnaissance de ces objets réels présents dans la scène, en particulier lorsque ces objets sont nombreux. Lorsque la position et l'orientation des objets virtuels 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. L'objectif des algorithmes de suivi visuel, ou de suivi par capteur, est de retrouver de façon très précise, dans une scène réelle, la pose, c'est-à-dire la position et l'orientation, d'un objet dont l'information de géométrie est disponible ou, de manière équivalente, de retrouver les paramètres extrinsèques de position et d'orientation d'une caméra filmant cet objet, grâce à l'analyse d'image. II existe plusieurs méthodes pour suivre un objet dans une séquence d'images, c'est-à-dire dans un flux vidéo. Généralement, les algorithmes de suivi, aussi appelé algorithmes de poursuite de cible, utilisent un marqueur qui peut être visuel ou utiliser d'autres moyens tel que des capteurs, de préférence sans fil de type radio fréquences ou 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 en terminologie anglo-saxonne, obtenue à l'initialisation du système et une image clé mise à jour durant l'exécution du suivi visuel. Le principe de cet algorithme est décrit par exemple dans l'article intitulé � Fusing Online and Offline Information for Stable 3D Tracking in Real-Time � - Luca Vacchetti, Vincent Lepetit, Pascal Fua - IEEE Transactions on Pattern Analysis and Machine Intelligence 2004. L'objectif de cet algorithme de suivi visuel est de retrouver, dans une scène réelle, la pose d'un objet dont le maillage tridimensionnel est disponible sous forme de modèle tridimensionnel (3D), ou de retrouver, de manière équivalente, les paramètres extrinsèques de position et d'orientation d'une caméra filmant cet objet, immobile, grâce à l'analyse d'image. L'image courante est ici 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) de l'objet réel apparaissant dans cette image. Les images clés 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. Les images clés 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 de suivi. II est intéressant de noter que pour des cibles ou objets de type planaire, par exemple un magazine, ces images clés peuvent être directement générées à partir d'une image disponible de l'objet, par exemple au format JPEG ou bitmap. Dans le cas de cibles non planaires, par exemple un visage, il est possible de générer un ensemble d'images clés à partir d'un modèle tridimensionnel texturé de l'objet. Chaque image clé hors 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, de points de type SURF (acronyme de Speeded-Up Robust Features en terminologie anglo-saxonne), SIFT (acronyme de Scale-Invariant Feature Transform en terminologie anglo-saxonne), YAPE (acronyme de Yet Another Point Extractor en terminologie anglo-saxonne) ou MSER (sigle de Maximally Stable Extrema/ Regions en terminologie anglo-saxonne) et représentent des emplacements avec des fortes valeurs de gradients directionnels dans l'image et une description de variation de l'image au voisinage de ces points. Ces points d'intérêt peuvent également contenir des descripteurs qui décrivent le voisinage d'un point. Ces descripteurs peuvent prendre la forme de portions d'image (Harris) ou encore des valeurs de gradient dans un voisinage d'un point. Avant d'initialiser l'application de suivi, 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 à suivre, et auxquelles sont associées une position et une orientation du modèle tridimensionnel de cet objet. Pour cela, un opérateur fait 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 Tp,c, matrice de passage entre le repère associé à l'objet suivi vers le repère attaché à la caméra. 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 de suivi, 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 d'adapter l'application de détection et d'appariement pour obtenir une meilleure qualité d'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 ligne, le nombre d'appariements devient important. Il est alors possible de retrouver la transformation affine permettant de caler le modèle tridimensionnel de l'objet sur l'objet réel. Lorsqu'une telle correspondance a été trouvée, l'algorithme de suivi passe en régime permanent. Les déplacements de l'objet sont suivis d'une image 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. Il convient de noter que pour des besoins de précision, cette image clé hors ligne peut être reprojetée en utilisant la pose estimée de l'image précédente. Cette reprojection permet ainsi d'avoir une image clé qui contient une représentation de l'objet similaire à celle de l'image courante et peut ainsi permettre à l'algorithme de fonctionner avec des points d'intérêts et des descripteurs non robustes aux rotations. L'application de suivi combine ainsi deux types d'algorithmes distincts : une détection de points d'intérêts, par exemple une version modifiée de détection de points de Harris ou encore de détection de points de type SIFT ou SURF, 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 image sur l'autre, extraites du flux vidéo. 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 ûPI • PE T_> • 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éel, et Tp_4, est la matrice de passage entre le repère associé à l'objet suivi vers le repère attaché à 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, p,, • P . La matrice PI étant connue, le problème de suivi consiste donc à déterminer la matrice c'est à dire la position et l'orientation de l'objet par rapport au repère de la caméra. Pour ce faire, un algorithme dit de � minimisation d'erreur � est employé afin de trouver la meilleure solution pour l'estimation Tp,, en utilisant l'ensemble des correspondances tridimensionnelles sur le modèle géométrique et bidimensionnelles (2D) dans l'image courante et dans l'image clé. A titre d'exemple, un algorithme de type RANSAC (acronyme de RANdom SAmple Consensus en terminologie anglo-saxonne) ou PROSAC (acronyme de PROgressive SAmple Consensus en terminologie anglo-saxonne), permettant de supprimer les erreurs de mesures (correspondances 2D/3D erronées) peut être combiné avec un algorithme de type Levenberg-Marquardt pour converger rapidement vers une solution optimale qui réduit l'erreur de reprojection. Le demandeur a développé un algorithme de suivi visuel d'objets n'utilisant pas de marqueur et dont l'originalité réside dans l'appariement de points particuliers entre l'image courante (et précédente) d'un flux vidéo et un ensemble d'images clés, obtenues automatiquement à l'initialisation du système. Un tel algorithme est notamment décrit dans la demande de brevet français FR 2 911 707. Cet algorithme permet, dans un premier temps, d'identifier l'objet positionné devant la caméra puis d'initialiser de façon totalement automatique, sans contrainte de positionnement, le procédé de suivi de l'objet. Cet algorithme permet notamment d'identifier et de suivre un grand nombre d'objets présents au même instant dans un flux vidéo et permet ainsi l'identification et la poursuite de cibles ou d'objets dans une scène réelle. II est particulièrement robuste aux occlusions et permet ainsi de suivre des objets dont les projections 2D dans l'image se recouvrent. Ces objets peuvent être de géométries différentes et présenter des aspects colorimétriques variés. A titre d'exemple, mais de façon non limitative, il peut s'agir de plateaux texturés, de visages, d'habits, de scènes naturelles ou encore de studio de télévision ou de bâtiments. Ces algorithmes de suivi d'objets sont souvent mis en oeuvre dans des systèmes autonomes fixes ou mobiles. Néanmoins, il existe des implémentations utilisant une architecture de type client-serveur permettant de déporter les coûts de calcul sur un serveur distant, offrant plus de ressources que le client. Dans ce cas, les fonctionnalités mises en oeuvre pour suivre des objets sont exécutées sur le serveur permettant ainsi à plusieurs clients de se connecter simultanément et de recevoir des informations sur la pose des objets dans des images transmises sous forme de requêtes. Une telle solution peut notamment être utilisée dans des d'applications qui visent à faire apparaître des objets de synthèse sur les écrans d'appareils de vision de type HMD (sigle de Head Mounted Device en terminologie anglo-saxonne). Dans ce type d'architecture, l'augmentation se fait généralement dans le serveur en fonction de la pose estimée de ces objets dans le flux vidéo. Cependant, ces implémentations de suivi d'objet selon un mode client-serveur connaissent certaines limites. En particulier, elles ne permettent d'identifier un objet dont une représentation est présente dans une image que par rapport à un nombre très limité d'objets. De plus, le délai de traitement effectué par les serveurs devient rapidement très élevé lorsqu'un grand nombre de clients transmet des requêtes. Par exemple, afin de réaliser une application de réalité augmentée, le serveur doit recevoir l'ensemble des images du flux vidéo de ses clients pour y insérer des objets de synthèse et retransmettre ce flux vidéo aux clients. 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é pour ordinateur d'identification d'au moins un objet réel dont une représentation est présente dans au moins une image, en temps réel, dans une architecture de type client-serveur, ce procédé comprenant les étapes suivantes, - acquisition de ladite au moins une image ; détermination d'au moins un élément singulier de ladite au moins une image ; - transmission d'au moins une information relative audit au moins un élément singulier déterminé à un serveur comprenant des moyens d'identification dudit au moins un objet réel à partir de ladite au moins une information ; et, - en réponse à ladite transmission, réception d'une information relative à l'identification dudit au moins un objet réel. Le procédé selon l'invention permet ainsi d'identifier en temps réel des objets réels présent dans le champ d'une caméra en bénéficiant d'une architecture client-serveur. Selon ce procédé, les ressources nécessaires à l'identification d'objets réels sont réparties entre le client et le serveur tout en limitant le volume des données échangées. De façon avantageuse, ladite étape de détermination d'au moins un élément singulier de ladite au moins une image est répétée pour une pluralité d'images, ladite au moins une information relative audit au moins un élément singulier déterminé étant estimée selon au moins un élément singulier déterminé dans plusieurs images de ladite pluralité d'images afin d'améliorer la reconnaissance d'objets réels. Selon un mode de réalisation particulier, le procédé comprend en outre une étape de transmission audit serveur d'une information relative à la pose et/ou à la stabilité du dispositif mettant en oeuvre ladite étape d'acquisition de ladite au moins une image et/ou à la nature dudit au moins un objet réel afin d'accélérer et/ou d'optimiser l'identification d'objets réels. De façon avantageuse, le procédé comprend en outre une étape de réception d'au moins une donnée permettant de reconnaître une représentation dudit au moins un objet réel dans au moins une seconde image distincte de ladite au moins une image, appelée au moins une première image, en réponse à ladite transmission, pour suivre ledit objet réel. Le procédé selon l'invention peut ainsi être utilisé pour suivre en temps réel des objets identifiés. Le procédé comprend en outre, de préférence, une étape de réception d'au moins une donnée à insérer dans une image comprenant une représentation dudit objet réel identifié et une étape d'insertion de ladite au moins une donnée à insérer dans ladite image comprenant ladite représentation dudit objet réel identifié. Le procédé permet ainsi la mise en oeuvre d'applications de réalité augmentée. L'invention a également pour objet un procédé pour ordinateur d'identification d'au moins un objet réel dont une représentation est présente dans au moins une image, en temps réel, dans une architecture de type client-serveur, ce procédé comprenant les étapes suivantes, - création d'un ensemble de données permettant d'identifier une 15 représentation dudit au moins un objet réel dans une image ; - réception d'au moins une information relative à au moins un élément singulier d'au moins une image ; - identification dudit au moins un objet réel selon ledit ensemble de données et ladite au moins une information ; et, 20 - transmission d'au moins une information relative à ladite identification dudit au moins un objet réel. Le procédé selon l'invention permet ainsi d'identifier en temps réel des objets réels présent dans le champ d'une caméra en bénéficiant d'une architecture client-serveur. Selon ce procédé, les ressources nécessaires à 25 l'identification d'objets réels sont réparties entre le client et le serveur tout en limitant le volume des données échangées. Il permet en outre une mise à jour centralisée, en temps réel, de la base de données utilisée pour identifier des objets réels. Selon un mode de réalisation particulier, ladite étape de création 30 comprend une étape d'élaboration d'une structure de décision pour accélérer l'identification d'objets réels. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape de réception d'au moins une information complémentaire, ladite au moins une information complémentaire étant utilisée dans ladite étape d'identification et étant relative à la pose et/ou à la stabilité du dispositif d'acquisition de ladite au moins une image et/ou à la nature dudit au moins un objet réel afin d'accélérer et/ou d'optimiser l'identification d'objets réels. De façon avantageuse, ladite au moins une information reçue est relative à au moins deux éléments singuliers d'au moins une image, ladite étape d'identification dudit au moins un objet réel comprenant une étape d'analyse de la position relative desdits au moins deux éléments singuliers afin d'améliorer l'identification d'objets réels parmi un grand nombre d'objets réels. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape d'estimation de la pose dudit au moins un objet réel identifié, ladite au moins une information relative à ladite identification dudit au moins un objet réel comprenant ladite pose estimée pour faciliter l'identification d'objets réels dans d'autres images. Le procédé comprend en outre, de préférence, une étape de transmission d'au moins une information relative audit au moins un objet réel identifié permettant de reconnaître une représentation dudit au moins un objet réel dans au moins une seconde image distincte de ladite au moins une image, appelée première image, pour suivre ledit objet réel. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape de détermination d'au moins une donnée caractéristique d'au moins une représentation dudit au moins un objet réel identifié, ladite au moins une information relative audit objet réel identifié comprenant ladite donnée caractéristique pour améliorer le suivi d'objets réels identifiés. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape d'activation de service associé audit au moins un objet réel identifié. Alternativement ou de façon complémentaire, le procédé comprend en outre une étape de transmission d'au moins une donnée à insérer dans une image comprenant une représentation dudit objet réel identifié pour permettre la mise en oeuvre d'applications de réalité augmentée. Toujours selon un mode de réalisation particulier, ladite au moins une information relative à au moins un élément singulier d'une image comprend une portion d'image relative audit point singulier. L'invention a également pour objet un programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé décrit précédemment lorsque ledit programme est exécuté sur un ordinateur ainsi qu'un dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes de ce procédé. Les avantages procurés par ce programme d'ordinateur et ce dispositif sont similaires à ceux évoqués précédemment. 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, 15 au regard des dessins annexés dans lesquels : - la figure 1 illustre un exemple d'environnement dans lequel l'invention peut être mise en oeuvre ; - la figure 2 illustre certaines étapes exécutées dans un client et dans un serveur pour mettre en oeuvre l'invention ; 20 - la figure 3 illustre un exemple de détermination des données utilisées pour identifier un objet planaire dans des images ; - la figure 4 illustre une mise en oeuvre particulière de l'algorithme illustré sur la figure 2 ; - la figure 5 illustre un exemple de dispositif adapté à mettre en 25 oeuvre l'invention ou une partie de l'invention. L'invention permet notamment à des dispositifs mobiles d'exécuter des applications de réalité augmentée sans qu'il soit nécessaire que ceux-ci intègrent des ressources importantes de calcul, de stockage et d'initialisation. De façon générale, les calculs et les connaissances sont déportés dans un ou 30 plusieurs serveurs, les dispositifs mobiles effectuant néanmoins certains traitements pour éviter que le volume de données échangées, en particulier le nombre d'images, ne soit excessif. La figure 1 illustre un exemple d'environnement 100 dans lequel l'invention peut être mise en oeuvre. Les serveurs 105-1 et 105-2, génériquement référencés 105, sont ici accédés par les clients 110-1 à 110-3, génériquement référencés 110, via un réseau 115, par exemple le réseau Internet. Les clients 110 sont ici des dispositifs mobiles tels que des téléphones mobiles, des assistants personnels, aussi appelés PDA (sigle de Persona/ Digital Assistant en terminologie anglo-saxonne), et des ordinateurs personnels portables, aussi appelés laptop ou notebook en terminologie anglo- saxonne. Il convient de noter que si les clients 110 sont ici mobiles, l'invention peut également être mise en oeuvre avec des dispositifs fixes, notamment des ordinateurs personnels standard, aussi appelés desktop en terminologie anglo-saxonne. A titre d'illustration, les connexions entre les clients 110-1 et 110-2 et le réseau 115 sont ici des connexions sans fil, par exemple des connexions de type GSM (sigle de Global System for Mobile communications en terminologie anglo-saxonne) ou WiFi tandis que les connexions entre le client 110-3 et le réseau 115 ainsi qu'entre les serveurs 105-1 et 105-2 sont des connexions filaires, par exemple des connexions Ethernet. Cependant, si le débit des connexions doit être suffisant pour permettre la mise en oeuvre de l'invention, leur nature est sans importance ici. De façon générale, les serveurs 105 sont utilisés pour calculer et stocker des données permettant d'identifier des objets réels à partir de descripteurs, d'identifier ces objets à partir de descripteurs (durant une phase de régime permanent), de créer et stocker des médias associés à ces objets servant à augmenter des images réelles selon la pose de ces objets et de générer des données permettant aux clients 110 de suivre ces objets dans une séquence d'images (durant une phase de régime permanent). Les dispositifs mobiles sont essentiellement utilisés pour acquérir des séquences d'images, détecter des descripteurs dans ces images et, éventuellement, les envoyer, suivre des représentations d'objets dans ces images selon des données reçues et insérer des médias reçus dans ces images selon la pose des objets détectés. Il est observé que l'expression serveur désigne ici un serveur ou un groupe de serveurs. La figure 2 illustre plus précisément certaines étapes exécutées dans un client 200 et dans un serveur 205 pour mettre en oeuvre l'invention. Une première étape, exécutée dans le serveur 205, a pour objet la création de données permettant d'identifier la représentation d'objets dans des images (étape 210). Cette étape est avantageusement réalisée hors ligne durant une phase d'apprentissage. Cependant, elle peut également être réalisée, au moins partiellement, pendant une phase de régime permanent pour permettre l'ajout dynamique de nouvelles informations liées à de nouveaux objets ou non. Cette étape est répétée pour chaque objet devant être identifié ultérieurement. Elle n'est, en principe, réalisée qu'une fois par objet. Néanmoins, elle peut être répétée, en particulier, lorsque l'objet est modifié ou que son identification peut être améliorée. Elle permet de mémoriser, dans une base de données 215, des éléments caractéristiques de différentes représentations d'objets, appelés descripteurs, par exemple des ensembles consistant en des points singuliers, ou points d'intérêt, et leur entourage formant une portion d'image, par exemple une portion d'image circulaire ou elliptique, ou un contour. Selon un mode de réalisation particulier, ces données peuvent être organisées selon des arbres de classification tels que des arbres de décision binaires (voir par exemple l'article � Keypoint Recognition using Randomized Trees� V. Lepetit and P. Fua, EPFL, 2006) ou encore selon des structures à ramifications multiples, aussi appelées arbres de décision de type ferns (voir par exemple l'article � Fast Keypoint Recognition using Random Ferns � M. Ozuysal, P. Fua et V. Lepetit), permettant une classification simple et rapide par comparaison d'intensité d'image autour d'un point d'intérêt de type Harris, Fast ou YAPE. Alternativement, lorsque d'autres algorithmes de classification sont utilisés tels que les algorithmes de type � k plus proches voisins � ou kd-trees, la base de données peut être organisée différemment ou ne pas être organisée. De tels algorithmes se révèlent particulièrement efficaces lorsque des descripteurs robustes de type MSER, SIFT ou SURF sont utilisés. Une autre étape a pour objet de créer des médias associés aux objets pouvant être identifiés (étape 220). Ces médias sont ici mémorisés dans la base de données 215. Ils représentent par exemple du texte, des sons, des images fixes ou animées et/ou des modèles tridimensionnels texturés animés ou non. II est également possible, de façon alternative ou complémentaire, d'associer des services à activer, comme par exemple l'ouverture d'une page internet, le paiement d'une facture ou la réception d'un courrier électronique, aux objets pouvant être identifiés. Ils sont associés à un ou plusieurs objets réels afin d'être transmis aux clients lorsque ces objets réels sont identifiés dans leur image courante. Ces médias peuvent être insérés dans une image lorsqu'une représentation des objets réels auxquels ils sont associés est identifiée dans l'image, selon la pose de ces objets. Ils peuvent être modélisés au moyen d'outils standard de modélisation bidimensionnel ou tridimensionnel. Comme l'étape 210, l'étape 220 est avantageusement réalisée hors ligne durant une phase d'apprentissage dans le serveur 205. Néanmoins, cette étape peut également intervenir lors du régime permanent de l'application afin d'éviter une coupure du service. Par ailleurs, les étapes 210 et/ou 215 peuvent être effectuées dans un serveur distant pour ne pas perturber le fonctionnement du serveur 205. II convient de remarquer ici que les étapes 210 et 215 peuvent être exécutées l'une après l'autre, dans un sens ou dans un autre, ou de façon parallèle. Ces deux étapes permettent de créer une base de données qui est utilisée lors du régime permanent de l'application de réalité augmentée. Une première étape de l'application de réalité augmentée, durant sa phase de régime permanent, consiste à acquérir, à partir du client 200, une image (étape 225). A ces fins, un capteur d'images associé au dispositif � client � permet l'acquisition d'images en temps réel avec une fréquence et une résolution qui dépendent des caractéristiques techniques du dispositif. Les images capturées sont ensuite, de préférence, converties en niveaux de gris afin d'améliorer la robustesse, en particulier aux variations de luminosité et aux caractéristiques techniques inégales des capteurs d'images, et de simplifier les calculs. Les images acquises et éventuellement converties peuvent également être sous échantillonnées et filtrées, par exemple avec un filtre � passe bas �, pour optimiser les temps de calculs et diminuer le bruit présent dans l'image. L'image acquise et convertie est appelée l'image courante. Dans une étape suivante (étape 230), mise en oeuvre dans le client 200, les points d'intérêts de l'image courante sont détectés afin de construire, à partir de ceux-ci, des descripteurs. Ainsi, lorsqu'une image courante est obtenue, elle est traitée avec un détecteur de points d'intérêts, appelés keypoints en terminologie anglo-saxonne. Il peut s'agir notamment d'un détecteur de points de Harris ou encore des détecteurs de type MSER, FAST, SURF, SIFT ou YAPE. Lorsque ces points sont identifiés, des descripteurs sont construits afin de permettre un appariement avec des points identifiés sur des objets de référence. Lorsque des arbres de type binaire ou une approche optimisée de type ferns sont utilisés, il n'est pas nécessaire de créer de descripteurs particuliers. Dans un tel cas, des portions d'images extraites autour des points d'intérêt sont utilisées. Lorsqu'un algorithme de type MSER, SIFT ou SURF est utilisé, les descripteurs sont de préférence déterminés sur le dispositif � client � 200 pour éviter la transmission d'images et optimiser les temps de calcul des serveurs. Les descripteurs déterminés ou les portions d'images extraites sont alors transmis au serveur comme illustré par la flèche 235 pour permettre l'identification d'objets sur l'image courante à partir de ces informations. Lorsque le serveur reçoit des descripteurs ou des portions d'images, nécessaires à l'identification d'objets présents dans l'image courante, une étape d'identification d'objets est effectuée (étape 240). Selon un mode de réalisation particulier, le serveur utilise ces données, en totalité ou en partie, pour estimer et leur associer une probabilité d'appartenir à un des objets enregistrés dans la base de données du système. Un objet est identifié, par exemple, dès que la probabilité estimée atteint un seuil prédéterminé. Selon la nature des applications de réalité augmentée visée, l'identification d'objets peut prendre fin dès qu'un objet ou un nombre prédéterminé d'objets est identifié ou se poursuivre jusqu'au traitement de toutes les données reçues. Lorsqu'un objet est identifié, le serveur 205 génère des informations permettant le suivi de cet objet (étape 245). II peut s'agir, suivant l'algorithme de suivi utilisé dans le dispositif � client � 200 et du type d'objet reconnu, d'une identification de l'objet (par exemple une chaîne de caractères), de la pose de l'objet, d'une identification du numéro de l'image dans laquelle l'objet a été retrouvé (appelée timecode en terminologie anglo-saxonne), d'une image contenant l'objet et sa pose associée ou encore d'un ensemble de descripteurs décrivant l'objet, par exemple des correspondances 2D/3D et une portion d'image associée, et sa géométrie. Comme indiqué par la flèche 250, ces informations sont transmises au client 200. II convient d'observer ici que si le mode de réalisation décrit vise l'identification et le suivi d'objets réels dans une séquence d'images pour insérer des objets virtuels selon la pose d'objets réels identifiés, il est possible de combiner les étapes d'identification d'objets réels avec les étapes d'insertion d'objets virtuels pour augmenter une seule image ou un ensemble d'images � fixes �. Il est également possible de n'utiliser que les étapes d'identification d'objets réels pour identifier la représentation d'objets réels dans une ou plusieurs images. Dès la réception des premières de ces informations, un algorithme de suivi d'objets mis en oeuvre dans le dispositif � client � peut être initialisé pour commencer le suivi des objets identifiés (étape 255). Ces premières informations sont, par exemple, la pose de l'objet dans l'image et sa géométrie. Les informations reçues par la suite, notamment les descripteurs, sont utilisées � à la volée � par l'algorithme de suivi d'objets pour en améliorer les résultats. Ainsi, il n'est pas nécessaire pour le client 200 de recevoir toutes les informations de suivi du serveur 205 pour commencer à suivre un objet. Parallèlement, comme illustré par la flèche 260, lorsque le serveur 205 a identifié un ou plusieurs objets, il transmet au client 200 les médias associés aux objets identifiés. Ainsi, lorsque des objets sont suivis dans une séquence d'images, dans le dispositif � client �, il est possible d'enrichir ces images (étape 265). En d'autres termes, il est alors possible de corréler l'affichage d'objets de synthèse avec la pose des objets réels présents dans la scène. Comme indiqué précédemment, ces médias peuvent prendre la forme de texte à surimposer dans le flux vidéo, d'images, de flux vidéos devant être affichés, par exemple, sur des éléments 3D présents dans la scène, de flux audio et/ou d'objets de synthèse 3D animés. Il convient de remarquer ici que l'algorithme illustré sur la figure 2 permet l'envoi de médias de façon progressive. Ainsi, à titre d'illustration, lorsqu'un média comprend des objets de synthèse 3D complexes et animés, il est possible de transmettre, dans un premier temps, le modèle simplifié, appelé wireframe en terminologie anglo-saxonne, et sa texture en basse résolution puis, ultérieurement, le modèle détaillé et la texture sur-échantillonnée et, enfin, les informations relatives aux animations. Comme indiqué précédemment, l'identification d'objets peut être 15 réalisée en utilisant des arbres de décision, notamment des arbres de décision de type binaires ou une approche équivalente de type ferns. Il existe notamment une technique d'extraction de points d'intérêt et d'appariement de portions d'images, rapide et robuste, développée par Vincent Lepetit et Pascal Fua (� Keypoint Recognition using Randomized Trees � V. 20 Lepetit and P. Fua, EPFL, 2006). Elle permet d'apparier des objets similaires présents dans deux images, vus selon des points de vue assez éloignés. Le problème d'appariement est ici traité comme un problème de classification dont chaque classe correspond à un sous ensemble de toutes les vues possibles autour d'un point d'intérêt. Plusieurs modèles des différents objets 25 potentiellement présents dans la scène réelle sont ainsi construits lors d'une phase d'apprentissage pour être comparés avec des portions de l'image courante issue du capteur d'image. Les objets enregistrés peuvent présenter des géométries proches du plan ou des géométries 3D quelconques. Si les objets sont sensiblement 30 planaires, le sous-ensemble de vues est généré en utilisant des transformations affines. Si les objets ont des géométries 3D quelconques un modèle projectif peut être utilisé pour générer le sous-ensemble de vues. Ce procédé permet d'obtenir l'indice des objets représentés dans l'image courante mais aussi d'estimer leur pose en six degrés de liberté (position et orientation). Durant une phase d'apprentissage, hors ligne, un grand nombre de vues sont synthétisées à partir d'au moins une image de l'objet cible. Des points d'intérêt sont extraits de chacune de ces vues. Si l'objet est sensiblement planaire, les vues sont synthétisées en appliquant une transformation affine à l'image. Si, au contraire, l'objet est de géométrie quelconque, les vues sont synthétisées à partir d'un modèle 3D texturé de celui-ci en utilisant des techniques classiques de rendu, par exemple les technologies OpenGL (acronyme d'Open Graphics Library, développées initialement par la société Silicon Graphics Inc.) ou Direct3D (développées par la société Microsoft). S'il s'agit d'objets sensiblement planaires, des points d'intérêts k; sont détectés sur une image disponible de l'objet, par exemple avec un détecteur YAPE, et une petite portion d'image autour de ce point, ou fenêtre, par exemple un bloc de 32x32 pixels (acronyme de picture element en terminologie anglo-saxonne), est extraite. Ces portions d'images entourant les points d'intérêts k; sont proche du plan et peuvent être traitées avec des transformations homographiques. Dans ce cas, une vue frontale de l'objet cible est suffisante pour générer le sous-ensemble des nouvelles vues. Celles-ci sont approximées par des transformations affines. Une transformation affine peut être décomposée selon la relation suivante, A= RB RO SRo où Ro et Ro sont deux matrices de rotation respectivement paramétrées par les angles e et D et S=diag[À1,À2] est une matrice d'échelle. A titre d'illustration, il est possible de choisir de répartir les angles 8 et D uniformément dans l'intervalle [- n, + n], et À1 et À2 dans l'intervalle [0.6,1.5]. Si l'objet est plus complexe, il est possible d'utiliser un modèle 3D construit automatiquement, par exemple avec un scanner tridimensionnel ou un modèle 3D obtenu à l'aide d'un modeleur ou d'un logiciel de reconstruction 3D se basant sur plusieurs images d'un même objet tel qu'ImageModeler de la société RealViz (ImageModeler est une marque). Ce modèle est ensuite utilisé pour générer les nouvelles vues avec des techniques standard de rendu. Lorsque l'ensemble des vues est généré, un ensemble de portions d'image correspondant aux différentes vues est obtenu pour chaque point d'intérêt. Afin d'améliorer la qualité du modèle de classification à créer, les points d'intérêts (et la portion d'image associée) les plus représentatifs sont sélectionnés. Idéalement, les k; points d'intérêts doivent avoir une haute probabilité P(ki) d'être trouvés dans une image s'ils sont visibles, en considérant des déformations de perspective et la présence de bruit. Si T est la transformation géométrique utilisée pour synthétiser une nouvelle vue, T est une transformation affine ou une projection. En appliquant l'inverse de la transformation T, notée T-1, à un point d'intérêt la position de ce point est retrouvée dans le système de référence. Par conséquent, en considérant plusieurs vues synthétiques, la probabilité P(k;) peut être estimée simplement en comptant le nombre de fois où le point se retrouve dans le système de référence. L'ensemble des points d'intérêts et des portions d'images associées est alors construit en retenant seulement les points d'intérêt ayant une probabilité P(k;) supérieure à un seuil prédéterminé. Pour améliorer le temps de réponse de l'algorithme de détection d'objets, des arbres de décision sont utilisés pour classifier les différentes vues de l'objet disponibles. Un arbre de décision contient ici des noeuds qui représentent un test simple à effectuer et permettant de séparer l'espace des portions d'images à classifier. Ce test consiste, par exemple, à comparer l'intensité (I) de deux pixels (mi et m2) appartenant à une portion d'image, préférablement lissée par une gaussienne. Ainsi, si l'intensité du pixel mi, notée I(ml), est supérieure à l'intensité du pixel m2, notée I(m2), une première branche de l'arbre, partant du noeud considéré, est sélectionnée. Dans le cas contraire, si 1(m1) est inférieure à 1(m2), l'autre branche du noeud est sélectionnée. Chaque feuille contient une estimation de la distribution de probabilités, déterminée a posteriori, de toutes les classes basées sur les données d'apprentissage. Une nouvelle portion d'image est donc classifiée en la faisant descendre dans l'arbre et en effectuant sur celle-ci le test élémentaire à chaque noeud en considérant des pixels mi et m2 différents, de préférence choisis aléatoirement. Quand une portion d'image atteint une feuille, une probabilité d'appartenir à une classe lui est assignée. Cette probabilité dépend de la distribution de probabilité stockée dans la feuille qui est mise à jour lors de la phase d'apprentissage. Il convient de remarquer qu'un seul arbre ne peut généralement pas décrire tous les tests possibles et risque de conduire à des résultats insuffisants. Ainsi, avantageusement, plusieurs arbres sont construits à partir d'un sous-ensemble de portions d'images tirées aléatoirement à partir de l'ensemble de portions d'images correspondant aux points d'intérêts trouvés. Chacun des arbres décrit ainsi une partition unique de l'espace d'une portion d'image. Durant la phase d'identification, les réponses de chaque arbre sont combinées pour classifier une portion d'image. Par ailleurs, les arbres ont, de préférence, une profondeur limitée, par exemple 15. Lors de la phase d'identification, un traitement similaire est appliqué aux portions d'images qui entourent les points d'intérêts détectés dans l'image courante. Lorsque ces portions d'image atteignent les feuilles des différents arbres, une distribution de probabilité dk(m) pour chaque point m d'appartenir à une classe Ck est déterminée. La moyenne des réponses obtenues permet de déterminer à quelle classe appartiennent ce point d'intérêt et sa portion d'image associée selon la relation suivante, C(m) = arg max L E d k (m) où L représente le nombre d'arbres utilisés. Les appariements trouvés lors de cette classification en temps réel sont utilisés pour estimer l'homographie du plan grâce à des techniques classiques de minimisation. Un algorithme de type RANSAC peut, par exemple, être utilisé pour réaliser une première estimation de la transformation affine afin, notamment, de rejeter les faux appariements et d'estimer une première pose de l'objet dans l'image. Ensuite, il est possible d'utiliser une minimisation non linéaire de type Levenberg-Marquardt pour affiner cette première estimation. Il est important de noter qu'un grand nombre d'objets peut être enregistré dans le système (plusieurs dizaines de milliers). Cela a pour conséquence statistique que certains objets de cette base de données de reconnaissance peuvent présenter des similarités et provoquer des erreurs durant la phase d'estimation des probabilités. Afin de remédier à ce problème, l'information géométrique sur la position relative des points d'intérêt décrite précédemment est avantageusement utilisée afin de choisir le meilleur candidat parmi les identifications potentielles. L'utilisation d'une classification similaire basée sur des structures de type ferns permet d'améliorer les résultats par rapport à un arbre de décision de type binaire. Il est observé ici que l'utilisation d'une classification basée sur des arbres de décision ne requiert pas la construction de descripteurs particuliers autour des points d'intérêt, ce qui permet un gain de performance important. Ainsi, selon un mode de réalisation particulier, les données utilisées pour identifier des objets comprennent des couples de points d'intérêt et de portions d'images, organisés sous forme d'arbres de décision. La figure 3 illustre un exemple de détermination de données utilisées pour identifier un objet planaire dans des images. La représentation 300 d'une carte de jeu est ici convertie pour réduire sa dynamique. Bien que non visible sur la figure 3, l'image 300, en couleur, est convertie en l'image 305 en niveaux de gris. Comme indiqué précédemment, une telle conversion permet notamment d'améliorer la robustesse de l'identification d'objets. Les points d'intérêt de l'image 305 sont alors déterminés selon un algorithme standard mettant en oeuvre, par exemple, un détecteur de Harris qui permet de trouver, en particulier, le point 310. Parallèlement, des transformations affines et/ou d'autres types de transformations, notamment des dégradations, sont appliquées à l'image 305. L'image 305 ainsi que les images résultantes de ces transformations sont ensuite utilisées pour l'extraction de portions d'images autour des points d'intérêts déterminés. Des exemples de telles portions d'images extraites autour du point 310 sont représentées sur la figure 3 avec les références 315-1 à 315-4. Il est ainsi possible d'extraire toutes les portions d'images (référence 320) associés à tous les points d'intérêt détectés. Après une éventuelle sélection des points d'intérêt permettant d'éliminer les moins pertinents, les points d'intérêts et les portions d'images associés sont organisés sous forme d'arbres de décision comme indiqué précédemment. Selon un mode d'implémentation particulier, un algorithme de suivi d'objets comprenant une étape d'identification d'objets utilisant des arbres de décision de type binaire ou des structures de type ferns est combiné avec un algorithme d'augmentation de scène selon un mode client-serveur. Un tel mode de réalisation est illustré sur la figure 4 entre un client 400 et un serveur 405. II correspond à une mise en oeuvre particulière de l'algorithme illustré sur la figure 2. Une première étape, exécutée dans le serveur 405, a pour objet la création des données permettant d'identifier la représentation d'objets dans une image (étape 410). Comme indiqué précédemment, cette étape, avantageusement réalisée hors ligne durant une phase d'apprentissage, est répétée pour chaque objet devant être identifié ultérieurement. Les données créées, ici des points d'intérêts associés à des portions d'images, sont organisées en arbres de décision de type binaire ou en structures à ramifications multiples de type ferns, la principale différence entre ces deux approches résidant dans la construction du modèle permettant la recherche des probabilités. Cette classification sous forme de structures de décision permet l'appariement rapide avec des points d'intérêt d'une image courante et des portions d'image associées reçus par le serveur. L'étape d'acquisition d'images et, éventuellement, de conversion mises en oeuvre dans le dispositif � client � 400 et permettant d'obtenir une image courante (étape 415), sont similaires à l'étape 225 décrite précédemment. Dans une étape suivante (étape 420), mise en oeuvre dans le client 400, les points d'intérêts de l'image courante sont détectés afin de construire, à partir de ceux-ci, des descripteurs. Selon le mode de réalisation décrit ici, des points d'intérêt de type YAPE sont utilisés. Les descripteurs associés correspondent aux portions d'image situées autour de ces points. Néanmoins, de façon équivalente, un détecteur de points d'intérêt de Harris, MSER, FAST, SURF ou SIFT peut être utilisé. Les descripteurs, ainsi que leur position (u,v) dans l'image courante sont transmis, de préférence en flux continu, vers le serveur 405 comme l'indique la flèche 425. Des descripteurs de plusieurs images successives peuvent être envoyés. Les descripteurs correspondant à des images différentes sont avantageusement séparés par des balises l'indiquant. II convient d'observer ici que lorsque des descripteurs de plusieurs images consécutives sont créés, des descripteurs plus robustes peuvent être envoyés vers le serveur avec un moyen de filtrage. A titre d'illustration, il est possible de procéder à un appariement entre les points d'intérêt de deux images successives afin d'évaluer la stabilité du capteur d'image face à la scène réelle. De même, il est possible de ne conserver que les points d'intérêt et les descripteurs robustes au bruit. Lorsque le serveur 405 commence à recevoir ces descripteurs et leur position associée dans l'image, il procède, pour chacun, à une phase d'appariement afin d'identifier des objets (étape 430). Pour chaque objet contenu dans la base de données d'objets à reconnaître, il met à jour une mesure de probabilité. Lorsque la mesure de probabilité est suffisamment élevée pour au moins un objet donné, la phase d'identification se termine et l'identifiant de l'objet reconnu est transmis au client comme indiqué par la flèche 435. Le dispositif � client � 400 transmet des descripteurs tant qu'aucun objet n'est reconnu, c'est-à-dire tant qu'il ne reçoit pas d'identifiants d'objets 25 (étape 440). Lorsque le serveur 405 a reconnu au moins un objet, une liste d'appariements entre des points d'intérêt de l'image courante et des points d'intérêt déterminés durant l'apprentissage est obtenue. Les coordonnées tridimensionnelles de ces points déterminés durant l'apprentissage étant 30 connues (car la pose de l'objet dans l'image d'apprentissage est connue), il est possible d'obtenir une liste de correspondance entre les points d'intérêt de l'image courante (coordonnées à deux dimensions) et ceux de l'objet dans son espace (coordonnées en trois dimensions). Il est ensuite possible d'en déduire une pose de l'objet dans l'image courante selon des méthodes classiques telles que celles décrites précédemment. Cette pose estimée est ensuite transmise au client 400, comme indiqué par la flèche 450, avec la description de la géométrie de cet objet, par exemple un modèle de type � fil de fer � (wireframe) dans le cas d'un objet non planaire ou les deux dimensions, longueur et largeur, dans le cas d'un objet sensiblement planaire. Pour permettre au client 400 de suivre les objets identifiés dans les images capturées (étape 455), le serveur 405 crée et transmet, comme indiqué 10 par la flèche 465, une signature des objets identifiés (étape 460). Lorsque l'algorithme de suivi d'objets mis en oeuvre dans le dispositif � client � 400 est un suivi d'objet utilisant une image clé, le serveur construit cette image clé. Dans ce cas, l'image clé peut être représentée avantageusement par une liste de points d'intérêts contenant deux 15 coordonnées planaires (u,v), trois coordonnées dans le repère de l'objet (x, y, z) et une portion d'image autour de ce point. Seules ces informations peuvent être transmises au client sans qu'il soit nécessaire de transmettre l'image clé dans son intégralité. Si l'algorithme de suivi d'objet mis en oeuvre n'utilise pas d'image clé 20 (voir par exemple l'approche décrite par D. Wagner dans le document � Pose Tracking from Natural Features on Mobile Phones �), il est possible d'envoyer directement la partie de la base de données contenant la classification de l'objet identifié. Si une telle solution à un coût non négligeable en termes de volume de données à transmettre, de l'ordre du méga octets, il permet au client d'utiliser 25 ces données pour s'initialiser plus facilement lorsque le suivi d'objet subit un décrochage. Une autre solution encore consiste à recréer sur le dispositif � client �, les arbres de décision de type binaire ou les structures à ramifications multiples de type ferns en fonction d'une image de référence 30 transmise par le serveur. Bien qu'une telle solution nécessite des ressources de calcul dans le dispositif � client �, elle permet de réduire considérablement le volume de données échangées entre clients et serveurs et de faciliter la réinitialisation de l'algorithme de suivi d'objets en cas de décrochage. Comme indiqué précédemment, l'algorithme de suivi est ici mis en oeuvre par le dispositif � client � (étape 455). Il peut être basé sur l'utilisation d'une ou de plusieurs images clés obtenues reçues du serveur ou sur l'utilisation d'arbres de décision reçus du serveur ou élaborés par le client. Il convient d'observer que lorsqu'un ou plusieurs objets sont identifiés il n'est plus nécessaire, pour le client, de reconnaître un objet placé devant la caméra. Néanmoins, l'algorithme d'identification peut être automatiquement appelé, par exemple, lorsqu'aucun objet n'est suivi depuis un temps prédéterminé ou lorsque l'utilisateur indique qu'il souhaite rechercher un nouvelle objet, par exemple en utilisant un bouton ou l'écran tactile de l'appareil. Le suivi d'objets dans une séquence d'images permet notamment de déterminer leur pose, permettant ainsi d'augmenter les images avec des médias qui leurs sont associés, reçus du serveur 405 (la transmission de ces médias n'est pas représentée ici). A ces fins, un algorithme de réalité augmenté est utilisé (étape 470). II peut s'agir, par exemple, du logiciel DfusionAR (DfusionAR est une marque de Total Immersion) qui réalise cette opération selon les caractéristiques de l'appareil, notamment les couches applicatives de rendu 3D (par exemple DirectX ou OpenGL). L'algorithme décrit sur les figures 2 et 4 permet ainsi de limiter les transferts de données entre clients et serveurs aux données nécessaires à la reconnaissance, au suivi d'objet et à l'augmentation de la séquence d'image, c'est-à-dire du flux vidéo. II n'est ainsi pas requis de transmettre toutes les images. De plus, les données peuvent être transmises de façon incrémentale, l'identification de l'objet pouvant être réalisée de façon itérative sur les portions d'images considérées et le suivi d'objet pouvant commencer dès que suffisamment de descripteurs sont reçus. II en est de même pour l'affichage des objets de synthèse qui peuvent être affinés au fur et à mesure que le client reçoit les données géométriques et de texture. De façon équivalente, d'autres informations concernant l'image courante peuvent être transmises au serveur pour simplifier l'étape de reconnaissance. A titre d'exemple, il peut s'agir de l'image courante elle-même ou d'un histogramme représentant des probabilités de classification d'objets. On notera en particulier la possibilité de transmettre au serveur un ensemble de contours obtenus après l'application de filtres, par exemple de type � passe- haut �, afin d'améliorer le taux de bonne identification sur les objets présents dans la base de reconnaissance 215. Par ailleurs, les appareils mobiles récents possèdent fréquemment un écran tactile et des touches qui peuvent être utilisés pour sélectionner la catégorie de l'objet de façon à simplifier l'étape d'identification faite par le serveur. Ainsi, par exemple, l'utilisateur peut choisir de reconnaître et de suivre des objets de type monuments. En réponse à cette sélection, il peut être connecté à un groupe de serveurs, appelé cluster en terminologie anglo-saxonne, qui regroupe des données relatives aux monuments historiques. Une fonction de localisation, par exemple une fonction GPS (sigle de Global Positioning System en terminologie anglo-saxonne), peut également être exploitée pour identifier la position approximative de l'utilisateur. Une telle information, transmise au serveur, peut lui faciliter l'étape d'identification des monuments ou autres bâtiments présents dans le champ de vision. Cette approche permet ainsi de facilement surimposer des informations sur le flux vidéo issu du capteur mais aussi de localiser de façon plus fine l'utilisateur. En effet, dans ce cas, il est non seulement possible de retrouver la position de l'utilisateur mais également de déterminer son orientation par rapport au monde qu'il regarde. Il est également possible d'utiliser des accéléromètres et d'autres capteurs d'orientation qui équipent les appareils mobiles modernes. Ainsi, il est possible de déterminer la stabilité du capteur d'images afin de déclencher l'algorithme d'identification à un instant précis pour écarter des flous de bougé. L'invention permet également l'identification rapide et le suivi d'objets de géométrie plus simple, par exemple des affiches de cinéma ou des pochettes de disque. Différents serveurs peuvent être déployés pour proposer des services adaptés aux différents types de requêtes. Comme indiqué précédemment, l'identification et le suivi d'objets ne nécessitent pas l'envoi de séquences d'images entre clients et serveurs. Les seules séquences d'images pouvant être transmises sont celles correspondant aux médias utilisés pour l'augmentation de scènes réelles. Dans ce cas, des formats de compression classiques utilisant, par exemple, les codecs H.263, H.264 ou MPEG4, peuvent permettre un gain de bande passante. D'autres moyens de compression peuvent être utilisés pour l'envoi de données audio utiles pour l'augmentation de la scène. La couche applicative SIP (acronyme de Session Initiation Protocol en terminologie anglo-saxonne) peut, par exemple, être utilisée pour l'envoi des données entre clients et serveurs. Il existe un grand nombre d'implémentations de clients SIP qui permettent notamment d'utiliser des réseaux de type IP (sigle d'Internet Protocol en terminologie anglo-saxonne) utilisables avec des réseaux de télécommunication tels que GSM et GPRS (sigle de General Packet Radio Service en terminologie anglo-saxonne). De façon similaire, des connections 3G, 3G+, par exemple basées sur la technologie UMTS (sigle d'Universal Mobile Telecommunications System en terminologie anglo-saxonne), WiFi, LAN ou Internet peuvent être utilisées afin d'assurer la communication entre des clients et des serveurs distants. A titre d'exemple, dans un musée, il est possible d'utiliser un ensemble de clients mobiles, notamment de type PDA, connectés à un serveur qui regroupe les informations nécessaires à la reconnaissance et au suivi de l'ensemble des peintures et sculptures visibles par les visiteurs. Dans ce cas, la réalité augmentée permet notamment d'enrichir les informations données aux visiteurs sur l'historique d'une oeuvre d'art. Enfin, il est observé que la mémorisation dans des serveurs des données utilisées pour identifier des objets permet de mettre à jour facilement et de façon centralisée les objets à reconnaître. Un dispositif adapté à mettre en oeuvre l'invention ou une partie de 30 l'invention est illustré sur la figure 5. Le dispositif représenté est, de préférence, un dispositif standard, par exemple un ordinateur personnel. Le dispositif 500 comporte ici un bus interne de communication 505 auquel sont reliés : - une unité centrale de traitement ou microprocesseur 510 (CPU, sigle de Central Processing Unit en terminologie anglo-saxonne) ; - une mémoire morte 515 (ROM, acronyme de Read Only Memory en terminologie anglo-saxonne) pouvant comporter les programmes nécessaires à la mise en oeuvre de l'invention ; - une mémoire vive ou mémoire cache 520 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des 10 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 interface de communication 540 adaptée à transmettre et à recevoir des données vers et depuis un réseau de communication. Le dispositif 500 dispose également, de préférence, des éléments 15 suivants : - un disque dur 525 pouvant comporter les programmes précités et des données traitées ou à traiter selon l'invention ; et - un lecteur de cartes mémoires 530 adapté à recevoir une carte mémoire 535 et à y lire ou à y écrire des données traitées ou à traiter selon 20 l'invention. Le bus interne de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 500 ou reliés à lui. La représentation du bus interne n'est pas limitative et, notamment, 25 le microprocesseur est susceptible de communiquer des instructions à tout élément du dispositif 500 directement ou par l'intermédiaire d'un autre élément du dispositif 500. Le code exécutable de chaque programme permettant au dispositif programmable de mettre en oeuvre les processus selon l'invention, peut être 30 stocké, par exemple, dans le disque dur 525 ou en mémoire morte 515. Selon une variante, la carte mémoire 535 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 500, est stocké dans le disque dur 525. Selon une autre variante, le code exécutable des programmes - pourra être reçu, au moins partiellement, par l'intermédiaire de la première interface de communication 540, pour être stocké de façon identique à celle décrite précédemment. De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 500 avant d'être 10 exécutés. Le microprocesseur 510 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 525 ou dans la mémoire morte 515 ou bien dans les autres éléments de stockage précités. 15 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 525 ou la mémoire morte 515, sont transférés dans la mémoire vive 520 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 oeuvre de 20 l'invention. 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. REVENDICATIONS1. Procédé pour ordinateur d'identification d'au moins un objet réel dont une représentation est présente dans au moins une image, en temps réel, dans une architecture de type client-serveur, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes, - acquisition (225, 415) de ladite au moins une image ; - détermination (230, 420) d'au moins un élément singulier de ladite au moins une image ; - transmission (425) d'au moins une information relative audit au moins un élément singulier déterminé à un serveur comprenant des moyens d'identification dudit au moins un objet réel à partir de ladite au moins une information ; et, - en réponse à ladite transmission, réception (435) d'une information relative à l'identification dudit au moins un objet réel. 2. Procédé selon la revendication précédente selon lequel ladite étape de détermination d'au moins un élément singulier de ladite au moins une image est répétée pour une pluralité d'images, ladite au moins une information relative audit au moins un élément singulier déterminé étant estimée selon au moins un élément singulier déterminé dans plusieurs images de ladite pluralité d'images. 3. Procédé selon la revendication 1 ou la revendication 2 comprenant en outre une étape de transmission audit serveur d'une information relative à la pose et/ou à la stabilité du dispositif mettant en oeuvre ladite étape d'acquisition de ladite au moins une image et/ou à la nature dudit au moins un objet réel. 4. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape de réception d'au moins une donnée permettant de reconnaître une représentation dudit au moins un objet réel dans au moins une seconde image distincte de ladite au moins une image, appeléeau moins une première image, en réponse à ladite transmission, pour suivre ledit objet réel. 5. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape de réception (260) d'au moins une donnée à insérer dans une image comprenant une représentation dudit objet réel identifié et une étape d'insertion (265, 470) de ladite au moins une donnée à insérer dans ladite image comprenant ladite représentation dudit objet réel identifié. 6. Procédé pour ordinateur d'identification d'au moins un objet réel dont une représentation est présente dans au moins une image, en temps réel, dans une architecture de type client-serveur, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes, - création (210, 410) d'un ensemble de données permettant d'identifier une représentation dudit au moins un objet réel dans une image ; - réception d'au moins une information relative à au moins un 15 élément singulier d'au moins une image ; - identification (240, 430) dudit au moins un objet réel selon ledit ensemble de données et ladite au moins une information ; et, - transmission (435, 450) d'au moins une information relative à ladite identification dudit au moins un objet réel. 20 7. Procédé selon la revendication précédente selon lequel ladite étape de création comprend une étape d'élaboration d'une structure de décision. 8. Procédé selon la revendication 6 ou la revendication 7 comprenant en outre une étape de réception d'au moins une information 25 complémentaire, ladite au moins une information complémentaire étant utilisée dans ladite étape d'identification et étant relative à la pose et/ou à la stabilité du dispositif d'acquisition de ladite au moins une image et/ou à la nature dudit au moins un objet réel. 9. Procédé selon l'une quelconque des revendications 6 à 8 selon 30 lequel ladite au moins une information reçue est relative à au moins deux éléments singuliers d'au moins une image, ladite étape d'identification dudit aumoins un objet réel comprenant une étape d'analyse de la position relative desdits au moins deux éléments singuliers. 10. Procédé selon l'une quelconque des revendications 6 à 9 comprenant en outre une étape d'estimation (445) de la pose dudit au moins un objet réel identifié, ladite au moins une information relative à ladite identification dudit au moins un objet réel comprenant ladite pose estimée. 11. Procédé selon l'une quelconque des revendications 6 à 10 comprenant en outre une étape de transmission (435, 450) d'au moins une information relative audit au moins un objet réel identifié permettant de reconnaître une représentation dudit au moins un objet réel dans au moins une seconde image distincte de ladite au moins une image, appelée première image, pour suivre ledit objet réel. 12. Procédé selon la revendication précédente comprenant en outre une étape de détermination (245, 460) d'au moins une donnée caractéristique d'au moins une représentation dudit au moins un objet réel identifié, ladite au moins une information relative audit objet réel identifié comprenant ladite donnée caractéristique. 13. Procédé selon l'un quelconque des revendications 6 à 12 comprenant en outre une étape d'activation de service associé audit au moins un objet réel identifié. 14. Procédé selon l'une quelconque des revendications 6 à 13 comprenant en outre une étape de transmission d'au moins une donnée à insérer dans une image comprenant une représentation dudit objet réel identifié. 15. Procédé selon l'une quelconque des revendications précédentes selon lequel ladite au moins une information relative à au moins un élément singulier d'une image comprend une portion d'image relative audit point singulier. 16. Programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications précédentes lorsque ledit programme est exécuté sur un ordinateur. 17. Dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 15.