SceneActBench:评估视觉智能体对 3D 场景执行动作能力的可执行基准 SceneActBench: Can Agents Act on the 3D Scenes They See?
首个评测 VLM 智能体在多物体 3D 场景上执行动作的可执行基准
前置知识
视觉-语言模型 (VLM) 智能体
能同时理解图像与文本、并通过调用外部工具或生成代码来对环境采取行动的多模态大模型。本文中智能体不直接输出文字答案,而是驱动无界面的 Blender 3D 软件,通过编写 Python 代码、读取场景信息、渲染画面来改写一个 3D 场景。
本文整个基准都建立在「智能体能否把视觉理解转化为可执行动作」这一设定上,不理解智能体的工具调用循环就无法理解评估流程。
MCP(Model Context Protocol)工具接口
一种让大模型通过标准化协议调用外部工具的接口规范。SceneActBench 为所有任务统一暴露四个 Blender 工具:get scene info、get object info、execute blender code、render scene view,从而保证不同模型在完全相同的接口下公平比较。
统一的 MCP 接口是「公平比较」的基石,也是理解为什么不同模型能力差异源于模型本身而非工具差异的关键。
GLB / 网格 / 物体变换 / 铰接关节
GLB 是 glTF 的二进制格式,把 3D 几何、材质、物体变换与动画打包进一个文件;网格是由顶点和面片组成的 3D 表面;物体变换指位置、旋转(绕竖直轴的旋转叫 yaw)和缩放;铰接物体含可动部件,关节(类型、轴、枢轴、行程)约束部件如何运动。
这五个任务的输入输出全部以 GLB/网格/变换/关节为载体,掌握这些术语才能看懂任务定义和评测指标。
几何匹配与对齐(Hungarian 匹配 + ICP + 表面距离)
ADD-S 是有向最近邻表面距离,用 Hungarian 匈牙利算法在预测物体与真值物体间做一一配对后取平均;ICP(迭代最近点)通过旋转平移把两组点云对齐;F-score 在某阈值下衡量预测点云与真值点云互相覆盖的比例。三者是 3D 几何评测的标准工具。
本文五个任务的主指标都建立在这些配对与对齐算法之上,不理解它们就无法解读得分含义。
隐藏真值 + 单次评测(hidden GT, single-shot scoring)
评测所用的真值 3D 数据对智能体完全不可见,智能体只能从参考图像重建场景;最终输出只被评测一次,评测器不给智能体任何反馈,智能体必须自己判断是否收敛。配合防泄漏处理(坐标归零、名字匿名化、关节数据保留),迫使智能体真正「看图重建」。
这是本文区别于以往开放式 3D 基准的核心设计,决定了结论「能描述≠能行动」的有效性。
研究动机
现有 3D 基准大多只评估最弱形式的 3D 理解——描述场景而非对场景采取行动。主流做法是针对扫描或渲染图打分文本答案,例如 ScanQA、SQA3D、Spatial457 只检验模型能否回答「椅子在哪」,却从不检验它能否摆一把椅子;SpatialVLM 和 BLINK 等探测也表明,流畅描述仍会漏掉空间判断。少数评估动作的基准(BlenderGym、3DCodeBench、GameDevBench、EmbodiedBench)各覆盖很窄的一块:单个物体的编辑、静态场景改动,或仅报告任务是否成功的二元信号。如表 1 所示,没有任何基准同时满足「几何打分 + 多物体范围 + 隐藏真值」。这意味着真实 3D 应用——机器人操作、AR 场景编辑、合成数据生成、数字孪生——所要求的多物体协调动作能力长期处于「评测真空」中。
本文的目标是论文要直接回答一个问题:「一个看得到场景的智能体,能否对一个 3D 环境采取行动来复现它?」具体而言,作者要构建一个可执行基准:给定 PNG 参考视图或采样视频帧、以及供应的 GLB 资产,VLM 智能体通过代码和工具驱动无界面 Blender,产出最终 3D 制品(布置好的场景、动画 GLB、6 自由度相机位姿),并被隐藏的真值几何评测一次。目标不是测流畅描述,而是测智能体的内部 3D 理解是否足以在五种不同能力——空间定位、自我中心空间推理、运动学推理、形状想象、动态推理——下产出几何正确、多物体的输出,且全部跑在同一个智能体–环境循环中,从而能诊断失败模式而非用一个聚合分数掩盖问题。
与已有工作不同的是,独特切入角度是「执行即评估」:与其问模型一个问题再字符串匹配答案,不如让智能体跑一遍固定的 inspect–act–render 循环,再测量其最终可执行输出的几何保真度。两个设计把它和已有工作区分开。第一,它是首个让同一个智能体在统一标准测试框架下、对一整个多物体场景跨五个异构任务操作的基准,而非一个基准只测一个任务。第二,每个资产都被激进地防泄漏处理——坐标归零到原点、yaw 中性化、尺寸按米归一化、名字匿名化、关节参数保留不给——迫使智能体只能从视觉证据重建一切。作者还在相同场景与真值上配对输入条件(单视图 vs 多视图 Layout;低多边形 vs 真实感 Dynamic),从而把「视觉输入差异」与「任务难度差异」干净地分离。
核心方法
直觉是:真正的 3D 理解应当能表现为正确的行动——如果智能体真懂沙发在哪,它就该能把沙发摆到那里。SceneActBench 把这点操作化为一个共享的智能体–环境循环(图 2)。每个任务给智能体喂入来自三个数据集之一的标准化 PNG 视图或采样视频帧,以及(视任务而定)匿名化的 GLB 资产。智能体通过共享 MCP 接口与无界面 Blender 通信,该接口恰好暴露四个工具——get scene info 与 get object info 用于检查、execute blender code 用于任意 Python、render scene view 用于视觉自查(Dynamic 额外有 read reference frames)。智能体先假设、再渲染、再与参考比对、再修订,直到自己停止或触及任务步数预算(Layout/Camera/Articulated/Reconstruction/Dynamic 分别为 30/30/60/35/80)。最终任务专属输出被隐藏的 3D 真值按任务专属几何指标评测一次;关键的是,评测器绝不把反馈传给智能体,收敛与否全靠智能体自判。
核心创新是把五个传统上相互独立的 3D 子问题统一成一套「动作–评测」协议。以往工作每个能力都配一套自造的数据集、测试框架和指标;SceneActBench 则在 Layout、Camera、Articulated、Reconstruction、Dynamic 五个任务上复用同一个 MCP 工具接口、同一个 inspect–act–render 循环、同一套隐藏真值评测哲学。第二大创新是防泄漏:原始 3D 资产天然把答案编进了坐标和节点名里,所以作者把每个网格中心移到原点、设中性 yaw、按标注的米制尺寸缩放、用匿名 ID 替换所有名字、保留全部关节数据不给——逼出真正的「看图重建」。第三大特色是诊断层:由于五个主指标单位互不兼容,作者用固定参考把每个原生指标映射到 0–100 分(误差用 $q^{\downarrow}(m;u)=100\max(0,1-m/u)$,F@5% 用 $q^{\uparrow}$),再给每个主指标配上「分母感知」的审计指标(可动召回率、误动率、关节类型/方向正确率、匹配率、覆盖率),这样两个主分相同的智能体仍能按失败位置被区分开。
方法步骤详情
流程分四阶段。(1) 数据收集:从 3D-FRONT(取与 M3DLayout 交集、含 3–7 个物体、跨 27 类的 100 间房)每间渲染 11 张带相机矩阵的标定 PNG;从 S2O ACD 选 100 个铰接物体,每个配 16fps 的 32 帧开合 MP4 及逐帧 GLB 真值;用 CC0 低多边形 Kenney 套件搭 10 个含 9 类运动的动态场景,每个 24fps 的 144 帧视频。(2) 后处理:所有资产中心化、yaw 中性化、按米缩放、匿名化;动态场景再过 NVIDIA Cosmos 生成同布局同运动的真实感参考。(3) 智能体执行:11 个专有 VLM 配置各用相同四个 MCP 工具和任务步数预算(30/30/60/35/80)跑完每个用例,产出物体位姿 GLB、JSON 6 自由度位姿、32 个 GLB 场景状态、布置好的场景 GLB 或动画 GLB。(4) 单次评测:Layout 用采样顶点经 Hungarian 匹配的 ADD-S;Camera 用 $\|\hat{c}-c\|_2$ 与 $\frac{180}{\pi}\arccos(\hat{d}^{\top}d)$;Articulated 用按开合度对齐后的 $\max\{\epsilon_i,(1-\kappa_i)g_i\}$;Reconstruction 用 ICP+DBSCAN+Hungarian 后的 F@5%;Dynamic 用全局平移校正后的 MME 与 LE。
技术新颖性
三处技术新颖性突出。第一,几何打分是「物体级匹配」而非「场景级全局」:ADD-S 与 F@5% 都先对采样顶点做 Hungarian 配对,把每个预测物体连到正确的真值物体再量距离,避免了「一团合并的团块靠全局 chamfer 距离占便宜」的退化情形。第二,Articulated 指标按开合度而非帧索引对齐预测帧与真值帧,并把复现运动比例 $\kappa_i$ 与几何误差 $\epsilon_i$ 拆开,于是「冻住的部件」会被罚它全部行程 $(1-0)\cdot g_i$ 而不被放过。第三,评测严格防泄漏且单次进行:智能体永远看不到评测器,无效输出直接得零分,所有归一化常数都公开,于是原生指标与聚合 Overall 并列。此外,在相同场景与真值上做配对输入条件(单/多视图、低多边形/真实感)是 3D 基准里少见的干净实验设计;Deterministic seed 0 的点采样、≤4000 顶点/网格、固定阈值也都写进了附录可复现。
实验结果
跨 11 个专有 VLM 配置,Overall 只在 38.6–50.2 之间,没有任何配置在所有任务上都强。Doubao Seed 2.0 Pro High 以 50.2 排第一,在 Layout(77.4)、Camera(34.5)、Dynamic(70.7)领先;Claude Opus 4.6 High(48.9)在 Articulated(63.7)领先;GPT 5.4 Medium(48.7)在 Reconstruction(10.4)领先;GPT 5.4 High 同为 48.7 赢三项任务却唯独 Dynamic 崩到 46.7。排名奖励「均衡」而非「赢任务」:5 万次自助抽样里 Doubao 有 64% 概率第一,Claude Opus 19%。输入条件上,多视图 Layout 帮了 9/11 配置(Sonnet +12.1),但真实感 Dynamic 褒贬不一(GPT 5.4 High +17.3、Sonnet −10.2)。最 striking 的是相近主分掩盖不同失败:Articulated 前三 MPE 聚在 0.375–0.404,但 Doubao 只动 13/391 个真值部件而 Claude Opus 动 255/391;Reconstruction 三者匹配 425–432/515 目标却只覆盖 24–44 个,F@5% 停在 0.088–0.104。任务平衡的交互量与 Overall 负相关($\rho=-0.68$):Doubao 只用 34.3% 预算、11.4 次调用就夺冠。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Overall 综合(五任务均值) | Overall score(0–100,越高越好) | Doubao Seed 2.0 Pro High 得 50.2,11 个配置跨度 38.6–50.2 | MiniMax M3 High 最低 38.6;Claude Sonnet 5 High 39.5 | 榜首与榜末相差 11.6 分,但三强仅差 1.5 分,说明头部拥挤、整体偏弱 |
| Layout 空间定位(单视图) | ADD-S(米,越低越好)→ 任务分 | GPT 5.4 High ADD-S 0.766 → 84.1 分(最高);Doubao 0.905 → 77.4 | Gemini 3.1 Pro 6.953 → 65.4;Sonnet 5 21.49 → 51.9 | 多视图条件下 GPT 5.4 High 升到 88.6、Sonnet 从 51.9 跳到 64.0(+12.1) |
| Articulated 运动学 | MPE 最大部件误差(米,越低越好) | GPT 5.4 High MPE 0.275 → 73.8(最高);Claude Opus 0.375 → 63.7 | Step 3.7 Flash 0.541 → 48.3;MiMo 2.5 0.636 → 49.8 | 前三 MPE 仅差 0.13,但动到的部件数从 Doubao 13/391 到 Claude Opus 255/391,差异巨大 |
| Reconstruction 形状想象 | F@5%(越高越好) | GPT 5.4 High 0.123 → 12.3(最高);GPT 5.4 Medium 0.104 → 10.4 | Gemini 0.071 → 7.1;全员仅 0.071–0.123 | 整体极低,所有配置都把家具简化为代理方块,覆盖率仅 24–64/515 |
| Dynamic 动态推理(低多边形) | MME/LE(越低越好)→ 任务分 | Doubao 0.471/0.150 → 70.7(最高);GPT 5.4 Medium 0.738/0.235 → 68.5 | MiniMax 0.755/0.426 → 41.4;Sonnet 1.000/1.330 → 49.9 | Doubao 靠 raceloop(+0.86)和 factory(+0.68)两个场景贡献了相对 Claude Opus 的 +1.34 Overall 领先 |
| Camera 自我中心空间推理 | PE(米)/AE(度) | Doubao 4.825/54.5 → 34.5;Claude Opus 4.980/51.6 → 34.0 | Step 7.191/78.8 → 13.2;GPT 5.4 High 5.748/51.1 → 26.4 | 所有配置 PE 都在 4.8–7.2 米、AE 都很大,是最难的任务之一,提升空间最大 |
局限与改进
作者明确承认若干限制。只测了专有 VLM 配置,每个配置–用例对只跑一遍完成,所以 Overall 分数不是重复运行的估计,没有方差条。Dynamic 任务只有 10 个场景,是定向压力测试而非广泛估计——事实上整体排名受两个动态场景(raceloop、factory)主导,二者合计给 Doubao 贡献 +1.54 Overall 领先,去掉后差距翻转为 −0.21。Overall 依赖手工选定的归一化常数(4 m、90°、1),属于设计选择;作者通过同时报告原生指标和任务分来缓解。尚未与任务专属 3D 流水线(ATISS、TRELLIS、COLMAP 等)比较。我自己的观察:缺少开源权重模型限制了社区参与;headline 用更难的单视图 Layout 和低多边形 Dynamic,会低估可达成的能力(多视图常加 8–12 分);Reconstruction F@5% 全员在 0.10 附近,说明该阈值可能已落在这些智能体的噪声底,区分度不足。
独立分析的弱点
若干弱点值得重视。(1) 统计脆弱性:每用例只跑一次、动态仅 10 场景,headline 排名对组成敏感——两个场景就把 Doubao–Claude 差距摆动 1.7 分;多次重复加更多场景才能稳定。(2) 缺专家对照:没和专用 3D 模型(布局生成器、图像转 3D 重建器、相机估计器)比较,所以无法判断通用 VLM 智能体是否真能赢过一个专家集成。(3) 指标标定:Reconstruction F@5% 全员停在 0.08–0.12,说明阈值可能太严而难以区分;应同时报 F@1% 或 F@10% 曲线。(4) Headline 用更难的单视图 Layout 和低多边形 Dynamic,可能低估成熟能力;主表已同时报两种条件,但单个 Overall 数字仍可能误导。(5) 交互量与性能的负相关($\rho=-0.68$)很诱人却只是描述性的;图 14 的预算实验是部分回答,但要断言「少交互更好」还需受控预算实验。每个弱点都指向明确改进方向:增场景、加重复、配专家基线、报阈值曲线、做受控预算消融。
未来方向
作者点了三个方向:扩展到更广更多样的场景、评测开源权重模型、加入更丰富的智能体交互,以及与任务专属 3D 流水线比较。在此基础上还有几条自然延伸。第一,把 Dynamic 从 10 场景扩到数百场景,使排名不再被两个场景左右。第二,每用例跑多轮以给 Overall 附置信区间,做正经的显著性检验。第三,加专家对通用对比,量化 VLM 智能体能否追上 TRELLIS、COLMAP 等专用模型。第四,步预算敏感度曲线(Overall 从 10 步到 150 步涨 12–28 分)暗示自适应预算或课程式设置可成为后续基准。第五,那套防泄漏配方(中心化、匿名化、关节保留)可复用,用来加固其他会通过坐标泄漏答案的 3D VQA 基准。最后,「失败阶段」诊断分类法可作为靶向微调任务的种子,例如专门训练「冻结部件恢复」或「轨迹方向」。
复现评估
复现性在数据和代码侧很强:作者发布了代码、项目主页和 Hugging Face 数据集。三个源数据集(3D-FRONT、S2O ACD、Kenney 套件)公开或 CC0 授权。全部评测规则、归一化常数、点采样种子(确定性 seed 0)、匹配阈值和无效输出处理都在附录 A.3 写死。共享 MCP 测试框架、四工具提示词都有描述,还有完整提示词附录。算力上评测很轻——只在 384×384 渲染、每网格 ≤4000 顶点——但智能体执行需要付费访问 11 个专有前沿 VLM API,这是独立复现的主要门槛:把 520 个用例在 11 个模型上全跑一遍很贵,且精确复现依赖各家 API 稳定性。每用例单跑 + 专有模型依赖意味着独立团队可对已发布的输出重新打分,却难复现完全相同的智能体轨迹。总体而言:打分和数据高度可复现;完整智能体运行复现中等偏难。
论文图表
把执行检查点在 10–150 步名义预算下重新打分。Overall 在两端涨 12.0–27.7 分;Camera 平均涨幅最大(51.3 分,跨配置 15.7–79.2);Articulated 几乎不变(−3.0 到 +6.1);Reconstruction 涨 2.7–8.8。配置排序随 MaxSteps 变化。
揭示预算敏感度既依赖配置又依赖任务,说明固定预算下排名不应被当作模型能力的终极判据。