Générez de faux visages en temps réel avec l'IA !
Nous avons entendu parler de deepfakes, nous avons entendu parler de NeRF, et nous avons vu ce genre d'applications vous permettant de recréer le visage de quelqu'un et de lui faire dire à peu près ce que vous voulez.
Ce que vous ne savez peut-être pas, c'est à quel point ces méthodes sont inefficaces et combien de temps et de calcul elles nécessitent our être entraînées. De plus, nous ne voyons que les meilleurs résultats sur internet. Gardez à l'esprit que ce que nous voyons en ligne sont les résultats associés aux visages dont nous avons pu trouver la plupart des exemples, donc fondamentalement, les “personnalités Internet” et les modèles d’IA produisant ces résultats sont formés en utilisant beaucoup de calcul, ce qui signifie des ressources coûteuses comme de nombreuses cartes graphiques. Malgré tout, les résultats sont vraiment impressionnants et ne font que s'améliorer.
Exemple de manipulation de portrait issue du papier de recherche.
Heureusement, certaines personnes comme Jiaxian Tang et ses collègues travaillent à rendre ces méthodes plus disponibles et efficaces avec un nouveau modèle appelé RAD-NeRF.
À partir d'une seule vidéo, ils peuvent synthétiser la personne qui parle pour pratiquement n'importe quel mot ou phrase en temps réel avec une meilleure qualité que les autres approches. Vous pouvez animer une tête parlante en suivant n'importe quelle piste audio en temps réel. C'est à la fois tellement cool et tellement effrayant…
Comparaison de la qualité avec différentes approches, leur méthode étant la dernière colonne. Image tirée du papier.
Imaginez ce qui pourrait être fait si nous pouvions vous faire dire quoi que ce soit, en direct ! Au moins, ils ont encore besoin d'accéder à une vidéo de vous parlant devant la caméra pendant cinq minutes, il est donc difficile d'y parvenir sans que vous le sachiez. Pourtant, dès que vous apparaissez en ligne, n'importe qui pourra utiliser un tel modèle et créer des vidéos infinies de vous parlant de tout ce qu'ils veulent. Ils peuvent même héberger des vidéos en direct avec cette méthode, ce qui est encore plus dangereux et rend encore plus difficile de dire ce qui est vrai ou non en ligne. Quoi qu'il en soit, même si c'est intéressant, et que j'aimerais entendre ce que vous en pensez en commentaires ou messages privés et poursuivre la discussion, ici, je voulais couvrir quelque chose qui n'est que positif et passionnant : la science. Plus précisément, comment ont-ils réussi à animer des têtes parlantes en temps réel à partir de n'importe quel audio en utilisant uniquement une vidéo du visage…
Comme ils le déclarent, leur modèle RAD-NeRF peut fonctionner 5 fois plus rapidement que les travaux précédents avec une meilleure qualité de rendu et plus de contrôle. Vous vous demandez surement “mais comment est-ce possible?!! Nous échangeons généralement la qualité contre l'efficacité, mais ils parviennent à améliorer les deux de manière incroyable.”
Ces immenses améliorations sont possibles grâce à trois points principaux.
Les deux premiers sont liés à l'architecture du modèle. Plus précisément, comment ils ont adapté l'approche NeRF pour la rendre plus efficace et avec des mouvements améliorés du torse et de la tête.
Vue d'ensemble de l’approche RAD-NeRF. Image tirée du papier.
La première étape consiste à rendre les NeRF plus efficaces (rectangle jaune dans la vue d'ensemble du modèle). Je ne vais pas plonger dans le fonctionnement des NeRF puisque nous l'avons couvert à plusieurs reprises. Rapidement, il s'agit d'une approche basée sur les réseaux de neurones pour reconstruire des scènes volumétriques à trois dimensions (spatiales) à partir d'un ensemble d'images 2D, c'est-à-dire d'images régulières. C'est pourquoi ils prendront une vidéo en entrée, car elle vous donne essentiellement beaucoup d'images d'une personne sous de nombreux angles différents.
Ainsi, un NeRF utilise généralement un réseau pour prédire toutes les couleurs et densités de pixels à partir du point de vue de la caméra que vous visualisez et répète le processus pour tous les points de vue que vous souhaitez afficher lors de la rotation autour du sujet, ce qui est extrêmement gourmand en calcul, car vous prédisez plusieurs paramètres pour chaque coordonnée. dans l'image à chaque fois en apprenant à les prédire tous. De plus, dans leur cas, ce n'est pas seulement un NeRF produisant une scène 3D. Il doit également correspondre à une entrée audio et adapter les lèvres, la bouche, les yeux et les mouvements à ce que dit la personne.
Au lieu de prédire les densités et les couleurs de tous les pixels correspondant à l'audio pour une image spécifique, RAD-NeRF fonctionne avec deux nouveaux espaces condensés et distincts appelés “espaces de grille”, ou NeRF basé sur une grille (grid NeRF). Ils traduiront leurs coordonnées dans un espace de grille 3D plus petit, traduiront une piste audio qu’ils reçoivent en entrée et qui doit être utlisée dans la vidéo dans un espace de grille 2D plus petit, puis les enverront pour recréer la tête. Cela signifie qu'ils ne fusionnent jamais les données audio avec les données spatiales, ce qui augmenterait la taille de manière exponentielle, ajoutant des entrées bidimensionnelles à chaque coordonnée. Ainsi, la réduction de la taille des encodages audio tout en séparant les encodages audio et spatiales est ce qui rend l'approche beaucoup plus efficace.
Mais comment les résultats peuvent-ils être meilleurs s'ils utilisent des espaces condensés contenant moins d'informations ? En ajoutant quelques fonctionnalités contrôlables (repères faciaux) comme un contrôle du clignotement des yeux à notre grille NeRF, le modèle apprendra des comportements plus réalistes pour les yeux par rapport aux approches précédentes. Quelque chose de vraiment important pour le réalisme.
Repères faciaux utilisés. Image tirée du papier.
La deuxième amélioration (rectangle vert dans la vue d'ensemble du modèle) qu'ils ont apportée est de modéliser le torse avec un autre NeRF en utilisant la même approche au lieu d'essayer de le modéliser avec le même NeRF utilisé pour la tête, ce qui nécessitera beaucoup moins de paramètres et des besoins différents car le but ici est d'animer des têtes mobiles et non des corps entiers. Étant donné que le torse est à peu près statique dans ces cas, ils utilisent un module basé sur NeRF beaucoup plus simple et plus efficace qui ne fonctionne qu'en 2D, travaillant directement dans l'espace de l'image au lieu d'utiliser des rayons de caméra comme nous le faisons habituellement avec NeRF pour générer de nombreux différents angles, qui ne sont pas nécessaires pour le torse. C'est donc beaucoup plus efficace, car ils ont modifié l'approche pour ce cas d'utilisation très spécifique des vidéos de torse rigide et de tête mobile. Ils recomposent ensuite la tête avec le torse pour produire la vidéo finale.
Et voilà ! C'est ainsi que vous produisez efficacement des vidéos à tête parlante sur n'importe quelle entrée audio !
Exemple de manipulation de portrait issue du papier de recherche.
Bien sûr, ce n'était qu'un aperçu de cette nouvelle publication de recherche passionnante, et ils font d'autres modifications pendant la formation de leur algorithme pour le rendre plus efficace, ce qui est le troisième point que j'ai mentionné au début de l'article. Je vous invite à lire leur article pour plus d'informations. Le lien est dans les références ci-dessous.
Avant de vous quitter, je voulais juste remercier les personnes qui ont récemment soutenu ce blog via Patreon. Ce n'est pas nécessaire et strictement pour soutenir le travail que je fais ici.
Un grand merci à Artem Vladykin, Leopoldo Altamirano, Jay Cole, Michael Carychao, Daniel Gimness et quelques généreux donateurs anonymes. Ce serait grandement apprécié si vous vouliez aussi (et pouvez vous permettre de) soutenir financièrement mon travail sur Patreon. Mais pas de souci sinon. Des retours sincères sur cet article sont tout ce dont j'ai besoin pour être plus heureux!
J'espère que vous avez apprécié cet article et je vous verrai la semaine prochaine avec un autre article incroyable!
References
►Tang, J., Wang, K., Zhou, H., Chen, X., He, D., Hu, T., Liu, J., Zeng, G. and Wang, J., 2022. Real-time Neural Radiance Talking Portrait Synthesis via Audio-spatial Decomposition. arXiv preprint arXiv:2211.12368.
►Résultats/page du projet: https://me.kiui.moe/radnerf/