Skip to main content

Video generation benchmark

Project description

:bar_chart: VBench

Paper Project Page HuggingFace Video Visitor

This repository contains the implementation of the following paper:

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+

:mega: Overview

overall_structure We propose VBench, a comprehensive benchmark suite for video generative models. We design a comprehensive and hierarchical Evaluation Dimension Suite to decompose "video generation quality" into multiple well-defined dimensions to facilitate fine-grained and objective evaluation. For each dimension and each content category, we carefully design a Prompt Suite as test cases, and sample Generated Videos from a set of video generation models. For each evaluation dimension, we specifically design an Evaluation Method Suite, which uses carefully crafted method or designated pipeline for automatic objective evaluation. We also conduct Human Preference Annotation for the generated videos for each dimension, and show that VBench evaluation results are well aligned with human perceptions. VBench can provide valuable insights from multiple perspectives.

:fire: Updates

  • [12/2023] Evaluation code for released for 16 Text-to-Video (T2V) evaluation dimensions.
    • ['subject_consistency', 'background_consistency', 'temporal_flickering', 'motion_smoothness', 'dynamic_degree', 'aesthetic_quality', 'imaging_quality', 'object_class', 'multiple_objects', 'human_action', 'color', 'spatial_relationship', 'scene', 'temporal_style', 'appearance_style', 'overall_consistency']
  • [11/2023] Prompt Suites released. (See prompt lists here)

:hammer: Installation

Install with pip

pip install detectron2@git+https://github.com/facebookresearch/detectron2.git
pip install git+https://github.com/Vchitect/VBench.git

Install with git clone

git clone https://github.com/Vchitect/VBench.git
pip install -r VBench/requirements.txt
pip install VBench

If there is an error during detectron2 installation, see here.

Usage

command line
    vbench evaluate --videos_path $VIDEO_PATH --dimension $DIMENSION
python
    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>, ...],
    )

:gem: Pre-Trained Models

[Optional] Please download the pre-trained weights according to the guidance in the model_path.txt file for each model in the pretrained folder to ~/.cache/vbench.

:bookmark_tabs: Prompt Suite

We provide prompt lists are at prompts/.

Check out details of prompt suites, and instructions for how to sample videos for evaluation.

:surfer: Evaluation Method Suite

To perform evaluation on one dimension, run this:

python evaluate.py --videos_path $VIDEOS_PATH --dimension $DIMENSION
  • The complete list of dimensions:
    ['subject_consistency', 'background_consistency', 'temporal_flickering', 'motion_smoothness', 'dynamic_degree', 'aesthetic_quality', 'imaging_quality', 'object_class', 'multiple_objects', 'human_action', 'color', 'spatial_relationship', 'scene', 'temporal_style', 'appearance_style', 'overall_consistency']
    

Alternatively, you can evaluate multiple models and multiple dimensions using this script:

bash evaluate.sh
  • The default sampled video paths:
    vbench_videos/{model}/{dimension}/{prompt}-{index}.mp4/gif
    

To filter static videos in the temporal flickering dimension, run this:

python static_filter.py --videos_path $VIDEOS_PATH

:black_nib: Citation

If you find our repo useful for your research, please consider citing our 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}
 }

:hearts: Acknowledgement

This codebase is maintained by Ziqi Huang, Yinan He, Jiashuo Yu, Fan Zhang, and Nattapol Chanpaisit.

This project wouldn't be possible without the following open-sourced repositories: AMT, UMT, RAM, CLIP, RAFT, GRiT, IQA-PyTorch, ViCLIP, and LAION Aesthetic Predictor.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

vbench-0.1.0-py3-none-any.whl (349.0 kB view details)

Uploaded Python 3

File details

Details for the file vbench-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vbench-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 349.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for vbench-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df6b503bd786d9709a6d272e8aa2ab27fbabe602baf76331e77a1ec4d3a7ef0d
MD5 12dc1ec8c8ae141161c738058a54995f
BLAKE2b-256 ce1282cf31c8fbb00087d7b228b285c525fee702ccd9027fcaf9ff91bfe98553

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page