Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

FantasyTalking: uma ferramenta de código aberto para gerar retratos falados realistas

Introdução geral

O FantasyTalking é um projeto de código aberto desenvolvido pela equipe do Fantasy-AMAP, que se concentra na geração orientada por áudio de vídeos de retratos falados realistas. O projeto é baseado no modelo avançado de difusão de vídeo Wan2.1, combinado com o codificador de áudio Wav2Vec e pesos de modelos proprietários, usando técnicas de inteligência artificial para obter sincronização labial e expressões faciais altamente realistas. Ele suporta vários estilos de geração de retratos, incluindo pessoas reais e imagens de desenhos animados, para uma ampla gama de pontos de vista, como panorama, busto ou close-up. Os usuários podem gerar rapidamente vídeos falados de alta qualidade inserindo imagens e áudio por meio de operações simples de linha de comando.

FantasyTalking: uma ferramenta de código aberto para gerar retratos falados realistas-1


 

Lista de funções

  • Gere vídeos de retratos falados realistas com movimentos labiais altamente sincronizados com o áudio.
  • Vários pontos de vista são suportados para geração, incluindo close-up, retratos de meio corpo e de corpo inteiro.
  • Compatível com retratos reais e em estilo de desenho animado para atender a diversas necessidades.
  • Fornece a função de controle de palavras-chave para ajustar a expressão e o movimento corporal do personagem.
  • Suporta saída de alta resolução de até 720P.
  • Módulo integrado de atenção cruzada com foco no rosto para garantir a consistência das características faciais.
  • Inclui módulo de modulação da intensidade do exercício para controlar a expressão e a amplitude de movimento.
  • Modelos e códigos de código aberto para apoiar o desenvolvimento e a otimização da comunidade secundária.

 

Usando a Ajuda

Processo de instalação

Para usar o FantasyTalking, você precisa instalar primeiro as dependências e os modelos necessários. Abaixo estão as etapas detalhadas de instalação:

  1. Clonagem do código do projeto
    Execute o seguinte comando no terminal para clonar o projeto localmente:

    git clone https://github.com/Fantasy-AMAP/fantasy-talking.git
    cd fantasy-talking
  1. Instalação de dependências
    O projeto depende do ambiente Python e do PyTorch (versão >= 2.0.0). Execute o seguinte comando para instalar as bibliotecas necessárias:

    pip install -r requirements.txt
    

    Montagem opcional flash_attn para acelerar a computação da atenção:

    pip install flash_attn
    
  2. Modelos para download
    O FantasyTalking requer três modelos: Wan2.1-I2V-14B-720P (modelo básico), Wav2Vec (codificador de áudio) e pesos do modelo FantasyTalking. Eles podem ser baixados por meio do Hugging Face ou do ModelScope:

    • Use a CLI do Hugging Face:
      pip install "huggingface_hub[cli]"
      huggingface-cli download Wan-AI/Wan2.1-I2V-14B-720P --local-dir ./models/Wan2.1-I2V-14B-720P
      huggingface-cli download facebook/wav2vec2-base-960h --local-dir ./models/wav2vec2-base-960h
      huggingface-cli download acvlab/FantasyTalking fantasytalking_model.ckpt --local-dir ./models
      
    • Ou use a CLI do ModelScope:
      pip install modelscope
      modelscope download Wan-AI/Wan2.1-I2V-14B-720P --local_dir ./models/Wan2.1-I2V-14B-720P
      modelscope download AI-ModelScope/wav2vec2-base-960h --local_dir ./models/wav2vec2-base-960h
      modelscope download amap_cvlab/FantasyTalking fantasytalking_model.ckpt --local_dir ./models
      
  3. Ambiente de verificação
    Certifique-se de que a GPU esteja disponível (recomenda-se RTX 3090 ou superior, VRAM de pelo menos 24 GB). Se você tiver problemas de memória, tente diminuir a resolução ou ativar a otimização de VRAM.

Uso

Após a conclusão da instalação, os usuários podem executar o script de raciocínio para gerar vídeos a partir da linha de comando. Os comandos básicos são os seguintes:

python infer.py --image_path ./assets/images/woman.png --audio_path ./assets/audios/woman.wav
  • --image_pathDigite o caminho para a imagem do retrato (compatível com o formato PNG/JPG).
  • --audio_pathCaminho do arquivo de áudio de entrada (compatível com o formato WAV).
  • --promptPalavras de alerta opcionais para controlar o comportamento da função, por exemplo:
    --prompt "The person is speaking enthusiastically, with their hands continuously waving."
    
  • --audio_cfg_scale responder cantando --prompt_cfg_scaleCFG de áudio: controla o grau de influência do áudio e das palavras-chave, com um intervalo recomendado de 3 a 7. Aumentar o CFG de áudio melhora a sincronização labial.

Operação da função em destaque

  1. Sincronização labial
    A função principal do FantasyTalking é gerar movimentos labiais precisos com base no áudio. O usuário precisa preparar um arquivo de áudio nítido (por exemplo, formato WAV, taxa de amostragem de 16kHz é o ideal). Quando o script de inferência é executado, o modelo analisa automaticamente o áudio e gera movimentos labiais correspondentes. Para obter melhores resultados, certifique-se de que o áudio esteja livre de ruídos significativos.
  2. Controle de palavras-chave
    aprovar (um projeto de lei ou inspeção etc.) --prompt o usuário pode definir as expressões e ações do personagem. Por exemplo, digite --prompt "The person is speaking calmly with slight head movements." Podem ser gerados vídeos de conversas calmas. As palavras-chave precisam ser concisas e claras, evitando descrições vagas.
  3. Suporte a vários estilos
    O projeto oferece suporte à geração de retratos nos estilos real e de desenho animado. Os usuários podem fornecer imagens de entrada de diferentes estilos, e o modelo ajustará o estilo de saída de acordo com os recursos da imagem. O estilo de desenho animado é adequado para cenas de animação, e o estilo real é adequado para aplicativos como âncoras virtuais.
  4. Modulação da intensidade do exercício
    O módulo Motion Intensity Modulation do FantasyTalking permite que o usuário controle a amplitude das expressões e dos movimentos. Por exemplo, definir um valor mais alto de --audio_weight O parâmetro aprimora os movimentos dos membros e é adequado para cenas dinâmicas. As configurações padrão são otimizadas e é recomendável manter os valores padrão para o primeiro uso.

advertência

  • Requisitos de hardwareA RTX 5090 com 32 GB de VRAM ainda pode apresentar problemas de pouca memória e é recomendável reduzir a quantidade de memória necessária para gerar vídeos de alta resolução. --image_size talvez --max_num_frames.
  • Download do modeloOs arquivos do modelo são grandes (cerca de dezenas de gigabytes), portanto, certifique-se de ter uma rede estável e espaço suficiente em disco.
  • Otimização de palavras-chaveA palavra-chave tem um grande impacto no resultado, e vários experimentos são recomendados para encontrar a melhor descrição.

 

cenário do aplicativo

  1. Criação de conteúdo de âncora virtual
    Os usuários podem usar o FantasyTalking para gerar vídeos de fala realistas para âncoras virtuais. Insira a imagem do âncora e o áudio da narração para gerar vídeos com sincronização labial para transmissão ao vivo, vídeos curtos ou produção de conteúdo educacional.
  2. Dublagem de personagens de animação
    Os animadores podem gerar vídeos de narração para personagens de desenhos animados. Ao fornecer a imagem e o áudio do desenho animado, o modelo pode gerar movimentos labiais e expressões correspondentes, simplificando o processo de produção da animação.
  3. Produção de vídeos educacionais
    Professores ou organizações de treinamento podem gerar vídeos de instrutores virtuais. Insira um retrato do instrutor e o áudio do curso para gerar rapidamente vídeos instrucionais que aumentam o apelo do conteúdo.
  4. Criação de entretenimento e fascinação
    Os usuários podem gerar retratos falantes hilários para fanfics ou vídeos de entretenimento. Ajustando as palavras-chave, crie vídeos com expressões ou ações exageradas adequadas para compartilhamento em mídias sociais.

 

QA

  1. Quais formatos de entrada são compatíveis com o FantasyTalking?
    As imagens são compatíveis com os formatos PNG e JPG e o áudio é compatível com o formato WAV com uma taxa de amostragem recomendada de 16 kHz para otimizar a sincronização labial.
  2. Como resolver o problema de memória de vídeo insuficiente?
    Se a GPU não tiver memória suficiente (por exemplo, 32 GB de VRAM na RTX 5090), diminua o valor de --image_size(por exemplo, 512x512) ou reduzido --max_num_frames(por exemplo, 30 fps). Também é possível ativar a opção de otimização de VRAM ou usar uma GPU mais configurável.
  3. Como a qualidade do vídeo gerado pode ser aprimorada?
    Use uma imagem de entrada de alta resolução (pelo menos 512x512) para garantir que o áudio seja nítido e sem ruídos. Ajuste --audio_cfg_scale(por exemplo, 5-7) aprimora a sincronização labial, e a otimização das palavras-chave melhora a naturalidade das expressões.
  4. Ele oferece suporte à geração em tempo real?
    A versão atual suporta apenas inferência off-line, a geração em tempo real requer otimização adicional do modelo e suporte de hardware.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " FantasyTalking: uma ferramenta de código aberto para gerar retratos falados realistas
pt_BRPortuguês do Brasil