❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 技术背景:DisPose通过骨骼姿态和参考图像提取控制信号,提升人物图像动画质量。
- 主要功能:包括运动场引导、关键点对应和即插即用模块,改善视频生成质量和一致性。
- 技术原理:基于稀疏和密集运动场估计、关键点特征提取和混合ControlNet,实现高效的动画控制。
正文(附运行示例)
DisPose 是什么
DisPose是由北京大学、中国科学技术大学、清华大学和香港科技大学联合推出的技术,旨在提高人物图像动画的质量。该技术通过从骨骼姿态和参考图像中提取有效的控制信号,生成密集运动场,并保持对不同体型的泛化能力。DisPose的核心在于将姿态控制分解为运动场引导和关键点对应,从而在无需额外密集输入的情况下,显著提升动画的生成质量和一致性。
DisPose还包含一个即插即用的混合ControlNet模块,能够无缝集成到现有的人物图像动画模型中,改善生成视频的质量和一致性。
DisPose 的主要功能
- 运动场引导:从骨骼姿态生成密集运动场,提供区域级的密集引导,增强视频生成中的动作一致性。
- 关键点对应:提取与参考图像中姿态关键点对应的扩散特征,将扩散特征转移到目标姿态,保持身份信息的一致性。
- 即插即用模块:作为插件模块,支持无缝集成到现有的人物图像动画模型中,无需修改现有模型参数。
- 质量与一致性提升:混合ControlNet改善生成视频的质量和外观一致性。
- 无需额外密集输入:在不依赖于额外密集输入(如深度图)的情况下工作,减少对参考角色和驱动视频之间身体形状差异的敏感性。
DisPose 的技术原理
- 运动场估计:
- 稀疏运动场:基于DWpose估计骨骼姿态,表示为轨迹图。
- 密集运动场:条件运动传播(CMP)基于稀疏运动场和参考图像预测密集运动场,提供更细致的运动信号。
- 关键点特征提取:使用预训练的图像扩散模型提取参考图像的DIFT特征,并将这些特征与关键点对应起来,形成关键点特征图。
- 混合ControlNet:设计了混合ControlNet,在训练期间更新,便于将运动场引导和关键点对应无缝集成到现有动画模型中。
- 特征融合:基于特征融合层将稀疏和密集运动特征结合起来,生成最终的运动场引导信号。
- 控制信号集成:将运动场引导和关键点对应作为额外的控制信号,注入到潜在的视频扩散模型中,生成准确的人物图像动画。
如何运行 DisPose
环境配置
1. 创建并激活conda环境:
conda create -n dispose python==3.10
conda activate dispose
pip install -r requirements.txt
2. 下载模型权重并放置在指定目录:
./pretrained_weights/
|-- MimicMotion_1-1.pth
|-- DisPose.pth
|-- dwpose
| |-- dw-ll_ucoco_384.onnx
| └── yolox_l.onnx
|-- stable-diffusion-v1-5
|-- stable-video-diffusion-img2vid-xt-1-1
运行推理
使用提供的test.yaml
配置文件进行测试:
bash scripts/test.sh
提示
- 如果GPU内存有限,可以尝试将
decode_chunk_size
设置为1。 - 如果需要进一步提高生成视频的质量,可以尝试使用面部交换(如insightface)和帧插值(如IFRNet)等后处理技术。
资源
- 项目官网:https://lihxxx.github.io/DisPose
- GitHub 仓库:https://github.com/lihxxx/DisPose
- arXiv 技术论文:https://arxiv.org/pdf/2412.09349
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦