nouvelles

Kuaishou open source LivePortrait, GitHub 6.6K Star, pour réaliser une migration extrêmement rapide des expressions et des postures

2024-07-17

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Sortie de Heart of the Machine

Département éditorial de Machine Heart

Récemment, l'équipe des grands modèles de Kuaishou Keling a ouvert un projet appeléPortrait en direct Un cadre de génération de vidéos de portrait contrôlable qui peut transférer avec précision et en temps réel les expressions et les postures qui conduisent la vidéo vers des vidéos de portraits statiques ou dynamiques pour générer des résultats vidéo hautement expressifs. Comme le montre l'animation suivante :



Des internautes testant LivePortrait



Des internautes testant LivePortrait

Le titre de l’article correspondant du LivePortrait open source de Kuaishou est :

« LivePortrait : animation de portrait efficace avec contrôle de l'assemblage et du reciblage »



Page d'accueil du papier LivePortrait

De plus, LivePortrait est disponible dès sa sortie, adhérant au style Kuaishou, reliant les documents, les pages d'accueil et les codes en un seul clic. Une fois LivePortrait devenu open source, il est devenuClément Delangue, PDG de HuggingFaceSuivez et retweetez,Directeur de la stratégie Thomas WolfJ’ai aussi personnellement expérimenté la fonction, c’est incroyable !



Et a attiré l'attention des internautes du monde entierÉvaluation à grande échelle



Les éléments des clips vidéo proviennent tous de X

Description du produit :https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650926594&idx=3&sn=7d44eac3409c6c2d5587ef80d7575a69&chksm=84e42a7cb393a36a0da7b 8d223f28c5ed51095e53a449ea8e341ddd5f71576595776c02109b6&token=1755385124&lang=zh_CN#rd

Dans le même temps, LivePotrait a reçu une large attention de la part de la communauté open source. En un peu plus d'une semaine, il a gagné au total.6,4 000 étoiles, 550 fourches, 140 numéros et PR, a été largement salué, et l’attention ne cesse de croître :



En outre, HuggingFace Space, articles avec liste de tendances de codeClassé premier pendant une semaine consécutive, a récemment dominé le classement tous thèmes de HuggingFacePremier sur la liste



CâlinsEspace Visage N°1



Papiers avec liste de codes 1



HuggingFace tous les thèmes classés un

Pour plus d’informations sur les ressources, vous pouvez consulter :

  • Adresse du code : https://github.com/KwaiVGI/LivePortrait
  • Lien papier : https://arxiv.org/abs/2407.03168
  • Page d'accueil du projet : https://liveportrait.github.io/
  • Expérience en ligne en un clic de HuggingFace Space : https://huggingface.co/spaces/KwaiVGI/LivePortrait

Quel type de technologie LivePortrait utilise-t-il pour devenir rapidement populaire sur l’ensemble d’Internet ?

Présentation de la méthode

Différent des méthodes traditionnelles actuelles basées sur des modèles de diffusion, LivePortrait explore et étend le potentiel du cadre implicite basé sur les points clés, équilibrant ainsi l'efficacité et la contrôlabilité du calcul du modèle. LivePortrait se concentre sur une meilleure généralisation, une meilleure contrôlabilité et une meilleure efficacité pratique. Afin d'améliorer les capacités de génération et la contrôlabilité, LivePortrait utilise 69 millions de trames de formation de haute qualité, une stratégie de formation hybride vidéo-image, a amélioré la structure du réseau et a conçu de meilleures méthodes de modélisation et d'optimisation des actions. De plus, LivePortrait considère les points clés implicites comme une représentation implicite efficace de la déformation du mélange facial (Blendshape) et propose soigneusement des modules d'assemblage et de reciblage basés sur cela. Ces deux modules sont des réseaux MLP légers, donc tout en améliorant la contrôlabilité, le coût de calcul peut être ignoré. Même comparé à certaines méthodes basées sur des modèles de diffusion existantes, LivePortrait reste très efficace. Dans le même temps, sur le GPU RTX4090, la vitesse de génération d'image unique de LivePortrait peut atteindre 12,8 ms si elle est davantage optimisée, comme TensorRT, elle devrait atteindre moins de 10 ms !

La formation des modèles de LivePortrait est divisée en deux étapes. La première étape est la formation de base du modèle, et la deuxième étape est la formation du module d'ajustement et de redirection.

La première étape de la formation de base du modèle



La première étape de la formation de base du modèle

Lors de la première étape de formation du modèle, LivePortrait a apporté une série d'améliorations aux cadres implicites basés sur des points, tels que Face Vid2vid[1], notamment :

Collecte de données de formation de haute qualité : LivePortrait utilise les ensembles de données vidéo publics Voxceleb[2], MEAD[3], RAVDESS[4] et l'ensemble de données d'images stylisées AAHQ[5]. De plus, des vidéos de portraits à grande échelle en résolution 4K sont utilisées, comprenant différentes expressions et postures, plus de 200 heures de vidéos de portraits parlants, un ensemble de données privées LightStage [6] et des vidéos et images stylisées. LivePortrait divise les longues vidéos en segments de moins de 30 secondes et garantit que chaque segment ne contient qu'une seule personne. Afin de garantir la qualité des données de formation, LivePortrait utilise le KVQ [7] développé par Kuaishou (la méthode d'évaluation de la qualité vidéo auto-développée par Kuaishou, qui peut percevoir de manière globale la qualité, le contenu, la scène, l'esthétique, l'encodage, l'audio et d'autres caractéristiques de la vidéo pour effectuer une évaluation multidimensionnelle) pour filtrer les clips vidéo de faible qualité. Les données totales de formation comprennent 69 millions de vidéos, dont 18,9 000 identités et 60 000 portraits stylisés statiques.

Formation hybride vidéo-image : Un modèle formé à l'aide uniquement de vidéos de personnes réelles fonctionne bien avec de vraies personnes, mais ne se généralise pas bien aux personnes stylisées (comme les anime). Les vidéos de portraits stylisés sont plus rares, LivePortrait ne collectant qu'environ 1,3 000 clips vidéo provenant de moins de 100 identités. En revanche, les portraits stylisés de haute qualité sont plus abondants. LivePortrait a collecté environ 60 000 photos avec différentes identités, fournissant diverses informations d'identité. Pour tirer parti des deux types de données, LivePortrait traite chaque image comme un clip vidéo et entraîne simultanément le modèle sur la vidéo et les images. Cette formation hybride améliore la capacité de généralisation du modèle.

Structure de réseau améliorée : LivePortrait unifie le réseau d'estimation de points clés implicites canoniques (L), le réseau d'estimation de pose de tête (H) et le réseau d'estimation de déformation d'expression (Δ) en un seul modèle (M), et utilise ConvNeXt-V2-Tiny[8] comme Il est structuré pour estimer directement les points clés implicites canoniques, les poses de tête et les déformations d’expression des images d’entrée. De plus, inspiré du travail connexe de face vid2vid, LivePortrait utilise le décodeur plus efficace de SPADE [9] comme générateur (G). Les caractéristiques latentes (fs) sont méticuleusement introduites dans le décodeur SPADE après déformation, où chaque canal des caractéristiques latentes sert de carte sémantique pour générer l'image pilotée. Afin d'améliorer l'efficacité, LivePortrait insère également le calque PixelShuffle[10] comme dernier calque de (G), augmentant ainsi la résolution de 256 à 512.

Modélisation plus flexible de la transformation des actions : La méthode de calcul et de modélisation des points clés implicites d'origine ignore le coefficient de mise à l'échelle, ce qui permet d'apprendre facilement la mise à l'échelle dans le coefficient d'expression, ce qui rend la formation plus difficile. Pour résoudre ce problème, LivePortrait introduit des facteurs d'échelle dans la modélisation. LivePortrait a découvert que la mise à l'échelle de projections régulières peut conduire à des coefficients d'expression apprenables trop flexibles, provoquant une adhésion de texture lorsqu'ils traversent des identités. La transformation adoptée par LivePortrait est donc un compromis entre flexibilité et maniabilité.

Optimisation implicite des points clés guidée par les points clés : Le cadre de points implicites original semble manquer de capacité à générer des expressions faciales vives telles que des clignements et des mouvements oculaires. Plus précisément, la direction du globe oculaire et l’orientation de la tête du portrait dans les résultats de conduite ont tendance à rester parallèles. LivePortrait attribue ces limitations à la difficulté de l’apprentissage non supervisé d’expressions faciales subtiles. Pour résoudre ce problème, LivePortrait introduit des points clés 2D pour capturer des micro-expressions, en utilisant la perte guidée par point clé (Lguide) comme guide pour l'optimisation implicite des points clés.

Fonction de perte en cascade : LivePortrait utilise la perte invariante de point clé (LE), la perte préalable de point clé (LL), la perte de pose de tête (LH) et la perte préalable de déformation (LΔ) implicites de face vid2vid. Afin d'améliorer encore la qualité de la texture, LivePortrait utilise des pertes de perception et GAN, qui sont appliquées non seulement au domaine global de l'image d'entrée, mais également au domaine local du visage et de la bouche, enregistrées comme perte de perception en cascade (LP, cascade ) et perte de GAN en cascade (LG, cascade). Les régions du visage et de la bouche sont définies par des points clés sémantiques 2D. LivePortrait utilise également la perte d'identité du visage (Lfaceid) pour préserver l'identité de l'image de référence.

Tous les modules de la première étape sont formés à partir de zéro et la fonction globale d'optimisation de la formation (Lbase) est la somme pondérée des termes de perte ci-dessus.

Formation du module d'ajustement et de redirection de la deuxième phase

LivePortrait traite les points clés implicites comme une déformation hybride implicite et constate que cette combinaison peut être mieux apprise à l'aide d'un MLP léger et que le coût de calcul est négligeable. En tenant compte des besoins réels, LivePortrait a conçu un module d'ajustement, un module de redirection oculaire et un module de redirection buccale. Lorsque le portrait de référence est recadré, le portrait piloté sera recollé dans l'espace d'image d'origine à partir de l'espace de recadrage. Le module d'ajustement est ajouté pour éviter un mauvais alignement des pixels pendant le processus de collage, comme la zone des épaules. En conséquence, LivePortrait peut être axé sur l'action pour des images de plus grande taille ou des photos de groupe. Le module de reciblage des yeux est conçu pour résoudre le problème de fermeture incomplète des yeux lors de la conduite à travers des identités, en particulier lorsqu'un portrait avec de petits yeux conduit un portrait avec de grands yeux. L'idée de conception du module de redirection de la bouche est similaire à celle du module de redirection des yeux. Il normalise l'entrée en plaçant la bouche de l'image de référence dans un état fermé pour une meilleure conduite.



La deuxième étape de la formation du modèle : formation du module d'ajustement et de redirection

Ajuster le module : Pendant le processus de formation, les entrées du module d'ajustement (S) sont les points clés implicites (xs) de l'image de référence et les points clés implicites (xd) d'une autre trame axée sur l'identité, et les points clés implicites pilotes (xd ) sont estimés La quantité de changement d'expression (Δst). On peut voir que, contrairement à la première étape, LivePortrait utilise des actions d'identité croisée pour remplacer les actions de même identité afin d'augmenter la difficulté de la formation, dans le but de permettre au module d'ajustement d'avoir une meilleure généralisation. Ensuite, le point clé implicite du pilote (xd) est mis à jour et la sortie du pilote correspondante est (Ip,st). LivePortrait produit également des images auto-reconstruites (Ip,recon) à ce stade. Enfin, la fonction de perte (Lst) du module d'ajustement calcule la perte de cohérence des pixels des deux zones d'épaulement et la perte de régularisation de la variation d'ajustement.

Module de redirection œil-bouche : L'entrée du module de réorientation des yeux (Reyes) est le point clé implicite de l'image de référence (xs), le tuple de condition d'ouverture des yeux de l'image de référence et un coefficient d'ouverture des yeux de conduite aléatoire, estimant ainsi la déformation du point clé de conduite. Quantité de changement (Δyeux ). Le tuple de condition d’ouverture des yeux représente le taux d’ouverture des yeux, et plus il est grand, plus le degré d’ouverture des yeux est grand. De même, les entrées du module de redirection de bouche (Rlip) sont les points clés implicites (xs) de l'image de référence, le coefficient de condition d'ouverture de bouche de l'image de référence et un coefficient d'ouverture de bouche de pilotage aléatoire, et les points clés de pilotage sont estimés à partir de ceci La quantité de changement (Δlip). Ensuite, les points clés de pilotage (xd) sont mis à jour par les changements de déformation correspondants des yeux et de la bouche respectivement, et les sorties de pilotage correspondantes sont (Ip, yeux) et (Ip, lèvre). Enfin, les fonctions objectives des modules de reciblage des yeux et de la bouche sont respectivement (Leyes) et (Llip), qui calculent la perte de cohérence des pixels des zones des yeux et de la bouche, la perte de régularisation de la variation des yeux et de la bouche et la perte aléatoire. La perte entre le coefficient d'entraînement et le coefficient de condition d'ouverture de la sortie du variateur. Les changements dans les yeux et la bouche (Δyeux) et (Δlip) sont indépendants les uns des autres, donc pendant la phase d'inférence, ils peuvent être ajoutés et mis à jour de manière linéaire pour piloter les points clés implicites.

Comparaison expérimentale





même identité : À partir des résultats de comparaison ci-dessus du même pilote d'identité, on peut voir que par rapport à la méthode de modèle de non-diffusion existante et à la méthode basée sur un modèle de diffusion, LivePortrait a une meilleure qualité de génération et une meilleure précision de conduite, et peut capturer les détails subtils de les yeux et la bouche du cadre moteur. Expressions tout en préservant la texture et l'identité de l'image de référence. Même dans des postures de tête plus larges, LivePortrait offre des performances plus stables.





Axé sur les identités croisées : D'après les résultats de comparaison des identités croisées des pilotes ci-dessus, on peut voir que par rapport aux méthodes existantes, LivePortrait peut hériter avec précision des mouvements subtils des yeux et de la bouche dans la vidéo du pilote, et est également relativement stable lorsque la posture est large. LivePortrait est légèrement plus faible que la méthode basée sur un modèle de diffusion AniPortrait [11] en termes de qualité de génération, mais par rapport à cette dernière, LivePortrait a une efficacité d'inférence extrêmement rapide et nécessite moins de FLOP.

développer

Piloté multijoueur: Grâce au module d'ajustement de LivePortrait, pour les photos de groupe, LivePortrait peut utiliser des vidéos de pilote spécifiées pour piloter des visages spécifiés, réalisant ainsi une prise de photo à plusieurs personnes et élargissant l'application pratique de LivePortrait.



Description du produit :https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650926594&idx=3&sn=7d44eac3409c6c2d5587ef80d7575a69&chksm=84e42a7cb393a36a0da7b 8d223f28c5ed51095e53a449ea8e341ddd5f71576595776c02109b6&token=1755385124&lang=zh_CN#rd

conduite d'animaux: LivePortrait a non seulement une bonne généralisation pour les portraits, mais peut également être piloté avec précision pour les portraits d'animaux après avoir affiné les ensembles de données sur les animaux.

Montage vidéo de portraits : En plus des photos de portrait, à partir d'une vidéo de portrait, telle qu'une vidéo de danse, LivePortrait peut utiliser la vidéo de conduite pour effectuer une édition de mouvement sur la zone de la tête. Grâce au module d'ajustement, LivePortrait peut éditer avec précision les mouvements dans la zone de la tête, tels que les expressions, les postures, etc., sans affecter les images dans les zones autres que la tête.



Description du produit :https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650926594&idx=3&sn=7d44eac3409c6c2d5587ef80d7575a69&chksm=84e42a7cb393a36a0da7b 8d223f28c5ed51095e53a449ea8e341ddd5f71576595776c02109b6&token=1755385124&lang=zh_CN#rd

Mise en œuvre et perspectives

Les points techniques associés à LivePortrait ont été mis en œuvre dans de nombreuses entreprises de Kuaishou, notammentMontre magique Kuaishou, messagerie privée Kuaishou, gameplay d'émoticônes IA de Kuaishou, diffusion en direct de Kuaishou et application Puji incubée par Kuaishou pour les jeunes etc., et explorera de nouvelles méthodes de mise en œuvre pour continuer à créer de la valeur pour les utilisateurs. De plus, LivePortrait explorera davantage la génération de vidéos de portraits multimodales basées sur le modèle de base de Keling pour obtenir des effets de meilleure qualité.

les références

[1] Ting-Chun Wang, Arun Mallya et Ming-Yu Liu. Synthèse neuronale à tête parlante en mode vue libre pour la visioconférence. Dans CVPR, 2021.

[2] Arsha Nagrani, Joon Son Chung et Andrew Zisserman. Voxceleb : un ensemble de données d'identification des locuteurs à grande échelle. Dans Interspeech, 2017.

[3] Kaisiyuan Wang, Qianyi Wu, Linsen Song, Zhuoqian Yang, Wayne Wu, Chen Qian, Ran He, Yu Qiao et Chen Change Loy. Mead : Un ensemble de données audiovisuelles à grande échelle pour la génération de visages parlants émotionnels. Dans ECCV, 2020.

[4] Steven R Livingstone et Frank A Russo. La base de données audiovisuelle de Ryerson sur la parole et le chant émotionnels (ravdess) : un ensemble dynamique et multimodal d'expressions faciales et vocales en anglais nord-américain. Dans PloS one, 2018

[5] Mingcong Liu, Qiang Li, Zekui Qin, Guoxin Zhang, Pengfei Wan et Wen Zheng. Blendgan : mélange implicite pour la génération de visages stylisés arbitraires. Dans NeurIPS, 2021.

[6] Haotian Yang, Mingwu Zheng, Wanquan Feng, Haibin Huang, Yu-Kun Lai, Pengfei Wan, Zhongyuan Wang et Chongyang Ma. Vers une capture pratique d'avatars éclairés haute fidélité. Dans SIGGRAPH Asie, 2023.

[7] Kai Zhao, Kun Yuan, Ming Sun, Mading Li et Xing Wen. Modèles pré-entraînés soucieux de la qualité des images pour les aveugles

évaluation. Dans CVPR, 2023.

[8] Sanghyun Woo, Shoubhik Debnath, Ronghang Hu, Xinlei Chen, Zhuang Liu, In So Kweon et Saining Xie. Escroquer-

vnext v2 : co-conception et mise à l'échelle de convnets avec des autoencodeurs masqués. Dans CVPR, 2023.

[9] Taesung Park, Ming-Yu Liu, Ting-Chun Wang et Jun-Yan Zhu. Synthèse d'images sémantiques avec normalisation spatialement adaptative. Dans CVPR, 2019.

[10] Wenzhe Shi, Jose Caballero, Ferenc Husz ´ar, Johannes Totz, Andrew P Aitken, Rob Bishop, Daniel Rueckert et Zehan Wang. Super-résolution d'image et de vidéo unique en temps réel à l'aide d'un réseau neuronal convolutionnel sous-pixel efficace. Dans CVPR, 2016.

[11] Huawei Wei, Zejun Yang et Zhisheng Wang. Aniportrait : synthèse audio d'animation de portrait photoréaliste. Préimpression arXiv : 2403.17694, 2024.