Repolode
fudan-generative-vision

fudan-generative-vision/hallo

Código aberto de pesquisa que anima uma foto de retrato para falar em sincronia com um áudio, gerando um vídeo MP4.

Estrelas
8,674
Forks
1,118
Issues abertas
114
Último commit
há 2 anos

O que é?

Hallo gera vídeos de pessoas falando a partir de uma única imagem de retrato e de um arquivo de áudio WAV. O modelo usa o áudio para orientar as expressões faciais, a pose da cabeça e o movimento dos lábios, fazendo uma foto estática parecer falar a gravação. A inferência é executada pela linha de comando com scripts/inference.py, e o resultado é salvo em um arquivo MP4.

O projeto é baseado em modelos de difusão: usa Stable Diffusion v1.5 com um módulo de movimento AnimateDiff, além de InsightFace e MediaPipe para análise facial e Wav2Vec para extrair características do áudio. Pesos ajustáveis para pose, rosto e movimento dos lábios, junto com uma proporção de expansão facial, permitem ajustar o resultado. O projeto também inclui scripts de treinamento em duas etapas e ferramentas de pré-processamento de dados.

A configuração documentada tem como alvo o Ubuntu com CUDA 12.1 e uma GPU A100. As imagens de entrada devem ser quadradas, com o rosto ocupando de 50% a 70% do quadro e voltado para a frente. O áudio usado como referência deve conter fala clara em inglês e estar no formato WAV, já que os dados de treinamento são somente em inglês.

Recursos principais

  • 01Gera um vídeo de retrato falando a partir de uma imagem e de um arquivo de áudio WAV.
  • 02Controla a intensidade dos movimentos de pose, rosto e lábios com pesos pela linha de comando.
  • 03Inclui scripts de treinamento em duas etapas e um pipeline de pré-processamento de dados.
  • 04É baseado no Stable Diffusion v1.5 com um módulo de movimento AnimateDiff.
  • 05Modelos pré-treinados estão disponíveis no Hugging Face.

Casos de uso

  • Pesquisadores que estudam animação facial orientada por áudio e geração de vídeos de pessoas falando.
  • Criadores que querem fazer uma foto de retrato falar com uma narração gravada em inglês.
  • Desenvolvedores que treinam modelos personalizados de animação de retratos com seus próprios dados de vídeo.

Início rápido

  1. 1

    Crie e ative um ambiente conda

    conda create -n hallo python=3.10 && conda activate hallo
  2. 2

    Instale os pacotes Python com pip

    pip install -r requirements.txt && pip install .
  3. 3

    Instale o ffmpeg (obrigatório; exemplo para Ubuntu)

    apt-get install ffmpeg
  4. 4

    Baixe os modelos pré-treinados para o diretório pretrained_models e, em seguida, execute a inferência com a imagem e o áudio de exemplo

    python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav

Antes de usar

  • É necessária uma GPU CUDA; o README relata testes apenas no Ubuntu 20.04/22.04 com CUDA 12.1 e uma A100.
  • É necessário baixar vários gigabytes de modelos pré-treinados antes de executar a inferência.
  • O áudio de entrada deve ser um arquivo WAV em inglês, pois os dados de treinamento estão disponíveis apenas em inglês.
  • As imagens de entrada devem ser retratos quadrados, de frente, com o rosto ocupando de 50% a 70% do quadro.

Em coleções

Tópicos

#face-animation#talking-head#diffusion-model#audio-driven#video-generation#stable-diffusion#image-animation#video-animation

Perguntas frequentes

O que é hallo?
Código aberto de pesquisa que anima uma foto de retrato para falar em sincronia com um áudio, gerando um vídeo MP4. Hallo gera vídeos de pessoas falando a partir de uma única imagem de retrato e de um arquivo de áudio WAV. O modelo usa o áudio para orientar as expressões faciais, a pose da cabeça e o movimento dos lábios, fazendo uma foto estática parecer falar a gravação. A inferência é executada pela linha de comando com scripts/inference.py, e o resultado é salvo em um arquivo MP4.
hallo é gratuito? Qual é a licença?
hallo é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
hallo ainda é mantido?
Sem commits há mais de 6 meses. O último commit de hallo foi em 14 de set. de 2024.
Para que posso usar hallo?
Pesquisadores que estudam animação facial orientada por áudio e geração de vídeos de pessoas falando. Criadores que querem fazer uma foto de retrato falar com uma narração gravada em inglês. Desenvolvedores que treinam modelos personalizados de animação de retratos com seus próprios dados de vídeo.
Como instalar hallo?
Crie e ative um ambiente conda: conda create -n hallo python=3.10 && conda activate hallo Instale os pacotes Python com pip: pip install -r requirements.txt && pip install . Instale o ffmpeg (obrigatório; exemplo para Ubuntu): apt-get install ffmpeg Baixe os modelos pré-treinados para o diretório pretrained_models e, em seguida, execute a inferência com a imagem e o áudio de exemplo: python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
Onde consigo hallo?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fudan-generative-vision/hallo

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados