FR3124302A1 - Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique. - Google Patents

Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique. Download PDF

Info

Publication number
FR3124302A1
FR3124302A1 FR2106478A FR2106478A FR3124302A1 FR 3124302 A1 FR3124302 A1 FR 3124302A1 FR 2106478 A FR2106478 A FR 2106478A FR 2106478 A FR2106478 A FR 2106478A FR 3124302 A1 FR3124302 A1 FR 3124302A1
Authority
FR
France
Prior art keywords
frame
mesh
frames
scene
sequence
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
FR2106478A
Other languages
English (en)
Other versions
FR3124302B1 (fr
Inventor
Quentin Pelorson
Valentin BONHOMME
Odilon VATONNE
Clément MENIER
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.)
4D VIEW SOLUTIONS
Original Assignee
4D VIEW SOLUTIONS
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 4D VIEW SOLUTIONS filed Critical 4D VIEW SOLUTIONS
Priority to FR2106478A priority Critical patent/FR3124302B1/fr
Priority to DE112022003137.9T priority patent/DE112022003137T5/de
Priority to KR1020237040092A priority patent/KR20230173716A/ko
Priority to PCT/FR2022/051173 priority patent/WO2022263781A1/fr
Priority to GB2319132.3A priority patent/GB2622718A/en
Publication of FR3124302A1 publication Critical patent/FR3124302A1/fr
Application granted granted Critical
Publication of FR3124302B1 publication Critical patent/FR3124302B1/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
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

Procédé de traitement numérique de données représentatives d'une scène tridimensionnelle volumétrique mis en œuvre par ordinateur et comprenant les étapes d’accéder auxdites données représentatives de la scène, désigner une première trame associée à un premier maillage, désigner une première position (P) dans le premier maillage, déterminer une première facette (T) du premier maillage sur laquelle est située la première position, accéder à une liste d’associations préétablies entre des positions d’origine des sommets (V0, V1, V2) de la première facette (T) et des positions associées respectives (PV0’, PV1’, PV2’) exprimées dans un repère propre à un deuxième maillage (M1) d’une deuxième trame, ces associations étant représentatives de l’évolution de la scène dans le temps, et déterminer, à partir des positions associées respectives, une position (P’) située dans le deuxième maillage (M1) associée à la position désignée dans le premier maillage. Figure 3B

Description

Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique.
L’invention concerne un procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique, c’est-à-dire comprenant des objets s’étendant dans les trois directions de l’espace.
L’invention concerne un procédé permettant d’établir un lien continu entre des trames successives de données volumétriques, c’est-à-dire représentatives de scènes tridimensionnelles volumétriques, et l’application de ce procédé à des traitements numériques de trames successives de ces données volumétriques.
A la connaissance des inventeurs, ce sujet n’était jusqu’à présent pas développé dans le domaine de l’infographie tridimensionnelle, et aucune solution techniquement satisfaisante n’était connue, en particulier dans le cas de séquences à fort changement de topologie.
Dans le cas de séquences vidéo bidimensionnelles, ou séquences vidéo 2D, il est possible d’appliquer des effets, ou filtres, aux trames successives constituant une séquence vidéo au moyen de calculs connus reposant sur les pixels des images successives des trames.
Ce type d’application est réalisé par exemple au moyen de techniques dites de flux optique, ou « optical flow » en terminologie anglaise, reposant sur l’identité des pixels d’une trame d’une séquence vidéo numérique à la suivante, identité permettant de suivre le déplacement d’objets dans les trames successives et donc d’en réaliser le suivi et, si souhaité, d’appliquer automatiquement un traitement à chacune de ces trames grâce au suivi des objets.
Dans le cas d’une séquence vidéo tridimensionnelle volumétrique, ou séquence vidéo 3D, les données volumétriques ne correspondent pas à des pixels mais définissent un maillage constitué de facettes propre à chaque trame.
Les méthodes applicables aux séquences vidéo 2D ne sont donc pas applicables aux séquences vidéo 3D.
Ainsi, associer une source sonore à la bouche d’un personnage en déplacement dans une scène tridimensionnelle nécessite jusqu’à présent un suivi manuel du déplacement de la bouche, procédé fastidieux et chronophage impliquant une identification manuelle de la position de la bouche pour chaque trame de la scène définie par une topologie différente de la précédente et aboutissant à un résultat peu satisfaisant qualitativement parlant.
Il existe également des approches par détection de visage à chaque trame, non satisfaisantes lorsque que plusieurs visages sont présents dans la scène.
De plus ces approches ne fonctionnent que pour les visages et n'ont pas la capacité de s’étendre à des cas plus généraux.
Il existe donc un besoin non satisfait concernant le traitement numérique de séquences vidéo 3D, et plus spécifiquement le traitement numériques des trames successives de telles séquences.
L’invention a pour objectif de fournir un procédé traitement numérique d’une scène tridimensionnelle volumétrique mettant en œuvre un suivi dans le temps de la position de points.
Plus spécifiquement, l’invention porte sur un procédé de traitement numérique de données représentatives d'une scène tridimensionnelle volumétrique comprenant une séquence de trames consécutives chacune associées à un maillage respectif représentatif de la scène à un instant donné, le procédé étant mis en œuvre par ordinateur et comprenant les étapes d’accéder, dans un système de stockage et de traitement de données, auxdites données représentatives d'une scène tridimensionnelle volumétrique, de désigner, dans la séquence de trames consécutives, une première trame associée à un premier maillage desdits maillages respectifs, désigner une première position dans le premier maillage, le procédé comprenant en outre les étapes de déterminer une première facette du premier maillage sur laquelle est située la première position, accéder , dans le système, à une liste d’associations préétablies entre des positions d’origine des sommets de la première facette et des positions associées respectives exprimées dans un repère propre à un deuxième maillage d’une deuxième trame de la séquence de trames consécutives, ces associations étant représentatives de l’évolution de la scène dans le temps, et déterminer, à partir des positions associées respectives, une position située dans le deuxième maillage associée à la position désignée dans le premier maillage.
Le procédé ci-dessus permet d’automatiser le suivi dans l’espace et le temps d’un point d’une scène tridimensionnelle volumétrique modélisée par une succession de trames avec des maillages associés respectivement à chacune des trames.
En outre, ce suivi est générique, c’est-à-dire applicable à tout type de contenu visuel y compris en cas de fortes variations topologiques entre les trames, économe en calcul, permet de faire un suivi en temps réel et d’appliquer des traitements numériques à cette succession de trame.
Le procédé de traitement d’un flux vidéo volumétrique selon l’invention peut présenter les caractéristiques suivantes :
- la première position et les positions cibles peuvent chacune être définies par une facette d’appartenance et des coordonnées barycentriques associées à cette facette d’appartenance ;
- la première trame et la deuxième trame peuvent être deux trames consécutives ;
- une troisième trame de la séquence de trames consécutive peut être interposée entre la première trame et la deuxième trame ; et
- le procédé peut en outre comprendre une étape d’association d’une position d’une source sonore à la position située dans le deuxième maillage.
L’invention peut s’étendre à :
- un système de traitement de données comprenant des moyens de mettre en œuvre les étapes du procédé ;
- un programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé ; et
- un support lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé.
La présente invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée du mode de réalisation pris à titre d'exemple nullement limitatif et illustré par les dessins annexés, dans lesquels :
- la illustre un studio de vidéogrammétrie ;
- la illustre la modélisation d’une scène par un maillage ;
- la illustre une succession de trames ;
- la illustre une approximation d’un maillage d’une trame-cible par déformation de celui d’une trame-source ;
- la illustre une succession de trames ainsi que des bridges selon l’invention ;
- la illustre un procédé de calcul des bridges de la ;
- la illustre une application simple des bridges de la ;
- la illustre une application générale des bridges de la ;
- la illustre un procédé de calcul basé sur l’utilisation des bridges de la ;
- la illustre un procédé de constitution d’un bridge ; et
- la illustre une application de tracking d’un point dans des trames consécutives.Description d’un mode particulier de réalisation du procédé selon l'invention
Les données volumétriques objets du procédé selon l’invention peuvent être, par exemple, déduite de la capture par vidéogrammétrie d’une scène 125 tridimensionnelle comme illustré par la , c’est-à-dire au moyen d’un ensemble de caméras 130 réparties spatialement et capturant des images de la scène 125 jouée par des acteurs 105 dans un studio 100 de vidéogrammétrie, généralement à une fréquence de l’ordre de 30 à 60 images par seconde.
Les caméras 130 sont fonctionnellement reliées à un système 140 de stockage et de traitement de données, ainsi qu’à une interface utilisateur 150 permettant de contrôler les caméras et le système tels qu’un ordinateur équipé d’un ou plusieurs disques durs.
Ces images sont utilisées pour recréer l’action de la scène par calcul d’un nuage de points pour chaque instant de capture.
Chaque nuage de point est ensuite modélisé au moyen d’un maillage M de facettes reliées continûment les unes aux autres et définies par des points particuliers que sont leurs sommets, ou « vertices » en terminologie anglaise.
Ces facettes sont souvent des triangles, comme illustré par la , qui représente un maillage M modélisant une tête humaine.
Par la suite, nous illustrerons ce mode de réalisation au moyen d’un maillage constitué de triangles, mais d’autres types de facettes pourraient être employés.
Le maillage est représentatif des surfaces, vues par les caméras, des éléments de la scène.
Chaque triangle est identifié au moyen des trois sommets V le définissant, respectivement V0, V1 et V2 sous forme d’un triplet {V0, V1, V2}, la position de chaque sommet étant connue dans un repère tridimensionnel associé à la scène.
A chaque instant de capture de la scène correspond une trame associée à un ensemble de données volumétriques constituées par le maillage associé à cette trame.
Avant traitement, le nombre de triangles employés et leurs connectivités sont généralement différents d’une trame à la suivante.
Conventionnellement, afin de limiter le volume des données à traiter, un tracking géométrique du maillage est opéré dans le temps, consistant à approcher des maillages de certaines trames par déformation d’un maillage de référence appartenant à une trame de référence dite « trame-clef », ou « keyframe » en terminologie anglaise, de sorte que les maillages des trames suivantes sont constitués des mêmes triangles de mêmes connectivités que ce maillage de référence, ces trames constituant un bloc de trames.
Lorsqu’il n’est pas possible d’approcher de façon acceptable un maillage par déformation du maillage de la trame de référence, une nouvelle trame de référence est définie avec un nouveau maillage de référence, et l’opération est répétée jusqu’à avoir traité les maillages de l’ensemble des trames, définissant ainsi un ensemble de blocs de trames.
Les trames dont le maillage est défini comme décrit ci-dessus sur la base du maillage d’une trame-clef, et donc situées entre deux trames-clefs consécutives, sont dites « inter-trames » ou « interframes » en terminologie anglaise.
La illustre un ensemble de blocs FB de trames F, dans lequel chaque bloc de trames est constitué d’une trame clef KF unique et d’inter-trames IF.
Le document ”High-quality streamable free-viewpoint video”, ACM Trans. Graphics (SIGGRAPH), 34(4), 2015, donne une vue d’ensemble du procédé bien connu décrit ci-dessus.
Nous voyons que les données volumétriques ne correspondent pas à des pixels comme dans le cas de vidéos 2D, mais sont définies par un maillage constitué de surfaces, elles-mêmes définies par des triangles dont les sommets ont un positionnement connu dans un système de coordonnées.
Le présent mode de réalisation repose sur l’utilisation d’éléments dits « bridges », qui définissent, pour chaque sommet du maillage d’une première trame dite « trame-source », une position approchée sur une surface du maillage d’une deuxième trame dite « trame-cible », cette position approchée étant exprimée dans un repère propre au maillage de la trame-cible.
Ces bridges permettent de faire un suivi dans le temps des points définissant le maillage et d’appliquer des filtres à des séquences vidéo 3D.
Dans une séquence vidéo 3D complète, avec une première trame, une dernière trame, et des trames intermédiaires comprises entre ces deux trames, on définit trois types de bridges : les bridges Empty, les bridges Delta et les bridges Fix, comme illustré par la .
Le illustre une séquence complète de trames F commençant par une trame de début BF et se terminant par une trame de fin EF, les trames étant regroupées en au moins un bloc BL0 et un bloc BL1 tels que définis plus haut, le bloc BL1 suivant immédiatement le bloc BL0 dans le sens de la séquence vidéo, le passage de BL0à BL1étant visualisé par une ligne de changement de bloc BC.
Dans le sens du flux vidéo (de BL0 vers BL1), la dernière trame du bloc BL0 est la trame F0, la première trame du bloc BL1 est la trame F1 et la deuxième trame du bloc BL1, qui suit immédiatement la trame F1, est la trame F2.
Bridges Empty
Les première et dernière trames de la séquence, respectivement BF et EF, n’ont pas de trame à gauche et à droite, respectivement, c’est-à-dire vers l’extérieur de la séquence, comme illustré dans la .
Dans ces cas particuliers, on définit des bridges dits bridges Empty indiquant de façon arbitraire l’absence de correspondance d’un sommet dû à l’absence de trame, qui sont identifiés par « Empty » dans la .
Cas général
Pour les autres cas de figures, on met en œuvre le procédé 200 illustré en (a) de la , et démarrant par une étape 205 de désignation d’une trame-source et d’une trame-cible, suivie d’une étape de test T déterminant si la trame-source et la trame-cible appartiennent à un même bloc de trame (Y) ou à deux blocs de trame distincts (N).
Si les deux trames appartiennent à un même bloc de trame, le bridge associé à ces deux trames sera un bridge Delta déterminé par une étape 205D, alors que si la trame-source et la trame-cible appartiennent à deux blocs différents (N), le bridge associé à ces deux trames sera un bridge Fix déterminé à une étape 205F.
Bridges Delta
Au sein d’un bloc donné, comme le bloc BL1 de la , les maillages de chaque trame ont la même topologie, c’est-à-dire qu’ils sont formés des mêmes triangles.
Ainsi, le suivi du sommet d’une trame à l’autre est extrêmement simple, puisqu’il suffit d’indiquer, au moyen des bridges Delta identifiés par « Delta » dans la , que les sommets d’une trame-cible ont les mêmes identifiants que les sommets correspondants de la trame-source.
Cette opération correspond à l’expression de l’identité entre un sommet donné d’une trame et le même sommet dans une trame immédiatement adjacente, comme entre les trames F1 et F2 dans l’exemple illustré par la , et ce pour chacun des sommets des trames.
Ainsi, un bridge BR12de suivi des sommets de la trame F1 à la trame F2 et un bridge BR21de suivi des sommets de la trame F2 à la trame F1 peuvent chacun s’écrire {Id} où Id identifie un opérateur d’identité indiquant que l’identifiant de chacun des sommets est identique pour les deux trames F1 et F2.
Bridges Fix
Le cas le plus complexe est celui où le maillage de la trame-source et celui de la trame-cible ont des topologies différentes, c’est-à-dire qu’ils comprennent des triangles en nombres différents dont les connectivités sont également différentes.
Cette situation correspond au passage d’un bloc à l’autre, comme le passage de la trame F0 à la trame F1 de la .
Le suivi d’une position entre ces deux trames sera assuré au moyen des bridges Fix, identifiés par « Fix » dans la et calculés selon les étapes 210 à 250 du procédé 200, pouvant être considérées comme des sous-étapes de l’étape 205F.
A l’étape 210, on désigne un sommet Vi courant de la trame F0 qui est désignée comme trame-source et la trame F1 est désignée comme trame-cible, ces trames étant illustrées respectivement par des silhouettes (a) et (e) de la définies par des maillages respectifs, (c) illustrant la superposition de ces maillages.
On cherche à exprimer, dans un repère propre à la trame-cible F1, la position PVi’ qu’aurait le sommet Vi du maillage de la trame-source F0 si on le déformait de manière à suivre le mouvement global de la scène représentée, correspondant par exemple au déplacement d’un personnage de la scène et/ou à ses mouvements.
A l’étape 220, on déforme le maillage de la trame-source de manière à approcher le maillage de la trame-cible en tendant à faire superposer le maillage déformé de la trame F0 au maillage de la trame F1.
La illustre en (b) le maillage de la trame source (a) déformé pour être approché de la du maillage de la trame cible (e).
En outre, la illustre en (d) la superposition du maillage de (a) déformée avec le maillage de (b) .
La déformation du maillage conserve sa topologie, c’est-à-dire le nombre de triangles constituant le maillage ainsi que leur connectivités, mais modifie la position dans l’espace des sommets de ces triangles.
Cette étape pourrait être effectuée manuellement, mais elle est préférablement effectuée par application d’un algorithme de matching conventionnel tel qu’un procédé ARAP (As Rigid As Possible), un procédé ASAP (As Similar As Possible), un procédé LABF (Linear Angle Based Flattening), un procédé IC (Inverse Curvature) ou encore un procédé CP (Curvature Prescription), comme décrit dans le document « A local/global approach to mesh parametrization » de Liu et al., Eurographics Symposium on Geometry Processing 2008, Volume 27 (2008), Number 5.
A l’issue de l’étape 220, on a deux maillages spatialement très proches l’un de l’autre mais avec des topologies et sommets différents.
Nous considérons le sommet Vi du maillage de la trame F0 et une position PVidefdu maillage déformé, correspondant au sommet Vi ayant été déplacé par la déformation du maillage de la trame F0 pour approcher le maillage de la trame F1.
La position PVidefne se situe généralement pas sur une facette du maillage de la trame F1.
A l’étape 230, on calcule pour la position PVidefla position la plus proche PVi’ sur une facette du maillage de la trame-cible, au moyen de méthodes de calcul conventionnelles.
A l’étape 240, on identifie, par des méthodes conventionnelles, la facette sur laquelle se situe la position PVi’, ici le triangle Tj, comme illustré en (b) de la .
Le triangle Tj est défini par trois sommets du maillage de la trame F1 : V0(F1), V1(F1) et V2(F1).
A l’étape 250, on calcule de manière conventionnelle des coordonnées barycentriques C0, C1 et C2 exprimant la position PVi’ dans le triangle Tj, ces coordonnées étant associées respectivement aux sommets V0(F1), V1(F1) et V2(F1).
Ce faisant, on associe une position PVi’ au sommet Vi de la trame-source F0 et on exprime cette position dans un repère propre à la trame-cible F1, cette position PVi’ reflétant le déplacement dans le temps de des volumes définis par les maillages des trames F0 et F1.
En appliquant les étapes 210 à 250 pour chacun des sommets du maillage de la trame-source F0, on définit un bridge BR01rassemblant l’ensemble des associations respectives des sommets V du maillage de la trame-source F0 à des triangles T du maillage de la trame cible F1 ainsi qu’à des coordonnées barycentriques C0, C1 et C2 situant une position dans ces triangles, ce bridge représentant l’évolution dans le temps, de la trame F0 à la trame F1, des positions des sommets V.
On peut exprimer chacune des associations listées dans le bridge BR01par {T, C0, C1, C2}, le bridge pouvant par exemple prendre la forme d’une table rassemblant chacune des ces associations.
Si l’on utilise des coordonnées barycentriques normalisées, dont la somme vaut 1, on peut simplifier l’expression du bridge BR01en {Tj, C0, C1}, C2 se déduisant de C0 et C1.
En outre, afin de réaliser un suivi dans les deux sens du temps, il est nécessaire de non seulement calculer le bridge BR01, mais également le bridge BR10, en assignant cette fois la trame F1 comme trame-source et la trame F0 comme trame-cible.
On peut optimiser le calcul du bridge BR10en utilisant la déformation de la trame source F0 vers la trame cible F1 précédemment calculée lors de l’étape de calcul du Bridge BR01et définir pour chacun des sommets du maillage de la trame F1 la position la plus proche PVi’ sur une facette du maillage de la trame F0.
Cependant, de l’expérience des inventeurs, les résultats sont alors moins satisfaisants que de passer par la déformation de la trame source F1 vers la trame-cible F0 et réitérant l’ensemble du mode de calcul exposé plus haut pour obtenir le bridge BR01.
En définissant des bridges, Delta, Empty ou Fix, pour chaque trame comme détaillé ci-dessus, on a établi une association entre les positions de chaque sommet de chaque trame et des positions dans les trames voisines, ces associations étant représentatives de l’évolution dans l’espace des éléments de la scène au cours du temps.
En se basant sur ces associations, on est en mesure de suivre un point d’un élément de la scène simplement et de manière très économe en calcul sur l’ensemble d’une séquence vidéo 3D.
Applications directes des bridges (Fonctions VTransfert et PTransfert, Combinaison de bridges)
Les bridges tels que définis ci-dessus pour chaque trame d’une séquence vidéo 3D permettent de réaliser un suivi d’une position d’un point quelconque sur une surface du maillage d’une première trame dite trame-source en avant ou en arrière dans la séquence, de manière à suivre les mouvements du ou des éléments modélisés par les maillages.
On parle d’associer une position de la trame-source à une position de la trame-cible.
VTransfert
Une application simple des bridges consiste à associer un sommet d’intérêt Vint d’une trame-source à une position PVint’ à la surface du maillage d’une trame-cible.
On peut exprimer la position PVint’ par PVint’=VTransfert(Vint,BR) où VTransfert est une fonction associant une position sur la surface du maillage de la trame-cible au sommet Vint de la trame-source, par utilisation d’un bridge BR tel que défini plus haut.
Si les deux trames appartiennent à un même bloc, alors VTransfert définit au moyen d’un bridge Delta la position PVint’ comme celle du sommet de la trame-cible de même identifiant que Vint.
Si les deux trames appartiennent à deux blocs distincts, alors VTransfert définit, au moyen d’un bridge Fix, la position PVint’ sur le triangle T’ du maillage de la trame-cible par (V0’*C0+V1’*C1+V2’*C2), où V0’, V1’ et V2’ correspondent aux sommets du triangle T’ indiqué par le bridge Fix pour Vint et C0, C1 et C2 sont les coordonnées barycentriques normalisées indiquées par ce bridge, comme illustré par la .
Dans la notation ci-dessus, Vj*Cj correspond à la multiplication de chacune des coordonnées du sommet Vj dans le repère associé à la scène par le coefficient barycentrique Cj et résulte en chacune des coordonnées de la position Vint’.
La fonction VTransfert permet de déterminer la position associée à un sommet suite à la transformation du maillage d’une trame-source à une trame-cible, en pratique deux trames consécutives dans une séquence vidéo 3D.
PTransfert
Une application plus générale des bridges que celle définie par la fonction VTransfert est l’association d’une position P d’intérêt, appartenant à la surface définie par le maillage d’une trame-source F0, à une position P’ située sur un triangle T’ de la surface définie par le maillage M1 d’une trame-cible F1, comme illustré en (a) de la .
A la différence de VTransfert, Ptransfert ne requiert pas de la position P d’être celle d’un sommet du maillage.
Au moyen d’un procédé 400 illustré par la et la , on peut exprimer la position P’ par P’=PTransfert(P, BR01) où PTransfert est une fonction associant une position sur la surface du maillage de la trame-cible à la position P quelconque de la surface du maillage de la trame-source, par application du bridge BR01de suivi entre les trames F0 et F1, tel que défini plus haut.
A une étape 410 du procédé 400, on exprime la position P d’intérêt en coordonnées barycentriques C0, C1 et C2 du triangle T le contenant dans le maillage de la trame-source, ce triangle étant défini par ses trois sommets V0, V1 et V2.
A une étape 420, on calcule les positions PV0’, PV1’ et PV2’ de la trame-cible associées respectivement aux trois sommets V0, V1 et V2 de la trame-source au moyen de la fonction VTransfert définie ci-dessus :
PV0’=VTransfert(V0, BR01)
PV1’=VTransfert(V1, BR01)
PV2’=VTransfert(V2, BR01).
A une étape 430, on calcule les coordonnées barycentriques d’une position Q dans le triangle dont les sommets sont localisés par les trois positions PV0’, PV1’ et PV2’ en appliquant à ces trois positions les coordonnées barycentriques C0, C1 et C2 de la position P, ce qui définit la position Q correspondant à P dans la trame-cible F1 : PV0’*C0 + PV1’*C1 + PV2’*C2, comme illustré en (b) de la et avec la même notation qu’employée ci-dessus.
La position Q ne se trouve généralement pas sur la surface du maillage M1 de la trame-cible F1.
A une étape 440, et de manière similaire à l’étape 230 du procédé 200, on détermine la position qui est la plus proche de Q sur la surface du maillage de la trame-cible F1 et qui est la position P’ recherchée, comme illustré en (c) de la , avec une vue depuis un point situé dans le plan défini par les positions PV1’, PV2’ et PV3’.
A une étape 450, et de manière similaire à l’étape 240 du procédé 200, on calcule des coordonnées barycentrique C0’, C1’ et C2’ exprimant la position P’ dans le triangle T’ de la trame M1 sur lequel elle se situe.
Ce faisant, on a exprimé la position P’ associée à la position P de la trame-source F0 dans un repère propre à la trame-cible F1, cette position tenant compte du déplacement dans le temps de l’ensemble d’un volume définie par les maillages.
L’application de la fonction PTransfert peut être réitérée de trame en trame, permettant le suivi de la position d’un point ou d’un élément de la scène dans l’ensemble de la séquence vidéo 3D.
Combinaison de bridges
Dans une séquence vidéo 3D donnée, on peut vouloir effectuer un suivi sur deux trames Fp et Fq immédiatement consécutives comme détaillé ci-dessus, mais également entre deux trames non consécutives, comme Fp et Fr, la trame Fq étant interposée entre ces deux trames.
Si l’on dispose des bridges Bpq et Bqr explicitant respectivement le suivi entre les trames Fp et Fq et entre les trames Fq et Fr, on peut mettre en œuvre une combinaison entre ces bridges selon les règles exposées ci-dessous afin d’obtenir le bridge Bpr permettant le suivi entre les trames non consécutives Fp et Fr.
Un bridge Empty combiné à un bridge quelconque, Delta ou Fix, donne un bridge Empty.
Un bridge Delta combiné à un bridge Delta donne un bridge Delta.
Un bridge Delta combiné à un bridge Fix donne ce même bridge Fix.
Les trois règles de combinaison ci-dessus sont commutatives au sens algébrique, c’est-à-dire qu’une combinaison d’un bridge Ba avec un bridge Bb dans cet ordre est strictement équivalente à la combinaison du bridge Bb avec le bridge Ba dans cet ordre.
La combinaison dans cet ordre des bridges BRpq et BRqr tels que définis ci-dessus dans le cas où les deux bridges sont des bridges Fix, soit BRpq*BRqr, donne un bridge Bpr comme calculé ci-dessous, cette règle n’étant pas commutative.
On cherche à exprimer, dans un repère propre à la trame-cible Fr, la position qu’aurait un sommet V du maillage de la trame-source Fp si on le déplaçait de manière à suivre le mouvement global de la scène représentée par les mailles des trames.
A cette fin, on applique à ce sommet V du maillage de la trame Fp la fonction VTransfert(V, BRpq) décrite ci-dessus, pour obtenir une position V’ sur la surface du maillage de la trame Fq, puis on applique la fonction PTransfert (V’, BRqr) décrite ci-dessus à cette position V’ pour obtenir une position V’’ sur la surface, comme illustré par la .
Répéter cette opération à chaque sommet du maillage de la trame Fp permet de constituer le bridge BRpr à partie des bridges BRpq et BRqr.
Une application de la combinaison des bridges est le passage d’une séquence de 60 trames par seconde à 30 trames par seconde (ou fps en terminologie anglaise), opération dans laquelle on élimine une trame sur deux.
Dans ce cas, calculer un nouveau set de bridges pour la séquence à 30 fps se fait aisément à partir des bridges déjà calculés pour la séquence à 60 fps : à partir des deux bridges calculés pour le suivi sur trois trames consécutives (BRpq et BRqr), on calcul un bridge unique (BRpr) pour le suivi entre la première et la troisième trame, la trame du milieu étant éliminée, en suivant exactement la procédure de combinaison expliquée ci-dessus.
L’opérateur de combinaison de bridge décrit ci-dessus donnant comme résultat un nouveau Bridge et cet opérateur étant associatif, il est possible d’optimiser le suivi d’un ou plusieurs points tout au long de la séquence grâce à des approches connues basées sur des pré-calculs comme par exemple une approche par sommation parallèle (parallel summation en terminologie anglaise) ou autre approche d’optimisation similaire.
On comprend également que, une fois les bridges nécessaires calculés, et en suivant une approche d’optimisation telle que celle citée ci-dessus, il est possible de suivre un point en temps réel, l’essentiel des calculs nécessaires ayant déjà été effectué.
Applications spécifiques
D’une manière générale, toute application nécessitant le suivi de la position d’un point sur la surface d’un maillage dans une séquence vidéo 3D peut bénéficier des bridges et fonctions détaillés ci-dessus.
C’est par exemple le cas de tout traitement graphique d’une trame d’une séquence ayant vocation à être appliqué à d’autres trames de cette séquence.
Un premier exemple d’application de suivi, ou tracking en terminologie anglaise, est celui du tracking audio, dans lequel on cherche à associer une position 3D d’une source audio dans une scène vidéo 3D au cours du temps, comme dans le cas d’un acteur parlant tout en se déplaçant dans la scène.
Dans le cadre d’une application de réalité virtuelle, il est important que cette source audio soit placée dans l’espace de façon cohérente et suive le déplacement de l’acteur.
Dans cet exemple, un opérateur choisit une trame et y définit la position de la source audio manuellement au niveau de la bouche de l’acteur, puis le suivi de cette position dans le temps est effectué de manière automatique en appliquant la fonction PTransfert de manière récurrente de trame en trame à partir de cette position définie manuellement.
Plus spécifiquement, les données représentatives de la scène vidéo 3D (ou scène tridimensionnelle volumétrique), comprenant une séquence de trames consécutives chacune associées à un maillage respectif représentatif de la scène à un instant donné, sont stockées dans le système 140 de stockage et de traitement de données.
Le procédé de tracking, illustré par le diagramme 500 de la , est mis en œuvre par le système 140 de stockage et de traitement de données et comprend une étape 510 d’accès aux données dans le système (140) de stockage de données et une étape 520 de désignation par un opérateur humain, dans la séquence de trames consécutives, d’une première trame associée à un premier maillage.
Dans cette première trame, l’opérateur humain désigne, dans le premier maillage et au cours d’une étape 530 de désignation, une première position correspondant à la bouche d’un acteur de la scène.
A une étape 540, le système 140 détermine alors une première facette du premier maillage sur laquelle est située la première position, par des moyens de calcul conventionnels effectués par le système 140 de stockage et de traitement de données qui effectuera également les calculs des opérations suivantes.
La première position peut être exprimée en coordonnées barycentriques dans le repère formé par les sommets de la première facette.
Préalablement au démarrage du procédé de tracking, on a défini une liste d’associations entre les positions de chaque sommet de chaque trame et des positions dans les trames voisines, ces association étant représentatives de l’évolution dans l’espace des éléments de la scène au cours du temps, ces associations pouvant être constituées par les bridges définis plus haut et étant stockées dans le système 140 de stockage et de traitement de données.
A une étape 550, on accède alors à cette liste d’associations préétablies qui indiquent en particulier des associations entre les positions des sommets de la première facette et des positions associées respectives exprimées dans un repère propre à un deuxième maillage d’une deuxième trame de la séquence.
A partir des positions associées respectives, on détermine à une étape 560 une position qui est située dans le deuxième maillage, qui est associée à la position désignée dans le premier maillage, et qui peut être exprimée par des coordonnées barycentriques de la facette du deuxième maillage à laquelle elle appartient.
Dans le cas particulier de tracking audio, on associe en outre la source sonore à la position dans le deuxième maillage associée à la position du premier maillage à une étape 570.
Les deux étapes 550 et 560 peuvent par exemple être mise en œuvre au moyen de la fonction Ptransfert définie ci-dessus.
En répétant de trame en trame les étapes 540 à 570 en repartant pour chaque itération de la position déterminée à l’étape 560 de l’itération antérieure à la place de la première position, on peut effectuer une étape 580 de suivi automatique de la position définie manuellement par l’opérateur humain et y associer une position 3D d’une source audio.
Notons que la première trame peut être choisie arbitrairement en début, en cours ou en fin de séquence vidéo, la deuxième trame pouvant être située dans le temps avant ou après la première trame, les associations préétablies permettant d’associer des positions indépendamment de l’ordre des trames considérées.
En outre, la première trame et la deuxième trame peuvent être consécutives ou non consécutives, c’est-à-dire séparées par une ou plusieurs autres trames, les associations entre les positions de chaque sommet de chaque trame et des positions dans les trames voisines permettant d’établir des associations entre trames non consécutives, par exemple par combinaisons de bridges comme expliqué ci-dessus.
Un deuxième exemple d’application est un filtre anti-vibration géométrique dans lequel les positions d’un point d’une scène sont suivies dans une séquence donnée comme détaillé ci-dessus, puis comparées, les maillages des trames étant ajustés autour de positions moyennées de manière à éliminer ou réduire les vibrations de ce point.
A la différence du premier exemple, l’étape de désignation 530 d’un point dans l’image est automatisée, prise en charge par le système 140 de stockage et de traitement de données qui peut, par exemple, être configuré de manière à désigner successivement l’ensemble des sommets d’un maillage d’une trame donnée.
Bien entendu, les applications du mode de réalisation exposé dans ce document ne se limitent pas aux exemples cités ci-dessus, et l’homme du métier comprendra immédiatement que tout traitement d’une séquence vidéo 3D impliquant le suivi d’un point d’une scène dans l’espace et dans le temps peut bénéficier de la présente invention.
Ainsi, il va de soi que la présente invention ne saurait être limitée au mode de réalisation exposé plus haut, susceptible de subir des modifications sans pour autant sortir du cadre de l'invention.

Claims (8)

  1. Procédé (500) de traitement numérique de données représentatives d'une scène tridimensionnelle volumétrique comprenant une séquence de trames consécutives (F0, F1, F2) chacune associées à un maillage respectif représentatif de la scène à un instant donné, le procédé étant mis en œuvre par ordinateur et comprenant les étapes de :
    - accéder (510), dans un système (140) de stockage et de traitement de données, auxdites données représentatives d'une scène tridimensionnelle volumétrique (125) ;
    - désigner (520), dans la séquence de trames consécutives, une première trame associée à un premier maillage desdits maillages respectifs ; et
    - désigner (530) une première position (P) dans le premier maillage,
    le procédé étant caractérisé en ce qu’il comprend en outre les étapes de :
    déterminer (540) une première facette (T) du premier maillage sur laquelle est située la première position ;
    accéder (550), dans le système (140), à une liste d’associations préétablies (Delta, Fix) entre des positions d’origine des sommets (V0, V1, V2) de la première facette (T) et des positions associées respectives (PV0’, PV1’, PV2’) exprimées dans un repère propre à un deuxième maillage (M1) d’une deuxième trame de la séquence de trames consécutives, ces associations étant représentatives de l’évolution de la scène dans le temps ; et
    déterminer (560), à partir des positions associées respectives, une position (P’) située dans le deuxième maillage (M1) associée à la position désignée dans le premier maillage.
  2. Procédé selon la revendication 1, dans lequel la première position et les positions cibles sont chacune définies par une facette d’appartenance et des coordonnées barycentriques associées à cette facette d’appartenance.
  3. Procédé selon la revendication 1 ou 2, dans lequel la première trame et la deuxième trame sont deux trames consécutives.
  4. Procédé selon la revendication 1 ou 2, dans lequel une troisième trame (F1) de la séquence de trames consécutive est interposée entre la première trame (F0) et la deuxième trame (F2).
  5. Procédé selon l’une quelconque des revendications 1 à 4, comprenant en outre une étape d’association (570) d’une position d’une source sonore à la position située dans le deuxième maillage.
  6. Système de traitement de données comprenant des moyens de mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 5.
  7. Programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 5.
  8. Support lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 5.
FR2106478A 2021-06-18 2021-06-18 Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique. Active FR3124302B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR2106478A FR3124302B1 (fr) 2021-06-18 2021-06-18 Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique.
DE112022003137.9T DE112022003137T5 (de) 2021-06-18 2022-06-16 Verfahren zum verarbeiten von daten, die eine dreidimensionale volumetrische szene darstellen
KR1020237040092A KR20230173716A (ko) 2021-06-18 2022-06-16 3차원 체적 장면을 나타내는 데이터를 처리하는 방법
PCT/FR2022/051173 WO2022263781A1 (fr) 2021-06-18 2022-06-16 Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique
GB2319132.3A GB2622718A (en) 2021-06-18 2022-06-16 Method for processing data representing a three-dimensional volumetric scene

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2106478A FR3124302B1 (fr) 2021-06-18 2021-06-18 Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique.
FR2106478 2021-06-18

Publications (2)

Publication Number Publication Date
FR3124302A1 true FR3124302A1 (fr) 2022-12-23
FR3124302B1 FR3124302B1 (fr) 2023-11-03

Family

ID=77021547

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2106478A Active FR3124302B1 (fr) 2021-06-18 2021-06-18 Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique.

Country Status (5)

Country Link
KR (1) KR20230173716A (fr)
DE (1) DE112022003137T5 (fr)
FR (1) FR3124302B1 (fr)
GB (1) GB2622718A (fr)
WO (1) WO2022263781A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9224245B2 (en) * 2011-01-10 2015-12-29 Hangzhou Conformal & Digital Technology Limited Corporation Mesh animation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2626664T3 (es) * 2008-02-22 2017-07-25 Pixar Transferencia de malla
US10489956B2 (en) * 2015-07-27 2019-11-26 Autodesk, Inc. Robust attribute transfer for character animation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9224245B2 (en) * 2011-01-10 2015-12-29 Hangzhou Conformal & Digital Technology Limited Corporation Mesh animation

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DEREK BRADLEY ET AL: "High resolution passive facial performance capture", ACM TRANSACTIONS ON GRAPHICS, ACM, NY, US, vol. 29, no. 4, 26 July 2010 (2010-07-26), pages 1 - 10, XP058041058, ISSN: 0730-0301, DOI: 10.1145/1778765.1778778 *
EISERT PETER ET AL: "Hybrid Human Modeling: Making Volumetric Video Animatable", 3 March 2020, COMPUTER VISION - ECCV 2020 : 16TH EUROPEAN CONFERENCE, GLASGOW, UK, AUGUST 23-28, 2020 : PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE ; ISSN 0302-9743], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 167 - 187, ISBN: 978-3-030-58594-5, XP047545545 *
LIU ET AL.: "A local/ global approach to mesh parametrization", EUROGRAPHICS SYMPOSIUM ON GEOMETRY PROCESSING 2008, vol. 27, no. 5, 2008, XP055225231, DOI: 10.1111/j.1467-8659.2008.01290.x
SCHOOB ANDREAS ET AL: "Stereo vision-based tracking of soft tissue motion with application to online ablation control in laser microsurgery", MEDICAL IMAGE ANALYSIS, OXFORD UNIVERSITY PRESS, OXOFRD, GB, vol. 40, 8 June 2017 (2017-06-08), pages 80 - 95, XP085138767, ISSN: 1361-8415, DOI: 10.1016/J.MEDIA.2017.06.004 *
SOTIRIS MALASSIOTIS ET AL: "Tracking Textured Deformable Objects Using a Finite-Element Mesh", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE, USA, vol. 8, no. 6, 1 October 1998 (1998-10-01), XP011014509, ISSN: 1051-8215 *

Also Published As

Publication number Publication date
GB2622718A (en) 2024-03-27
KR20230173716A (ko) 2023-12-27
FR3124302B1 (fr) 2023-11-03
WO2022263781A1 (fr) 2022-12-22
DE112022003137T5 (de) 2024-04-11
GB202319132D0 (en) 2024-01-31

Similar Documents

Publication Publication Date Title
US10911732B2 (en) Free-viewpoint photorealistic view synthesis from casually captured video
US10726560B2 (en) Real-time mobile device capture and generation of art-styled AR/VR content
CA2884702C (fr) Procedes et systemes de conversion d'images cinematographiques 2d pour une representation stereoscopique 3d
EP2715662B1 (fr) Procede de localisation d'une camera et de reconstruction 3d dans un environnement partiellement connu
Thies et al. Ignor: Image-guided neural object rendering
FR2798761A1 (fr) Procede de construction d'un modele de scene 3d par analyse de sequence d'images
WO2001099052A1 (fr) Raffinement d'un maillage triangulaire en trois dimensions
JP2014517961A (ja) メッシュ・ファイルを採用したクライアント・アプリケーションでのトランジションのアニメーション
Zheng et al. Parallax photography: creating 3d cinematic effects from stills
Saponaro et al. Reconstruction of textureless regions using structure from motion and image-based interpolation
Farella et al. Handling critical aspects in massive photogrammetric digitization of museum assets
EP2297705B1 (fr) Procede de composition temps reel d'une video
FR3124302A1 (fr) Procédé de traitement de données représentatives d'une scène tridimensionnelle volumétrique.
Yan et al. Analogies based video editing
Schedl et al. Generalized depth-of-field light-field rendering
JP2024521377A (ja) 三次元ボリュメトリックシーンを表現するデータを処理するための方法
FR3028701A1 (fr) Dispositif de generation de rushes cinematographiques par analyse video
Slot et al. Content-aware video editing in the temporal domain
EP1095358A1 (fr) Procede de modelisation d'objets ou de scenes 3d
AA REGION-BASED ALL-FOCUSED LIGHT FIELD RENDERING USING COLOR-BASED FOCUS MEASURE
Smirnov et al. An interactive system for set reconstruction from multiple input sources
FR2897184A1 (fr) Procede d'attribution et procede d'animation des sommets d'un maillage en fonction de sommets caracteristiques

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20221223

PLFP Fee payment

Year of fee payment: 3