# VideoScience-Bench (/zh/docs/evaluation/benchmark-hub/videoscience-bench)



## 官方参考 [#官方参考]

| 资源        | 链接                                                                                                             |
| --------- | -------------------------------------------------------------------------------------------------------------- |
| 论文        | [arXiv:2512.02942](https://arxiv.org/abs/2512.02942)                                                           |
| GitHub    | [github.com/hao-ai-lab/VideoScience](https://github.com/hao-ai-lab/VideoScience)                               |
| HF 数据集    | [lmgame/VideoScienceBench](https://huggingface.co/datasets/lmgame/VideoScienceBench)                           |
| 仓内 runner | `worldfoundry/evaluation/tasks/execution/runners/videoscience_bench/run_videoscience_bench_official_runner.py` |

## 评测内容 [#评测内容]

VideoScience-Bench 评估生成视频是否科学正确，而不仅仅是视觉上可信。本地 VideoScience README 描述了 200 个本科水平物理和化学场景：160 个 text-to-video examples、40 个 image-to-video examples、12 个 topics、103 个 scientific concepts。每条 prompt 通常需要多个概念共同成立。

WorldFoundry 使用仓内 runner：`worldfoundry/evaluation/tasks/execution/runners/videoscience_bench/run_videoscience_bench_official_runner.py`，以及仓内 runtime：`worldfoundry/evaluation/tasks/execution/runners/videoscience_bench/runtime/videoscience_bench`。日常使用不需要为该 benchmark 另建官方 repo 副本。`/VideoScience` 和 `/videoscience-bench` 只作为协议参考。

## 准备数据与资产 [#准备数据与资产]

仓内资产：

* `worldfoundry/data/benchmarks/assets/videoscience-bench/database/data.csv`
* `worldfoundry/data/benchmarks/assets/videoscience-bench/database/data_filtered.jsonl`
* `worldfoundry/data/benchmarks/assets/videoscience-bench/database/annotations.json`
* `worldfoundry/data/benchmarks/assets/videoscience-bench/database/annotations_analysis.json`
* `worldfoundry/data/benchmarks/assets/videoscience-bench/sample_results.csv`

可选 HF dataset mirror：

```bash
hf download lmgame/VideoScienceBench \
  --repo-type dataset \
  --local-dir /path/to/datasets/VideoScienceBench
```

设置生成视频目录和 experiments table：

```bash
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/videoscience/generated_videos
export WORLDFOUNDRY_VIDEOSCIENCE_EXPERIMENTS_CSV="$PWD/worldfoundry/data/benchmarks/assets/videoscience-bench/database/data.csv"
```

直接运行 VLM judge 时配置 provider：

```bash
export WORLDFOUNDRY_VIDEOSCIENCE_PROVIDER=openai
export WORLDFOUNDRY_VIDEOSCIENCE_MODEL=gpt-4o
export OPENAI_API_KEY=...
```

安装对应 package 和 API key 后，仓内 provider layer 也支持 Gemini 和 Anthropic。

## 输入与输出布局 [#输入与输出布局]

runner 使用 `data.csv` 的 `Unique ID` 匹配生成视频。接受的文件名包括：

```text
vid_<id>_run_1.mp4
vid_<id>.mp4
<id>.mp4
```

也支持 `vid_094_run_1.mp4` 这种 zero-padded 形式。

生成视频布局示例：

```text
/path/to/videoscience/generated_videos/
  vid_94_run_1.mp4
  vid_106_run_1.mp4
  vid_101_run_1.mp4
```

公开 CLI 输出：

```text
tmp/videoscience-bench/official-validation/
  scorecard.json
  raw_metric_table.jsonl
  per_sample_scores.jsonl
  runner_runtime_report.json
  specialized_normalizer_stdout.log
  specialized_normalizer_stderr.log
```

直接 judge 输出：

```text
tmp/videoscience-bench/direct-run/
  scorecard.json
  raw_metric_table.jsonl
  per_sample_scores.jsonl
  upstream_stdout.log
  upstream_stderr.log
  upstream/
    videoscience_judge_results.json
    per_sample/
```

## 公开 CLI [#公开-cli]

catalog 支持的公开命令是用 `official-validation` 导入结果：

```bash
cd "$WORLDFOUNDRY_REPO_ROOT"

worldfoundry-eval zoo benchmark-run \
  --benchmark-id videoscience-bench \
  --mode official-validation \
  --official-results-path /path/to/videoscience_judge_results.json \
  --generated-artifact-dir /path/to/videoscience/generated_videos \
  --output-dir tmp/videoscience-bench/official-validation \
  --json
```

## 直接 Runner [#直接-runner]

导入已有 VideoScience judge JSON 或 CSV：

```bash
cd "$WORLDFOUNDRY_REPO_ROOT"

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/videoscience_bench/run_videoscience_bench_official_runner.py \
  --official-results-path /path/to/videoscience_judge_results.json \
  --output-dir tmp/videoscience-bench/direct-import \
  --json
```

对生成视频运行仓内 VLM judge：

```bash
cd "$WORLDFOUNDRY_REPO_ROOT"

export OPENAI_API_KEY=...

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/videoscience_bench/run_videoscience_bench_official_runner.py \
  --run-official \
  --generated-video-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --experiments-csv "${WORLDFOUNDRY_VIDEOSCIENCE_EXPERIMENTS_CSV}" \
  --judge-provider "${WORLDFOUNDRY_VIDEOSCIENCE_PROVIDER:-openai}" \
  --judge-model "${WORLDFOUNDRY_VIDEOSCIENCE_MODEL:-gpt-4o}" \
  --max-frames 24 \
  --output-dir tmp/videoscience-bench/direct-run \
  --json
```

本地小规模运行：

```bash
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/videoscience_bench/run_videoscience_bench_official_runner.py \
  --run-official \
  --generated-video-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --experiments-csv "${WORLDFOUNDRY_VIDEOSCIENCE_EXPERIMENTS_CSV}" \
  --judge-max-runs 10 \
  --ready-only \
  --output-dir tmp/videoscience-bench/direct-run-first10 \
  --json
```

`--ready-only` 会限制到表格中标记为 `Done` 的行。

## 指标 [#指标]

| Metric ID                   | 含义                                                          |
| --------------------------- | ----------------------------------------------------------- |
| `prompt_consistency`        | 生成视频是否遵循要求的 setup 和 procedure。                              |
| `phenomenon_congruency`     | 预期科学现象是否出现，并且是否科学正确。                                        |
| `correct_dynamism`          | 除主要现象外，运动和交互是否符合相关物理规律。                                     |
| `immutability`              | 除非 prompt 要求变化，否则物体是否保持 identity 和 attributes 稳定。           |
| `spatio_temporal_coherence` | 是否避免 flicker、teleportation、identity swaps 和不自然 transitions。 |
| `videoscience_average`      | 可用 VideoScience metrics 的平均值；主指标。                           |

judge rubric 是 1-4 分。WorldFoundry 使用 `(score - 1) / 3` 归一到 `[0, 1]`，越高越好。

## 限制与缺口 [#限制与缺口]

* 公开 catalog 命令用于导入已有 judge outputs。需要执行仓内 VLM judge 时，用直接 runner。
* 直接 judge run 需要 provider credentials，可能较慢且有调用成本。
* 缺失生成视频会被跳过；如果没有任何视频完成评测，run 会失败。
* 当前仓内 runtime 重点是基于 sampled frames 的 VLM grading。上游 README 描述的可选 CV evidence 还没有在当前 WorldFoundry runner 中完整复现。
* 完整 leaderboard 对齐需要与 reference evaluation 一致的 prompt selection、生成视频、provider/model 设置和 judge 行为。

[返回 Benchmark Hub](/zh/docs/evaluation/benchmark-hub)
