iWorld-Bench

已接入

面向 action control、camera following、memory 与生成视频质量的交互式世界模型 benchmark。

本页内容

简介

iWorld-Bench 把 camera-controllable video generation model 当作 interactive world model 来评测。它不是通用视频美学 benchmark:模型不仅要生成好看的视频,还要响应 action 或 camera control,并在回到同一位置时保持场景记忆。

官方 release 提供 evaluation code、packaged metadata、camera trajectory resources、first-frame assets 和 reference inference adapters。WorldFoundry 已把评测代码集成在仓内:worldfoundry/evaluation/tasks/execution/runners/iworldbench/,因此 WorldFoundry 测评不需要额外准备官方源码 checkout。

Benchmark 设计

任务类型说明任务数
Action control D=1静止 + 9 个基础平移/旋转动作1,000
Action control D=2二自由度组合动作1,000
Action control D=3三自由度组合动作1,000
Action control D=4四自由度复杂动作1,000
Memory ability需要 loop-closure 记忆的循环 reciprocal path200
Camera following基于 camera parameter 文件的轨迹跟随700

项目从 330K video clips 筛选到 2.1K 高质量样本,并通过统一动作接口 Ct = [D, T, R, V](difficulty、translation ID、rotation ID、validity)生成 4.9K 测试任务。

官方参考

需要准备什么

数据集

下载 packaged metadata、first-frame assets 和 camera-following metadata:

export WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT=/path/to/datasets/iWorld-Bench-Dataset

hf download EmbodiedCity/iWorld-Bench-Dataset \
  --repo-type dataset \
  --include "dataset/all_pack/**" \
  --local-dir "${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}"

期望目录:

${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}/
`-- dataset/all_pack/
    |-- metadata.csv
    |-- camera_following_metadata.csv
    `-- assets/

metadata.csv 用于 Diff/action-control 和 Mem/memory 任务。camera_following_metadata.csv 只用于 trajectory-input 模型。

生成视频

先用你要评测的模型生成视频,再运行 scorer。可以使用 WorldFoundry 模型、API batch job 或自己的 runner,只要输出视频能和 iWorld-Bench metadata 行对应即可。

建议每个 track 一个目录:

/path/to/iworld/generated/
|-- action_control/
|   |-- <prompt_id>.mp4
|   `-- ...
|-- memory_ability/
|   |-- <prompt_id>.mp4
|   `-- ...
`-- camera_following/
    |-- <prompt_id>.mp4
    `-- ...

视频文件 stem 应该匹配 metadata 中的 prompt_id / sample id。如果你的生成器使用 CSV 里的其他 official video name,就保留该文件名,并在评测时传同一份 metadata 文件。

Metric 资产

仓内 runtime 会复用 WorldFoundry 的 VBench 和 VIPe 相关代码路径。真实打分时显式设置 official backend,并把 VIPe 指向仓内 base-model package 或兼容的本地 package:

export WORLDFOUNDRY_IWORLD_BENCH_RUNTIME_BACKEND=official
export VIPE_ROOT="${VIPE_ROOT:-$PWD/worldfoundry/base_models/three_dimensions/general_3d/vipe}"
export CUDA_VISIBLE_DEVICES="${CUDA_VISIBLE_DEVICES:-0}"

不要用默认 mock backend 报告结果。它只用于本地链路联通,不是可报告分数。

指标

Metric分组含义
image_qualityGeneration quality基于 VBench/MUSIQ 的帧级质量。
brightness_consistencyGeneration quality视频亮度的时序稳定性。
color_temperature_constraintGeneration quality色相与白平衡是否稳定。
sharpness_retentionGeneration quality细节保持,避免模糊和高频伪影。
motion_smoothnessTrajectory following基于 VBench 的运动平滑性。
trajectory_accuracyTrajectory followingVIPe 估计 camera path 与指令是否一致。
trajectory_toleranceTrajectory following相对 reference trajectory NPZ 的鲁棒性。
memory_symmetryMemory ability往返路径中的 loop-closure 一致性。
trajectory_alignmentMemory abilityMemory task 中双向 camera trajectory 的一致性。
iworldbench_averageAggregate可用官方组件指标的平均值。

复现 Leaderboard 形态的评测

对每个官方 track 分别评测对应生成视频。direct runner 是最清楚的入口,因为它同时暴露 task split 和 metric selector。

Action Control / Diff

export WORLDFOUNDRY_IWORLD_BENCH_ACTION_DIR=/path/to/iworld/generated/action_control

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/iworldbench/run_iworldbench_official_runner.py \
  --run-official \
  --generated-videos-dir "${WORLDFOUNDRY_IWORLD_BENCH_ACTION_DIR}" \
  --prompt-manifest "${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}/dataset/all_pack/metadata.csv" \
  --split diff \
  --metric action_control \
  --output-dir tmp/iworld-bench/action-control \
  --json

Memory Ability / Mem

export WORLDFOUNDRY_IWORLD_BENCH_MEMORY_DIR=/path/to/iworld/generated/memory_ability

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/iworldbench/run_iworldbench_official_runner.py \
  --run-official \
  --generated-videos-dir "${WORLDFOUNDRY_IWORLD_BENCH_MEMORY_DIR}" \
  --prompt-manifest "${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}/dataset/all_pack/metadata.csv" \
  --split mem \
  --metric memory_ability \
  --output-dir tmp/iworld-bench/memory-ability \
  --json

Camera Following

export WORLDFOUNDRY_IWORLD_BENCH_CAMERA_DIR=/path/to/iworld/generated/camera_following

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/iworldbench/run_iworldbench_official_runner.py \
  --run-official \
  --generated-videos-dir "${WORLDFOUNDRY_IWORLD_BENCH_CAMERA_DIR}" \
  --prompt-manifest "${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}/dataset/all_pack/camera_following_metadata.csv" \
  --split camera_following \
  --metric camera_following \
  --output-dir tmp/iworld-bench/camera-following \
  --json

如果要声明 public leaderboard 级别结果,需要保存每个 reported track 的生成视频、scorecard,以及各输出目录下的原始 reports/ CSV。

公开 CLI

公开 CLI 适合跑单个 track。请显式传环境覆盖,确保使用真实 evaluator:

worldfoundry-eval zoo benchmark-run \
  --benchmark-id iworld-bench \
  --mode official-run \
  --generated-artifact-dir "${WORLDFOUNDRY_IWORLD_BENCH_ACTION_DIR}" \
  --env WORLDFOUNDRY_IWORLD_BENCH_RUNTIME_BACKEND=official \
  --env WORLDFOUNDRY_IWORLD_BENCH_METRIC=action_control \
  --env WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT="${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}" \
  --output-dir tmp/iworld-bench/action-control-cli \
  --json

Memory 和 camera-following 需要显式 --split,因此建议使用 direct runner。公开 CLI 对部分 benchmark 有全局 --prompt-manifest 选项,但 iWorld-Bench 的 split 选择用 direct runner 更清楚,也更不容易传错。

导入已有结果

如果你已经有 iWorld-Bench report CSV 或 reports/ 目录,可以导入成 WorldFoundry scorecard:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/iworldbench/run_iworldbench_official_runner.py \
  --official-results-path /path/to/iworld/reports \
  --generated-videos-dir /path/to/iworld/generated/action_control \
  --prompt-manifest "${WORLDFOUNDRY_IWORLD_BENCH_DATASET_ROOT}/dataset/all_pack/metadata.csv" \
  --split diff \
  --output-dir tmp/iworld-bench/imported \
  --json

输出

每次运行会写出:

  • scorecard.json
  • raw_metric_table.jsonl
  • 执行 official backend 时的 upstream_command.json
  • 输出目录下的 upstream reports/*.csv

优先查看 scorecard.json。只有 requested split 视频覆盖完整,并且该 metric family 需要的资产都可用时,结果才适合和 public leaderboard 对比。

返回 Benchmark Hub