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》,旨在提供一个单一数值,反映模型在 扩展 世界和遵循相机路径方面的能力——这是现有视频质量基准所忽略的方面。
🚀 快速入门(高阶步骤)
- 克隆与配置 – 在
.env文件中设置WORLDSCORE_PATH、MODEL_PATH和DATA_PATH。 - 安装 – 创建 conda 环境(Python 3.10),运行
pip install -e .并安装大量依赖项(PyTorch 2.5、DROID‑SLAM、Grounding‑SAM、SAM‑2、VFIMamba 等)。 - 下载数据集 – 运行
python download.py从 HuggingFace 下载 WorldScore‑Dataset。 - 添加你的模型 –
- 编写一个小型 YAML 配置文件(
model_name.yaml),描述分辨率、生成类型(图像到视频 i2v 或文本到视频 t2v)、帧数、帧率等。 - 在
worldscore/benchmark/utils/modeltype.py中,将模型名称注册到相应的类别(threedgen、fourdgen、videogen)下。 - 在
world_generators/中实现一个 Python 类,暴露generate_video(prompt, image_path=None)方法,返回PIL.Image对象列表或[N,3,H,W]张量。
- 编写一个小型 YAML 配置文件(
- 生成视频 – 运行
python world_generators/generate_videos.py --model-name <your_model>(单 GPU)或使用 Slurm 包装器在多 GPU 集群上运行。 - 运行评估 – 生成完成后,执行
python worldscore/run_evaluate.py --model_name <your_model>(或 Slurm 变体)。该脚本使用预下载的 DROID‑SLAM、Grounding‑DINO、SAM 等检查点计算一系列度量(如深度一致性、对象追踪、接地质量)。 - 提交结果 – 生成
worldscore_output/worldscore.jsonJSON 文件。将其通过邮件发送至haoyiduan@princeton.edu,或上传视频供团队评估;排行榜将自动更新。
📊 基准测试衡量的内容
WorldScore 结合了 空间 和 时间 指标:
- 几何一致性 – 通过 DROID‑SLAM 姿态估计实现。
- 对象定位 – 使用 Grounding‑DINO 和 Segment-Anything(SAM / SAM‑2)。
- 时间连贯性 – 评估运动的平滑性和连续性。
- 提示遵循度 – 检查生成的世界是否遵循提供的相机路径和场景扩展指令。
具体的度量列表位于 worldscore/benchmark/metrics/,且可扩展;新模型可无缝接入同一管道,无需重写评估代码。
🏅 排行榜与社区
结果展示在 HuggingFace Space 上。团队可选择:
- 自行评估并提交 JSON 分数(推荐——即时更新),或
- 发送原始视频给作者进行人工评分。
仓库还包含对流行世界生成模型(如 WonderJourney、WonderWorld、CogVideoX、DynamiCrafter)的示例适配器,展示如何集成它们。
📦 快速参考(关键文件)
| 路径 | 用途 |
|---|---|
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