haoyi-duan/WorldScore

Official implementation for WorldScore: A Unified Evaluation Benchmark for World Generation

📚 什么是 WorldScore

WorldScore 是一个开源的 基准测试,用于评估 世界生成 模型——即从文本或图像生成 3D 场景、4D 空间-时间世界或视频的系统。它提供:

  • 精选数据集(WorldScore‑Dataset):初始场景和相机运动指令。
  • 参考实现:用于下载数据、使用任意模型生成视频,以及运行一系列空间-时间度量的代码。
  • 公开排行榜(托管在 HuggingFace 上):研究人员可以提交自己的分数。

该项目配合 ICCV‑2025 论文《WorldScore: A Unified Evaluation Benchmark for World Generation》,旨在提供一个单一数值,反映模型在 扩展 世界和遵循相机路径方面的能力——这是现有视频质量基准所忽略的方面。


🚀 快速入门(高阶步骤)

  1. 克隆与配置 – 在 .env 文件中设置 WORLDSCORE_PATHMODEL_PATHDATA_PATH
  2. 安装 – 创建 conda 环境(Python 3.10),运行 pip install -e . 并安装大量依赖项(PyTorch 2.5、DROID‑SLAM、Grounding‑SAM、SAM‑2、VFIMamba 等)。
  3. 下载数据集 – 运行 python download.py 从 HuggingFace 下载 WorldScore‑Dataset。
  4. 添加你的模型
    • 编写一个小型 YAML 配置文件(model_name.yaml),描述分辨率、生成类型(图像到视频 i2v 或文本到视频 t2v)、帧数、帧率等。
    • worldscore/benchmark/utils/modeltype.py 中,将模型名称注册到相应的类别(threedgenfourdgenvideogen)下。
    • world_generators/ 中实现一个 Python 类,暴露 generate_video(prompt, image_path=None) 方法,返回 PIL.Image 对象列表或 [N,3,H,W] 张量。
  5. 生成视频 – 运行 python world_generators/generate_videos.py --model-name <your_model>(单 GPU)或使用 Slurm 包装器在多 GPU 集群上运行。
  6. 运行评估 – 生成完成后,执行 python worldscore/run_evaluate.py --model_name <your_model>(或 Slurm 变体)。该脚本使用预下载的 DROID‑SLAM、Grounding‑DINO、SAM 等检查点计算一系列度量(如深度一致性、对象追踪、接地质量)。
  7. 提交结果 – 生成 worldscore_output/worldscore.json JSON 文件。将其通过邮件发送至 haoyiduan@princeton.edu,或上传视频供团队评估;排行榜将自动更新。

📊 基准测试衡量的内容

WorldScore 结合了 空间时间 指标:

  • 几何一致性 – 通过 DROID‑SLAM 姿态估计实现。
  • 对象定位 – 使用 Grounding‑DINO 和 Segment-Anything(SAM / SAM‑2)。
  • 时间连贯性 – 评估运动的平滑性和连续性。
  • 提示遵循度 – 检查生成的世界是否遵循提供的相机路径和场景扩展指令。

具体的度量列表位于 worldscore/benchmark/metrics/,且可扩展;新模型可无缝接入同一管道,无需重写评估代码。


🏅 排行榜与社区

结果展示在 HuggingFace Space 上。团队可选择:

  • 自行评估并提交 JSON 分数(推荐——即时更新),或
  • 发送原始视频给作者进行人工评分。

仓库还包含对流行世界生成模型(如 WonderJourneyWonderWorldCogVideoXDynamiCrafter)的示例适配器,展示如何集成它们。


📦 快速参考(关键文件)

路径 用途
download.py 从 HuggingFace 下载 WorldScore 数据集。
world_generators/ 模型适配器和视频生成脚本。
worldscore/run_evaluate.py 度量计算的主入口点。
worldscore/benchmark/metrics/ 各项评估度量的实现。
config/model_configs/ 新模型的 YAML 模板。
worldscore/benchmark/utils/modeltype.py 模型家族与名称的注册表。

📖 引用

@article{duan2025worldscore,
  title={WorldScore: A Unified Evaluation Benchmark for World Generation},
  author={Duan, Haoyi and Yu, Hong-Xing and Chen, Sirui and Fei-Fei, Li and Wu, Jiajun},
  journal={arXiv preprint arXiv:2504.00983},
  year={2025}
}

简而言之:WorldScore 为研究人员提供了一种开箱即用、可复现的方法,用于测试其生成模型在 构建导航 虚拟世界方面的表现,填补了传统视频质量基准所遗漏的空白。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch