MotionCtrl用于视频生成的统一且灵活的运动控制器AI软件整合包

MotionCtrl:用于视频生成的统一且灵活的运动控制器

👉 MotionCtrl 用于[SVD],用于[VideoCrafter]


 运动控制_小.mp4 


🔥🔥 我们发布了稳定视频扩散(SVD)上 MotionCtrl 的代码、模型和演示。

MotionCtrl的正式实现:用于视频生成的统一且灵活的运动控制器。

MotionCtrl可以独立控制复杂的摄像机运动和生成视频的物体运动,只需一个统一的模型。

MotionCtrl+SVD 的结果

更多结果请参见showcase_svd和我们的项目页面。

00_ibzz5-dxv2h.gif

MotionCtrl+VideoCrafter 的结果

更多结果请参见我们的项目页面。

ilw96-ak827.gif

📝 变更日志

  • 20231225:发布部署在LVDM/VideoCrafter上的 MotionCtrl 。
  • 20231225:可用的音频演示。🤗
  • 20231228:提供本地gradio演示,方便使用。
  • 20240115 中提供了更多用于测试的相机姿势dataset/camera_poses
  • 20240115 发布部署在SVD上的 MotionCtrl 。代码位于 brach svd中,Gradio Demo 位于 🤗 。
  • 释放部署在AnimateDiff上的 MotionCtrl 。

⚙️环境

conda create -n motionctrl python=3.10.6
conda activate motionctrl
pip install -r requirements.txt

💫 推理

  • 运行本地推理脚本

  1. 下载 MotionCtrl Motionctrl.pth的权重并将其放入./checkpoints.
  2. 进入configs/inference/run.sh并设置condtype为“camera_motion”、“object_motion”或“both”。
  • condtype=camera_motion表示仅控制生成视频中的摄像机运动。
  • condtype=object_motion表示仅控制生成视频中的对象运动。
  • condtype=both意味着同时控制生成视频中的摄像机运动和物体运动。
  1. 运行脚本:sh configs/inference/run.sh
  • 运行本地 gradio 演示

    python -m app --share
    

📚 引文

如果您使用我们的工作,请引用我们的论文。

@inproceedings{wang2023motionctrl,
  title={MotionCtrl: A Unified and Flexible Motion Controller for Video Generation},
  author={Wang, Zhouxia and Yuan, Ziyang and Wang, Xintao and Chen, Tianshui and Xia, Menghan and Luo, Ping and Shan, Yin},
  booktitle={arXiv preprint arXiv:2312.03641},
  year={2023}
}

🤗致谢

当前版本的MotionCtrl是基于VideoCrafter构建的。我们感谢作者分享他们出色的代码库。

❓ 联系方式

如有任何疑问,请随时发送电子邮件wzhoux@connect.hku.hkzhouzi1212@gmail.com