Reconstruction 3D à Partir de Vidéos

Générez des modèles 3D d'humains ou d'animaux à partir d'une courte vidéo en entrée.

Pourquoi comprendre une image est si compliqué pour une machine? 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 manière itérative la compréhension de la machine sur ce qui se passe dans une image. Dans le même ordre, la classification nous dit ce qu'il y a dans l'image. La détection nous indique où l’objet d’intérêt se trouve approximativement et la segmentation nous indique précisément où il se trouve.

GsxKOgd4KjdM_1920_1080.gif

Une étape encore plus complexe serait de représenter cette image dans le monde réel. En d'autres termes, il s'agirait de représenter un objet pris à partir d'une image ou d'une vidéo et le représenter en 3D, tout comme GANverse3D peut faire pour des objets inanimés tel que des voitures, comme je l'ai montré dans une vidéo récente. Cela démontre une compréhension approfondie de l'image ou de la vidéo par le modèle d’intelligence artificielle, représentant ainsi la forme complète d'un objet. Et c'est pourquoi il s'agit d'une tâche si complexe.

Encore plus difficile est de faire la même chose sur des formes non rigides. Ou plutôt, sur les humains et les animaux, des objets qui peuvent être de forme étrange et même déformés jusqu’à une certaine mesure.

Cette tâche de génération d'un modèle 3D basé sur une vidéo ou des images s'appelle la reconstruction 3D, et Google Research, avec l'Université Carnegie Mellon vient tout juste de publier un article intitulé “LASR: Learning Articulated Shape Reconstruction from a Monocular Video”.

Exemples de Reconstruction 3D. Gengshan Yang et al., (2021)

Exemples 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 se déplaçant. Et ce modèle y arrive uniquement à partir d'une courte vidéo en entrée. En effet, il comprend en fait qu'il s'agit d'une forme étrange et complexe, qu'il peut bouger, mais qu'il doit quand même rester attaché, car il s'agit toujours d'un seul "objet" et non de plusieurs objets momentanément reliés ensemble.

En règle générale, les techniques de modélisation 3D nécessitaient des données préalables. Dans ce cas, ces données supplémentaires fournies au réseau étaient une forme approximative des objets complexes, qui ressemble à ceci (voir ci-bas). Comme vous pouvez le voir, il devait être assez similaire à l'humain ou à l'animal réel, ce qui n'est pas très intelligent. Avec LASR, vous pouvez obtenir des résultats bien meilleurs. Et ce, sans aucun préalable, le modèle commence par une simple sphère, quel que soit l'objet à reconstruire. Vous pouvez imaginer ce que cela signifie pour la généralisabilité et à quel point cela peut être puissant lorsque vous n'avez pas à dire explicitement au réseau à la fois ce qu'est l'objet et à quoi il ressemble "typiquement". C'est un pas en avant significatif pour le domaine de reconstruction 3D!

Techniques concurrentes vs. LASR. Gengshan Yang et al., (2021)

Techniques concurrentes vs. LASR. Gengshan Yang et al., (2021)

Mais comment ça fonctionne? Comme je l'ai dit, il suffit d'une vidéo, mais il reste encore quelques étapes de prétraitement à faire. Ne vous inquiétez pas, ces étapes sont très bien connues en vision par ordinateur. Comme vous vous en souvenez peut-être, j'ai mentionné la segmentation d’images au début de la vidéo. Nous avons besoin de cette segmentation d'un objet qui peut être effectuée facilement à l'aide d'un autre réseau neuronal entraîné.

Ensuite, nous avons également besoin du flux optique pour chaque image. Ce flux est le mouvement des objets entre des images consécutives de la vidéo. Ceci est, par chance, tout aussi facilement trouvé en utilisant des techniques de vision par ordinateur et amélioré avec des réseaux de neurones, comme je l'ai couvert il y a à peine un an sur ma chaîne.

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

Ils démarrent le processus de reconstruction avec une sphère en supposant qu'il s'agit d'un objet rigide, donc un objet qui n'a pas d'articulations. Avec cette hypothèse, ils optimisent la forme créée et la compréhension du point de vue de la caméra de leur modèle de manière itérative pendant 20 époques (itérations d’entraînement sur toutes les vidéos de la base d’entraînement). Cette hypothèse rigide est montrée ici avec le nombre d'os égal à zéro, ce qui signifie que rien ne peut bouger séparément (comme on peut voir à la toute gauche de l’image ci-bas).

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

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

Ensuite, nous revenons à la vraie vie, où l'humain n'est pas rigide. Désormais, l'objectif est d'avoir un modèle 3D précis qui peut se déplacer de manière réaliste. Ceci est réalisé en augmentant le nombre d'os et de sommets pour rendre le modèle de plus en plus précis. Ici, les sommets sont des pixels en 3 dimensions où les lignes et les volumes de l'objet modélisé se connectent, et les os sont, eh bien, ce sont essentiellement des os. Ces os sont toutes les parties des objets qui se déplacent pendant la vidéo avec des translations et/ou des rotations. Les os et les sommets sont augmentés progressivement jusqu'à ce que nous atteignions l'étape 3 (S3, toute droite de l’image ci-dessus), où le réseau a appris à générer un modèle assez précis de l'objet actuel.

model.PNG

Ici, ils ont également besoin d'un réseau pour modéliser (render) cet objet, qui est appelé un réseau de rendu différentiable (differentiable rendering network). Je ne vais pas entrer dans les détails de comment cela fonctionne comme je l'ai déjà couvert dans des vidéos précédentes, mais en gros, c'est un type de réseau capable de créer une représentation en 3 dimensions d'un objet. Et il a la particularité d'être différenciable. Cela signifie que vous pouvez entraîner ce modèle de la même manière qu'un réseau de neurones typique avec rétropropagation. Ici, tout est entraîné ensemble, optimisant les résultats en suivant les quatre étapes (S0-S3) que nous venons de voir, améliorant le résultat du rendu à chaque étape.

Le modèle apprend ensuite comme tout autre modèle d'apprentissage automatique en utilisant la descente de gradient et en mettant à jour les paramètres du modèle en fonction de la différence entre la sortie modélisée et les mesures prises dans la vidéo. Il n'a donc, à aucun moment, besoin de voir une version réelle de l'objet rendu. Il n'a besoin que de la vidéo, la segmentation et le flux optique pour apprendre. Cela est fait en retransformant l'objet rendu en une image segmentée et son flux optique et en le comparant à ce que nous avons à l'entrée du réseau.

Ce qui est encore mieux, c'est que tout cela se fait dans un processus d'apprentissage autosupervisé. Cela signifie que vous donnez au modèle les vidéos sur lesquelles s'entraîner avec leurs résultats de segmentation et de flux optique correspondants, et qu'il apprend de manière itérative à modéliser les objets pendant l'entraînement. Aucune annotation n'est nécessaire!

Exemples de Reconstruction 3D. Gengshan Yang et al., (2021)

Exemples de Reconstruction 3D. Gengshan Yang et al., (2021)

Et voilà, vous avez votre modèle 3D complexe sans aucun entraînement trop spécial ou ground-truth nécessaire! Si la descente de gradient, les époques, le terme de ground-truth, 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 expliquant les bases de l'apprentissage automatique.

Regardez la Bidéo Sous-titrée en Français:

Merci d’avoir lu cet article!

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

Si vous aimez mon travail et que vous souhaitez rester à jour avec l'IA, vous devez absolument me suivre sur mes autres médias sociaux (LinkedIn, Twitter) et vous abonner à ma newsletter hebdomadaire sur l'IA!

Pour supporter mon travail:

  • La meilleure façon de me soutenir est de souscrire à ma newsletter tel que mentionné précédemment ou de vous abonner à ma chaîne sur YouTube si vous aimez le format vidéo en anglais.

  • Soutenez mon travail financièrement 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/

Louis-François Bouchard

Hello! Je suis Louis-François Bouchard, de Montréal, Canada, aussi connu sous le nom de 'What's AI' et j'essaie de partager et de vulgariser tout ce qui est en lien avec l'intelligence artificielle. Mon objectif est de démystifier la «boîte noire» de l'IA pour tous et de sensibiliser les gens aux risques de son utilisation.

https://www.youtube.com/channel/UCIUgms0TE2WhQijbU-IMYyw
Précédent
Précédent

L'IA est-elle l'avenir de la conception de jeux vidéo?

Suivant
Suivant

Éclairages Réalistes sur Différents Arrière-plans