Bahri Batuhan Bilecen, Ahmet Berke Gokmen, Furkan Guzelant et Aysegul Dundar
La stylisation de la tête 3D transforme les traits réalistes du visage en représentations artistiques, améliorant ainsi l'engagement des utilisateurs dans les applications de jeux et de réalité virtuelle. Bien que les générateurs compatibles 3D aient fait des progrès significatifs, de nombreuses méthodes de stylisation 3D fournissent principalement des vues quasi frontales et peinent à préserver l'identité unique des sujets originaux, ce qui aboutit souvent à des résultats manquant de diversité et d'individualité. Cet article répond à ces défis en tirant parti du modèle PanoHead, synthétisant des images dans une perspective globale à 360 degrés. Nous proposons un nouveau cadre qui utilise la distillation de log-vraisemblance négative (LD) pour améliorer la préservation de l'identité et la qualité de la stylisation. En intégrant des scores de grille multi-vues et des dégradés de miroirs dans l'architecture GAN 3D et en introduisant une technique de pondération des classements de scores, notre approche permet d'obtenir des améliorations qualitatives et quantitatives substantielles. Nos résultats font non seulement progresser l’état de la stylisation des têtes 3D, mais fournissent également des informations précieuses sur les processus de distillation efficaces entre les modèles de diffusion et les GAN, en se concentrant sur la question critique de la préservation de l’identité.
git clone --recursive https://github.com/three-bee/3d_head_stylization.git
cd ./3d_head_stylization && pip install -r requirements.txt
Nous suivons l'approche de PanoHead pour l'extraction de poses et l'alignement du visage. Pour cela, vous devez suivre la procédure de configuration de PanoHead et vous assurer de ne pas ignorer la configuration de 3DDFA_V2. Ensuite, exécutez PanoHead/projector.py
et omettez l'étape project_pti
pour effectuer uniquement l'encodage W+.
Pour votre commodité, nous fournissons les latents W+ de plusieurs identités réelles dans un dossier example
.
Téléchargez tous les réseaux vers les emplacements souhaités. Nous fournissons également des points de contrôle de générateur stylisés pour plusieurs invites dans ce lien.
Réseau | Nom de fichier | Emplacement |
---|---|---|
PanoTête | easy-khair-180-gpc0.8-trans10-025000.pkl | ${G_ckpt_path} |
Vision réaliste v5.1 | Realistic_Vision_V5.1_noVAE/ | ${diff_ckpt_path} |
Bordure ControlNet | sd-controlnet-canny/ | ${controlnet_edge_path} |
Profondeur de ControlNet | sd-controlnet-depth/ | ${controlnet_depth_path} |
ProfondeurAnythingV2 | depth_anything_v2_vitb.pth | ${depth_path} |
Modifiez ${stylized_G_ckpt_path}
avec les chemins de point de contrôle indiqués dans ce lien. Le dossier example
fournit plusieurs têtes codées W+ réelles. Donner un chemin invalide à latent_list_path
stylisera synth_sample_num
des échantillons synthétiques.
python infer_LD.py
--save_path "work_dirs/demo"
--G_ckpt_path ${G_ckpt_path}
--stylized_G_ckpt_path ${stylized_G_ckpt_path}
--latent_list_path "example"
--synth_sample_num 10
Modifiez prompt
et save_path
. Vous pouvez jouer avec d'autres hyperparamètres dans le fichier de formation.
python train_LD.py
--prompt "Portrait of a werewolf"
--save_path "work_dirs/demo"
--diff_ckpt_path ${diff_ckpt_path}
--depth_path ${depth_path}
--G_ckpt_path ${G_ckpt_path}
--controlnet_edge_path ${controlnet_edge_path}
--controlnet_depth_path ${controlnet_depth_path}
@misc{bilecen2024identitypreserving3dhead,
title={Identity Preserving 3D Head Stylization with Multiview Score Distillation},
author={Bahri Batuhan Bilecen and Ahmet Berke Gokmen and Furkan Guzelant and Aysegul Dundar},
year={2024},
url={https://arxiv.org/abs/2411.13536},
}
Copyright 2024 Bilkent DLR. Sous licence Apache, version 2.0 (la « Licence »).