| --- |
| license: apache-2.0 |
| language: |
| - en |
| --- |
| <p align="center"> |
| <img src="./asset/logo.png" width="80%"/> |
| </p> |
|
|
| # 🔥 Updates |
|
|
| * \[3/2024\] **VMBench** evaluation code & prompt set released! |
| |
| |
| # 📣 Overview |
|
|
| <p align="center"> |
| <img src="./asset/overview.png" width="100%"/> |
| </p> |
|
|
|
|
| Video generation has advanced rapidly, improving evaluation methods, yet assessing video's motion remains a major challenge. Specifically, there are two key issues: 1) current motion metrics do not fully align with human perceptions; 2) the existing motion prompts are limited. Based on these findings, we introduce **VMBench**---a comprehensive **V**ideo **M**otion **Bench**mark that has perception-aligned motion metrics and features the most diverse types of motion. VMBench has several appealing properties: (1) **Perception-Driven Motion Evaluation Metrics**, we identify five dimensions based on human perception in motion video assessment and develop fine-grained evaluation metrics, providing deeper insights into models' strengths and weaknesses in motion quality. (2) **Meta-Guided Motion Prompt Generation**, a structured method that extracts meta-information, generates diverse motion prompts with LLMs, and refines them through human-AI validation, resulting in a multi-level prompt library covering six key dynamic scene dimensions. (3) **Human-Aligned Validation Mechanism**, we provide human preference annotations to validate our benchmarks, with our metrics achieving an average 35.3% improvement in Spearman’s correlation over baseline methods. This is the first time that the quality of motion in videos has been evaluated from the perspective of human perception alignment. |
|
|
| # 📊Evaluation Results |
|
|
|
|
| ## Quantitative Results |
|
|
| <p align="center"> |
| <img src="./asset/eval_result.png" width="80%"/> |
| </p> |
|
|
| ### VMBench Leaderboard |
|
|
| <div align="center"> |
|
|
| | Models | Avg | CAS | MSS | OIS | PAS | TCS | |
| | -------------------- | -------- | -------- | -------- | -------- | -------- | -------- | |
| | OpenSora-v1.2 | 51.6 | 31.2 | 61.9 | 73.0 | 3.4 | 88.5 | |
| | Mochi 1 | 53.2 | 37.7 | 62.0 | 68.6 | 14.4 | 83.6 | |
| | OpenSora-Plan-v1.3.0 | 58.9 | 39.3 | 76.0 | **78.6** | 6.0 | 94.7 | |
| | CogVideoX-5B | 60.6 | 50.6 | 61.6 | 75.4 | 24.6 | 91.0 | |
| | HunyuanVideo | 63.4 | 51.9 | 81.6 | 65.8 | **26.1** | 96.3 | |
| | Wan2.1 | **78.4** | **62.8** | **84.2** | 66.0 | 17.9 | **97.8** | |
|
|
| </div> |
|
|
| # 🔨 Installation |
|
|
| ## Create Environment |
|
|
| ```shell |
| git clone https://github.com/Ran0618/VMBench.git |
| cd VMBench |
| |
| # create conda environment |
| conda create -n VMBench python=3.10 |
| pip install torch torchvision |
| |
| # Install Grounded-Segment-Anything module |
| cd Grounded-Segment-Anything |
| python -m pip install -e segment_anything |
| pip install --no-build-isolation -e GroundingDINO |
| pip install -r requirements.txt |
| |
| # Install Groudned-SAM-2 module |
| cd Grounded-SAM-2 |
| pip install -e . |
| |
| # Install MMPose toolkit |
| pip install -U openmim |
| mim install mmengine |
| mim install "mmcv==2.1.0" |
| |
| # Install Q-Align module |
| cd Q-Align |
| pip install -e . |
| |
| # Install VideoMAEv2 module |
| cd VideoMAEv2 |
| pip install -r requirements.txt |
| ``` |
|
|
| ## Download checkpoints |
| Place the pre-trained checkpoint files in the `.cache` directory. |
| You can download our model's checkpoints are from our [HuggingFace repository 🤗](https://huggingface.co/GD-ML/VMBench). |
|
|
| ```shell |
| mkdir .cache |
| cd .cache |
| |
| huggingface-cli download GD-ML/VMBench --local-dir .cache/ |
| ``` |
| Please organize the pretrained models in this structure: |
| ```shell |
| VMBench/.cache |
| ├── groundingdino_swinb_cogcoor.pth |
| ├── sam2.1_hiera_large.pt |
| ├── sam_vit_h_4b8939.pth |
| ├── scaled_offline.pth |
| └── vit_g_vmbench.pt |
| ``` |
|
|
| # 🔧Usage |
|
|
| ## Videos Preparation |
|
|
| Generate videos of your model using the 1050 prompts provided in `prompts/prompts.txt` or `prompts/prompts.json` and organize them in the following structure: |
|
|
| ```shell |
| VMBench/eval_results/videos |
| ├── 0001.mp4 |
| ├── 0002.mp4 |
| ... |
| └── 1050.mp4 |
| ``` |
|
|
| **Note:** Ensure that you maintain the correspondence between prompts and video sequence numbers. The index for each prompt can be found in the `prompts/prompts.json` file. |
|
|
| You can follow us `sample_video_demo.py` to generate videos. Or you can put the results video named index into your own folder. |
| |
| |
| ## Evaluation on the VMBench |
|
|
| ### Running the Evaluation Pipeline |
| To evaluate generated videos using the VMBench, run the following command: |
|
|
| ```shell |
| bash evaluate.sh your_videos_folder |
| ``` |
|
|
| The evaluation results for each video will be saved in the `./eval_results/${current_time}/results.json`. Scores for each dimension will be saved as `./eval_results/${current_time}/scores.csv`. |
|
|
| ### Evaluation Efficiency |
|
|
| We conducted a test using the following configuration: |
|
|
| - **Model**: CogVideoX-5B |
| - **Number of Videos**: 1,050 |
| - **Frames per Video**: 49 |
| - **Frame Rate**: 8 FPS |
|
|
| Here are the time measurements for each evaluation metric: |
|
|
| | Metric | Time Taken | |
| |--------|------------| |
| | PAS (Perceptible Amplitude Score) | 45 minutes | |
| | OIS (Object Integrity Score) | 30 minutes | |
| | TCS (Temporal Coherence Score) | 2 hours | |
| | MSS (Motion Smoothness Score) | 2.5 hours | |
| | CAS (Commonsense Adherence Score) | 1 hour | |
|
|
| **Total Evaluation Time**: 6 hours and 45 minutes |
|
|
| # ❤️Acknowledgement |
| We would like to express our gratitude to the following open-source repositories that our work is based on: [GroundedSAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [GroundedSAM2](https://github.com/IDEA-Research/Grounded-SAM-2), [Co-Tracker](https://github.com/facebookresearch/co-tracker), [MMPose](https://github.com/open-mmlab/mmpose), [Q-Align](https://github.com/Q-Future/Q-Align), [VideoMAEv2](https://github.com/OpenGVLab/VideoMAEv2), [VideoAlign](https://github.com/KwaiVGI/VideoAlign). |
| Their contributions have been invaluable to this project. |
|
|
| # 📜License |
| The VMBench is licensed under [Apache-2.0 license](http://www.apache.org/licenses/LICENSE-2.0). You are free to use our codes for research purpose. |
|
|
| # ✏️Citation |
| If you find our repo useful for your research, please consider citing our paper: |
| ```bibtex |
| @misc{ling2025vmbenchbenchmarkperceptionalignedvideo, |
| title={VMBench: A Benchmark for Perception-Aligned Video Motion Generation}, |
| author={Xinran Ling and Chen Zhu and Meiqi Wu and Hangyu Li and Xiaokun Feng and Cundian Yang and Aiming Hao and Jiashu Zhu and Jiahong Wu and Xiangxiang Chu}, |
| year={2025}, |
| eprint={2503.10076}, |
| archivePrefix={arXiv}, |
| primaryClass={cs.CV}, |
| url={https://arxiv.org/abs/2503.10076}, |
| } |
| ``` |