Project Icon

AniPortrait

基于音频的高质量肖像动画生成框架

AniPortrait是一个基于音频和参考肖像图像生成高质量动画的开源框架。该项目支持自驱动、面部重演和音频驱动三种模式,可生成逼真的肖像动画。项目开源了预训练模型,并提供了详细的安装指南、推理命令和训练流程。AniPortrait为数字内容创作者提供了一种制作生动肖像动画的新方法,拓展了视觉内容创作的可能性。

AniPortrait

AniPortrait:音频驱动的真实感人像动画合成

作者:魏华伟、杨泽骏、王志胜

机构:腾讯游戏智绘、腾讯

智绘标志

我们在此提出AniPortrait,这是一个新颖的框架,用于生成由音频和参考人像图像驱动的高质量动画。您还可以提供视频来实现面部重演。

流程

流程

更新 / 待办事项

  • ✅ [2024/03/27] 我们的论文现已在arXiv上发布。

  • ✅ [2024/03/27] 更新代码以生成pose_temp.npy用于头部姿势控制。

  • ✅ [2024/04/02] 更新了vid2vid的新姿势重定向策略。现在我们支持参考图像和源视频之间的实质性姿势差异。

  • ✅ [2024/04/03] 我们在HuggingFace Spaces上发布了Gradio 演示(感谢HF团队提供免费GPU支持)!

  • ✅ [2024/04/07] 更新了帧插值模块以加速推理过程。现在您可以在推理命令中添加-acc以获得更快的视频生成。

  • ✅ [2024/04/21] 我们已发布audio2pose模型和音频到视频的预训练权重。请更新代码并下载权重文件以体验。

各种生成的视频

自驱动

面部重演

视频来源:鹿火CAVY from bilibili

音频驱动

安装

构建环境

我们推荐Python版本 >=3.10 和CUDA版本 =11.7。然后按如下方式构建环境:

pip install -r requirements.txt

下载权重

所有权重应放置在 ./pretrained_weights 目录下。您可以按以下方式手动下载权重:

  1. 下载我们训练的权重,其中包括以下部分:denoising_unet.pthreference_unet.pthpose_guider.pthmotion_module.pthaudio2mesh.ptaudio2pose.ptfilm_net_fp16.pt。您也可以从 wisemodel 下载。

  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
|-- audio2pose.pt
|-- denoising_unet.pth
|-- film_net_fp16.pt
|-- motion_module.pth
|-- pose_guider.pth
`-- reference_unet.pth

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

Gradio Web界面

您可以通过以下命令尝试我们的网页演示。我们还在Hugging Face Spaces提供在线演示

python -m scripts.app

推理

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

加速方法:如果生成视频需要很长时间,您可以下载 film_net_fp16.pt 并将其放在 ./pretrained_weights 目录下。然后在命令中添加 -acc

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

自驱动

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 中添加音频和参考图像。

删除 ./configs/prompts/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

训练

数据准备

下载 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}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号