单目 3D 检测的深度瓶颈:让 VLM 不预测数值、只判投影对齐来修深度

RefineAny3D: Depth Refinement as Semantic Alignment for Monocular 3D Detection

Zhihao Zhang, Gengwei Zhang, Tianlong Chen, Xiaoming Liu

cs.CV

2026-08-10

单目 3D 检测里深度是主要瓶颈:换上最强深度基础模型反而让精度下降。RefineAny3D 把深度修正重述为图像空间的对齐问题,让 VLM 只输出离散的远近与步长动作 token 迭代修框,从不预测数值,作为后处理给三类检测器都带来稳定提升。

这篇在解决什么

单目 3D 检测(Mono3D)从单张 RGB 图估物体的 3D 位置,缺显式深度线索,深度成了精度的命门。开词表检测器靠深度基础模型(depth foundation model)补 3D 几何,泛化好,但作者发现一个反直觉的事实:把当前最强的深度基础模型换进一个强检测器,AP3D 在 Omni3D 上反而掉 3.68,比检测器自己的预测还差;换上真值深度却能涨 29.92。所以深度是瓶颈,但端到端把检测器或深度模型训得更准这条路收益有限。

方法

作者把修正物体深度独立出来当一个任务:给定图和任意来源(闭集检测器、开词表检测器、自动标注工具)的候选 3D 框,输出一个深度更准的框,其它属性不动。关键洞察是深度误差有直接的视觉特征:把候选 3D 框投影回图像,深度对的框紧贴物体,太远的框投得太小,太近的投得太大。于是深度修正从数值回归变成图像空间的对齐判断,正好是视觉语言模型(VLM)擅长的。

具体实现上,他们在 VLM 词表里加六个专用动作 token:三个方向(depthcloser、depthok、depthfarther)和三个幅度(stepsmall、stepmedium、steplarge)。幅度按物体自身尺寸(w+h+l 的均值)缩放,所以一小步对远处卡车和对近处杯子语义一致。推理时迭代进行:把当前框画成线框叠在图上,VLM 做思维链推理后吐出一对方向加幅度 token,更新深度,循环到吐出 depthok 或达到步数上限。整个过程中模型从不输出任何数值深度。

训练数据从 Omni3D 筛出约 33.5 万标注,对每个框沿相机光线扰动深度并配上思维链推理轨迹,共约 300 万样本。两阶段训练先冻住 VLM 只训六个 token 嵌入,再联合微调 LLM 主干,冻视觉编码器以保泛化。

结果

任务提升
闭集 MonoCoP(KITTI, Mod.)23.98 升到 27.47 AP3D
开词表 DetAny3D(Omni3D)+4.35 AP3D(34.38 升到 38.73)
自动标注 LabelAny3D+2.37(11.78 升到 14.15)
Refine3D 受控(方向准确率)89.2(标准)与 74.4(新类别)

为什么重要

这是个漂亮的问题重述案例:当端到端模型撞上数值回归的精度天花板,把残差问题搬到模型能用视觉推理的模态里去做,往往更管用。对做 3D 感知的人,RefineAny3D 是个不挑上游、跨类别、场景、相机都能用的通用后处理模块。它也提示更广的思路:与其逼 VLM 吐准数字,不如让它做它擅长的离散判断。

局限与存疑

收益集中在 Easy 和 Moderate,远处小物体(Hard)提升有限,因为深度误对齐的视觉特征在那上面更难读。迭代推理会增加延迟,每步要重新渲染线框并过一次 VLM,实时性敏感的场景要注意。训练数据来自 Omni3D 的扰动,真实噪声分布可能不同。论文没给出与其它深度细化或测试时搜索方法的直接对照。整体仍依赖一个 VLM 主干,端到端成本和部署体积需要评估。

术语

原文与代码

社区讨论

相关论文

全部论文解读