Créé par Wayne Wu, Yunxuan Zhang et Ren Li.
Nous présentons un nouveau cadre basé sur l’apprentissage pour la reconstitution de visages. La méthode proposée, connue sous le nom de ReenactGAN, est capable de transférer les mouvements et expressions faciales de l'entrée vidéo monoculaire d'une personne arbitraire vers la vidéo d'une personne cible. Au lieu d'effectuer un transfert direct dans l'espace des pixels, ce qui pourrait entraîner des artefacts structurels, nous mappons d'abord la face source sur un espace latent limite. Un transformateur est ensuite utilisé pour adapter la limite de la face source à la limite de la cible. Enfin, un décodeur spécifique à la cible est utilisé pour générer le visage cible reconstitué. Grâce au transfert efficace et fiable basé sur les limites, notre méthode peut réaliser une reconstitution de visage photoréaliste. De plus, ReenactGAN est attrayant dans la mesure où l'ensemble du processus de reconstitution est purement rétroactif, et le processus de reconstitution peut donc s'exécuter en temps réel.
Clonez ce dépôt :
git clone ...
cd ReenactGAN
L'encodeur de limite est formé sur l'ensemble de données WFLW et Helen, et le transformateur de limite et le décodeur sont formés sur l'ensemble de données CelebV. La formation de l'encodeur nécessite énormément de temps, vous pouvez donc obtenir l'encodeur pré-entraîné sur ./pretrained_models/v8_net_boundary_detection.pth .
Pour entraîner le transformateur de limite, exécutez
sh script/train_Transformer.sh
Vous devez prendre soin des arguments --root_dir et --which_target . --root_dir fait référence au répertoire de l'ensemble de données et --which_target fait référence à la personne qui doit être la cible
0: Emmanuel_Macron
1: Kathleen
2: Jack_Ma
3: Theresa_May
4: Donald_Trump
Pour entraîner le décodeur, exécutez
sh script/train_Decoder.sh
Vous devez également faire attention à la valeur de --root_dir , qui fait référence au répertoire de la personne cible.
Pour tester le modèle, exécutez
sh script/move_models.sh ./checkpoints/Transformer_2019-xx-xx_xx-xx-xx/G_BA_xx.pth ./checkpoints/Decoder_2019-xx-xx_xx-xx-xx/xx_net_G.pth trump
sh script/test.sh
Les images utilisées pour les tests se trouvent dans ./test_imgs/samples/image, et le fichier texte, ./test_imgs/samples/images_list.txt, contient la liste de ces images. Après les tests, vous obtiendrez un fichier nommé results , qui contient les images des visages réels et reconstitués, les limites et les limites transformées des visages réels. Voici quelques résultats.
Vous pouvez obtenir nos modèles formés auprès de Decoder et Transformer.
Si vous trouvez ReenactGAN utile pour votre recherche, veuillez citer :
inproceedings{wayne2018reenactgan,
author = {Wu, Wayne and Zhang, Yunxuan and Li, Cheng and Qian, Chen and Loy, Chen Change},
title = {ReenactGAN: Learning to Reenact Faces via Boundary Transfer},
booktitle = {ECCV},
month = September,
year = {2018}
}
Veuillez contacter [email protected]