VBench-2.0
面向 intrinsic faithfulness 的视频生成评测,包含仓内 VBench-2.0 runtime、prompt assets、datasets 和运行命令。
简介
VBench-2.0 将 VBench 系列从基础技术质量扩展到 intrinsic faithfulness。它关注下一代视频生成模型是否理解人物、物理、可控性、创造性和 commonsense,而不只是生成清晰的短视频。
WorldFoundry 已经把 VBench-2.0 runtime 集成在 worldfoundry/evaluation/tasks/execution/runners/vbench_2_0。官方 VBench repo 只作为 protocol 参考;这里实际运行的 metric code 在 WorldFoundry 仓内。
官方参考:
- Project page: vchitect.github.io/VBench-2.0-project
- Paper: arXiv:2503.21755
- Arena: Vchitect/VBench2.0_Video_Arena
- Sample videos: Vchitect/VBench-2.0_sampled_videos
- Human annotation: Vchitect/VBench-2.0_human_annotation
- 仓内 runner:
worldfoundry/evaluation/tasks/execution/runners/vbench_2_0/run_vbench_2_0_official_runner.py
评测协议
VBench-2.0 包含 18 个细粒度维度,分成五组。
| 分组 | Dimensions |
|---|---|
| Creativity | composition, diversity |
| Commonsense | instance_preservation, motion_rationality |
| Controllability | camera_motion, complex_landscape, complex_plot, dynamic_attribute, dynamic_spatial_relationship, human_interaction, motion_order_understanding |
| Human fidelity | human_anatomy, human_clothes, human_identity |
| Physics | material, mechanics, multi_view_consistency, thermotics |
WorldFoundry 会聚合得到 vbench2_creativity、vbench2_commonsense、vbench2_controllability、vbench2_human_fidelity、vbench2_physics 和主指标 vbench2_total。
prompt assets 已经在仓内:
worldfoundry/data/benchmarks/assets/vbench-2.0/VBench2_full_info.jsonworldfoundry/data/benchmarks/assets/vbench-2.0/vbench2_prompts/prompt/*.txtworldfoundry/data/benchmarks/assets/vbench-2.0/vbench2_prompts/meta_info/*.json
数据准备
复现 leaderboard 风格结果时,需要按官方 VBench-2.0 prompts 生成视频,并保留对应 dimension split。所有生成视频放在一个 root 下,通过 --videos-path 传入。
本地 custom-input 评测可以直接对一个文件夹或单个视频加 prompt 评分:
/path/to/vbench2/generated_videos/
sample_0001.mp4
sample_0002.mp4设置生成产物目录:
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/vbench2/generated_videosrunner 还会发现可选的官方 datasets。只有需要 dataset coverage、human annotation metadata 或 reference sampled videos 时才下载:
export WORLDFOUNDRY_VBENCH2_DATASET_ROOT=/path/to/datasets/vbench2
hf download Vchitect/VBench-2.0_sampled_videos \
--repo-type dataset \
--local-dir "${WORLDFOUNDRY_VBENCH2_DATASET_ROOT}/VBench-2.0_sampled_videos"
hf download Vchitect/VBench-2.0_human_annotation \
--repo-type dataset \
--local-dir "${WORLDFOUNDRY_VBENCH2_DATASET_ROOT}/VBench-2.0_human_annotation"部分 human-fidelity 维度还会用到 VBench-2.0 human anomaly assets:
hf download Vchitect/VBench-2.0_human_anomaly \
--repo-type dataset \
--local-dir "${WORLDFOUNDRY_VBENCH2_DATASET_ROOT}/VBench-2.0_human_anomaly"候选模型训练是 model-specific 的。先通过候选模型自己的 package 完成训练或推理,再把视频导出到 WORLDFOUNDRY_GENERATED_ARTIFACT_DIR。
权重与 Runtime
使用统一 CUDA 环境。VBench-2.0 evaluator 需要 VBench perception stack,以及 LLaVA-Video、Qwen、YOLO-World、ArcFace、anomaly detection、CoTracker、RAFT、CLIP/DINO、GroundingDINO、SAM-family segmentation 等额外 judge/perception 资产。很多 reusable code 已经在 worldfoundry/base_models 中。
常用 cache 变量:
export WORLDFOUNDRY_VBENCH_CACHE_DIR=/path/to/cache/models/vbench
export WORLDFOUNDRY_VBENCH2_CACHE_DIR=/path/to/cache/models/vbench2
export WORLDFOUNDRY_VBENCH_RETINAFACE_CKPT=/path/to/retinaface.pth选择 human_identity、gender_bias、skin_bias 这类 face-related 维度时,需要 RetinaFace-compatible assets。
运行单个维度
用下面命令跑一个 VBench-2.0 维度:
cd /path/to/WorldFoundry
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
worldfoundry/evaluation/tasks/execution/runners/vbench_2_0/run_vbench_2_0_official_runner.py \
--videos-path "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
--vbench2-dataset-root "${WORLDFOUNDRY_VBENCH2_DATASET_ROOT}" \
--full-json-dir "$PWD/worldfoundry/data/benchmarks/assets/vbench-2.0/VBench2_full_info.json" \
--dimension Diversity \
--mode custom_input \
--output-dir tmp/vbench-2.0/diversity \
--timeout 7200 \
--json如果所有视频使用同一个 custom prompt:
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
worldfoundry/evaluation/tasks/execution/runners/vbench_2_0/run_vbench_2_0_official_runner.py \
--videos-path "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
--full-json-dir "$PWD/worldfoundry/data/benchmarks/assets/vbench-2.0/VBench2_full_info.json" \
--dimension Mechanics \
--mode custom_input \
--prompt "a glass ball rolls down a wooden ramp and collides with a metal block" \
--output-dir tmp/vbench-2.0/mechanics_custom \
--json运行多个维度
只有在对应 metric assets 都准备好之后,再跑完整五组维度:
cd /path/to/WorldFoundry
for DIMENSION in \
Composition Diversity Instance_Preservation Motion_Rationality \
Camera_Motion Complex_Landscape Complex_Plot Dynamic_Attribute \
Dynamic_Spatial_Relationship Human_Interaction Motion_Order_Understanding \
Human_Anatomy Human_Clothes Human_Identity \
Material Mechanics Multi-View_Consistency Thermotics
do
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
worldfoundry/evaluation/tasks/execution/runners/vbench_2_0/run_vbench_2_0_official_runner.py \
--videos-path "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
--vbench2-dataset-root "${WORLDFOUNDRY_VBENCH2_DATASET_ROOT}" \
--full-json-dir "$PWD/worldfoundry/data/benchmarks/assets/vbench-2.0/VBench2_full_info.json" \
--dimension "${DIMENSION}" \
--mode custom_input \
--output-dir "tmp/vbench-2.0/${DIMENSION}" \
--json
done导入已有结果
导入官方兼容的 VBench-2.0 *_eval_results.json:
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
worldfoundry/evaluation/tasks/execution/runners/vbench_2_0/run_vbench_2_0_official_runner.py \
--official-results-path /path/to/vbench2_eval_results.json \
--videos-path "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
--vbench2-dataset-root "${WORLDFOUNDRY_VBENCH2_DATASET_ROOT}" \
--output-dir tmp/vbench-2.0/imported \
--json输出文件
每次运行会写出:
scorecard.json: WorldFoundry 统一 scorecard,包含 VBench-2.0 维度和聚合指标。raw_metric_table.jsonl: scorecard 使用的 metric rows。dimension_scores.json: 归一化 dimension-score summary。vbench2_dataset_manifest.json: 如果发现官方 datasets,会记录 metadata。vbench2_video_coverage.json: 生成视频相对 reference 的覆盖情况。upstream_stdout.log和upstream_stderr.log: 仓内 runtime 日志。