Aprendizagem pessoal com IA
e orientação prática

AniPortrait: imagem ou movimento de vídeo orientado por áudio para gerar vídeo digital realista de fala humana

Este artigo foi atualizado em 2025-01-10 17:15, parte do conteúdo é sensível ao tempo, se for inválido, por favor, deixe uma mensagem!

Introdução geral

O AniPortrait é uma estrutura inovadora para a geração de animações de retratos realistas acionadas por áudio. Desenvolvido pela Huawei, Yang Zejun e Wang Zhisheng do Tencent Game Know Yourself Lab, o AniPortrait é capaz de gerar animações de alta qualidade a partir de áudio e imagens de retrato de referência, e até mesmoFornecer vídeo para reencenação facial. Usando técnicas avançadas de representação intermediária em 3D e animação facial em 2D, a estrutura é capaz de gerar efeitos de animação naturais e suaves para diversos cenários de aplicação, como produção de filmes e televisão, âncoras virtuais e pessoas digitais.

AniPortrait: geração orientada por áudio de vídeo digital realista de fala humana-1

Endereço de demonstração: https://huggingface.co/spaces/ZJYang/AniPortrait_official


 

AniPortrait: imagem ou movimento de vídeo orientado por áudio para gerar vídeos digitais realistas de fala humana-1

 

Lista de funções

  • Animação orientada por áudio: gere a animação de retrato correspondente a partir da entrada de áudio.
  • Animação orientada por vídeo: fornece vídeo para reprodução facial, gerando animações faciais realistas.
  • Geração de animação de alta qualidade: use representação intermediária em 3D e técnicas de animação facial em 2D para gerar efeitos de animação de alta qualidade.
  • Demonstração da interface do usuário na Web: forneça uma demonstração on-line por meio da interface do usuário na Web do Gradio para uma experiência amigável.
  • Treinamento e inferência de modelos: suporte ao treinamento e à inferência de modelos, os usuários podem personalizar os dados para treinamento e geração.

 

Usando a Ajuda

montagem

construção de ambientes

Versão recomendada do Python >= 3.10 e versão do CUDA = 11.7. Siga as etapas abaixo para criar o ambiente:

pip install -r requirements.txt

download de peso

Todos os arquivos de peso devem ser colocados no diretório. /pretrained_weightsdiretório. Faça o download manual do arquivo de pesos da seguinte forma:

  1. Faça o download dos pesos treinados, incluindo as seguintes partes:denoising_unet.pthereference_unet.pthepose_guider.pthemotion_module.pthetc.
  2. Faça o download de pesos pré-treinados para o modelo básico e outros componentes:
    • StableDiffusion V1.5
    • sd-vae-ft-mse
    • codificador_de_imagem
    • wav2vec2-base-960h

A estrutura do arquivo de pesos é organizada da seguinte forma:

. /pretrained_weights/
|-- image_encoder
||-- config.json
| `-- pytorch_model.bin
|-- sd-vae-ft-mse
| |-- config.json
| |-- diffusion_pytorch_model.bin
| `-- diffusion_pytorch_model.safetensors
|-- stable-diffusion-v1-5
| |-- feature_extractor
| | `-- preprocessor_config.json
| |- model_index.json
| |-- unet
|| |-- config.json
| `-- diffusion_pytorch_model.bin
| `-- v1-inference.yaml
|-- wav2vec2-base-960h
||- config.json
| |-- feature_extractor_config.json
| |-- preprocessor_config.json
| |- pytorch_model.bin
||- README.md
| |- special_tokens_map.json
| |-- tokeniser_config.json
|-- vocab.json
|-- audio2mesh.pt
|-- audio2pose.pt
|-- denoising_unet.pth
|-- film_net_fp16.pt
|-- motion_module.pth
|-- pose_guider.pth
|-- reference_unet.pth

IU da Web do Gradio

Experimente nossa demonstração na Web com o seguinte comando. Também fornecemos oDemonstração on-line.

python -m scripts.app

inferência

Observe que é possível definir o comando-Lpara o número desejado de quadros gerados, por exemplo-L 300.

Métodos de aceleraçãoSe demorar muito para gerar o vídeo, você poderá fazer o download do arquivofilm_net_fp16.pte colocado em. /pretrained_weightsCatálogo.

Veja a seguir os comandos da CLI para executar o script de raciocínio:

autodirigido

python -m scripts.pose2vid --config . /configs/prompts/animation.yaml -W 512 -H 512 -acc

referenciávelanimation.yamlpara adicionar sua própria imagem de referência ou vídeo de pose. Para converter o vídeo original em um vídeo de pose (sequência de pontos-chave), você pode executar o seguinte comando:

python -m scripts.vid2pose --video_path pose_video_path.mp4

reaparecimento facial

python -m scripts.vid2vid --config . /configs/prompts/animation_facereenac.yaml -W 512 -H 512 -acc

existiranimation_facereenac.yamlAdicione o vídeo da face de origem e a imagem de referência ao

Driver de áudio

python -m scripts.audio2vid --config . /configs/prompts/animation_audio.yaml -W 512 -H 512 -acc

existiranimation_audio.yamlAdicionar áudio e imagens de referência à seção Excluiranimation_audio.yamlacertou em cheiopose_tempVocê pode ativar o modelo audio2pose. Você também pode usar esse comando para gerar o controle de pose da cabeça para o modelopose_temp.npy::

python -m scripts.generate_ref_pose --ref_video . /configs/inference/head_pose_temp/pose_ref_video.mp4 --save_path . /configs/inference/head_pose_temp/pose.npy

trem

Preparação de dados

downloadVFHQresponder cantandoCelebV-HQ. Extraia os pontos-chave do vídeo original e grave o arquivo json de treinamento (aqui está um exemplo de processamento do VFHQ):

python -m scripts.preprocess_dataset --input_dir VFHQ_PATH --output_dir SAVE_PATH --training_json JSON_PATH

Atualizar linhas no perfil de treinamento:

dados.
json_path: JSON_PATH

Estágio 1

Executar comando:

accelerate launch train_stage_1.py --config . /configs/train/stage1.yaml

Estágio 2

Ponderação dos módulos de movimento pré-treinadosmm_sd_v15_v2.ckpt(link para download) colocado em. /pretrained_weightsdiretório. No diretóriostage2.yamlO arquivo de configuração especifica os pesos de treinamento para o estágio 1, por exemplo:

stage1_ckpt_dir: '. /exp_output/stage1'
stage1_ckpt_step: 30000

Executar comando:

accelerate launch train_stage_2.py --config . /configs/train/stage2.yaml
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " AniPortrait: imagem ou movimento de vídeo orientado por áudio para gerar vídeo digital realista de fala humana

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil