AniPortrait: аудиоуправляемое движение изображения или видео для создания реалистичного цифрового видео человеческой речи
Общее введение
AniPortrait - это инновационный фреймворк для создания реалистичных портретных анимаций на основе аудио. Разработанный Huawei, Zechun Yang и Zhisheng Wang из Tencent Game Know Yourself Lab, AniPortrait способен генерировать высококачественные анимации на основе аудио и эталонных портретных изображений, и даже может бытьПредоставьте видео для воссоздания лица. Используя передовые методы промежуточного 3D-представления и 2D-анимации лица, фреймворк способен генерировать естественные и плавные анимационные эффекты для различных сценариев применения, таких как кино и телепроизводство, виртуальные телеведущие и цифровые люди.

Адрес для демонстрации: https://huggingface.co/spaces/ZJYang/AniPortrait_official

Список функций
- Анимация на основе звука: генерируйте соответствующую портретную анимацию на основе входного аудиосигнала.
- Анимация на основе видео: обеспечивает видео для воспроизведения лиц, создавая реалистичную лицевую анимацию.
- Создание высококачественной анимации: используйте промежуточное 3D-представление и 2D-технологии лицевой анимации для создания высококачественных анимационных эффектов.
- Демонстрация в веб-интерфейсе: Предоставьте онлайн-демонстрацию через веб-интерфейс Gradio для удобства пользователей.
- Обучение и вывод моделей: поддержка обучения и вывода моделей, пользователи могут настраивать данные для обучения и генерации.
Использование помощи
монтаж
создание среды
Рекомендуемая версия Python >= 3.10 и версия CUDA = 11.7. Для создания среды выполните следующие действия:
pip install -r requirements.txt
взвешивание при загрузке
Все файлы веса должны быть помещены в папку./pretrained_weights
каталог. Вручную загрузите файл весов следующим образом:
- Загрузите обученные веса, включая следующие части:
denoising_unet.pth
, иreference_unet.pth
, иpose_guider.pth
, иmotion_module.pth
и т.д. - Загрузите предварительно обученные веса для базовой модели и других компонентов:
- StableDiffusion V1.5
- sd-vae-ft-mse
- кодировщик изображений
- wav2vec2-base-960h
Структура файлов весов организована следующим образом:
./pretrained_weights/
|-- image_encoder
| |-- config.json
| `-- pytorch_model.bin
|-- sd-vae-ft-mse
| |-- config.json
| |-- diffusion_pytorch_model.bin
| `-- diffusion_pytorch_model.safetensors
|-- stable-diffusion-v1-5
| |-- feature_extractor
| | `-- preprocessor_config.json
| |-- model_index.json
| |-- unet
| | |-- config.json
| | `-- diffusion_pytorch_model.bin
| `-- v1-inference.yaml
|-- wav2vec2-base-960h
| |-- config.json
| |-- feature_extractor_config.json
| |-- preprocessor_config.json
| |-- pytorch_model.bin
| |-- README.md
| |-- special_tokens_map.json
| |-- tokenizer_config.json
| `-- vocab.json
|-- audio2mesh.pt
|-- audio2pose.pt
|-- denoising_unet.pth
|-- film_net_fp16.pt
|-- motion_module.pth
|-- pose_guider.pth
`-- reference_unet.pth
Веб-интерфейс Gradio
Попробуйте нашу веб-демонстрацию с помощью следующей команды. Мы также предоставляемОнлайн-демонстрация.
python -m scripts.app
вывод
Обратите внимание, что можно задать команду-L
для желаемого количества сгенерированных кадров, например-L 300
.
Методы ускорения: Если создание видео занимает слишком много времени, вы можете загрузитьfilm_net_fp16.ptи помещен на./pretrained_weights
Каталог.
Ниже приведены команды CLI для запуска сценария рассуждений:
самостоятельная работа
python -m scripts.pose2vid --config ./configs/prompts/animation.yaml -W 512 -H 512 -acc
реферативныйanimation.yaml
формат, чтобы добавить собственное опорное изображение или видео с позой. Чтобы преобразовать исходное видео в видео позы (последовательность ключевых точек), можно выполнить следующую команду:
python -m scripts.vid2pose --video_path pose_video_path.mp4
восстановление лица
python -m scripts.vid2vid --config ./configs/prompts/animation_facereenac.yaml -W 512 -H 512 -acc
существоватьanimation_facereenac.yaml
Добавьте исходное видео лица и эталонное изображение к
Аудиодрайвер
python -m scripts.audio2vid --config ./configs/prompts/animation_audio.yaml -W 512 -H 512 -acc
существоватьanimation_audio.yaml
Добавьте аудиозаписи и опорные изображения к Удалитьanimation_audio.yaml
попал в точкуpose_temp
Вы можете включить модель audio2pose. Вы также можете использовать эту команду для генерации управления позой головы дляpose_temp.npy
::
python -m scripts.generate_ref_pose --ref_video ./configs/inference/head_pose_temp/pose_ref_video.mp4 --save_path ./configs/inference/head_pose_temp/pose.npy
поезд
Подготовка данных
загрузкаVFHQответить пениемCelebV-HQ. Извлеките ключевые точки из исходного видео и запишите обучающий json-файл (здесь приведен пример обработки VFHQ):
python -m scripts.preprocess_dataset --input_dir VFHQ_PATH --output_dir SAVE_PATH --training_json JSON_PATH
Обновление строк в профиле обучения:
data:
json_path: JSON_PATH
Этап 1
Выполнить команду:
accelerate launch train_stage_1.py --config ./configs/train/stage1.yaml
Этап 2
Взвешивание предварительно обученных модулей движенияmm_sd_v15_v2.ckpt
(ссылка для скачивания), размещенный на./pretrained_weights
каталог. Вstage2.yaml
В файле конфигурации задаются обучающие веса для этапа 1, например:
stage1_ckpt_dir: './exp_output/stage1'
stage1_ckpt_step: 30000
Выполнить команду:
accelerate launch train_stage_2.py --config ./configs/train/stage2.yaml
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...