HyperAI

Démo Humaine Numérique GeneFace++

GeneFace++ : une technique universelle et stable de génération de visages parlants 3D en temps réel pilotée par l'audio

Ce tutoriel a créé l'environnement adapté à vos besoins. Il vous suffit de suivre les étapes pour générer un humain numérique personnalisé.

1. Présentation du projet

GeneFace peut piloter la synthèse faciale 3D, la lecture labiale, la vidéo vocale via l'audio. Il s'agit d'une méthode générale et haute fidélité de génération de visage parlant basée sur NeRF qui peut générer des résultats naturels correspondant à divers audio hors domaine. Plus précisément, GeneFace apprend un générateur de mouvement variationnel sur un grand corpus de synchronisation labiale et introduit un réseau de post-traitement adaptatif au domaine pour calibrer les résultats. Des expériences approfondies démontrent que l’approche de GeneFace permet une génération de visages parlants plus générale et plus fidèle par rapport aux méthodes précédentes.

2. Méthode d'exécution de démonstration

Référence du didacticiel vidéo :[Niveau fondation zéro + nounou] Révélant tout le processus de création de personnes numériques clonées, GeneFace++ est activé en un clic sans aucune exigence matérielle, un didacticiel d'avatar numérique que tout le monde peut apprendre

1. Accédez au site Web

Après avoir démarré le conteneur, cliquez sur l'adresse API pour accéder à l'interface Web

2. Fermez le site Web

Tapez dans le terminal exécutant le site Web Ctrl + C  L'exploitation du site Web sera interrompue. Si la page du terminal est fermée, sélectionnez le deuxième élément de l'onglet de gauche de l'espace de travail, où vous pouvez récupérer la page du terminal fermée.

3ß

Si un terminal exécute un programme, d’autres commandes ne peuvent pas être exécutées. Vous pouvez choisir de terminer le programme en cours ou d'ouvrir un nouveau terminal pour exécuter d'autres commandes.

3. Entraînement à la méthode d'exploitation du modèle personnalisé

Ce qui suit est un document Markdown qui a été organisé pour garantir que le contenu est clair et facile à comprendre, tout en gardant les positions de l'image et du lien inchangées.

1. Préparation

Préparez votre propre vidéo humaine numérique. Il est recommandé que la largeur et la hauteur de la vidéo soient carrées, car la vidéo formée sera automatiquement recadrée 512 * 512  taille. Si la vidéo est d'une autre taille, des bords noirs peuvent apparaître après le recadrage. Si les bords noirs sont trop grands, l’effet d’entraînement sera affecté. Le format vidéo doit être mp4, faites glisser la vidéo vers la zone de téléchargement dans le coin inférieur gauche de la page Web pour la télécharger.

Note:

  • Le titre de la vidéo ne doit pas contenir de caractères chinois.
  • L'arrière-plan de la vidéo doit être propre et exempt d'éléments inutiles, de préférence un arrière-plan de couleur unie. S'il y a trop d'éléments d'arrière-plan ou s'ils sont encombrés, l'extraction d'arrière-plan peut échouer.
  • Le visage dans la vidéo doit être clair et doit occuper la partie principale de l'image. Il est recommandé d'utiliser des gros plans au-dessus des épaules plutôt que des vidéos à moitié du corps, sinon le visage sera flou.

L'exemple d'écran est le suivant⬇️
meimei

Recommandations sur les paramètres d'entraînement

Choisissez un nombre approprié d’étapes d’entraînement, plus de 50 000 étapes sont recommandées. Voici les temps de référence :

  • Exemples de vidéos fournies par le projet (mai) :
    La vidéo dure environ 4 minutes et il faut environ 1 heure pour créer l'ensemble de données. L'entraînement d'un seul modèle pour 50 000 étapes prend environ 1 heure.
    La formation globale nécessite la création de deux modèles, ce qui prend environ 2 à 3 heures au total.
  • Recommandations concernant la durée des vidéos :
    Les vidéos doivent durer entre 3 et 5 minutes. Si la vidéo est trop courte, il sera difficile d’obtenir de bons résultats même si vous vous entraînez longtemps ; si la vidéo est trop longue, cela prolongera le temps de formation.

Progression de la formation

Vous pouvez exécuter la commande suivante dans le terminal pour afficher la progression de la formation bash tail -f app.log   Quand il est dit que cette vidéo a été formée ! Formation terminée ! 

Résultats de la formation du modèle

Une fois la formation terminée, vous pouvez torso model ckpt path or directory  Recherchez les deux dossiers liés à la vidéo (situés dans motion2video_nerf  annuaire). choisir videoid_torso  Les modèles du dossier sont prêts à l'emploi.

Note:

  • Les deux premiers modèles à droite doivent être sélectionnés, sinon le modèle par défaut sera utilisé.
  • Le premier modèle est un modèle de conversion du son en geste. audio2motion_vae Le modèle en .
  • Si le modèle de tête est sélectionné au niveau du torse, une erreur peut être signalée :
    Inference ERROR: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!!

Utilisation du modèle entraîné

Si vous disposez déjà d’un modèle entraîné, vous pouvez le placer dans une structure de dossiers similaire et l’utiliser directement.

2. Recyclage

L'ensemble du processus de formation du modèle peut être résumé comme suit : génération d'un ensemble de données, formation du modèle de tête et formation du modèle d'épaule. Pour éviter de répéter certaines parties du processus ou de devoir recommencer depuis le début en raison d'interruptions inattendues, le code enregistre les étapes terminées au fur et à mesure qu'elles sont terminées. Pour les vidéos portant le même nom, les étapes qui ont été effectuées seront ignorées et les étapes inachevées de la dernière fois seront effectuées directement.

Si vous souhaitez réentraîner le modèle avec un nouveau nombre d'étapes, supprimez simplement les deux dossiers entraînés. Vous pouvez exécuter la commande suivante pour supprimer le dossier modèle. Si vous souhaitez uniquement réentraîner le modèle d'épaule, supprimez simplement le dossier du torse.

rm -r /openbayes/home/geneface_out/checkpoints/motion2video_nerf/把这里换成你的视频名称_head
rm -r /openbayes/home/geneface_out/checkpoints/motion2video_nerf/把这里换成你的视频名称_torso

4. Nettoyage des données

Si vous ne prévoyez pas de vous recycler, vous pouvez nettoyer l'ensemble de données. L’exécution du script suivant peut nettoyer toutes les données de l’ensemble de données pour économiser de l’espace. Étant donné que la création d’un ensemble de données prend beaucoup de temps, vous devez bien réfléchir avant de le supprimer. Ne saisissez pas le nom de la vidéo avec un suffixe mp4 .

/output/clear_video_data.sh 你的视频名称

Si vous souhaitez effacer complètement toutes les données d’une vidéo, vous pouvez exécuter le script suivant :

/output/clear_video_data.sh/output/clear_all_data.sh 你的视频名称

5. Introduction à la structure des dossiers

Lorsque vous entraînez une nouvelle vidéo, les fichiers et dossiers suivants seront générés sous geneface_out, où VIDEO_ID est le nom de votre vidéo.

- geneface_out

-- binary
--- videos
---- {VIDEO_ID}
----- trainval_dataset.npy # 制作好的数据集,推理和训练的时候都用它

--processed #生成数据集过程中存放数据的文件夹
--- videos
---- {VIDEO_ID} # 从视频中提取的所有数据都在这,制作好数据集(即上面的 trainval_dataset.npy)后就没用了

-- raw
--- videos
---- {VIDEO_ID}.mp4 # 存放着你上传的视频的 512*512 版本,制作好数据集后就不需要了

-- view_check # 用于访问 checkpoints 的软链接
-- checkpoints 
--- motion2video_nerf # 存放训练好的模型数据
---- {VIDEO_ID}_head
---- {VIDEO_ID}_torso