【AI AniPortrait】腾讯游戏知几团队推出的音频驱动的逼真肖像动画合成框架,对标阿里EMO

之前阿里推出了EMO,效果很棒,但是并未给出源码。

最近,腾讯游戏知几团队放出了类似产品 AniPortrait,并开源。我们一起来看下。

【视频请文末微信号中同名文章查看】


AniPortrait

AniPortrait:音频驱动的逼真肖像动画合成

作者:Huawei Wei, Zejun Yang, Zhisheng Wang

组织:Tencent Games Zhiji, Tencent
在这里插入图片描述
在这里,我们提出了AniPortrait,一个新颖的框架,用于生成由音频和参考肖像图像驱动的高质量动画。您还可以提供视频来实现面部重现。

流程

在这里插入图片描述

待办事项

  • 现在我们的论文已经在arXiv上发布了。
  • 更新代码以生成pose_temp.npy,用于头部姿态控制。
  • 我们将在进一步优化后发布audio2pose预训练权重,用于音频到视频的转换。您可以在 ./configs/inference/head_pose_temp 中选择头部姿态模板进行替换。

各种生成的视频

自主驱动

链接点这里

面部重现

链接点这里

视频来源:鹿火CAVY来自bilibili

音频驱动

链接点这里

安装

构建环境

我们建议使用 Python 版本 >=3.10 和 CUDA 版本 =11.7。然后按照以下方式构建环境:

pip install -r requirements.txt

下载权重

所有权重应放置在 ./pretrained_weights 目录下。您可以手动下载权重,如下所示:

  1. 下载我们训练的 权重,其中包括四个部分:denoising_unet.pthreference_unet.pthpose_guider.pthmotion_module.pthaudio2mesh.pt

  2. 下载基于模型和其他组件的预训练权重:

最后,这些权重应按以下方式组织:

./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
|-- denoising_unet.pth
|-- motion_module.pth
|-- pose_guider.pth
`-- reference_unet.pth

注意:如果您已经安装了一些预训练模型,例如 StableDiffusion V1.5,您可以在配置文件中指定它们的路径(例如 ./config/prompts/animation.yaml)。

推理

以下是运行推理脚本的CLI命令:

请注意,您可以在命令中设置 -L 为所需的生成帧数,例如,-L 300。

自主驱动

python -m scripts.pose2vid --config ./configs/prompts/animation.yaml -W 512 -H 512

您可以参考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

在animation_facereenac.yaml中添加源脸部视频和参考图像。

音频驱动

python -m scripts.audio2vid --config ./configs/prompts/animation_audio.yaml -W 512 -H 512

在animation_audio.yaml中添加音频和参考图像。

您可以使用以下命令为头部姿态控制生成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

训练

数据准备

下载 VFHQCelebV-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

第一阶段

运行命令:

accelerate launch train_stage_1.py --config ./configs/train/stage1.yaml

第二阶段

将预训练的运动模块权重 mm_sd_v15_v2.ckpt下载链接)放置在 ./pretrained_weights 下。

在配置文件 stage2.yaml 中指定第一阶段训练权重,例如:

stage1_ckpt_dir: './exp_output/stage1'
stage1_ckpt_step: 30000 

运行命令:

accelerate launch train_stage_2.py --config ./configs/train/stage2.yaml

致谢

我们首先感谢EMO的作者,我们演示中的部分图像和音频来自EMO。此外,我们还要感谢 Moore-AnimateAnyonemajic-animateanimatediffOpen-AnimateAnyone 仓库的贡献者,感谢他们的开放研究和探索。

引用

@misc{wei2024aniportrait,
      title={AniPortrait: Audio-Driven Synthesis of Photorealistic Portrait Animations}, 
      author={Huawei Wei and Zejun Yang and Zhisheng Wang},
      year={2024},
      eprint={2403.17694},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值