Capture de mouvement

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

La capture de mouvement (motion capture en anglais, parfois abrégé en mocap) est une technique permettant d'enregistrer les positions et rotations d'objets ou de membres d'êtres vivants, pour en contrôler une contrepartie virtuelle sur ordinateur (caméra, modèle 3d, ou avatar). Une restitution visuelle de ces mouvements en temps réel est faite via le moteur de rendu 3D de l'application interfacée avec le matériel utilisé qui peut les stocker dans un fichier d'animation de type BVH pour être traités ultérieurement dans un logiciel 3D classique (Maya, 3dsMax, XSI, Cinema4d, etc.) ; ou bien, via un plugin vers MotionBuilder, logiciel spécialisé dans le traitement, l'édition, le filtrage ou l'exportation de ces animations.

Les lointaines origines de cette technique peuvent être retrouvées chez Étienne-Jules Marey sous le nom de chronophotographie[1] qui l'a initialement développée dans un cadre médical. Le clavier et la souris sont les premiers périphériques de capture de mouvement, mais les premiers systèmes sophistiqués ont été développés dans les années 1980 pour l'armée (capteurs pour simulateurs d'aviation), puis pour des analyses physiologiques médicales, scientifiques ou sportives (orthopédie, traumatologie, rééducation, et, plus généralement, biomécanique). Elle est depuis 1990 employée pour produire des films en images de synthèse (TotalRecall), des effets spéciaux pour la télévision, ou des performances artistiques en théâtre ou en danse. Mais son marché principal reste le jeu vidéo. En effet, les mouvements réalistes générés par ces systèmes sont bien adaptés au jeux sportifs ou guerriers, ce qui n'est pas le cas du dessin animé dont la référence reste les animations exagérées ou expressives traditionnelles de Disney ou de Tex Avery, qui sont toujours réalisées avec les techniques manuelles par images-clés (keyframing (en) en anglais ).

Depuis le début des années 2000 s'est développée une technique plus complexe, la performance capture (litt. « capture d'interprétation ») qui saisit de manière synchronisée les mouvements du corps, les expressions du visage (facial motion capture (en) en anglais) et les mouvements des doigts. Auparavant, ces saisies étaient réalisées séparément.

On distingue quatre grands types de technologies pour la capture de mouvement : optiques, mécaniques, magnétiques et gyroscopiques.

Principe[modifier | modifier le code]

Un danseur portant une combinaison avec des marqueurs passifs réfléchissants, lors d'une capture optique de mouvement.
Une salle d'enregistrement dédiée à la capture de mouvement, équipée de plateformes sensibles aux pressions et de caméras infrarouge.
Un système de marqueurs actifs de haute résolution fournit en temps réel des positions infra-millimétriques.
Plusieurs marqueurs positionnés sur le visage d'un acteur durant une séance de capture optique de mouvement facial.
Une combinaison de chronophotographie inventée par Étienne-Jules Marey en 1891. On peut voir les marqueurs sur la jambe, le bras et la tête.
Le résultat de la chronophotographie avec la combinaison ci-dessus.

Tous les systèmes de capture de mouvement du corps humain sont constitués d'un dispositif matériel (capteurs, caméras USB ou réseau de caméras ethernet) relié à une application serveur dont le rôle est d'extraire les données brutes matérielles pour les traiter (filtrage, calculs géométriques et d'interpolation) puis les stocker ou les transmettre en temps réel à une application cliente universelle de visualisation, généralement MotionBuilder. Ce logiciel (développé à l'origine par la société Kaydara, rachetée aux environs de 2008 par Autodesk) est devenu un standard industriel puisqu'il interface via plugin la quasi-totalité des systèmes professionnels, et que son format FBX (pour FilmBoX, nom originel du logiciel) a été imposé comme standard d'échange et d'animation entre 3dsMax, Maya et XSI.

Capture optique[modifier | modifier le code]

Basée sur caméras infrarouges et marqueurs passifs réfléchissants[modifier | modifier le code]

Dans la plupart des systèmes, on pose des marqueurs sur l'acteur à des endroits du corps caractéristiques, généralement près des articulations, et ce sont des images noir et blanc (2 bits) de ces points qui sont captées, non les images du corps de l'acteur. Les caméras émettent un rayonnement infrarouge, réfléchi par les marqueurs dont la surface est composée d'une matière réfléchissante, puis renvoyé à ces mêmes caméras. Celles-ci ne sont sensibles qu'à un type de longueur d'onde et affichent les marqueurs sous forme de points blancs (ou en niveau de gris pour les caméras plus récentes). Puis, à partir du traitement d'image d'un minimum de 2 caméras, les positions dans le repère spatial des marqueurs sont déduites par triangulation. Le logiciel doit aussi traquer les marqueurs, c'est-à-dire : les inscrire dans une liste de suivi d'identification à partir de la T-pose (position en T initiale de l'acteur); gérer les occlusions (quand un membre, ou un autre acteur dans le cas de systèmes à acteurs multiples, vient cacher un marqueur à la vue d'une ou plusieurs caméras); enfin gérer le swapping (problème de la confusion ou de l'échange accidentel dans l'identification de deux marqueurs, par exemple deux mains qui passent près l'une de l'autre). Vient ensuite la phase de reconnaissance des corps rigides (rigid body): au moment de l'initialisation de la session de capture par le technicien en charge, celui-ci a réalisé manuellement des groupes de 2 à 4 marqueurs, fixes les uns par rapport aux autres (par exemple, autour du haut du crâne) et qui servent à calculer la rotation d'un membre (en effet, un marqueur en lui-même étant un point, celui-ci ne contient pas d'information de rotation). De trente (pour des systèmes bas de gamme) à deux cent cinquante fois par seconde, cette séquence de traitement est appliquée à un squelette virtuel, c'est-à-dire une hiérarchie d'os dont les positions et rotations sont contrôlés par les corps rigides associés. L'instantané de ce squelette est stocké dans un fichier, soit au format 'propriétaire' du système, soit au format du standard industriel BVH (de la société Biovision) ; ou bien envoyé en temps réel via un canal de communication du type TCP/IP au logiciel MotionBuilder. Ce logiciel contient un moteur de rendu 3d temps réel au format OpenGL, capable de déformer un modèle 3D de personnage en associant le squelette de celui-ci aux informations du squelette capté. Le réalisme du mouvement dépend de multiples facteurs : qualité du marker set (nombres de marqueurs et de bones utilisés), vitesse d'échantillonnage (des mouvements rapides de l'acteur génèrent des images floues, et donc des positions de marqueurs moins précises), performance des filtres logiciels permettant de réduire le bruit, etc.

Ces systèmes impliquent également la prise en compte de problèmes optiques complexes comme la parallaxe, la distorsion des lentilles utilisées, etc. Le signal capté subit donc de nombreuses déformations, et la phase d’étalonnage est cruciale pour obtenir une bonne précision des données.

  1. La société Vicon[2] est une des plus importantes sur le marché des systèmes optiques haut de gamme.
  2. La société MotionAnalysis[3] est également une des plus importantes sur le marché des systèmes optiques haut de gamme.
  3. La société NaturalPoint[4] est reconnue sur le marché des systèmes optiques d'entrée de gamme.
Article détaillé : Match moving.

Basée sur caméras, sans marqueurs[modifier | modifier le code]

La technologie sans marqueurs utilise le concept de 'depthmap', une surface à niveaux reconstruite suivant divers procédés optiques, qui n'est pas à proprement parler un modèle 3d classique (fait de sommets, d'arêtes et de polygones) mais de Voxel voxels, objets hybrides entre le pixel et le vecteur, sorte de nuage de cubes de couleur positionnés dans l'espace. Appliquée au corps, on utilise ce volume approximatif pour en extraire une configuration du squelette virtuel. Appliquée à la capture faciale, on la compare à une liste d'expressions d'un modèle 3d de visage (morph target pour 3dsMax ou blend shape pour Maya).

  1. La société Dynamixyz[5] propose un système de capture faciale sans marqueurs.
Basée sur la technologie Kinect[modifier | modifier le code]

La Kinect est un dispositif de capture dont la technologie sophistiquée est utilisée pour des applications ludiques grand public. Une trame de lumière infrarouge est projetée sur les objets, image que le capteur va traiter pour en reconstituer la profondeur (plus un point infarouge est gros, plus il est près). À la différence des systèmes optiques traditionnels avec marqueurs, cette technique permet de n'utiliser qu'une seule caméra. Conçue à l'origine pour la Xbox, ce périphérique a très vite été détourné pour fonctionner sur PC, puis officiellement par Microsoft avec Kinect for Windows.

  1. Le programmeur Jasper Brekelmans[6] offre depuis 2010 une version mono-acteur gratuite avec drivers non officiels, et bientôt une version payante multi-acteurs, interfaçée avec MotionBuilder et développée avec les drivers Microsoft.
  2. Le développeur russe iPi[7], connu pour son offre commerciale à très bas coût, commercialise une version de son logiciel sans marqueurs iPi MocapStudio pour la Kinect, webcam ou caméras vidéo Sony rapides. Pas de temps réel, pas de plugin pour MotionBuilder, seulement un export au format BVH.
  3. La société Reallusion[8] commercialise une solution de capture Kinect pour son logiciel d'animation grand public IClone.
  4. La société Kinemocap[9] commercialise une solution de capture Kinect interfaçée avec le logiciel XSI d'Autodesk.
  5. La société FaceShift[10] commercialise une solution de tracking facial de haute qualité pour Kinect interfaçée avec MotionBuilder.
Basée sur réseau de caméras vidéo en lumière naturelle[modifier | modifier le code]

La société OrganicMotion[11] commercialise un dispositif de capture sans marqueurs professionnel de haute qualité utilisant un réseau d'une vingtaine de caméras vidéo rapides. Système temps réel, avec affichage des acteurs en Voxel voxels.

Basée sur des cellules photosensibles et marqueurs actifs[modifier | modifier le code]

Avec ce type de technologie, la capture optique est basée sur la prise de vue synchronisée de trois cellules photosensibles sur une même unité de mesure. La synthèse des coordonnées (x,y,z) se fait donc immédiatement en temps réel par une seule et même unité dont chaque cellule voit l'objet sous différents angles permettant d'en déduire ses coordonnées (x,y,z).

Cette méthode bien que moins sensible, prend en compte les problèmes optiques complexes comme la parallaxe, mais n'utilise pas de lentilles contrairement aux caméras. Le signal émis par des marqueurs actifs (micro-DEL) est filtré à travers une paroi traitée à cet effet et plate (pas de problème de distorsion d'image) et capté directement par les cellules photosensibles en même temps. Aucun calibrage n'est nécessaire, puisque les trois cellules du système sont fixées d'origine dans une structure rigide puis précalibrées à l'aide d'une batterie de tests dynamiques d'une redoutable précision après assemblage. Cette technique et les précautions qui entourent la mise en service de ces unités de mesure permettent le calcul des coordonnées 3D de chaque émetteur actif ou marqueur actif dans le volume de capture avec une très grande précision.

Le principe de fonctionnement est donc celui « d'émetteur-récepteur » : les marqueurs actifs émettent directement un signal infrarouge captés par les cellules photosensibles. Celles-ci ne sont sensibles qu'à un type de longueur d'onde et identifient les marqueurs actifs en temps réel grâce à une séquence d'émission multicomplexe. Ces marqueurs sont donc identifiés automatiquement et immédiatement en temps réel comme étant des points dynamiques avec des coordonnées 3D dans l'espace virtuel[12]

Capture mécanique[modifier | modifier le code]

La capture mécanique fonctionne grâce à un exosquelette construit autour de l'élément à capter, et dont chaque articulation est couplée à un codeur angulaire. La valeur de rotation du codeur est enregistrée par un calculateur. En connaissant la position relative de chaque codeur, un logiciel est capable de reconstituer le mouvement complexe d'un squelette constitué en général de plusieurs articulations. On applique également un décalage pour chaque codeur, car il n'est souvent pas possible de faire coïncider exactement la position du codeur avec celle de l'articulation réelle (surtout dans le cadre d'une capture d'un mouvement d'humain).

Si cette technique offre une grande précision et une grande rapidité, elle est cependant limitée par les contraintes mécaniques inhérentes à la mise en place des codeurs et de l'exosquelette. En effet, la liberté de mouvement n'est pas aussi importante qu'avec des systèmes de capture optique à boules réfléchissantes. De plus, ces exosquelettes utilisent souvent des connexions filaires qui relient les codeurs au calculateur. La précision de la reproduction d'un mouvement est de plus conditionnée par celle de la modélisation du squelette, qui résulte directement de la mesure des positions relatives entre chaque codeur.

Il faut d'autre part adapter la taille de l'exosquelette à chaque morphologie. Enfin un exosquelette pèse en général plus lourd que des boules réfléchissantes. La capture mécanique ne permet de reproduire que des mouvements relatifs entre codeurs, mais ne permet pas de positionner le squelette dans un univers de manière absolue. Il faut utiliser des méthodes de triangulation optique pour placer précisément l'animation dans un univers.

Il faut autant d'exosquelettes de captation que de personnages à animer, et il est peu aisé de capturer les interactions entre plusieurs personnages, ou d'un personnage avec des objets.

Les avantages de la capture mécanique sont la précision de la mesure (un codeur optique peut comporter plusieurs centaines de milliers de traits par tour), la rapidité du fait de la connexion filaire, et l'insensibilité aux facteurs extérieurs. Elle est cependant peu adaptée à la capture du mouvement humain.

Par contre elle convient bien à des systèmes robotiques, où les éléments mobiles sont rigides, comme des bras robots à multi-axes, ou à des objets dont le rayon d'action est limité (à cause de la contrainte de la connexion filaire)[13]

Capture magnétique[modifier | modifier le code]

La capture magnétique repose sur la création d'un champ électromagnétique en un point réel, qui aura pour coordonnées (0,0,0) en x, y et z dans sa représentation virtuelle, et que l'on nomme « antenne », ainsi que sur l'introduction de « capteurs » dans ce champ électromagnétique.

Ces capteurs sont en fait des bobines de fils électriques perturbant le champ magnétique, et dont le calcul des différences de potentiel avec l'antenne traduit à la fois leurs positions et leurs orientations.

Le principal avantage de cette méthode est que les signaux captés sont très peu interprétés, aucune interpolation n'est effectuée hors du calcul même de la position et de l'orientation des capteurs. Cependant, tout objet métallique constituant une boucle (loop) inclus dans le champ, et plus généralement toute distorsion électromagnétique, conduira à un « tremblement » des données captées, les rendant ainsi pratiquement inutilisables. Par contre, ces tremblements peuvent être éliminés assez facilement par l'utilisation de logiciels tels que « MotionBuilder[14] »[15].

Capture par centrales inertielles[modifier | modifier le code]

La capture par centrales inertielles ou gyroscopiques permet l'acquisition de l'attitude du corps humain en temps réel, par rotation de ses membre, en supprimant les contraintes imposées par les technologies optiques (occlusion et swapping). En effet, ces capteurs continuent à fonctionner même cachés par d'autres acteurs, habits ou accessoires. Par contre, ceux-ci n'enregistrent pas leur position, qui doivent être réalisées avec d'autres capteurs ou par keyframing (un cycle de marche capturé fera donc du sur-place). Systèmes légers et portables, câblés ou sans-fil, ils peuvent cependant perdre de la précision sur de longues captures (accumulation d'erreurs)[16]

Facial motion capture et performance capture[17][modifier | modifier le code]

La facial motion capture, également appelée face tracking (litt. « capture d'expressions faciales ») est une évolution de la capture de mouvement. Elle s'inscrit dans une technique plus générale appelée performance capture (litt. « capture d'interprétation »), qui a été développée par le réalisateur Robert Zemeckis (dont le film Le Pôle express sera le premier à être tourné intégralement selon ce procédé). Cette technique permet de prendre en compte, en plus des mouvements corporels généraux, des mouvements plus subtils comme les expressions faciales ou les mouvements des mains.

Mais ce qui différencie surtout la performance capture de la capture de mouvement, c'est que, plus qu'une amélioration technique, il s'agit avant tout d'une méthodologie de travail. L'acteur est en effet placé au cœur de ce procédé qui l'autorise à jouer sans aucune contrainte technique (emplacement, décors, éclairage...). Ce n'est qu'ensuite, et en fonction de la performance ainsi enregistrée, que les différentes étapes de fabrication du film seront exécutées, permettant d'effectuer le montage, de régler les mouvements de caméra ou le cadrage, d'ajuster l'éclairage, de choisir les décors, sans ordre préétabli et sans contrainte. Le réalisateur est ainsi libre de tester une infinité de configurations avant d'opter pour celle qu'il décidera d'inclure dans son film, chose impossible lors d'un tournage classique.

Du point de vue de l'acteur, les possibilités sont tout aussi infinies: un acteur peut ainsi interpréter un personnage d'âge ou d’apparence différentes (Tom Hanks interprète plusieurs rôles dans Le Pôle express, dont celui d'un enfant, et le bedonnant Ray Winstone interprète un héros au physique athlétique dans La Légende de Beowulf), voire des personnages non-humains (dans La Légende de Beowulf, Ray Winstone incarne également le dragon symbolisant la culpabilité du héros, et Kathleen Turner une maison dans Monster House).

Filmographie[modifier | modifier le code]

Il existe une catégorie consacrée à ce sujet : Film tourné en capture de mouvement.

Films intégralement tournés en performance capture[modifier | modifier le code]

Films utilisant partiellement la performance capture[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. Étienne-Jules Marey, « La Chronophotographie : nouvelle méthode pour analyser le mouvement dans les sciences physiques et naturelles », Revue générale des sciences pures et appliquées, no 2,‎ 1891, p. 689-719 (lire en ligne [PDF])
  2. Vicon
  3. MotionAnalysis
  4. NaturalPoint
  5. Dynamixyz
  6. brekel.com
  7. iPi
  8. Reallusion
  9. Kinemocap
  10. FaceShift
  11. OrganicMotion
  12. Voir PhaseSpace et Ptiphoenix.
  13. Voir Gypsy
  14. MotionBuilder
  15. Voir ascension-tech.com.
  16. Voir Xsens.
  17. Appellations anglo-saxonnes en l'absence actuelle de termes français officiels.
  18. Making of de Renaissance sur vimeo.com.

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Sur les autres projets Wikimedia :