VBench is a comprehensive benchmark suite for video generative models. You can use VBench to evaluate video generation models from 16 different ability aspects.
This project is the PyPI implementation of the following research:
VBench: Comprehensive Benchmark Suite for Video Generative Models
Ziqi Huang∗, Yinan He∗, Jiashuo Yu∗, Fan Zhang∗, Chenyang Si, Yuming Jiang, Yuanhan Zhang, Tianxing Wu, Qingyang Jin, Nattapol Chanpaisit, Yaohui Wang, Xinyuan Chen, Limin Wang, Dahua Lin+, Yu Qiao+, Ziwei Liu+
pip install vbench
To evaluate some video generation ability aspects, you need to install detectron2 via:
pip install detectron2@git+https://github.com/facebookresearch/detectron2.git
If there is an error during detectron2 installation, see here.
We support evaluating any video. Simply provide the path to the video file, or the path to the folder that contains your videos. There is no requirement on the videos' names.
- Note: We support customized videos / prompts for the following dimensions:
'subject_consistency', 'background_consistency', 'motion_smoothness', 'dynamic_degree', 'aesthetic_quality', 'imaging_quality'
To evaluate videos with customed input prompt, run our script with --mode=custom_input
:
python evaluate.py \
--dimension $DIMENSION \
--videos_path /path/to/folder_or_video/ \
--mode=custom_input
alternatively you can use our command:
vbench evaluate \
--dimension $DIMENSION \
--videos_path /path/to/folder_or_video/ \
--mode=custom_input
vbench evaluate --videos_path $VIDEO_PATH --dimension $DIMENSION
For example:
vbench evaluate --videos_path "sampled_videos/lavie/human_action" --dimension "human_action"
from vbench import VBench
my_VBench = VBench(device, <path/to/VBench_full_info.json>, <path/to/save/dir>)
my_VBench.evaluate(
videos_path = <video_path>,
name = <name>,
dimension_list = [<dimension>, <dimension>, ...],
)
For example:
from vbench import VBench
my_VBench = VBench(device, "vbench/VBench_full_info.json", "evaluation_results")
my_VBench.evaluate(
videos_path = "sampled_videos/lavie/human_action",
name = "lavie_human_action",
dimension_list = ["human_action"],
)
vbench evaluate \
--videos_path $VIDEO_PATH \
--dimension $DIMENSION \
--mode=vbench_category \
--category=$CATEGORY
or
python evaluate.py \
--dimension $DIMENSION \
--videos_path /path/to/folder_or_video/ \
--mode=vbench_category
We provide prompt lists are at prompts/
.
Check out details of prompt suites, and instructions for how to sample videos for evaluation.
If you find this package useful for your reports or publications, please consider citing the VBench paper:
@article{huang2023vbench,
title={{VBench}: Comprehensive Benchmark Suite for Video Generative Models},
author={Huang, Ziqi and He, Yinan and Yu, Jiashuo and Zhang, Fan and Si, Chenyang and Jiang, Yuming and Zhang, Yuanhan and Wu, Tianxing and Jin, Qingyang and Chanpaisit, Nattapol and Wang, Yaohui and Chen, Xinyuan and Wang, Limin and Lin, Dahua and Qiao, Yu and Liu, Ziwei},
journal={arXiv preprint arXiv:2311.17982},
year={2023}
}