3DHarnessBench
收藏资源简介:
3DHarnessBench是一个基准测试,用于评估前沿视觉语言模型(VLM)从多种输入(如单视角图像、多视角图像、主动视觉探索和完整3D交互)中恢复3D几何结构并生成Blender Python代码的代理能力。该基准测试包含100个实例,并提供了四种逐步增强的代理设置,以测试模型的视觉感知、主动推理、工具调用和自我纠正能力。
3DHarnessBench is a benchmark designed to evaluate the agentic capabilities of state-of-the-art vision-language models (VLMs) in recovering 3D geometric structures and generating Blender Python code from diverse inputs, including single-view images, multi-view images, active visual exploration, and full 3D interactions. This benchmark comprises 100 instances and provides four stepwise enhanced agentic setups to test the models' abilities in visual perception, active reasoning, tool invocation, and self-correction.
3DHarnessBench 数据集概述
基本信息
- 数据集名称:3DHarnessBench
- 数据集地址:https://github.com/llada60/3DHarnessBench
- 项目主页:https://llada60.github.io/3DHarnessBench/
- 论文地址:https://arxiv.org/abs/2609.06535
- Benchmark 下载地址:https://huggingface.co/datasets/lingada/3DHarnessBench
数据集简介
3DHarnessBench 是一个用于评估前沿视觉语言模型(VLM)智能体能力的基准,任务是将多种输入恢复为 Blender Python 代码形式的 3D 几何。与以往使用固定输入(如单张渲染图或文本描述)的框架不同,3DHarnessBench 评估四种独立的 harness 设置,逐步启用主动式智能体探索,由 Blender MCP 功能支持。
四级递进设置包括:
- Single-view(单视图)
- Multi-view(多视图)
- Active Visual(主动视觉,任意视点访问)
- Full 3D Interaction(完整 3D 交互,通过 Blender 函数调用完整访问目标对象)
该层级体系考察模型在视觉感知、主动推理、工具调用和自我纠正方面的能力。观察结果表明,随着函数调用访问权限的丰富,所有前沿模型恢复 3D 几何的能力显著提升,但提升幅度高度依赖模型,揭示出智能体 3D-to-Code 能力分布极不均衡。
数据集规模与内容
- 完整基准包含 100 个实例。
- 每个实例包含带纹理/灰色的 GLB 文件及参考渲染图。
项目结构
text . ├── scripts/ # 四个基准入口点 │ ├── Single-view/run.py │ ├── Multi-view/run.py │ ├── ActiveVisual/run.py │ └── Full3DInteraction/run.py ├── evaluation/ │ ├── evaluate.py # 统一评估入口 │ ├── core/ # 渲染与 GLB 导出 │ └── metrics/ # Usage、Chamfer、图像与 Uni3D 指标 ├── raw_agents/ # 共享 runner 与图像智能体适配器 ├── cli_agents/ # MCP 智能体适配器与检查点 ├── BlenderMCP/ # Blender MCP 服务 ├── prompting/ # 图像重建提示词 ├── skills/ # MCP 重建指令 ├── packages/ # 本地 VirtualGL Pixi 包配方 ├── tests/ # 轻量级离线单元测试 ├── data/benchmark/ # 下载的基准实例 ├── outputs/ # 生成结果与指标 ├── teaser.png # 论文总览图 ├── .env.example # Blender 路径与 API-key 模板 ├── pyproject.toml # Pixi 依赖与命令 ├── pixi.lock # 锁定的依赖版本 ├── INSTALL.md # Linux 安装说明 ├── CONTRIBUTING.md # 贡献与本地检查工作流 └── LICENSING.md # GPL、CC BY 与捆绑 MIT 边界
环境与安装
- 目标平台:Linux x86-64 + NVIDIA GPU
- 需要安装 Pixi、Blender 5.1.2 及智能体 CLI,配置
.env,并准备评估权重。 - ActiveVisual 与 Full3DInteraction 使用 Xvfb。
- 命令需在仓库根目录(
3DHarnessBench/)运行,所有入口点自动加载.env,导出的 shell 变量优先。 - 安装需参考 INSTALL.md。
数据集下载
从 Hugging Face 下载 3DHarnessBench,将实例目录放置在 data/benchmark/ 下,遵循 data layout(参见 data/benchmark/README.md)。
支持的模型(Agent)
gpt-6-astra、gpt-5-6-sol、kimi-k3、opus-5、fable-5、qwen3-8-max-preview、gemini3-1-pro、minimax-m3
运行方式
Single-view 与 Multi-view
- Single-view 默认使用一张参考图像(
Image_005.png);Multi-view 使用四张基准参考图像。 - 两者生成 Python 代码并渲染,随后进行指定轮数的编辑。
关键参数:
--agent:运行的智能体。--data-path:基准目录,默认data/benchmark。--output-dir:输出基目录,默认outputs。--texture-renders:使用彩色参考(True,默认)或灰色参考(False)。--iterations:初始生成之后的编辑轮数,默认 3;设为 0 则仅生成。--num-parallel:并发实例数,默认 8。- 可添加
--tasks VaseFactory选择实例,--limit 5选择前五个,--dry-run检查输入而不调用模型。 - 完整数据集应显示
Tasks: 100。
ActiveVisual 与 Full3DInteraction
- ActiveVisual:智能体检查受限的参考 Blender,并在单独的可编辑 Blender 中构建。
- Full3DInteraction:提供对包含参考对象的一个 Blender 的完整 MCP 访问。
关键参数:
--texture-renders:加载带纹理参考 GLB(True,默认)或其灰色版本(False)。--num-parallel:并发实例数,默认 4。--timeout:每次 CLI 尝试的秒数,默认 9600,非总运行限制。--max-retries:超时后同会话重连次数,默认 5;Qwen/MiniMax 也使用该预算进行会话续接。- 这些模式为交互式,没有
--iterations参数。
评估
评估需使用与生成相同的设置、智能体、输出目录和纹理选择。
关键参数:
--setting:必填;Single-view、Multi-view、ActiveVisual或Full3DInteraction。--agent:必填。--device:模型推理设备,默认cuda。--batch-size:图像编码器批大小,默认 16。--num-parallel:并发 Blender 准备任务数;默认 1 个渲染 worker 和 4 个 GLB worker。--tasks VaseFactory:评估子集。--overwrite-metrics、--overwrite-artifacts:覆盖已有指标/产物。- 无 DINOv3 访问时可使用
--image-encoders siglip2 dinov2运行部分编码器评估;Uni3D 仍会运行。
评估计算的指标包括:Usage、Chamfer、图像相似度(SigLIP2、DINOv2、DINOv3)以及 Uni3D。
结果输出
生成的脚本与渲染保存在:
text outputs/<setting>/<w_texture|wo_texture>/<agent>/<instance>/
评估写入智能体的 _metrics/ 目录:
evaluation_run.json:阶段状态与已评估实例名称/数量。final_metrics.json:聚合分数。- 逐指标 JSON 文件:详细分数与覆盖率。
需检查 status 与 n_instances;评估会跳过未完成的图像迭代,成功不代表所有 100 个实例均被评估。
许可证
- 项目软件:GPL-3.0-only
- 原始文档、独立提示词模板、skills、项目图像及 3DHarnessBench 内容:CC BY 4.0,署名
llada60 - 捆绑的 BlenderMCP 衍生代码:MIT
- 第三方模型、权重和下载依赖保留其自身条款;基准资产、输出、模型缓存和本地
.env不纳入 Git。




