这个仓库包含了以下论文的实现及其相关的正在进行的系列研究。我们评估视频生成模型!
VBench:视频生成模型的综合基准套件
黄子齐∗, 贺逸男∗, 于家硕∗, 张帆∗, 司晨阳, 蒋昀鸣, 张元瀚, 吴天行, 晋庆阳, Nattapol Chanpaisit, 王耀辉, 陈昕元, 王立民, 林达华+, 乔宇+, 刘子微+
IEEE/CVF计算机视觉与模式识别会议(CVPR),2024
目录
:fire: 更新
- [06/2024] :fire: VBench-Long :fire: 已经可以用于评估更长的类似Sora的视频!
- [06/2024] VBench榜单:我们 VBench Leaderboard 中视频生成模型的信息可以在这里查阅。欢迎所有视频生成模型参与!目前我们有14个T2V模型,12个I2V模型。
- [05/2024] PyPI更新:
vbench
的PyPI包已更新到0.1.2版本。此次更新包含高分辨率图像/视频预处理中的更改,支持评估自定义视频,并修复了少量错误。 - [04/2024] 我们发布了所有采样并用于VBench评估的视频。 详细信息请见这里。
- [03/2024] :fire: VBench-Trustworthiness :fire: 我们现在支持评估视频生成模型的可信性(例如,文化、公平性、偏见、安全性)。
- [03/2024] :fire: VBench-I2V :fire: 我们现在支持评估**图像到视频(I2V)**模型。我们还提供图像套件。
- [03/2024] 我们支持评估自定义视频!有关说明,请参见这里。
- [01/2024] PyPI包已发布!。只需运行
pip install vbench
。 - [12/2023] :fire: VBench :fire: 发布了16个文本到视频(T2V)评估维度的评估代码。
['主体一致性', '背景一致性', '时间闪烁', '运动平滑', '动态程度', '美学质量', '成像质量', '对象分类', '多个对象', '人的动作', '颜色', '空间关系', '场景', '时间风格化一致性', '外观风格化一致性', '整体一致性']
- [11/2023] Prompt套件已发布。(参见Prompt列表here)
:mega: 概述
我们提出了VBench,一个视频生成模型的综合基准套件。我们设计了一个综合且分层的评估维度套件,将“视频生成质量”分解为多个定义明确的维度,以促进细粒度和客观的评估。针对每个维度和每个内容类别,我们精心设计了一个提示语套件作为测试案例,并从一组视频生成模型中采样生成的视频。针对每个评估维度,我们特别设计了一个评估方法套件,使用精心设计的方法或指定的流程进行自动化客观评估。我们还进行了每个维度的生成视频的人类偏好注释,并展示了VBench评估结果与人类感知高度一致。VBench能够从多个角度提供宝贵的见解。
:mortar_board: 评估结果
我们可视化了VBench评估结果,涵盖了各种公开可用的视频生成模型,包括Gen-2和Pika在16个VBench维度上的表现。我们对每个维度的结果进行了归一化处理,以便于更清楚的比较。
:trophy: 排行榜
请查看我们的排行榜上的数值:1st_place_medal::2nd_place_medal::3rd_place_medal:
如何加入VBench排行榜? 查看以下3种选项:
采样团队 | 评估团队 | 备注 |
---|---|---|
VBench团队 | VBench团队 | 我们会定期分配资源来采样新发布的模型并进行评估。您可以请求我们进行采样和评估,但进度取决于我们的可用资源。 |
您的团队 | VBench团队 | 对于非开源模型,如有兴趣加入我们的排行榜,请提交您的视频样本给我们进行评估。如果您更倾向于直接提供评估结果,请参见下行。 |
您的团队 | 您的团队 | 如果您已经在报告/论文中使用VBench进行了完整评估,请将您的eval_results.zip 文件提交到VBench Leaderboard ,使用Submit here! 表单进行提交。评估结果将自动更新到排行榜。同时,请分享您的模型信息,供我们记录任何栏目here。 |
:film_projector: 模型信息
请查看我们用于评估的视频生成模型模型信息。
:hammer: 安装
用pip安装
pip install vbench
为了评估某些视频生成能力方面,需要安装detectron2:
pip install detectron2@git+https://github.com/facebookresearch/detectron2.git
若在安装detectron2时出现错误,参考这里。
下载VBench_full_info.json到运行目录,以读取基准提示套件。
用git clone安装
git clone https://github.com/Vchitect/VBench.git
pip install -r VBench/requirements.txt
pip install VBench
若在安装detectron2时出现错误,参考这里。
使用方法
使用VBench评估视频和视频生成模型。
- 附注:VBench旨在评估不同模型在标准基准上的表现。因此,默认情况下,我们强制对标准VBench提示列表进行评估,以确保公平比较不同视频生成模型。这也是为什么当找不到所需的视频时,我们会发出警告。这是通过在VBench_full_info.json中定义提示集实现的。然而,我们理解许多用户希望使用VBench评估他们自己的视频,或者从不属于VBench提示套件的提示生成的视频,因此我们也添加了评估您自己视频的功能。只需设置
mode=custom_input
,您即可评估自己的视频。
[新增] 评估您自己的视频
我们支持评估任何视频。只需提供视频文件的路径,或包含视频的文件夹的路径。对视频名称没有要求。
- 注意:我们支持以下维度的自定义视频/提示评估:
'主体一致性', '背景一致性', '运动平滑', '动态程度', '美学质量', '成像质量'
要使用自定义输入提示评估视频,运行我们的脚本并设置--mode=custom_input
:
python evaluate.py \
--dimension $DIMENSION \
--videos_path /path/to/folder_or_video/ \
--mode=custom_input
或者您可以使用我们的命令:
vbench evaluate \
--dimension $DIMENSION \
--videos_path /path/to/folder_or_video/ \
--mode=custom_input
在标准提示套件上评估
命令行
vbench evaluate --videos_path $VIDEO_PATH --dimension $DIMENSION
例如:
vbench evaluate --videos_path "sampled_videos/lavie/human_action" --dimension "human_action"
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>, ...],
)
例如:
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
或者
python evaluate.py \
--dimension $DIMENSION \
--videos_path /path/to/folder_or_video/ \
--mode=vbench_category
VideoCrafter-1.0评估示例
我们提供了脚本来下载VideoCrafter-1.0的样本,以及相应的评估脚本。
# 下载采样视频
sh scripts/download_videocrafter1.sh
# 评估VideoCrafter-1.0
sh scripts/evaluate_videocrafter1.sh
获取最终得分并提交到排行榜
我们提供了计算排行榜中的最终得分
、质量得分
和语义得分
的脚本。您可以在本地运行它们以获得最终得分,或者在提交到排行榜之前进行最终检查。
命令行
# 将评估结果打包成一个zip文件。
cd evaluation_results
zip -r ../evaluation_results.zip .
# [可选] 获取提交文件的最终得分。
python scripts/cal_final_score.py --zip_file {path_to_evaluation_results.zip} --model_name {your_model_name}
您可以将json文件提交到HuggingFace
:gem: 预训练模型
[可选] 请根据pretrained
文件夹model_path.txt
文件中的指导,为每个模型下载预训练权重到 ~/.cache/vbench
。
:bookmark_tabs: 提示套件
我们提供了prompts/
中的提示列表。
查看提示套件的详细信息,以及如何采样视频进行评估的说明。
:bookmark_tabs: 采样视频
为了促进未来的研究并确保完全透明,我们发布了用于VBench评估的所有采样视频。您可以在Google Drive上下载它们。
查看采样视频的详细说明此处。
我们还提供了评估模型的详细设置此处。
:surfer: 评估方法套件
要对某一个维度进行评估,请运行:
python evaluate.py --videos_path $VIDEOS_PATH --dimension $DIMENSION
- 维度的完整列表:
['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']
或者,您可以使用这个脚本评估多个模型和多个维度:
bash evaluate.sh
- 默认的采样视频路径:
vbench_videos/{model}/{dimension}/{prompt}-{index}.mp4/gif
在评估时间闪烁维度之前,必须首先过滤掉静态视频。
要在时间闪烁维度中过滤掉静态视频,请运行:
# 这只会过滤掉提示与时间闪烁匹配的静态视频。
python static_filter.py --videos_path $VIDEOS_PATH
您可以调整过滤范围:
# 1. 改变过滤范围,以考虑videos_path内的所有文件进行过滤。
python static_filter.py --videos_path $VIDEOS_PATH --filter_scope all
# 2. 指定一个JSON文件($filename)的路径,只考虑提示符合$filename中列出的提示的视频。
python static_filter.py --videos_path $VIDEOS_PATH --filter_scope $filename
:black_nib: 引用
如果您觉得我们的仓库对您的研究有用,请考虑引用我们的论文:
@InProceedings{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},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2024}
}
:hearts: 鸣谢
:muscle: VBench贡献者
按加入项目的时间顺序排列:
Ziqi Huang, Yinan He, Jiashuo Yu, Fan Zhang, Nattapol Chanpaisit, Xiaojie Xu, Qianli Ma, Ziyue Dong。
:hugs: 开源仓库
没有以下开源仓库,这个项目是不可能完成的: AMT, UMT, RAM, CLIP, RAFT, GRiT, IQA-PyTorch, ViCLIP, 以及LAION Aesthetic Predictor。
相关链接
我们正在整理Awesome-Evaluation-of-Visual-Generation,收集评估视觉生成的作品。