| | | | 中文文档
Este repositório é a implementação oficial do Pytorch do nosso artigo ICLR-2023, no qual propomos o Geneface para a geração de face de discussão generalizada e de alta fidelidade. O pipeline de inferência é o seguinte:

Nosso Geneface alcança melhor sincronização e expressividade labiais em áudios fora do domínio. Assista a este vídeo para uma comparação clara de sincronização labial com os métodos anteriores baseados em NERF. Você também pode visitar nossa página do projeto para obter mais detalhes.
Lançamos o Código de Mimickalk (https://github.com/yerfor/mimictalk/), que é um método de rosto específico para a pessoa específico para a SOTA Nerf e alcança melhor qualidade visual e permite o controle de estilo Talking.
Lançamos o código do Geneface ++ (https://github.com/yerfor/genefaceplusplus/), que é uma versão atualizada do Geneface e alcança melhor sincronização labial, qaulidade de vídeo e eficiência do sistema.
2023.3.16 Lançamos uma grande atualização nesta versão, uma demonstração de vídeo está aqui. Incluindo: 1) Renderizador baseado em Rad-Erf, que pode inferir em tempo real e ser treinado em 10 horas. 2) Módulo Deep3d_reconstruction baseado em Pytorch, que é mais fácil de instalar e é 8x mais rápido que a versão anterior baseada em TF. 3) Módulo Audio2Motion com reconhecimento de inclinação, que poderia gerar mais marco de sincronização labial. 4) Corrija alguns bugs que causam grande uso de memória. 5) Faremos o upload do artigo sobre esta atualização em breve.2023.2.22 Lançamos um vídeo de demonstração de 1 minuto, no qual o Geneface é impulsionado por uma música chinesa gerada por DiffSinger.2023.2.20 Lançamos uma estratégia estável de pós-processamento em 3D em inference/nerfs/lm3d_nerf_infer.py , que melhoram a estabilidade e a qualidade dos resultados finais por uma grande margem. Fornecemos modelos pré-treinados e conjuntos de dados processados do Geneface nesta versão para ativar um início rápido. A seguir, mostramos como inferir os modelos pré-treinados em 4 etapas. Se você deseja treinar o Geneface em seu próprio vídeo de pessoa -alvo, chegue às seções a seguir ( Prepare Environments , Prepare Datasets e Train Models ).
Etapa1. Crie um novo Python Env chamado geneface seguindo o guia em docs/prepare_env/install_guide.md .
Etapa2. Faça o download do lrs3.zip e May.zip na versão e descompacte -o no diretório checkpoints .
Etapa3. Processe o conjunto de dados de May.mp4 seguindo o guia em docs/process_data/process_target_person_video.md . Em seguida, você pode ver um arquivo de saída chamado data/binary/videos/May/trainval_dataset.npy .
Após as etapas acima, a estrutura de seus checkpoints e diretório data deve ficar assim:
> checkpoints
> lrs3
> lm3d_vae_sync
> syncnet
> May
> lm3d_postnet_sync
> lm3d_radnerf
> lm3d_radnerf_torso
> data
> binary
> videos
> May
trainval_dataset.npy
bash scripts/infer_postnet.sh
bash scripts/infer_lm3d_radnerf.sh
# bash scripts/infer_radnerf_gui.sh # you can also use GUI provided by RADNeRF
Você pode encontrar um vídeo de saída chamado infer_out/May/pred_video/zozo.mp4 .
Siga as etapas em docs/prepare_env .
Siga as etapas nos docs/process_data .
Siga as etapas nos docs/train_models .
Além do May.mp4 Você pode baixá -los neste link. Para treinar em um novo vídeo chamado <video_id>.mp4 , você deve colocá -lo no data/raw/videos/ Diretório e criar uma nova pasta em egs/datasets/videos/<video_id> e editar arquivos de configuração, de acordo com a pasta Exemplo de exemplo fornecido egs/datasets/videos/May .
Você também pode gravar seu próprio vídeo e treinar um modelo de geneface exclusivo para si mesmo!
@article{ye2023geneface,
title={GeneFace: Generalized and High-Fidelity Audio-Driven 3D Talking Face Synthesis},
author={Ye, Zhenhui and Jiang, Ziyue and Ren, Yi and Liu, Jinglin and He, Jinzheng and Zhao, Zhou},
journal={arXiv preprint arXiv:2301.13430},
year={2023}
}
Nossos códigos são baseados nos seguintes repositórios: