Wayne Wu, Yunxuan Zhang 및 Ren Li가 제작했습니다.
우리는 얼굴 재연을 위한 새로운 학습 기반 프레임워크를 제시합니다. ReenactGAN으로 알려진 제안된 방법은 입력된 임의의 사람의 단안 비디오에서 얼굴 움직임과 표정을 대상 사람의 비디오로 전송할 수 있습니다. 구조적 아티팩트가 발생할 수 있는 픽셀 공간에서 직접 전송을 수행하는 대신 먼저 소스 면을 경계 잠재 공간에 매핑합니다. 이후 변환기는 소스 면의 경계를 대상 경계에 맞게 조정하는 데 사용됩니다. 마지막으로 타겟별 디코더를 사용하여 재현된 타겟 얼굴을 생성합니다. 효과적이고 안정적인 경계 기반 전송 덕분에 우리의 방법은 사진처럼 사실적인 얼굴 재연을 수행할 수 있습니다. 또한, ReenactGAN은 전체 재연 과정이 순전히 피드포워드(feed-forward)이기 때문에 재연 과정이 실시간으로 실행될 수 있다는 점에서 매력적이다.
이 저장소를 복제하세요.
git clone ...
cd ReenactGAN
경계 인코더는 WFLW 및 Helen 데이터 세트에서 훈련되었으며 경계 변환기와 디코더는 모두 CelebV 데이터 세트에서 훈련되었습니다. 인코더 훈련에는 엄청난 시간이 필요하므로 ./pretrained_models/v8_net_boundary_Detection.pth 에서 사전 훈련된 인코더를 얻을 수 있습니다.
경계 변환기를 훈련하려면 다음을 실행하십시오.
sh script/train_Transformer.sh
--root_dir 및 --which_target 인수를 처리해야 합니다. --root_dir은 데이터세트의 디렉터리를 나타내며, --which_target은 어떤 사람이 대상이 될 것인지를 나타냅니다.
0: Emmanuel_Macron
1: Kathleen
2: Jack_Ma
3: Theresa_May
4: Donald_Trump
디코더를 훈련하려면 다음을 실행하세요.
sh script/train_Decoder.sh
또한, 대상자의 디렉터리를 가리키는 --root_dir 값도 잘 관리해야 합니다.
모델을 테스트하려면 다음을 실행하세요.
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
테스트에 사용된 이미지는 ./test_imgs/samples/image에 있으며 텍스트 파일 ./test_imgs/samples/images_list.txt에는 이러한 이미지 목록이 포함되어 있습니다. 테스트 후에는 실제 얼굴과 재현된 얼굴의 이미지, 실제 얼굴의 경계 및 변환된 경계가 포함된 results 라는 이름의 플로더를 얻게 됩니다. 다음은 몇 가지 결과입니다.
Decoder 및 Transformer에서 훈련된 모델을 얻을 수 있습니다.
ReenactGAN이 연구에 도움이 된다면 다음을 인용해 주세요.
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}
}
[email protected]으로 문의해 주세요.