Vision par ordinateurIA générativeVision par ordinateurIA générative
Vision par ordinateur7 min de lecture

Reconstruction 3D articulée à partir de vidéos

Générez des modèles 3D d’humains ou d’animaux en mouvement à partir d’une courte vidéo en input seulement.

Mis à jour le 15 mai 2021
Reconstruction 3D articulée à partir de vidéos
Sommaire

Pourquoi est-il si difficile pour une machine de comprendre une image ? Les chercheurs ont fait beaucoup de progrès dans la classification, la détection et la segmentation d’images. Ces trois tâches approfondissent de façon itérative notre compréhension de ce qui se passe dans une image. Dans cet ordre, la classification nous dit ce qui se trouve dans l’image. La détection nous indique approximativement où cet élément se trouve, et la segmentation nous le montre avec précision.

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Une étape encore plus complexe serait de représenter cette image dans le monde réel. Autrement dit, il faudrait prendre un objet dans une image ou une vidéo et le représenter sous forme de surface 3D, comme GANverse3D peut le faire pour les objets inanimés, ainsi que je l’ai montré dans une vidéo récente. Le modèle démontre alors une compréhension approfondie de l’image ou de la vidéo en représentant la forme complète d’un objet, ce qui explique la complexité de cette tâche.

Il est encore plus difficile d’accomplir la même tâche sur des formes non rigides. Je parle ici des humains et des animaux, des objets aux formes parfois étranges qui peuvent même se déformer jusqu’à un certain point.

Cette tâche qui consiste à générer un modèle 3D à partir d’une vidéo ou d’images s’appelle la reconstruction 3D. Google Research et l’Université Carnegie Mellon viennent de publier un article scientifique intitulé LASR: Learning Articulated Shape Reconstruction from a Monocular Video.

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Exemple de reconstruction 3D. Gengshan Yang et al., (2021)

Comme son nom l’indique, il s’agit d’une nouvelle méthode pour générer des modèles 3D d’humains ou d’animaux en mouvement à partir d’une courte vidéo en input seulement. Le modèle comprend qu’il s’agit d’une forme étrange, qu’elle peut bouger, mais qu’elle doit quand même rester attachée puisqu’il s’agit toujours d’un seul « objet » et non de plusieurs objets reliés ensemble.

En règle générale, les techniques de modélisation 3D avaient besoin d’un a priori sur les données. Dans ce cas, cet a priori prenait la forme d’une approximation de l’objet complexe, comme celle-ci… Comme vous pouvez le voir, elle devait être assez semblable à l’humain ou à l’animal réel, ce qui n’est pas très intelligent. LASR produit de meilleurs résultats sans aucun a priori. Il commence simplement avec une sphère, peu importe l’objet à reconstruire. Imaginez ce que cela signifie pour la capacité de généralisation et la puissance du système lorsque nous n’avons pas à dire explicitement au réseau ce qu’est l’objet et à quoi il ressemble « normalement ». C’est un pas en avant important !

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Modèle avec a priori comparé à LASR. Gengshan Yang et al., (2021)

Mais comment fonctionne-t-il ? Comme je l’ai dit, il suffit d’une vidéo, mais il reste quelques étapes de prétraitement. Ne vous inquiétez pas. Ces étapes sont très bien comprises en vision par ordinateur. Vous vous souvenez peut-être que j’ai mentionné la segmentation d’images plus haut. Nous avons besoin de cette segmentation de l’objet, qui peut être réalisée facilement avec un réseau neuronal entraîné.

Nous avons ensuite besoin du flux optique de chaque trame, c’est-à-dire du mouvement des objets entre deux trames consécutives de la vidéo. Lui aussi se calcule facilement avec des techniques de vision par ordinateur améliorées par des réseaux neuronaux, comme je l’ai présenté sur ma chaîne il y a moins d’un an.

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Les inputs du modèle LASR.

Les chercheurs commencent le processus de rendu avec une sphère en supposant qu’il s’agit d’un objet rigide, donc d’un objet sans articulations. À partir de cette hypothèse, ils optimisent de façon itérative la forme créée et la compréhension qu’a leur modèle du point de vue de la caméra pendant 20 époques. L’hypothèse rigide est représentée ici par un nombre d’os égal à zéro. Rien ne peut donc bouger séparément, comme vous pouvez le voir à gauche de cette image.

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Reconstruction grossière à fine de S0 à S3. Gengshan Yang et al., (2021)

Nous revenons ensuite à la vraie vie, où l’humain n’est pas rigide. L’objectif consiste maintenant à obtenir un modèle 3D précis qui peut bouger de façon réaliste. Les chercheurs augmentent le nombre d’os et de sommets pour rendre le modèle de plus en plus précis. Ici, les sommets sont des pixels 3D où les lignes et les volumes de l’objet rendu se rejoignent. Les os sont, eh bien, essentiellement des os. Ils représentent toutes les parties de l’objet qui bougent pendant la vidéo par translation ou rotation. Le nombre d’os et de sommets augmente progressivement jusqu’à l’étape 3, ou S3, où le modèle a appris à générer un rendu assez précis de l’objet actuel.

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Modèle LASR. Gengshan Yang et al., (2021)

Les chercheurs ont aussi besoin d’un modèle pour produire le rendu de cet objet, appelé moteur de rendu différentiable. Je n’entrerai pas dans les détails de son fonctionnement puisque je l’ai déjà présenté dans des vidéos précédentes. En gros, c’est un modèle capable de créer une représentation 3D d’un objet. Sa particularité est d’être différentiable. Nous pouvons donc l’entraîner comme un réseau neuronal ordinaire avec la rétropropagation. Ici, tout est entraîné ensemble. Les résultats sont optimisés en suivant les quatre étapes, de S0 à S3, que nous venons de voir afin d’améliorer le rendu à chaque étape.

Le modèle apprend ensuite comme n’importe quel autre modèle d’apprentissage automatique, en utilisant la descente de gradient et en mettant à jour ses paramètres selon la différence entre l’output du moteur de rendu et les mesures réelles de la vidéo. Il n’a donc même pas besoin de voir une vraie version de l’objet rendu. Il a seulement besoin de la vidéo, de la segmentation et du flux optique pour apprendre. Il reconvertit le rendu en image segmentée et en flux optique, puis les compare à l’input.

Ce qui est encore mieux, c’est que tout le processus repose sur l’apprentissage autosupervisé. Nous donnons au modèle les vidéos d’entraînement ainsi que leurs résultats de segmentation et de flux optique. Il apprend alors de façon itérative à rendre les objets pendant l’entraînement. Aucune annotation n’est nécessaire !

Exemple visuel de l’article « Reconstruction 3D articulée à partir de vidéos »

Exemple de reconstruction 3D. Gengshan Yang et al., (2021)

Et voilà, vous avez votre moteur de rendu 3D complexe sans entraînement particulier ni vérité terrain ! Si la descente de gradient, les époques, les paramètres ou l’apprentissage autosupervisé ne sont toujours pas des concepts clairs pour vous, je vous invite à regarder la série de courtes vidéos que j’ai réalisée pour expliquer les bases de l’apprentissage automatique.

Merci de m’avoir lu.

Venez discuter avec nous dans notre communauté Discord : Learn AI Together et partagez vos projets, vos articles scientifiques et les meilleurs cours, trouvez des coéquipiers pour Kaggle et bien plus encore !

Si vous aimez mon travail et souhaitez rester au courant de l’IA, suivez-moi sur mes autres réseaux sociaux (LinkedIn, Twitter) et abonnez-vous à mon infolettre hebdomadaire sur l’IA !

Pour me soutenir :

  • La meilleure façon de me soutenir est de devenir membre de ce site Web ou de vous abonner à ma chaîne YouTube si vous préférez le format vidéo.
  • Soutenez financièrement mon travail sur Patreon

Références

Gengshan Yang et al., (2021), LASR: Learning Articulated Shape Reconstruction from a Monocular Video, CVPR, https://lasr-google.github.io/

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Que produit la reconstruction 3D articulée ?

Elle construit une représentation tridimensionnelle d’un humain ou d’un animal en mouvement à partir d’une courte vidéo, sans exiger une installation spécialisée de numérisation 3D.

De quels inputs la méthode de reconstruction a-t-elle besoin ?

La méthode part d’une vidéo, puis extrait des signaux supplémentaires de ses trames avant d’optimiser le modèle 3D sous-jacent.

Pourquoi la méthode calcule-t-elle le flux optique ?

Le flux optique estime le mouvement des objets entre les trames consécutives, ce qui renseigne le système sur la forme et les articulations au fil du temps.

Quel rôle joue le moteur de rendu différentiable ?

Il produit le rendu de l’estimation 3D actuelle de façon à permettre aux erreurs d’entraînement de revenir en arrière et de mettre à jour le modèle par descente de gradient.

Comment le système apprend-il la représentation 3D finale ?

Il compare de façon répétée les outputs rendus aux mesures de la vidéo source et ajuste ses paramètres afin de réduire la différence.