FR2968436A1 - Methode de determination des mouvements d'un objet a partir d'un flux d'images - Google Patents

Methode de determination des mouvements d'un objet a partir d'un flux d'images Download PDF

Info

Publication number
FR2968436A1
FR2968436A1 FR1060074A FR1060074A FR2968436A1 FR 2968436 A1 FR2968436 A1 FR 2968436A1 FR 1060074 A FR1060074 A FR 1060074A FR 1060074 A FR1060074 A FR 1060074A FR 2968436 A1 FR2968436 A1 FR 2968436A1
Authority
FR
France
Prior art keywords
image
processing
stream
auxiliary
recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1060074A
Other languages
English (en)
Other versions
FR2968436B1 (fr
Inventor
Zepeda Jose Alonso Ybanez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AYOTLE
Original Assignee
AYOTLE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AYOTLE filed Critical AYOTLE
Priority to FR1060074A priority Critical patent/FR2968436B1/fr
Priority to EP11802866.1A priority patent/EP2646981A1/fr
Priority to US13/991,368 priority patent/US9092874B2/en
Priority to PCT/EP2011/071348 priority patent/WO2012072664A1/fr
Publication of FR2968436A1 publication Critical patent/FR2968436A1/fr
Application granted granted Critical
Publication of FR2968436B1 publication Critical patent/FR2968436B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

Selon un aspect, l'invention concerne un système pour la détermination des mouvements d'un objet à partir d'un flux d'images dudit objet. Le système comprend notamment un ordinateur avec une mémoire et une unité centrale de traitement, ladite unité centrale de traitement comprenant: - une unité de lecture (12) pour l'enregistrement de chaque image du flux d'images dans une mémoire tampon d'entrée (22); - une unité de traitement (13) permettant pour chaque image la détermination d'une modification de la position et/ou de la déformation dudit par rapport à l'image précédant directement ladite image dans le flux ; - les unités de lecture et de traitement étant synchronisées de telle sorte que le traitement de chacune desdites images du flux d'images soit effectué simultanément à la lecture d'une image succédant ladite image dans le flux d'images et son enregistrement dans la mémoire tampon d'entrée (22).

Description

DOMAINE DE L'INVENTION La présente invention concerne le domaine du traitement des images. Plus précisément, l'invention se rapporte à la détermination des mouvements d'un objet dans un flux d'images. ETAT DE L'ART La détermination des mouvements d'un objet dans un flux d'images, et plus particulièrement d'un objet animé comme un visage, a notamment des applications dans l'animation d'avatars pour la réalisation par exemple de jeux vidéo et de films cinématographiques. Un des enjeux techniques principaux dans de telles applications est l'obtention d'un niveau de réalisme suffisant pour ne pas provoquer par exemple l'inconfort des spectateurs ou des utilisateurs lors de la transposition des mouvements de visages réels en 20 mouvements de visages de personnages virtuels. Les méthodes actuelles sont basées sur des techniques d'animations manuelles qui consistent à réaliser la transposition par des dessinateurs professionnels. On connaît aussi des dispositifs de 25 capture de mouvements qui utilisent un traitement d'images vidéo mais qui nécessitent de placer précisément des marqueurs par exemple sur le visage de la personne dont on cherche à déterminer les mouvements. De tels dispositifs sont mis dans le commerce par exemple par la 30 marque Vicon®. L'opération de placement des marqueurs sur le 15 visage est une opération longue et critique pour la suite du traitement et on cherche à s'affranchir de cette opération. Récemment, une méthode de suivi des mouvements de visage sans marqueurs a été proposée dans « Face tracking using canonicat correction analysis. In International Conference on Computer Vision Theory and Applications, pages 396-402, Barcelone, Espagne, Mars 2007». Cependant, la méthode publiée ne permet pas d'obtenir une vitesse de traitement satisfaisante pour une utilisation professionnelle. La présente invention vise à fournir une méthode de détermination des mouvements d'un objet, et plus particulièrement d'un visage dans un flux d'images sans utiliser de marqueurs et apte à travailler en temps réel.
RESUME DE L'INVENTION A cet effet, l'invention propose selon un premier aspect une méthode de détermination des mouvements d'un objet et plus particulièrement d'un visage contenu dans un flux d'images. La méthode comprend une étape d'enregistrement d'une image du flux d'images dans une mémoire tampon et une étape de traitement de l'image par une unité de traitement. Le traitement comprend la détermination d'une modification de la position et/ou de la déformation de l'objet par rapport à une image précédant l'image dans le flux d'images. L'étape de traitement de l'image est effectuée simultanément à une étape d'enregistrement d'une image succédant ladite image dans le flux d'images. La méthode proposée permet notamment une amélioration des performances et notamment de la rapidité de traitement par la mise en parallèle des opérations d'enregistrement et de traitement. La méthode permet également de profiter pleinement des capacités des processeurs multi-coeurs et ainsi d'obtenir l'animation d'objets ou de personnages virtuels en temps réel. Dans un mode de réalisation, la méthode comprend en outre une étape de transmission à une unité de contrôle d'une information relative à l'enregistrement de l'image dans la mémoire tampon, une étape de transmission par l'unité de contrôle d'une instruction de début de traitement à l'unité de traitement et une étape de transmission à l'unité de contrôle d'une information relative à la fin du traitement de l'image par l'unité de traitement. Le traitement est mis en oeuvre après la réception par l'unité de traitement de l'instruction de traitement. L'instruction de traitement est transmise après que l'unité de contrôle a reçu l'information relative à la fin du traitement de l'image précédant ladite image dans le flux et l'information relative à l'enregistrement de ladite image. Ceci permet une meilleure synchronisation du traitement au moyen de l'unité de contrôle. La transmission d'informations relative à la fin du traitement à l'unité de contrôle permet notamment d'éviter de transmettre des instructions à l'unité de traitement alors que cette dernière ne peut réagir car elle est occupée à effectuer le traitement d'une image. Ainsi, la supervision de l'unité de traitement par une unité de contrôle permet une amélioration des performances. De plus, la méthode permet l'ajout potentiel d'une ou plusieurs unités de traitements auxiliaires sans modifier le fonctionnement de l'unité de traitement. L'exécution modulaire facilite l'extensibilité. L'unité de contrôle fonctionne comme une interface et une unité auxiliaire apte à collaborer avec l'unité de contrôle peut être ajoutée sans modification des interactions entre les autres éléments. Dans un mode de réalisation, la méthode comprend en outre une étape de traitement auxiliaire préalable au 5 traitement (principal) de l'image. Ceci permet d'améliorer la qualité des images et de faciliter le traitement ultérieur des images en sortie du traitement auxiliaire. Dans un mode de réalisation, la méthode comprend 10 une étape d'enregistrement d'une image du flux d'images dans une mémoire tampon d'entrée par une unité de lecture et une étape de traitement auxiliaire de l'image par l'unité de traitement auxiliaire. L'étape de traitement auxiliaire de l'image est effectuée simultanément à 15 l'étape d'enregistrement d'une image succédant ladite image dans le flux d'images. Ceci permet notamment une amélioration des performances par la mise en parallèle des opérations d'enregistrement et de traitement auxiliaire. 20 Dans un mode de réalisation, la méthode comprend en outre une étape de transmission par l'unité de lecture à l'unité de contrôle d'une information relative à l'enregistrement de l'image dans la mémoire tampon d'entrée et une étape de transmission par l'unité de 25 contrôle d'une instruction de début de traitement auxiliaire à l'unité de traitement auxiliaire. Le traitement auxiliaire est mis en oeuvre après la réception par l'unité de traitement auxiliaire de l'instruction de début de traitement auxiliaire, ladite instruction étant 30 transmise après que l'unité de contrôle a reçu l'information relative à l'enregistrement de ladite image. Ceci permet une meilleure synchronisation par l'unité de contrôle. Ceci soumet en outre le fonctionnement de l'unité de traitement auxiliaire au seul contrôle de l'unité de contrôle et permet de développer l'unité de traitement auxiliaire indépendamment de l'unité de traitement. Ceci permet également d'éviter de transmettre des instructions à l'unité de traitement auxiliaire alors que cette dernière ne peut réagir car elle est occupée à effectuer un traitement auxiliaire. Ainsi, la gestion des performances est améliorée. Dans un mode de réalisation, la méthode comprend en outre une étape de transmission à l'unité de contrôle d'une information relative à la fin du traitement auxiliaire de l'image par l'unité de traitement auxiliaire. L'étape de transmission de l'instruction est mise en oeuvre après que l'unité de contrôle a reçu l'information relative à la fin du traitement auxiliaire de l'image précédant ladite image dans le flux.
Ceci permet de procéder au traitement d'une image selon le résultat du traitement auxiliaire d'une image précédant ladite image dans le flux. Le traitement auxiliaire peut comprendre par exemple une égalisation du contraste et/ou une correction d'aberrations des images pour compenser des imperfections dues par exemple à une acquisition des images dans un éclairage non uniforme. Il peut comprendre également la détection de points caractéristiques, la conversion d'images couleur en niveaux de gris, la binarisation de l'image, un filtrage, etc. Lorsqu'une pluralité de mémoires tampons d'entrée sont à disposition pour l'enregistrement des images, la méthode peur comprendre en outre une étape d'allocation de la mémoire tampon d'entrée par l'unité de contrôle. L'instruction de début de traitement auxiliaire comprend une information relative à la mémoire tampon allouée.
Ceci permet de mettre en oeuvre le traitement à partir de plusieurs sources vidéo. Dans un mode de réalisation, l'instruction de début de traitement comprend une instruction de réactivation si l'unité de traitement est en veille.
Dans un mode de réalisation, l'instruction de début de traitement auxiliaire comprend une instruction de réactivation si l'unité de traitement auxiliaire est en veille. Ceci permet de stimuler l'unité de traitement et/ou l'unité de traitement auxiliaire afin qu'elle soit disponible pour traiter une image. La mise en veille de l'unité de traitement et/ou l'unité de traitement auxiliaire peut être due à une différence de vitesse entre l'enregistrement des images dans la mémoire tampon et le traitement des images. Par exemple, si les images proviennent d'une caméra haute définition, l'enregistrement des images peut être une étape plus longue que le traitement et/ou le traitement auxiliaire et l'unité de traitement correspondante peut se mettre en veille entre le traitement de deux images successives. Dans un mode de réalisation, le flux d'images provient d'une caméra vidéo ou d'une unité de stockage de données. Dans un mode de réalisation la méthode comprend en outre la construction d'une image résultat sur la base de la modification de la position et/ou de la déformation de l'objet déterminée dans ladite image et l'affichage de l'image résultat.
Dans le cas de la détermination des mouvements d'un visage, ceci permet par exemple d'utiliser la détermination de la modification de position et/ou d'expression du visage dans le flux d'images pour construire des images comprenant des personnages virtuels reproduisant les mouvements du visage. La détermination des mouvements du visage peut permettre également d'animer un masque dont la morphologie est adaptée au visage et qui se superpose sur le visage dans l'image.
Ceci permet par exemple de produire une image comprenant un masque qui reproduit les mouvements du visage contenu dans le flux d'images. Par exemple, l'image résultat peut aussi superposer un tel masque et le dit visage. L'invention propose selon un deuxième aspect un produit programme d'ordinateur adapté pour mettre en oeuvre la méthode précédemment décrite. L'invention propose selon un troisième aspect un système pour la mise en oeuvre de la méthode selon le premier aspect.
Selon une variante, le système comprend un ordinateur avec une mémoire et une unité centrale de traitement, ladite unité centrale comprenant une pluralité d'unités de calculs pour la mise en oeuvre de la méthode.
Par exemple l'unité centrale est un processeur multi-coeur. BREVE DESCRIPTION DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description 30 qui suit, illustrée par les figures sur lesquelles :
La figure 1 illustre un système pour la mise en oeuvre de l'invention dans un mode de réalisation. La figure 2 représente un synoptique des étapes mises en oeuvre selon une variante de réalisation de la méthode selon l'invention.
Les figures 3A à 3C représentent des diagrammes temporels illustrant la synchronisation d'étapes de la méthode selon différents modes de réalisation. Les figures 4A-4D illustrent deux images d'un visage et deux images résultats construites sur la base de la position et de l'expression du visage déterminées dans lesdites images du visage. DESCRIPTION DETAILLEE La figure 1 illustre généralement un système pour la mise en oeuvre de l'invention selon un mode de réalisation. Le système comprend selon cet exemple un ordinateur 1, une caméra vidéo 2, une première unité de stockage de données informatiques 3 (par exemple un lecteur de disque dur externe ou une clé USB), une unité d'affichage 4 et une deuxième unité de stockage de données informatiques 5 (par exemple un graveur de disque dur). L'ordinateur 1 comprend généralement une unité centrale de traitement de données informatiques, un disque dur et une carte mémoire (non représentés).
Un flux d'images brutes provenant de la caméra vidéo 2 et/ou du premier dispositif de stockage de données informatiques 3 est traité par l'unité centrale de traitement et un flux d'images résultats, obtenu sur la base du traitement du flux d'images brutes, peut être affichée sur l'unité d'affichage 4 et/ou stocké sur la deuxième unité de stockage 5. Le flux d'images brutes peut également provenir d'un flux récupéré sur un serveur par un réseau informatique, réseau Internet ou réseau local. Il en est de même du flux d'images résultats. Les images du flux d'images brutes contiennent un visage dont on cherche à déterminer les mouvements dans un espace tridimensionnel. La figure 2 illustre selon un exemple de réalisation un synoptique du traitement du flux d'images brutes par l'unité centrale de traitement de données informatiques. Avantageusement, l'unité centrale de traitement est un processeur multi-coeur comprenant un ensemble d'unités de calcul gravées sur la même puce auxquelles on a assigné un certain nombre de fonctions (UL, UC, UTA, UT). Selon une variante, chaque unité de calcul peut être gravée sur une carte électronique indépendante. Parmi les unités de calcul, une unité de contrôle 11 permet la synchronisation des autres unités de calcul. Dans l'exemple de la figure 2, l'unité de contrôle 11 coordonne le fonctionnement d'une unité de lecture 12, d'une unité de traitement 13 pour le traitement principal des images et d'une unité de traitement auxiliaire 14. Dans l'exemple de la figure 2, l'unité de lecture 12 procède à la lecture et à l'enregistrement des images brutes acquises par la caméra vidéo 2 sur une mémoire tampon d'entrée 22. Le flux d'images brutes issu de la caméra 2 forme une séquence vidéo d'images successives. L'unité de lecture 12 informe l'unité de contrôle 11 de l'enregistrement de chaque nouvelle image par la transmission d'une information IA1 à l'unité de contrôle 11. Ceci permet notamment à l'unité de contrôle 11 de contrôler la réactivation de l'unité de traitement auxiliaire 14. En effet, lorsque l'enregistrement des images est plus long que le traitement des images, par exemple quand les images proviennent de caméras haute définition, l'unité de traitement auxiliaire 14 peut se mettre par défaut dans un mode de veille afin de permettre à d'autres programmes d'accéder aux capacités de calcul de l'unité centrale de traitement. L'unité de traitement auxiliaire 14 traite le flux d'images brutes en parallèle de l'enregistrement des images brutes dans la mémoire tampon d'entrée 22. L'unité de contrôle 11 commande l'unité de traitement auxiliaire 14 par la transmission d'une instruction IA2 de début de traitement auxiliaire. L'instruction IA2 est transmise après la réception par l'unité de contrôle 11 de l'information IA1 relative à l'enregistrement de l'image brute. L'unité de traitement auxiliaire 14 informe l'unité de contrôle 11 de la fin du traitement auxiliaire de l'image brute par l'envoi d'une information IA3 relative à la fin du traitement auxiliaire. Le traitement des images brutes est successif et le traitement d'une image est effectué après que l'unité de contrôle 11 a reçu l'information relative à la fin du traitement auxiliaire de l'image brute précédant directement ladite image brute dans le flux. Un des buts de l'unité de traitement auxiliaire peut être d'améliorer la qualité des images brutes avant traitement principal par l'unité de traitement 13. Par exemple, l'unité de traitement auxiliaire 14 peut égaliser le contraste des images brutes et/ou éliminer des aberrations dues à la caméra. Le traitement auxiliaire peut également comprendre la calcul de l'histogramme d'une image, la détection de points caractéristiques, la conversion d'images couleur en niveaux de gris, la binarisation, une étape de filtrage ou tout autre étape classique en traitement d'images. Alternativement, le traitement auxiliaire peut permettre de séquencer les étapes de traitement pour que chaque étape de traitement ne soit pas plus longue que l'étape d'enregistrement. La séquence des images du flux d'images en sortie de l'unité de traitement auxiliaire 14 (aussi appelé flux d'images dans la demande) correspond ainsi à la séquence des images du flux d'images brutes. Après le traitement, l'unité de traitement auxiliaire 14 enregistre l'image du flux d'images ainsi traitée sur une mémoire tampon 24 et transmet une information I1 relative à l'enregistrement à l'unité de contrôle 11 qui va pouvoir envoyer l'instruction I2 de début de traitement à l'unité de traitement principale 13 dès que l'unité de traitement 13 sera disponible. Selon une variante, il n'y a pas de traitement auxiliaire et le traitement principal est réalisé directement sur le flux d'images brutes, chaque image étant préalablement lue et enregistrée par l'unité de lecture sur la mémoire tampon d'entrée 22. Dans ce cas, l'unité de contrôle assure la synchronisation de l'unité de lecture 12 et de l'unité de traitement 13. Alternativement, les unités de lecture et de traitement se synchronisent réciproquement sans qu'une unité de contrôle ne soit nécessaire. Selon une autre variante, il peut y avoir plusieurs unités de traitement auxiliaire, permettant de pré-traiter les images avant le traitement principal.
Cela peut permettre par exemple de limiter le temps de traitement de chaque image par chaque unité de traitement à une durée inférieure ou égale au temps de lecture et d'enregistrement d'une image issue du flux d'images brutes et d'assurer ainsi un fonctionnement en temps réel. Dans ce cas, l'unité de contrôle synchronise l'unité de lecture et l'ensemble des unités de traitement auxiliaires et principal pour assurer en parallèle l'enregistrement des images à partir du flux d'images brutes, les traitements auxiliaires et le traitement principal. Le traitement principal 13 comprend la détermination d'une modification de la position et/ou de la déformation d'un objet par rapport à une image précédant directement ladite image dans le flux d'images. Il peut s'agir par exemple de la détermination de la position et/ou de la modification de l'expression d'un visage.
Dans une phase préalable à la mise en oeuvre de la méthode, un modèle géométrique tridimensionnel (aussi appelé masque dans la présente demande) peut-être superposé sur une image de référence contenant l'objet, par exemple un visage, dont on cherche à suivre les mouvements et une étape d'apprentissage est mise en oeuvre. L'étape d'apprentissage consiste à élaborer une matrice de correspondances qui associe des perturbations de la position et/ou de l'expression du masque avec des variations de texture entre la portion de l'image de référence située sous le masque dans l'état superposé au visage et la portion de l'image de référence située sous le masque dans l'état perturbé. Par exemple, la superposition sur l'image de référence peut être effectuée manuellement par un utilisateur. La superposition sur le visage peut comprendre un paramétrage qui permet d'adapter le masque tridimensionnel à la morphologie du visage dont on cherche à suivre les mouvements. Par exemple, le masque polygonal tridimensionnel peut prévoir notamment que la position verticale des sourcils, du nez, de la bouche, la distance entre les yeux soient paramétrés pour le visage qu'on cherche à suivre.
Le traitement est effectué par la suite par récurrence, à partir d'une image sur laquelle le masque est superposé au visage et en estimant la modification de position et/ou d'expression par rapport à l'image précédente sur la base de la matrice de correspondances.
Plus de détails sur des méthodes de traitements pouvant être mises en oeuvre sont par exemple donnés dans « Linear tracking of pose and facial features. In 10th IAPR Conference on Machine Vision Applications, Tokyo, Japon, Mai 2007 ».
L'unité de traitement 13 traite une image enregistrée dans la mémoire tampon à réception d'une information I2 de début de traitement provenant de l'unité de contrôle 12. Après le traitement, l'unité de traitement 13 informe l'unité de contrôle 12 par la transmission d'une information I3 relative à la fin du traitement. L'unité de traitement 13 traite le flux d'images en parallèle de l'enregistrement des images brutes et du traitement auxiliaire. L'unité de traitement 13 peut également construire et afficher sur l'unité d'affichage 4 une image résultat comprenant par exemple une superposition de l'image traitée et du masque dont la position et l'expression est modifiée selon la position et l'expression déterminée par le traitement. Dans un mode de réalisation, l'image résultat peut également être stockée sur la deuxième unité de stockage de données informatiques 5. Les figures 3A à 3C illustrent des diagrammes temporels des étapes d'enregistrement E1, de traitement auxiliaire E2 et de traitement E3 pour des images consécutives du flux d'images brutes, selon trois exemples. L'étape E1 (symbolisée par un remplissage quadrillé) comprend l'acquisition d'images brutes par la caméra 2 et l'enregistrement des images brutes sur la mémoire tampon d'entrée 22. L'étape E2 (symbolisée par un remplissage hachuré) comprend le traitement auxiliaire des images brutes et l'enregistrement sur la mémoire tampon 24. L'étape E3 (symbolisée par un remplissage plein) comprend le traitement principal des images. Les étapes E1-E3 sont mises en oeuvre en parallèle, c'est-à-dire de façon synchrone. Le traitement principal E1 d'une image est consécutif au traitement auxiliaire E2 de l'image brute correspondante et est mis en oeuvre après que l'image précédant ladite image a été traitée. Le traitement auxiliaire d'une image brute est consécutif à l'enregistrement de ladite image brute sur la mémoire tampon d'entrée.
Dans l'exemple de la figure 3A, le temps de traitement cumulé des étapes de traitement E2 et E3 n'est pas plus grand que l'étape d'enregistrement E1. En conséquence, le traitement d'une image est fait pendant l'enregistrement de l'image lui succédant directement dans le flux. En comparaison avec un traitement séquentiel classique des étapes E1-E3, dans lequel l'enregistrement d'une image n'est faite qu'après que le traitement de l'image la précédant soit finie, le traitement en parallèle des étapes E1-E3 dans l'exemple de la figure 3A permet de terminer six unités de temps plus tôt le traitement de la troisième image. Dans l'exemple de la figure 3B, le temps cumulé de traitement des étapes de traitement E2 et E3 est plus long que l'étape d'enregistrement E1 mais le temps de chacune des étapes E2 et E3 est plus court ou égal. En conséquence, on observe un débordement, le traitement principal E3 d'une image se faisant pendant la fin de l'enregistrement de l'image lui succédant directement dans le flux et le début de l'enregistrement de l'image après celle la succédant directement. Cependant, le traitement continue à se faire en temps réel, et en comparaison avec un traitement séquentiel, le traitement en parallèle dans l'exemple de la figure 3B permet de terminer 13 unités de temps plus tôt le traitement de la troisième image. Dans l'exemple de la figure 3C, l'étape de traitement auxiliaire E2 est plus courte que l'étape d'enregistrement E1 mais l'étape de traitement principal E3 est plus longue que l'étape d'enregistrement E1. Dans ce cas, on observe un décalage dans le traitement des images par rapport à l'enregistrement, et en conséquence, l'accumulation d'un retard. Bien que même dans cet exemple, le traitement en parallèle permet de terminer 12 unités de temps plus tôt qu'un traitement séquentiel le traitement de la troisième image, cette configuration est moins favorable que celle des exemples 3A et 3B et l'on pourrait diviser le traitement principal en un second traitement auxiliaire et un nouveau traitement principal, de telle sorte que chaque étape de traitement soit plus courte que l'étape d'enregistrement. Les figures 4A et 4B illustrent deux images du flux d'images contenant un visage 6 et les figures 4B et 4D illustrent deux images résultats respectivement construites sur la base de la détermination de la position et de l'expression du visage 6 dans les images 4A-B. Sur les images 4C et 4D, un masque 7 est superposé sur le visage 6. Le masque 7 reproduit l'expression du visage 6. Le masque 7 peut être le masque tridimensionnel utilisé pour déterminer la modification de la position et de l'expression du visage 6 d'après la méthode décrite précédemment. Dans un autre mode de réalisation, la détermination de la position et de l'expression du visage d'un personnage réel permet d'animer un masque d'un personnage virtuel. Un tel masque peut être obtenu par une déformation du masque tridimensionnel utilisé pour déterminer la modification de la position et de l'expression du visage du personnage réel. Dans un tel mode de réalisation, une image résultat peut être construite en affichant le masque du personnage virtuel dans la position et l'expression déterminée pour le personnage réel. On obtient ainsi en temps réel une animation réaliste du personnage virtuel. Bien que décrite à travers un certain nombre d'exemples de réalisation, la méthode et le système selon l'invention comprennent différentes variantes, modifications et perfectionnements qui apparaitront de façon évidente à l'homme de l'art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie de la portée de l'invention telle que définie par les revendications qui suivent.25

Claims (16)

  1. REVENDICATIONS1. Méthode mise en oeuvre par ordinateur de détermination des mouvements d'un objet à partir d'un flux d'images dudit objet, comprenant pour chaque image du flux d'images : - l'enregistrement (E1) de ladite image dans une mémoire tampon d'entrée (22), - le traitement (E3) de ladite image par une unité de traitement (13), le traitement comprenant la détermination d'une modification de la position et/ou d'une déformation dudit objet par rapport à une image précédant directement ladite image dans le flux, la méthode comprenant en outre : - la synchronisation des étapes d'enregistrement et de traitement de telle sorte que le traitement d'une image soit effectué simultanément à l'enregistrement d'une image succédant ladite image dans le flux d'images.
  2. 2. Méthode selon la revendication 1, dans laquelle la 25 synchronisation comprend : - La transmission à une unité de contrôle d'informations relatives à l'enregistrement d'une image dans la mémoire tampon d'entrée et à la fin de traitement d'une image; 30 - La transmission par ladite unité de contrôle d'instructions relatives au début de traitement, une instruction de début de 15 20traitement (I2) étant transmise pour démarrer le traitement d'une image après réception de l'information (IAJ relative à l'enregistrement de ladite image et réception de l'information (I3) relative à la fin de traitement de l'image précédant directement ladite image dans le flux d'images.
  3. 3. Méthode selon la revendication 2, dans laquelle l'instruction (I2) de début de traitement comprend une instruction de réactivation si l'unité de traitement (13) est en veille.
  4. 4. Méthode selon l'une au moins des revendications précédentes, comprenant en outre une étape de traitement auxiliaire (E2) par une unité de traitement auxiliaire (14), préalable à l'étape de traitement, ladite étape de traitement auxiliaire comprenant pour chaque image du flux d'images : - La lecture de ladite image dans la mémoire tampon d'entrée (22), - Le pré-traitement de ladite image, - L'enregistrement dans une mémoire tampon auxiliaire (24) de ladite image pré-traitée en vue de son traitement (E3); la méthode comprenant en outre : - la synchronisation (11) par une unité de contrôle des étapes d'enregistrement dans la mémoire tampon d'entrée (22) et de traitement auxiliaire (E2) de telle sorte que le traitement auxiliaire d'une image soit effectué simultanément àl'enregistrement d'une image succédant ladite image dans le flux d'images.
  5. 5. Méthode selon la revendication 4, dans laquelle la synchronisation comprend en outre: - La transmission à ladite unité de contrôle d'informations relatives à la fin de traitement auxiliaire d'une image; - La transmission par ladite unité de contrôle d'instructions relatives au début de traitement auxiliaire, une instruction de début de traitement auxiliaire (IA2) étant transmise pour démarrer le traitement auxiliaire d'une image après réception de l'information (IA1) relative à l'enregistrement de ladite image dans la mémoire tampon d'entrée et réception de l'information (IA3) relative à la fin de traitement auxiliaire de l'image précédant directement ladite image dans le flux d'images.
  6. 6. Méthode selon la revendication 5, dans laquelle l'instruction (IA2) de début de traitement comprend une instruction de réactivation si l'unité de traitement auxiliaire (14) est en veille.
  7. 7. Méthode selon l'une au moins des revendications 4 à 6, comprenant au moins une seconde étape de traitement auxiliaire par une seconde unité de traitement auxiliaire, ladite seconde étape de traitement auxiliaire comprenant pour chaque image du flux d'images : - la lecture de ladite image dans la mémoiretampon auxiliaire, - le pré-traitement de ladite image, - l'enregistrement dans une seconde mémoire tampon auxiliaire de ladite image pré- traitée en vue de son traitement (E3); la méthode comprenant en outre : - la synchronisation par l'unité de contrôle (11) de l'étape de second traitement auxiliaire de telle sorte que le second traitement auxiliaire d'une image soit effectué simultanément à l'enregistrement dans la mémoire tampon d'entrée d'une image succédant ladite image dans le flux d'images.
  8. 8. Méthode selon l'une au moins des revendications précédentes, comprenant en outre la construction d'une image résultat sur la base de la modification de la position et/ou de la déformation de l'objet déterminée dans ladite image et l'affichage de l'image résultat.
  9. 9. Méthode selon l'une au moins des revendications précédentes, dans laquelle le flux d'images provient d'une caméra vidéo ou d'une unité de stockage de données.
  10. 10. Méthode selon l'une au moins des revendications précédentes, dans laquelle les images comprennent des images d'un visage et le traitement comprend la détermination d'une modification de la position et/ou de l'expression dudit visage.
  11. 11. Produit programme d'ordinateur adapté pourmettre en oeuvre la méthode selon l'une au moins des revendications précédentes, lorsque le programme est exécuté sur un ordinateur.
  12. 12. Système pour la détermination des mouvements d'un objet à partir d'un flux d'images dudit objet comprenant un ordinateur avec une mémoire et une unité centrale de traitement, ladite unité centrale de traitement comprenant: - une unité de lecture (12) pour l'enregistrement de chaque image du flux d'images dans une mémoire tampon d'entrée (22) ; - une unité de traitement (13) permettant pour chaque image la détermination d'une modification de la position et/ou de l'expression du visage par rapport à l'image précédant directement ladite image dans le flux ; - les unités de lecture et de traitement étant synchronisées de telle sorte que le traitement de chacune desdites images du flux d'images soit effectué simultanément à la lecture d'une image succédant ladite image dans le flux d'images et son enregistrement dans la mémoire tampon d'entrée (22).
  13. 13. Système selon la revendication 12, dans lequel la pluralité d'unités de calcul comprend en outre au moins une unité de contrôle (11) pour 30 assurer la synchronisation desdites unités de lecture et de traitement. 20 25
  14. 14. Système selon la revendication 13, dans lequel la pluralité d'unités de calcul comprend en outre au moins une unité de traitement auxiliaire (14) permettant pour chaque image du flux d'images : - la lecture de ladite image dans la mémoire tampon d'entrée (22), - Le pré-traitement de ladite image, - L'enregistrement dans une mémoire tampon auxiliaire (24) de ladite image pré-traitée en vue de son traitement (E3).
  15. 15. Système selon l'une au moins des revendications 13 ou 14, dans lequel l'unité centrale de traitement est un processeur multi-coeur, chaque unité de calcul étant une unité de calcul dudit processeur.
  16. 16. Système selon la revendication 15, comprenant en outre une caméra vidéo (2) ou une unité de stockage de données (3) pour former le flux d'images.20
FR1060074A 2010-12-03 2010-12-03 Methode de determination des mouvements d'un objet a partir d'un flux d'images Active FR2968436B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1060074A FR2968436B1 (fr) 2010-12-03 2010-12-03 Methode de determination des mouvements d'un objet a partir d'un flux d'images
EP11802866.1A EP2646981A1 (fr) 2010-12-03 2011-11-30 Methode de determination des mouvements d'un objet a partir d'un flux d'images
US13/991,368 US9092874B2 (en) 2010-12-03 2011-11-30 Method for determining the movements of an object from a stream of images
PCT/EP2011/071348 WO2012072664A1 (fr) 2010-12-03 2011-11-30 Methode de determination des mouvements d'un objet a partir d'un flux d'images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1060074A FR2968436B1 (fr) 2010-12-03 2010-12-03 Methode de determination des mouvements d'un objet a partir d'un flux d'images

Publications (2)

Publication Number Publication Date
FR2968436A1 true FR2968436A1 (fr) 2012-06-08
FR2968436B1 FR2968436B1 (fr) 2013-01-18

Family

ID=44244347

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1060074A Active FR2968436B1 (fr) 2010-12-03 2010-12-03 Methode de determination des mouvements d'un objet a partir d'un flux d'images

Country Status (4)

Country Link
US (1) US9092874B2 (fr)
EP (1) EP2646981A1 (fr)
FR (1) FR2968436B1 (fr)
WO (1) WO2012072664A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088095A (ja) * 2013-11-01 2015-05-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
US20150306330A1 (en) * 2014-04-29 2015-10-29 MaskSelect, Inc. Mask Selection System
US10062216B2 (en) * 2016-09-13 2018-08-28 Aleksey Konoplev Applying facial masks to faces in live video

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997049061A1 (fr) * 1996-06-17 1997-12-24 Sarnoff Corporation Appareil et procede pour detecter un mouvement au sein d'une sequence d'images

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8274935B2 (en) * 2008-02-11 2012-09-25 Amdocs Software Systems Limited Mobile communication device notifier
JP4603603B2 (ja) * 2008-07-24 2010-12-22 株式会社日立国際電気 録画転送装置
US8698888B2 (en) * 2009-10-30 2014-04-15 Medical Motion, Llc Systems and methods for comprehensive human movement analysis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997049061A1 (fr) * 1996-06-17 1997-12-24 Sarnoff Corporation Appareil et procede pour detecter un mouvement au sein d'une sequence d'images

Also Published As

Publication number Publication date
WO2012072664A1 (fr) 2012-06-07
US20130315554A1 (en) 2013-11-28
US9092874B2 (en) 2015-07-28
FR2968436B1 (fr) 2013-01-18
EP2646981A1 (fr) 2013-10-09

Similar Documents

Publication Publication Date Title
US20180114363A1 (en) Augmented scanning of 3d models
FR2907569A1 (fr) Procede et dispositif de simulation virtuelle d'une sequence d'images video.
US9478054B1 (en) Image overlay compositing
EP2556660A1 (fr) Une methode de detourage en temps reel d'une entite reelle enregistree dans une sequence video
US11816795B2 (en) Photo-video based spatial-temporal volumetric capture system for dynamic 4D human face and body digitization
CN109035288B (zh) 一种图像处理方法及装置、设备和存储介质
JP2011526013A (ja) 画像処理
CN113348486A (zh) 具有选择性运动描述的图像显示
KR20220051376A (ko) 메시징 시스템에서의 3d 데이터 생성
JP2006287921A (ja) 動画生成装置、動画生成方法、及びプログラム
JP2023539620A (ja) 顔画像の処理方法、表示方法、装置及びコンピュータプログラム
CN112348937A (zh) 人脸图像处理方法及电子设备
KR20200132569A (ko) 특정 순간에 관한 사진 또는 동영상을 자동으로 촬영하는 디바이스 및 그 동작 방법
CN103500220A (zh) 一种照片中人物识别方法
CN115661912B (zh) 图像处理方法、模型训练方法、电子设备及可读存储介质
WO2023197780A1 (fr) Procédé et appareil de traitement d'images, dispositif électronique et support de stockage
US8184869B2 (en) Digital image enhancement
CN114520886A (zh) 一种慢动作录像方法及设备
FR2968436A1 (fr) Methode de determination des mouvements d'un objet a partir d'un flux d'images
CN115393480A (zh) 基于动态神经纹理的说话人合成方法、装置和存储介质
AU2018271418B2 (en) Creating selective virtual long-exposure images
WO2021245273A1 (fr) Procédé et dispositif de reconstruction tridimensionnelle d'un visage avec partie dentée à partir d'une seule image
CN110084306B (zh) 用于生成动态图像的方法和装置
WO2021237736A1 (fr) Procédé, appareil et système de traitement d'images, et support d'enregistrement lisible par ordinateur
FR2887347A1 (fr) Procede et dispositif de construction d'une carte de profondeur d'une image numerique

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14