Introdução geral
O X-Dyna é um projeto de código aberto desenvolvido pela ByteDance para gerar animações dinâmicas de retratos por meio de técnicas de difusão de amostra zero. O projeto usa expressões faciais e movimentos corporais no vídeo de condução para animar imagens de retratos individuais, gerando animações realistas e conscientes do contexto. O x-Dyna aprimora a vivacidade e os detalhes das animações de vídeo de retratos introduzindo um módulo adaptador dinâmico que integra perfeitamente o contexto de aparência da imagem de referência à atenção espacial da rede de backbone de difusão.
Recomendação relacionada:StableAnimator: gera animação de vídeo de alta qualidade que mantém as características do personagem. eDisPose: geração de vídeos com controle preciso da postura humana, criando damas dançantes e
Lista de funções
- Geração de animações de retratos dinâmicos: gere animações de retratos dinâmicos realistas usando expressões faciais e movimentos corporais no vídeo da unidade.
- Técnica de difusão de amostra zero: gera animações de alta qualidade sem dados de pré-treinamento.
- Dynamic Adapter Module: integração do contexto da imagem de referência para aprimorar os detalhes e a vivacidade das animações.
- Transferência da expressão facial: Capture a expressão facial por meio do módulo de controle local para uma transferência precisa da expressão.
- Códigos de avaliação: forneça uma variedade de métricas de avaliação (por exemplo, DTFVD, Face-Cos, Face-Det, FID etc.) para avaliar a qualidade da animação.
- Código-fonte e modelos abertos: o código de inferência completo e os modelos pré-treinados são fornecidos para facilitar o uso e o desenvolvimento secundário.
Usando a Ajuda
Processo de instalação
- Clonagem do Project Warehouse:
git clone https://github.com/bytedance/X-Dyna.git
cd X-Dyna
- Instale a dependência:
pip install -r requirements.txt
- Instale o ambiente do PyTorch 2.0:
bash env_torch2_install.sh
Uso
- Prepare a imagem de entrada e o vídeo da unidade:
- Imagem de entrada: uma única imagem de retrato.
- Drive Video: um vídeo que contém as expressões faciais e os movimentos corporais do alvo.
- Execute o código de inferência para gerar a animação:
python inference_xdyna.py --input_image path_to_image --driving_video path_to_video
- Avalie a qualidade da animação gerada:
- A qualidade das animações geradas foi avaliada usando o código de avaliação e o conjunto de dados fornecidos.
python evaluate.py --generated_video path_to_generated_video --metrics DTFVD,Face-Cos,Face-Det,FID
Fluxo de operação detalhado da função
- Geração de animação de retrato dinâmico::
- Selecione uma imagem de retrato estático como entrada.
- Selecione um vídeo de unidade que contenha os movimentos e as expressões do alvo.
- Executar código de inferência para gerar animação dinâmica de retratos.
- transferência da expressão facial::
- Capture expressões faciais em vídeos de unidades usando o Local Control Module.
- Transfira a expressão capturada para a imagem de entrada para obter uma animação precisa da expressão.
- Módulo Dynamic Adapter::
- O módulo adaptador dinâmico integra perfeitamente o contexto da aparência da imagem de referência à atenção espacial da rede de backbone de difusão.
- Dessa forma, a animação gerada mantém mais detalhes e vivacidade.
- Código de avaliação::
- Uma variedade de métricas de avaliação (por exemplo, DTFVD, Face-Cos, Face-Det, FID etc.) é fornecida para avaliar a qualidade das animações geradas.
- Os usuários podem avaliar completamente as animações geradas com base nessas métricas.
- Código-fonte aberto e modelagem::
- O projeto fornece código de inferência completo e modelos pré-treinados, que podem ser facilmente usados pelos usuários para desenvolvimento secundário e aplicativos personalizados.
Perguntas frequentes.
- A animação não é suave: tente aumentar
num_mix
ou ajustesddim_steps
. - incompatibilidade na expressão facialEscolha de um produto: Certifique-se de que a escolha de
melhor_quadro
corresponde ao quadro no vídeo da unidade que é mais semelhante em expressão à imagem de origem.
Uso avançado.
- otimizar o desempenhoA velocidade de geração pode ser aprimorada com a redução do número de etapas de inferência usando o modelo LCM LoRA.
- Modelos personalizadosSe você tiver necessidades específicas, poderá modificar ou ampliar o modelo de acordo com as orientações do LEIAME.
Seguindo essas etapas, os usuários podem começar a usar facilmente a X-Dyna para gerar animações de retratos dinâmicos de alta qualidade e avaliar e otimizar totalmente as animações geradas.