AniPortrait: аудиоуправляемое движение изображения или видео для создания реалистичного цифрового видео человеческой речи

Общее введение

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

AniPortrait:音频驱动图片或视频动作生成逼真的数字人讲话视频

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

 

AniPortrait:音频驱动图片或视频动作生成逼真的数字人讲话视频

 

Список функций

  • Анимация на основе звука: генерируйте соответствующую портретную анимацию на основе входного аудиосигнала.
  • Анимация на основе видео: обеспечивает видео для воспроизведения лиц, создавая реалистичную лицевую анимацию.
  • Создание высококачественной анимации: используйте промежуточное 3D-представление и 2D-технологии лицевой анимации для создания высококачественных анимационных эффектов.
  • Демонстрация в веб-интерфейсе: Предоставьте онлайн-демонстрацию через веб-интерфейс Gradio для удобства пользователей.
  • Обучение и вывод моделей: поддержка обучения и вывода моделей, пользователи могут настраивать данные для обучения и генерации.

 

Использование помощи

монтаж

создание среды

Рекомендуемая версия Python >= 3.10 и версия CUDA = 11.7. Для создания среды выполните следующие действия:

pip install -r requirements.txt

взвешивание при загрузке

Все файлы веса должны быть помещены в папку./pretrained_weightsкаталог. Вручную загрузите файл весов следующим образом:

  1. Загрузите обученные веса, включая следующие части:denoising_unet.pth, иreference_unet.pth, иpose_guider.pth, иmotion_module.pthи т.д.
  2. Загрузите предварительно обученные веса для базовой модели и других компонентов:
    • 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
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...