Giter Club home page Giter Club logo

motionctrl's Introduction

MotionCtrl: A Unified and Flexible Motion Controller for Video Generation

[SIGGRAPH 2024 CONFERENCE PROCEEDINGS]

๐Ÿ‘‰ MotionCtrl for [SVD], for [VideoCrafter], for [AnimateDiff]

Paper โ€‚ arXiv โ€‚ Project Page

๐Ÿค— HF Demo โ€‚ ๐Ÿค— HF Demo


๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ We have released both Training and Inference code of MotionCtrl deployed on AnimateDiff

๐Ÿ”ฅ๐Ÿ”ฅ We release the codes, models and demos for MotionCtrl on Stable Video Diffusion (SVD).


motionctrl_small.mp4

Official implementation of MotionCtrl: A Unified and Flexible Motion Controller for Video Generation.

MotionCtrl can Independently control complex camera motion and object motion of generated videos, with only a unified model.

Results of MotionCtrl+AnimateDiff

Results of MotionCtrl+SVD

More results are in showcase_svd and our Project Page.

Results of MotionCtrl+VideoCrafter

More results are in our Project Page.


๐Ÿ“ Changelog

  • 20231225: Release MotionCtrl deployed on LVDM/VideoCrafter.
  • 20231225: Gradio demo available. ๐Ÿค— HF Demo
  • 20231228: Provide local gradio demo for convenience.
  • 20240115 More camera poses used for testing are provided in dataset/camera_poses
  • 20240115 Release MotionCtrl deployed on SVD. Codes are in the branch svd and Gradio Demo is available in ๐Ÿค— HF Demo.
  • โ—โ—โ— Gradio demo of MotionCtrl deployed on VideoCrafter2 is available in ๐Ÿค— HF Demo. You can also run it locally by python -m app --share.
  • โ—โ—โ— Release MotionCtrl deployed on AnimateDiff are available in branch animatediff, containing both training and inference code.

โš™๏ธ Environment

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

๐Ÿ’ซ Inference

  • Run local inference script

  1. Download the weights of MotionCtrl motionctrl.pth and put it to ./checkpoints.
  2. Go into configs/inference/run.sh and set condtype as 'camera_motion', 'object_motion', or 'both'.
  • condtype=camera_motion means only control the camera motion in the generated video.
  • condtype=object_motion means only control the object motion in the generated video.
  • condtype=both means control the camera motion and object motion in the generated video simultaneously.
  1. Running scripts: sh configs/inference/run.sh
  • Run local gradio demo

    python -m app --share
    

๐Ÿ”ฅ๐Ÿ”ฅ Training ๐Ÿ‘‰ Details

Preparing Dataset

๐Ÿ“š Citation

If you make use of our work, please cite our paper.

@inproceedings{wang2024motionctrl,
  title={Motionctrl: A unified and flexible motion controller for video generation},
  author={Wang, Zhouxia and Yuan, Ziyang and Wang, Xintao and Li, Yaowei and Chen, Tianshui and Xia, Menghan and Luo, Ping and Shan, Ying},
  booktitle={ACM SIGGRAPH 2024 Conference Papers},
  pages={1--11},
  year={2024}
}

๐Ÿค— Acknowledgment

The current version of MotionCtrl is built on VideoCrafter. We appreciate the authors for sharing their awesome codebase.

โ“ Contact

For any question, feel free to email [email protected] or [email protected].

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.