StableAnimator:复旦联合微软等机构推出的端到端身份一致性视频扩散框架

256 阅读4分钟

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 身份保持的视频合成:StableAnimator能够根据提供的参考图像和姿态序列,合成保持人物身份一致性的视频内容。
  2. 无需后处理:与传统的动画模型不同,StableAnimator无需依赖任何后处理工具,即可生成高质量动画。
  3. 高保真度:框架直接生成的视频具有高保真度,细节丰富,接近真实世界的人物动态和外观。

正文(附运行示例)

StableAnimator 是什么

公众号: 蚝油菜花 - StableAnimator

StableAnimator是由复旦大学、微软亚洲研究院、虎牙公司和卡内基梅隆大学共同推出的端到端高质量身份保持视频扩散框架。该框架能够根据一张参考图像和一系列姿态,直接合成高保真度且保持人物身份一致性的视频,无需任何后处理工具。StableAnimator框架基于计算图像和面部嵌入、用全局内容感知面部编码器优化面部信息、引入分布感知ID适配器减少时间层干扰,在推理阶段采用基于Hamilton-Jacobi-Bellman方程的优化方法提升面部质量。

StableAnimator 的主要功能

  • 身份保持的视频合成:StableAnimator能根据提供的参考图像和姿态序列,合成保持人物身份一致性的视频内容。
  • 无需后处理:与传统的动画模型不同,StableAnimator无需依赖任何后处理工具,即可生成高质量动画。
  • 高保真度:框架直接生成的视频具有高保真度,细节丰富,接近真实世界的人物动态和外观。
  • 端到端框架:作为一个端到端的视频扩散框架,StableAnimator集成训练和推理模块,确保在整个动画生成过程中保持身份一致性。

StableAnimator 的技术原理

  • 图像和面部嵌入:StableAnimator使用现成的提取器分别计算图像和面部嵌入,为后续的身份保持提供基础特征。
  • 全局内容感知面部编码器:基于与图像嵌入的交互,面部编码器能进一步优化面部特征,增强模型对参考图像全局布局的感知能力。
  • 分布感知ID适配器:这一新颖组件能防止由于时间层引起的干扰,同时基于对齐操作保留身份信息,确保视频帧间的身份一致性。
  • Hamilton-Jacobi-Bellman (HJB) 方程优化:在推理阶段,基于HJB方程进行面部优化,进一步增强面部质量。基于与扩散去噪过程相结合,用优化路径引导模型朝着最佳的身份一致性方向发展。
  • 集成到扩散去噪过程:HJB方程的解决方案被集成到扩散去噪过程中,让去噪路径受到约束,有利于身份信息的保持。
  • 多路径处理:参考图像基于三个路径处理:VAE编码、CLIP图像编码和Arcface面部编码,将信息用在调制合成外观和确保身份一致性。

如何运行 StableAnimator

环境设置

推荐使用Python 3+和PyTorch 2.x,验证环境为Nvidia V100 GPU。建议使用Docker镜像进行环境配置。

pip install -r requirements.txt
conda install xformers -c xformers -y
pip install onnxruntime-gpu==1.17.0 --index-url=https://pkgs.dev.azure.com/onnxruntime/onnxruntime/_packaging/onnxruntime-cuda-12/pypi/simple

下载权重

如果遇到Hugging Face连接问题,可以使用镜像端点:

export HF_ENDPOINT=https://hf-mirror.com

下载权重:

cd StableAnimator/
mkdir checkpoints

权重组织结构:

checkpoints/
├── DWPose
│   ├── dw-ll_ucoco_384.onnx
│   └── yolox_l.onnx
├──Animation
│   ├── pose_net.pth
│   ├── face_encoder.pth
│   └── unet.pth
├──SVD
│   └── stable-video-diffusion-img2vid-xt
│       ├── feature_extractor
│       ├── image_encoder
│       ├── scheduler
│       ├── unet
│       ├── vae
│       ├── model_index.json
│       ├── svd_xt.safetensors
│       └── svd_xt_image_decoder.safetensors 

模型推理

示例配置文件command_basic_infer.sh

bash command_basic_infer.sh

生成高质量MP4文件:

cd animated_images
ffmpeg -framerate 20 -i frame_%d.png -c:v libx264 -crf 10 -pix_fmt yuv420p /path/animation.mp4

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦