PhyEduVideo
PhyEduVideo 在 WorldFoundry 中的资产、runner、指标与限制。
官方参考
| 资源 | 链接 |
|---|---|
| 项目页 | meghamariamkm.github.io/phyeduvideo26 |
| 论文 | arXiv:2601.00943 |
| GitHub | github.com/meghamariamkm/PhyEduVideo |
| 仓内 runner | worldfoundry/evaluation/tasks/execution/runners/phyeduvideo/run_phyeduvideo_official_runner.py |
简介
PhyEduVideo 将 text-to-video 模型作为物理教育视频生成器来评估。源 README 将任务定位为 curriculum-aligned visual explanations:每个物理概念被拆成多个教学点,每个教学点都有用于生成解释性短片的 prompt。
WorldFoundry 已经在 worldfoundry/evaluation/tasks/execution/runners/phyeduvideo 中包含可运行的 PhyEduVideo 集成,并在 worldfoundry/data/benchmarks/assets/phyeduvideo 打包 prompt/rubric JSON。运行 WorldFoundry 时不要克隆上游仓库。若你选择运行外部 judge stack,可以下载 Hugging Face checkpoint;benchmark wrapper 代码仍使用仓内实现。
准备资产
- Prompt suite:
worldfoundry/data/benchmarks/assets/phyeduvideo/Prompts/Prompts.json包含 60 个概念和 205 个教学点 prompt。 - Rubric 文件:仓内打包
SA.json、PC-1.json、PC-2.json、PC-3.json和cap.json。 - 候选视频:将
WORLDFOUNDRY_GENERATED_ARTIFACT_DIR指向按 prompt ID 命名的生成视频。 - 已有结果导入:传入
--official-results-path或设置WORLDFOUNDRY_PHYEDUVIDEO_RESULTS_PATH。接受 CSV 和 JSON。 - Judge / checkpoint 资产:要与 README 的完整流程 parity,需要上游 InternVL / CLIP 或 VQA / video-quality judging stack。WorldFoundry 目前导入这些分数,不完整执行每个上游 judge。
生成产物布局
Prompt ID 形如 Id{concept_id}_{teaching_point_id}。生成产物目录应为扁平目录:
generated_videos/
Id1_1.mp4
Id1_2.mp4
...
phyeduvideo_results.csvWorldFoundry 会把集成模型输出物化到这一命名布局后再评分。覆盖率检查会用视频 stem 与 Prompts.json 中的 prompt ID 对齐。
用 WorldFoundry 运行
通过公开 CLI 导入已有 PhyEduVideo 结果文件:
worldfoundry-eval zoo benchmark-run \
--benchmark-id phyeduvideo \
--mode official-validation \
--official-results-path /path/to/phyeduvideo_results.csv \
--generated-artifact-dir /path/to/generated_videos \
--output-dir tmp/phyeduvideo/validation \
--json通过公开 CLI 运行仓内评分包装器。该路径需要通过 WORLDFOUNDRY_PHYEDUVIDEO_RESULTS_PATH 提供 CSV/JSON,或把结果文件放到生成产物目录下:
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/generated_videos
export WORLDFOUNDRY_PHYEDUVIDEO_RESULTS_PATH=/path/to/phyeduvideo_results.csv
worldfoundry-eval zoo benchmark-run \
--benchmark-id phyeduvideo \
--mode official-run \
--generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
--output-dir tmp/phyeduvideo/run \
--json直接调用仓内 runner:
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/generated_videos
export WORLDFOUNDRY_BENCHMARK_OUTPUT_DIR=tmp/phyeduvideo/direct
export WORLDFOUNDRY_PHYEDUVIDEO_RESULTS_PATH=/path/to/phyeduvideo_results.csv
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
worldfoundry/evaluation/tasks/execution/runners/phyeduvideo/run_phyeduvideo_official_runner.py \
--run-official \
--generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
--output-dir "${WORLDFOUNDRY_BENCHMARK_OUTPUT_DIR}" \
--json直接导入结果:
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
worldfoundry/evaluation/tasks/execution/runners/phyeduvideo/run_phyeduvideo_official_runner.py \
--official-results-path /path/to/phyeduvideo_results.csv \
--generated-artifact-dir /path/to/generated_videos \
--output-dir tmp/phyeduvideo/direct-validation \
--json指标
| Metric ID | 含义 |
|---|---|
semantic_adherence | 与教学点 prompt 及 rubric 中物体/动作要求的语义匹配。 |
physics_commonsense | PC-1/PC-2/PC-3 正确性的聚合,衡量视频是否表现目标物理概念。 |
motion_smoothness | 解释性视频运动平滑度。 |
temporal_flickering | 帧间稳定性;越高表示可见闪烁越少。 |
phyeduvideo_average | WorldFoundry 主指标。若没有显式 average,则取可用组件指标均值。 |
所有分数都是越高越好;源结果使用更大尺度时会归一化到 0..1。
输出
输出目录包含:
scorecard.json:运行状态、指标、prompt/video 覆盖率、所选 backend 与 leaderboard 有效性标记。raw_metric_table.jsonl:每个声明指标一行。per_sample_scores.jsonl:输入结果文件包含 sample-level 字段时写出的 concept/teaching-point 结果。phyeduvideo_results.csv或phyeduvideo_results.json:仓内包装器导入结果时复制出的结果文件。- 通过
worldfoundry-eval zoo benchmark-run调用时,还会写出specialized_normalizer_stdout.log与specialized_normalizer_stderr.log。
限制
- 仓内评分包装器目前导入已计算结果文件;它不会端到端运行完整 InternVL / CLIP / VQA judge stack。
- 完整 leaderboard parity 需要 205 个教学点的生成视频,以及语义、物理、运动与闪烁指标的上游 judge 输出。
- 打包的 prompt/rubric 资产足够用于请求物化和结果聚合,但不足以从原始视频重新计算每个上游指标。
- 除非完整 judge evidence 与全量 prompt 覆盖齐备,
leaderboard_valid会保持 false。