Creado por Wayne Wu, Yunxuan Zhang y Ren Li.
Presentamos un marco novedoso basado en el aprendizaje para la recreación de rostros. El método propuesto, conocido como ReenactGAN, es capaz de transferir movimientos y expresiones faciales desde la entrada de vídeo monocular de una persona arbitraria al vídeo de una persona objetivo. En lugar de realizar una transferencia directa en el espacio de píxeles, lo que podría dar lugar a artefactos estructurales, primero asignamos la cara de origen a un espacio límite latente. Posteriormente se utiliza un transformador para adaptar el límite de la cara de origen al límite del objetivo. Finalmente, se utiliza un decodificador específico del objetivo para generar la cara del objetivo recreada. Gracias a la transferencia basada en límites efectiva y confiable, nuestro método puede realizar recreaciones faciales fotorrealistas. Además, ReenactGAN es atractivo porque todo el proceso de recreación es puramente feed-forward y, por lo tanto, el proceso de recreación puede ejecutarse en tiempo real.
Clona este repositorio:
git clone ...
cd ReenactGAN
El codificador de límites está entrenado en el conjunto de datos WFLW y Helen, y tanto el transformador de límites como el decodificador están entrenados en el conjunto de datos CelebV. El entrenamiento del codificador requiere una gran cantidad de tiempo, por lo que puede obtener el codificador previamente entrenado en ./pretrained_models/v8_net_boundary_detection.pth .
Para entrenar el transformador de límite, ejecute
sh script/train_Transformer.sh
Debes cuidar los argumentos --root_dir y --what_target . --root_dir se refiere al directorio del conjunto de datos y --what_target se refiere a qué persona será el objetivo
0: Emmanuel_Macron
1: Kathleen
2: Jack_Ma
3: Theresa_May
4: Donald_Trump
Para entrenar el decodificador, ejecute
sh script/train_Decoder.sh
Además, debes cuidar el valor de --root_dir , que hace referencia al directorio de la persona objetivo.
Para probar el modelo, ejecute
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
Las imágenes utilizadas para las pruebas se encuentran en ./test_imgs/samples/image, y el archivo de texto, ./test_imgs/samples/images_list.txt, contiene la lista de estas imágenes. Después de la prueba, obtendrá un floder llamado resultados , que contiene las imágenes de las caras reales y recreadas, los límites y los límites transformados de las caras reales. Aquí hay algunos resultados.
Puede obtener nuestros modelos entrenados en Decoder y Transformer.
Si considera que ReenactGAN es útil para su investigación, cite:
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}
}
Por favor póngase en contacto con [email protected]