# VideoPhy-2 (/zh/docs/evaluation/benchmark-hub/videophy2)



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

| 资源          | 链接                                                                                           |
| ----------- | -------------------------------------------------------------------------------------------- |
| 项目页         | [videophy2.github.io](https://videophy2.github.io/)                                          |
| 论文          | [arXiv:2503.06800](https://arxiv.org/abs/2503.06800)                                         |
| GitHub      | [github.com/Hritikbansal/videophy](https://github.com/Hritikbansal/videophy)                 |
| HF 测试集      | [videophysics/videophy2\_test](https://huggingface.co/datasets/videophysics/videophy2_test)  |
| AutoEval 权重 | [videophysics/videophy\_2\_auto](https://huggingface.co/videophysics/videophy_2_auto)        |
| 仓内 runner   | `worldfoundry/evaluation/tasks/execution/runners/videophy2/run_videophy2_official_runner.py` |

## 简介 [#简介]

VideoPhy-2 是面向 text-to-video 生成的 action-centric 物理常识评测。它不只是判断视频是否“看起来合理”，而是检查生成动作是否符合 caption，以及场景中隐含或显式给出的物理规则。官方发布包含 200 个 diverse actions、详细合成 prompts、人类评测标注，以及用于自动评分的 VideoPhy-2-AutoEval。

WorldFoundry 已经把 prompt materialization、metric 计算和 AutoEval 推理链路集成在仓内。官方 repo 只作为 protocol 参考；这里的评测运行使用 `worldfoundry/evaluation/tasks/execution/runners/videophy2` 和 `worldfoundry/base_models/llm_mllm_core/mllm/videophy2_autoeval`。

官方参考：

* Project page: [videophy2.github.io](https://videophy2.github.io/)
* Paper: [arXiv:2503.06800](https://arxiv.org/abs/2503.06800)
* Test dataset: [videophysics/videophy2\_test](https://huggingface.co/datasets/videophysics/videophy2_test)
* Train dataset: [videophysics/videophy2\_train](https://huggingface.co/datasets/videophysics/videophy2_train)
* AutoEval weights: [videophysics/videophy\_2\_auto](https://huggingface.co/videophysics/videophy_2_auto)
* 仓内 runner: `worldfoundry/evaluation/tasks/execution/runners/videophy2/run_videophy2_official_runner.py`

## 评测协议 [#评测协议]

WorldFoundry 使用仓内 prompt manifest：`worldfoundry/data/benchmarks/assets/videophy2/prompts.json`。这个文件包含复现 VideoPhy-2 test protocol 需要的 200 个 prompt ID、caption 和 physical-rule metadata。

每个候选模型需要为每条 prompt 生成一个视频。期望文件名是：

```text
<prompt_id>.mp4
```

完整官方套件下，生成产物目录应包含 `1.mp4` 到 `200.mp4`。

主指标是 `videophy2_average`。

| Metric                         | 含义                                                                |
| ------------------------------ | ----------------------------------------------------------------- |
| `semantic_adherence`           | 1-5 分平均值：视频是否呈现了 prompt 要求的动作、物体和场景。                              |
| `physical_commonsense`         | 1-5 分平均值：动作和材料交互是否符合物理常识。                                         |
| `joint_score`                  | semantic adherence 和 physical commonsense 同时至少达到 4/5 的 prompt 比例。 |
| `rule_classification_accuracy` | 对列出的物理规则是否被遵守或违反进行分类的准确率。                                         |
| `videophy2_average`            | WorldFoundry scorecard 使用的主聚合指标。                                  |

官方 AutoEval 内部会跑三个任务：`sa` 评估语义对齐，`pc` 评估物理常识，`rule` 评估物理规则 grounding。

## 数据与权重准备 [#数据与权重准备]

prompt manifest 已经在仓内：

```bash
cd "$WORLDFOUNDRY_REPO_ROOT"
export WORLDFOUNDRY_VIDEOPHY2_PROMPT_MANIFEST="$PWD/worldfoundry/data/benchmarks/assets/videophy2/prompts.json"
```

通过 Hugging Face 下载 AutoEval checkpoint：

```bash
export WORLDFOUNDRY_VIDEOPHY2_AUTOEVAL_CKPT=/path/to/checkpoints/videophy_2_auto
hf download videophysics/videophy_2_auto \
  --local-dir "${WORLDFOUNDRY_VIDEOPHY2_AUTOEVAL_CKPT}"
```

如果你需要对照官方发布的 test assets 或 annotations，可以单独下载 dataset：

```bash
hf download videophysics/videophy2_test \
  --repo-type dataset \
  --local-dir /path/to/datasets/videophy2_test
```

复现 benchmark 不需要训练 AutoEval。官方 training dataset 是公开的，但 WorldFoundry 只集成了评分所需的 AutoEval inference runtime。如果你自己重新训练或微调 evaluator，把产出的 checkpoint 目录通过 `--autoeval-checkpoint` 传入即可。

## 生成候选视频 [#生成候选视频]

使用候选 text-to-video 模型跑 `WORLDFOUNDRY_VIDEOPHY2_PROMPT_MANIFEST` 里的 200 条 prompts，然后按官方命名写到同一个目录：

```text
/path/to/videophy2/generated_videos/
  1.mp4
  2.mp4
  ...
  200.mp4
```

评分前设置生成产物目录：

```bash
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/videophy2/generated_videos
```

候选模型的训练和推理是 model-specific 的。对于 WorldFoundry 已集成的生成模型，使用对应 synthesis 页面或 package entrypoint，然后把每个 prompt ID 的最终视频复制或导出到上面的 layout。

## 运行 AutoEval 评分 [#运行-autoeval-评分]

运行仓内 VideoPhy-2 AutoEval 链路：

```bash
cd "$WORLDFOUNDRY_REPO_ROOT"

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/videophy2/run_videophy2_official_runner.py \
  --run-official \
  --prompt-manifest "${WORLDFOUNDRY_VIDEOPHY2_PROMPT_MANIFEST}" \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --autoeval-checkpoint "${WORLDFOUNDRY_VIDEOPHY2_AUTOEVAL_CKPT}" \
  --batch-size "${WORLDFOUNDRY_VIDEOPHY2_BATCH_SIZE:-1}" \
  --num-frames "${WORLDFOUNDRY_VIDEOPHY2_NUM_FRAMES:-32}" \
  --output-dir tmp/videophy2/official-run \
  --strict \
  --json
```

复现 leaderboard 时保留 `--strict`，这样缺少 200 个预期视频会直接失败。部分 research run 可以去掉 `--strict`；scorecard 仍会报告视频覆盖情况。

常用 runtime 变量：

```bash
export WORLDFOUNDRY_VIDEOPHY2_BATCH_SIZE=1
export WORLDFOUNDRY_VIDEOPHY2_NUM_FRAMES=32
export WORLDFOUNDRY_VIDEOPHY2_AUTOEVAL_PYTHON="${WORLDFOUNDRY_UNIFIED_PYTHON:-python}"
```

## 导入已有结果 [#导入已有结果]

如果 AutoEval 已经产出了 VideoPhy-2 结果文件，可以用同一个 runner 导入：

```bash
cd "$WORLDFOUNDRY_REPO_ROOT"

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/videophy2/run_videophy2_official_runner.py \
  --official-results-path /path/to/videophy2_results.json \
  --prompt-manifest "${WORLDFOUNDRY_VIDEOPHY2_PROMPT_MANIFEST}" \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/videophy2/imported \
  --json
```

也可以通过统一 benchmark 入口导入已有结果：

```bash
worldfoundry-eval zoo benchmark-run \
  --benchmark-id videophy2 \
  --mode official-validation \
  --official-results-path /path/to/videophy2_results.json \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/videophy2/official-validation \
  --json
```

## 输出文件 [#输出文件]

运行会写出：

* `scorecard.json`: WorldFoundry 统一 scorecard，包含 `semantic_adherence`、`physical_commonsense`、`joint_score`、`rule_classification_accuracy` 和 `videophy2_average`。
* `videophy2_results.json`: 使用 `--run-official` 时合并后的 AutoEval 逐 prompt 结果 JSON。
* `raw_metric_table.jsonl`: scorecard 使用的 metric rows。
* `per_sample_scores.jsonl`: 逐 prompt 的 SA/PC/joint/rule 结果。
* `videophy2_autoeval_inputs/`: 自动生成的 `sa`、`pc`、`rule` CSV 输入。
* `videophy2_autoeval_outputs/`: AutoEval 原始 CSV 输出。
* `logs/`: AutoEval stdout/stderr 日志。

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