Создаёт видео с говорящей головой по одному портретному изображению и аудиофайлу, используя коэффициенты 3D-движения (CVPR 2023).
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
Создайте и активируйте окружение conda
conda create -n hallo python=3.10 && conda activate hallo - 2
Установите пакеты Python с помощью pip
pip install -r requirements.txt && pip install . - 3
Установите ffmpeg (обязательно; пример для Ubuntu)
apt-get install ffmpeg - 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% кадра.
В подборках
Темы
Частые вопросы
- Что такое 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.
Локальный инструмент, который превращает запись говорящего человека и текст сценария в вертикальный MP4 с озвучкой от AI и автоматической синхронизацией губ.
Открытые крупномасштабные модели генерации видео: из текста, изображений и речи, а также для анимации персонажей.
Mochi 1 — text-to-video diffusion-модель с открытыми весами на 10 млрд параметров от Genmo, выпущенная под лицензией Apache 2.0.
Открытая модель для создания интерактивных игровых видео: она превращает референсное изображение и ввод с клавиатуры или мыши в управляемый геймплейный ролик.