Gera um vídeo de uma pessoa falando a partir de uma única foto de retrato e um clipe de áudio, usando coeficientes de movimento 3D (CVPR 2023).
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
Crie e ative um ambiente conda
conda create -n hallo python=3.10 && conda activate hallo - 2
Instale os pacotes Python com pip
pip install -r requirements.txt && pip install . - 3
Instale o ffmpeg (obrigatório; exemplo para Ubuntu)
apt-get install ffmpeg - 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
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
Framework de pesquisa open source para gerar vídeos de avatares em tempo real a partir de áudio, com transmissão contínua e duração ilimitada, usando um modelo de difusão de 14B.
Ferramenta local que transforma um vídeo gravado de uma pessoa falando e um roteiro em um MP4 vertical com narração por IA e sincronização labial automática.
Modelos generativos de vídeo open source em larga escala para texto para vídeo, imagem para vídeo, fala para vídeo e animação de personagens.
Mochi 1 é um modelo de difusão de texto para vídeo com pesos abertos e 10B de parâmetros, desenvolvido pela Genmo e lançado sob a licença Apache 2.0.
Modelo open source de geração interativa de vídeos de jogos que transforma uma imagem de referência e comandos de teclado ou mouse em vídeos de gameplay controláveis.