Angle d’Anderson

Répondre aux “mauvais jours de cheveux” dans la synthèse d’images humaines

mm
Ajouter Unite.AI à vos sources préférées sur Google

Depuis l’âge d’or de la statuaire romaine, dépeindre les cheveux humains a été un défi épineux. La tête humaine moyenne contient 100 000 cheveux, a des indices de réfraction variables selon sa couleur et, au-delà d’une certaine longueur, se déplacera et se reformera de manière qui ne peut être simulée que par des modèles physiques complexes – à ce jour, seulement applicables via des méthodologies CGI traditionnelles.

D'après des recherches de 2017 de Disney, un modèle basé sur la physique tente d'appliquer un mouvement réaliste à un style de cheveux fluide dans un flux de travail CGI. Source: https://www.youtube.com/watch?v=-6iF3mufDW0

D’après des recherches de 2017 de Disney, un modèle basé sur la physique tente d’appliquer un mouvement réaliste à un style de cheveux fluide dans un flux de travail CGI. Source: https://www.youtube.com/watch?v=-6iF3mufDW0

Le problème est mal abordé par les méthodes de deepfakes modernes et populaires. Pendant plusieurs années, le paquetage principal DeepFaceLab a eu un modèle de « tête complète » qui ne peut capturer que des incarnations rigides de coiffures courtes (généralement masculines); et récemment, le stablemate de DFL, FaceSwap (les deux paquetages sont dérivés du code source controversé DeepFakes de 2017) a proposé une mise en œuvre du modèle de segmentation sémantique BiseNet, permettant à l’utilisateur d’inclure les oreilles et les cheveux dans la sortie deepfake.

Même lors de la représentation de coiffures très courtes, les résultats tendent à être très limités en qualité, avec des têtes complètes qui apparaissent superposées sur les images, plutôt que d’être intégrées à celles-ci.

Cheveux GAN

Les deux approches majeures concurrentes de simulation humaine sont les champs de rayonnement neuronal (NeRF), qui peuvent capturer une scène depuis plusieurs points de vue et encapsuler une représentation 3D de ces points de vue dans un réseau neuronal explorable; et les réseaux antagonistes génératifs (GANs), qui sont nettement plus avancés en termes de synthèse d’images humaines (ne serait-ce que parce que NeRF n’est apparu qu’en 2020).

La compréhension implicite de la géométrie 3D de NeRF lui permet de répliquer une scène avec une grande fidélité et une grande cohérence, même si elle a actuellement peu ou pas de possibilités pour l’imposition de modèles physiques – et, en fait, des possibilités relativement limitées pour tout type de transformation des données collectées qui ne sont pas liées au changement du point de vue de la caméra. Actuellement, NeRF a des capacités très limitées en termes de reproduction du mouvement des cheveux humains.

Les équivalents basés sur GAN de NeRF commencent avec un désavantage presque fatal, puisque, contrairement à NeRF, l’espace latent d’un GAN n’intègre pas naturellement une compréhension des informations 3D. Par conséquent, la synthèse d’images de visages basée sur GAN et consciente de la 3D est devenue une poursuite ardente dans la recherche sur la génération d’images ces dernières années, avec InterFaceGAN en 2019 comme l’une des avancées majeures.

Cependant, même les résultats présentés et sélectionnés d’InterFaceGAN démontrent que la cohérence des cheveux neuronaux reste un défi difficile en termes de cohérence temporelle, pour les flux de travail VFX potentiels:

Cheveux « croustillants » dans une transformation de pose à partir d'InterFaceGAN. Source: https://www.youtube.com/watch?v=uoftpl3Bj6w

Cheveux « croustillants » dans une transformation de pose à partir d’InterFaceGAN. Source: https://www.youtube.com/watch?v=uoftpl3Bj6w

À mesure qu’il devient plus évident que la génération de vues cohérentes via la manipulation de l’espace latent seul peut être une poursuite alchimique, un nombre croissant de documents émerge qui incorporent des informations 3D basées sur CGI dans un flux de travail GAN en tant que contrainte de stabilisation et de normalisation.

L’élément CGI peut être représenté par des primitives 3D intermédiaires telles qu’un Skinned Multi-Person Linear Model (SMPL), ou en adoptant des techniques d’inférence 3D de manière similaire à NeRF, où la géométrie est évaluée à partir des images ou de la vidéo sources.

Un nouveau travail le long de ces lignes, publié cette semaine, est Réseaux antagonistes génératifs multi-vues pour la synthèse d’images 3D (MVCGAN), une collaboration entre ReLER, AAII, l’Université de technologie de Sydney, l’Académie DAMO d’Alibaba Group et l’Université de Zhejiang.

Poses faciales plausibles et robustes générées par MVCGAN à partir d'images dérivées du jeu de données CELEBA-HQ. Source: https://arxiv.org/pdf/2204.06307.pdf

Poses faciales plausibles et robustes générées par MVCGAN à partir d’images dérivées du jeu de données CELEBA-HQ. Source: https://arxiv.org/pdf/2204.06307.pdf

MVCGAN intègre un réseau de champ de rayonnement génératif (GRAF) capable de fournir des contraintes géométriques dans un réseau antagoniste génératif, réalisant probablement certaines des capacités de positionnement les plus authentiques de toute approche basée sur GAN.

Comparaison entre MVCGAN et les méthodes précédentes GRAF, GIRAFFE et pi-GAN.

Comparaison entre MVCGAN et les méthodes précédentes GRAF, GIRAFFE et pi-GAN.

Cependant, le matériel supplémentaire pour MVCGAN révèle que l’obtention de la consistance du volume, de la disposition, du placement et du comportement des cheveux est un problème qui n’est pas facilement résolu par des contraintes basées sur une géométrie 3D externe.

À partir du matériel supplémentaire non publié au moment de l'écriture, nous voyons que même si la synthèse de pose faciale à partir de MVCGAN représente une avancée notable par rapport à l'état actuel de la technique, la cohérence temporelle des cheveux reste un problème.

À partir du matériel supplémentaire non publié au moment de l’écriture, nous voyons que même si la synthèse de pose faciale à partir de MVCGAN représente une avancée notable par rapport à l’état actuel de la technique, la cohérence temporelle des cheveux reste un problème.

Puisque les flux de travail CGI « directs » trouvent encore que la reconstruction temporelle des cheveux est un défi, il n’y a aucune raison de croire que les approches conventionnelles basées sur la géométrie de cette nature vont apporter une synthèse de cheveux cohérente à l’espace latent dans un avenir proche.

Stabiliser les cheveux avec des réseaux de neurones convolutionnels

Cependant, un document à paraître de trois chercheurs de l’Institut de technologie de Chalmers en Suède peut offrir une avancée supplémentaire dans la simulation de cheveux neuronaux.

À gauche, la représentation des cheveux stabilisée par le CNN, à droite, la vérité terrain. Voir la vidéo intégrée à la fin de l'article pour une meilleure résolution et des exemples supplémentaires. Source: https://www.youtube.com/watch?v=AvnJkwCmsT4

À gauche, la représentation des cheveux stabilisée par le CNN, à droite, la vérité terrain. Voir la vidéo intégrée à la fin de l’article pour une meilleure résolution et des exemples supplémentaires. Source: https://www.youtube.com/watch?v=AvnJkwCmsT4

Intitulé Filtrage de cheveux en temps réel avec des réseaux de neurones convolutionnels, le document sera publié pour le symposium i3D au début du mois de mai.

Le système se compose d’un réseau basé sur un auto-encodeur capable d’évaluer la résolution des cheveux, y compris l’auto-ombrage et en tenant compte de l’épaisseur des cheveux, en temps réel, sur la base d’un nombre limité d’échantillons stochastiques générés par la géométrie OpenGL.

L’approche rend un nombre limité d’échantillons avec transparence stochastique et forme ensuite un U-net pour reconstruire l’image originale.

Sous MVCGAN, un CNN filtre des facteurs de couleur échantillonnés stochastiquement, des highlights, des tangentes, de la profondeur et des alphas, assemblant les résultats synthétisés en une image composite.

Sous MVCGAN, un CNN filtre des facteurs de couleur échantillonnés stochastiquement, des highlights, des tangentes, de la profondeur et des alphas, assemblant les résultats synthétisés en une image composite.

Le réseau est formé sur PyTorch, convergeant sur une période de six à douze heures, selon le volume du réseau et le nombre de fonctionnalités d’entrée. Les paramètres formés (poids) sont ensuite utilisés dans la mise en œuvre en temps réel du système.

Les données de formation sont générées en rendant plusieurs centaines d’images pour des coiffures droites et ondulées, en utilisant des distances et des poses aléatoires, ainsi que des conditions d’éclairage diverses.

Différents exemples d'entrée de formation.

Différents exemples d’entrée de formation.

La transparence des cheveux à travers les échantillons est moyennée à partir d’images rendues avec une transparence stochastique à une résolution sur-échantillonnée. Les données de haute résolution d’origine sont sous-échantillonnées pour accommoder les limites du réseau et du matériel, puis sur-échantillonnées, dans un flux de travail d’auto-encodeur typique.

L’application d’inférence en temps réel (le « logiciel live » qui utilise l’algorithme dérivé du modèle formé) utilise un mélange de NVIDIA CUDA avec cuDNN et OpenGL. Les fonctionnalités d’entrée initiales sont vidées dans les tampons de couleur multisamples d’OpenGL, et le résultat est déplacé vers des tenseurs cuDNN avant traitement dans le CNN. Ces tenseurs sont ensuite copiés dans une texture OpenGL « live » pour imposition dans l’image finale.

Le système en temps réel fonctionne sur une NVIDIA RTX 2080, produisant une résolution de 1024×1024 pixels.

Étant donné que les valeurs de couleur des cheveux sont entièrement désentrelacées dans les valeurs finales obtenues par le réseau, changer la couleur des cheveux est une tâche triviale, bien que les effets tels que les dégradés et les mèches restent un défi futur.

Les auteurs ont publié le code utilisé dans les évaluations du document sur GitLab. Consultez la vidéo supplémentaire pour MVCGAN ci-dessous.

Conclusion

Naviguer dans l’espace latent d’un auto-encodeur ou d’un GAN est encore plus proche de la navigation que de la conduite de précision. Ce n’est que dans cette période très récente que nous commençons à voir des résultats crédibles pour la génération de poses de « géométries plus simples » telles que les visages, dans des approches telles que NeRF, GANs et des cadres d’auto-encodeurs non deepfakes (2017).

La complexité architecturale significative des cheveux humains, combinée à la nécessité d’incorporer des modèles physiques et d’autres traits pour lesquels les approches actuelles de synthèse d’images n’ont pas de disposition, indique que la synthèse de cheveux est peu susceptible de rester un composant intégré dans la synthèse faciale générale, mais va nécessiter des réseaux dédiés et séparés d’une certaine sophistication – même si de tels réseaux pourraient éventuellement être incorporés dans des cadres de synthèse faciale plus larges et plus complexes.

 

Publié pour la première fois le 15 avril 2022.

Écrivain en apprentissage automatique, spécialiste de domaine en synthèse d'images humaines. Ancien responsable du contenu de recherche chez Metaphysic.ai, jusqu'à sa dissolution dans Brahma.ai de DNEG.
Portfolio site : martinanderson.ai
Contact : martin@martinanderson.ai