Repolode
fudan-generative-vision

fudan-generative-vision/hallo

Исследовательский open-source проект, который анимирует портретное фото под аудиозапись и создаёт синхронизированное с речью видео в формате MP4.

Звёзды
8,674
Форки
1,118
Открытые issues
114
Последний коммит
2 года назад

Что это?

Hallo создаёт видео с говорящей головой по одному портретному изображению и аудиофайлу WAV. Модель использует аудио, чтобы управлять мимикой, положением головы и движением губ, благодаря чему статичное фото выглядит так, будто произносит запись. Инференс запускается из командной строки с помощью scripts/inference.py, а результат сохраняется в формате MP4.

Проект основан на диффузионных моделях: он использует Stable Diffusion v1.5 с модулем движения AnimateDiff, а также InsightFace и MediaPipe для анализа лица и Wav2Vec для извлечения аудиопризнаков. Настраиваемые веса для движения головы, лица и губ, а также коэффициент расширения области лица позволяют регулировать результат. В проект также входят скрипты для двух этапов обучения и инструменты предобработки данных.

Документированная конфигурация рассчитана на Ubuntu с CUDA 12.1 и GPU A100. Входные изображения должны быть квадратными; лицо должно занимать 50%-70% кадра и быть обращено вперёд. Для управляющего аудио требуется чистая речь на английском языке в формате WAV, поскольку обучающие данные содержат только английскую речь.

Ключевые возможности

  • 01Создаёт видео с говорящим портретом по одному изображению и одному аудиофайлу WAV.
  • 02Позволяет задавать силу движений головы, лица и губ с помощью весов в командной строке.
  • 03Включает скрипты для двух этапов обучения и конвейер предобработки данных.
  • 04Основан на Stable Diffusion v1.5 с модулем движения AnimateDiff.
  • 05Предобученные модели доступны на Hugging Face.

Сценарии использования

  • Для исследователей, изучающих анимацию лица по аудио и генерацию видео с говорящей головой.
  • Для авторов, которые хотят заставить портретное фото говорить голосом из записанной английской озвучки.
  • Для разработчиков, обучающих собственные модели анимации портретов на своих видеоданных.

Быстрый старт

  1. 1

    Создайте и активируйте окружение conda

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

    Установите пакеты Python с помощью pip

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

    Установите ffmpeg (обязательно; пример для Ubuntu)

    apt-get install ffmpeg
  4. 4

    Загрузите предварительно обученные модели в каталог pretrained_models, а затем запустите инференс на примерах изображения и аудио

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

Что важно знать

  • Требуется GPU с поддержкой CUDA; в README описаны тесты только на Ubuntu 20.04/22.04 с CUDA 12.1 и A100.
  • Для запуска инференса необходимо скачать несколько гигабайт предварительно обученных моделей.
  • Входное аудио должно быть в формате WAV на английском языке, поскольку обучающие данные представлены только на английском.
  • Исходные изображения должны быть квадратными фронтальными портретами, где лицо занимает 50–70% кадра.

В подборках

Темы

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

Частые вопросы

Что такое hallo?
Исследовательский open-source проект, который анимирует портретное фото под аудиозапись и создаёт синхронизированное с речью видео в формате MP4. Hallo создаёт видео с говорящей головой по одному портретному изображению и аудиофайлу WAV. Модель использует аудио, чтобы управлять мимикой, положением головы и движением губ, благодаря чему статичное фото выглядит так, будто произносит запись. Инференс запускается из командной строки с помощью scripts/inference.py, а результат сохраняется в формате MP4.
hallo можно использовать бесплатно? Какая у него лицензия?
hallo распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
hallo всё ещё поддерживается?
Нет коммитов больше 6 месяцев. Последний коммит в hallo — 14 сент. 2024 г..
Для чего можно использовать hallo?
Для исследователей, изучающих анимацию лица по аудио и генерацию видео с говорящей головой. Для авторов, которые хотят заставить портретное фото говорить голосом из записанной английской озвучки. Для разработчиков, обучающих собственные модели анимации портретов на своих видеоданных.
Как установить hallo?
Создайте и активируйте окружение conda: conda create -n hallo python=3.10 && conda activate hallo Установите пакеты Python с помощью pip: pip install -r requirements.txt && pip install . Установите ffmpeg (обязательно; пример для Ubuntu): apt-get install ffmpeg Загрузите предварительно обученные модели в каталог pretrained_models, а затем запустите инференс на примерах изображения и аудио: python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
Где скачать hallo?
Исходный код и инструкции по установке — на GitHub: https://github.com/fudan-generative-vision/hallo

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Исследовательский фреймворк с открытым исходным кодом для потоковой генерации видео с говорящим аватаром по аудио на базе диффузионной модели 14B.

2,5 тыс.+6 за неделю288PythonApache-2.0Обновлён 3 месяца назад

Локальный инструмент, который превращает запись говорящего человека и текст сценария в вертикальный MP4 с озвучкой от AI и автоматической синхронизацией губ.

508+10 за неделю74TypeScriptMITОбновлён 2 месяца назад

Открытая модель для создания интерактивных игровых видео: она превращает референсное изображение и ввод с клавиатуры или мыши в управляемый геймплейный ролик.

766+2 за неделю78PythonOtherОбновлён 11 месяцев назад