EWMBench

已接入

EWMBench — WorldFoundry 实用配置、指标与命令。

本页内容

简介

EWMBench 评估具身世界模型视频的场景稳定性、机器人运动正确性、语义对齐和生成多样性。它适合用于判断模型是否保留任务相关状态,而不仅是生成看起来合理的画面。

评测什么

EWMBench 评估具身世界模型视频的场景一致性、机器人运动正确性、语义对齐和生成多样性。它从 AgiBot World 操作 episode 采样,关注生成 rollout 是否保留任务相关状态,而不只是画面是否合理。

Benchmark 设计

指标族检查内容上游依据
Scene consistencyDINO 驱动的帧/块布局稳定性具身场景外观随时间是否稳定
Motion correctness末端执行器轨迹与 ground truth 对齐官方 scorer 的 trajectory_consistency
Semantic alignmentcaption + VLM + CLIP 的任务/事件对齐指令与事件是否正确
Diversity同初始状态+指令下的重复生成差异生成多样性

官方数据集约 4,644 行(~270 MB),来自 AgiBot World 采样。评测要求预处理后的 gt_dataset/*_dataset/ 帧目录,以及轨迹和 gripper-detection 输出。

官方参考

Leaderboard 说明

官方 leaderboard 声明需要完整 Hugging Face 数据集、EWMBench 风格预处理、DINOv2/YOLO-World/Qwen/CLIP checkpoint,以及与上游兼容的 ewmbm_final_table.csv。WorldFoundry 默认 direct scorer backend 是确定性接线占位;只有在资产齐备后才应设置 WORLDFOUNDRY_EWMBENCH_SCORER_BACKEND=official

数据、Checkpoint 与资产

如果只是导入已有结果,准备一个 EWMBench 结果表:

  • ewmbm_final_table.csv,或带 EWMBench 指标字段的 JSON/CSV summary。
  • 如需在 scorecard 中记录覆盖信息,把生成视频放到 WORLDFOUNDRY_GENERATED_ARTIFACT_DIR

如果要完整运行 EWMBench 评分,准备官方数据和指标模型:

  • Hugging Face 数据集:agibot-world/EWMBench
  • EWMBench 布局下的 ground-truth 数据:gt_dataset/task_*/episode_*/prompt/video/,处理后还应有 traj/gripper_detection/
  • 生成样本目录名需要以 _dataset 结尾,并包含 task_*/episode_*/<trial>/video/frame_*.jpg 以及处理后的轨迹和检测输出。
  • Qwen checkpoint:Qwen/Qwen2.5-VL-7B-Instruct
  • CLIP checkpoint:openai/clip-vit-base-patch16ViT-B-32.pt
  • agibot-world/EWMBench-model 中的 EWMBench 模型权重,包括 fine-tuned DINOv2 与 YOLO-World。
  • worldfoundry/data/benchmarks/assets/ewmbench/config.template.yaml 匹配的配置文件,填好 data.gt_pathdata.val_basesave_pathckpt 路径。

WorldFoundry 还带有小型任务 manifest:worldfoundry/data/benchmarks/assets/ewmbench/task_manifest.json。它适合用于命令接线和覆盖检查,但不是完整 benchmark 数据集。

建议固定这些路径:

export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/ewmbench/generated-videos
export WORLDFOUNDRY_EWMBENCH_RESULTS_PATH=/path/to/ewmbm_final_table.csv
export WORLDFOUNDRY_EWMBENCH_CONFIG_PATH=/path/to/ewmbench/config.yaml

生成产物布局

成功运行后,所选输出目录下会写入以下稳定产物:

<output-dir>/
  scorecard.json
  raw_metric_table.jsonl
  per_sample_scores.jsonl
  ewmbench_results.csv              # 直接评分路径
  runner_runtime_report.json        # public CLI 路径

scorecard.json 是聚合结果,raw_metric_table.jsonl 是指标级行。per_sample_scores.jsonl 会在可用时映射 EWMBench 表中的行。

运行命令

Public CLI:导入 EWMBench 结果

已有 ewmbm_final_table.csv 或其他受支持的结果导出时使用:

worldfoundry-eval zoo benchmark-run \
  --benchmark-id ewmbench \
  --mode official-validation \
  --official-results-path "${WORLDFOUNDRY_EWMBENCH_RESULTS_PATH}" \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/ewmbench/official-validation \
  --json

直接 runner:导入 EWMBench 结果

该命令直接调用仓内 runner 脚本,并接受同一个结果表。

PYTHONPATH=. ${WORLDFOUNDRY_UNIFIED_PYTHON:-python} \
  worldfoundry/evaluation/tasks/execution/runners/ewmbench/run_ewmbench_official_runner.py \
  --official-results-path "${WORLDFOUNDRY_EWMBENCH_RESULTS_PATH}" \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/ewmbench/direct-import \
  --json

直接 runner:执行内置 EWMBench scorer 路径

直接 scorer 默认 backend 是 mock;它会写出确定性的占位 CSV 分数,用于 CI 和命令接线检查。只有在数据集、预处理、配置和 checkpoint 都准备好后,才使用 official

export WORLDFOUNDRY_EWMBENCH_SCORER_BACKEND=official

PYTHONPATH=. ${WORLDFOUNDRY_UNIFIED_PYTHON:-python} \
  worldfoundry/evaluation/tasks/execution/runners/ewmbench/run_ewmbench_official_runner.py \
  --run-official \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --config-path "${WORLDFOUNDRY_EWMBENCH_CONFIG_PATH}" \
  --output-dir tmp/ewmbench/direct-run \
  --json

指标

Metric ID含义越高越好
scene_consistency基于 DINO 的帧间/patch 一致性,衡量具身场景布局与外观是否随时间稳定。
motion_correctness运动正确性,由 EWMBench trajectory_consistency 映射而来,用于评估机器人或末端执行器轨迹是否符合预期。
semantic_alignment任务和事件语义对齐;由 scorer 生成时可包含 caption/VLM 与 CLIP 风格证据。
diversity同一初始状态和指令下多次生成结果的多样性。
ewmbench_average对 scene、motion、semantic、diversity 分量求平均,是 WorldFoundry 主指标。

Runtime 说明

EWMBench 复用仓内组件。Scene consistency 调用 worldfoundry/base_models/perception_core/general_perception/dinov2,并使用随 runtime 打包的 worldfoundry/evaluation/tasks/execution/runners/ewmbench/runtime/ewmbench/dino_config.yaml。 只有需要覆盖主 EWMBench runtime config 时才设置 WORLDFOUNDRY_EWMBENCH_CONFIG_PATHjson_repairfastdtw 都是可选依赖: 缺少 json_repair 时使用标准库 json 解析严格 JSON;缺少 fastdtw 时使用 确定性的 NumPy DTW fallback。

局限

  • 内置任务 manifest 刻意保持很小。完整覆盖请使用 Hugging Face 数据集。
  • 默认直接 scorer backend 不是 leaderboard scorer;它是本地命令接线检查用的确定性占位评分。
  • official backend 需要 config.yaml 中已经指向 EWMBench 风格的预处理目录和 checkpoint 路径。它不会把任意平铺视频转换为完整 EWMBench 数据布局。
  • Public CLI 路径导入已有结果行。只有生成视频不会产生 EWMBench 指标。
  • 等价 leaderboard 的结论需要完整数据集、预处理、DINOv2、YOLO-World、Qwen、CLIP checkpoint,以及与上游兼容的结果表。

← 返回 Benchmark Hub