还记得阿里5.2kStar给Sora配音的EMO音视频项目吗?开源了,但是没完全开源,因为只开源了PPT,和readme,再看看咱们腾讯这才叫真开源
AniPortrait是腾讯公司推出的一个开源项目,它是一个基于深度学习的动漫风格肖像生成模型。这个项目的目标是利用人工智能技术,将真实人物的肖像照片转换成具有动漫风格的图像。AniPortrait通过深度神经网络学习大量的动漫图像和真实肖像照片之间的映射关系,从而实现风格转换。
主要特点
- 高质量生成:AniPortrait能够生成高质量的动漫风格图像,保持人物的面部特征同时赋予其动漫化的风格。
- 实时性能:该项目的设计注重实时性,可以快速地将输入的真实肖像转换成动漫风格,适用于实时应用场景。
- 用户友好:AniPortrait提供了简单易用的接口,用户可以通过简单的操作来生成动漫风格的肖像,无需深度学习背景知识。
- 开源贡献:作为一个开源项目,AniPortrait鼓励社区的贡献和改进,有助于推动相关技术的发展和应用。
应用场景
- 社交媒体:用户可以将自己的照片转换成动漫风格,在社交媒体上分享独特的个人形象。
- 游戏和娱乐:游戏开发者和娱乐产业可以利用AniPortrait为角色设计提供原型,或者作为游戏内角色定制的功能。
- 艺术创作:艺术家和设计师可以使用AniPortrait作为创作工具,探索新的艺术风格和表现形式。
GIT地址
https://github.com/Zejun-Yang/AniPortrait
下载砝码
所有砝码都应放在指示下方。您可以按如下方式手动下载砝码:./pretrained_weights
-
下载我们训练有素的权重,其中包括四个部分:、、 和 。
denoising_unet.pthreference_unet.pthpose_guider.pthmotion_module.pthaudio2mesh.pt
-
下载基于模型和其他组件的预训练权重:
最后,这些权重应按如下方式组织:
./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
训练
数据准备
从原始视频中提取关键点并编写训练 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
第二阶段
将预训练的运动模块权重(下载链接)放在 下。mm_sd_v15_v2.ckpt./pretrained_weights
在配置文件中指定 stage1 训练权重,例如:stage2.yaml
stage1_ckpt_dir: './exp_output/stage1'
stage1_ckpt_step: 30000
运行命令:
accelerate launch train_stage_2.py --config ./configs/train/stage2.yaml