ARDepth: Auto-regressive Monocular Depth Estimation with Progressive Visual Conditioning
作者:Zijie Wang, Wei Zhang, Weiming Zhang, Xiao Tan, Weikai Chen, Xiaoxu Li, Guanbin Li
单位:Sun Yat-sen University, Shenzhen Loop Area Institute, Baidu Inc., LightSpeed Studios (Tencent America), Lanzhou University of Technology
会议:2026 Arxiv(Under review)
链接:https://arxiv.org/abs/2607.12433
文中图表均引自原论文;该 arXiv 版本标注为 CC BY 4.0。
研究动机
当前零样本单目深度估计常借助扩散模型:把深度视为一张全局连续的场,经由多轮去噪逐步恢复。但真实几何并不总是平滑的——遮挡边界、细杆、表面相交处恰恰是离散且有层级的高频结构。作者认为,统一的全局去噪并没有显式表达“先有整体布局、再有表面与边界”的构造过程。
另一条路是视觉自回归(AR),但把完整深度图拉平成单一长序列的 Flat AR,能够捕捉物体的大致位置,却很难同时保留细小结构和清晰深度跃迁。ARDepth 的问题因此很直接:能否让深度图像场景几何本身那样,按空间尺度从粗到细被逐步构造出来?

图 1 给出三种视角的定性对照:Marigold 的迭代去噪、单阶段 Flat AR,以及本文的层级 AR。它可用于说明作者的动机,但没有提供 GT,不能单独作为边界精度的证据。
核心方法

ARDepth 以预训练的 VAR 为骨干,并把深度图 tokenizer 化为从低到高分辨率的残差序列 ${\mathbf r_1,\ldots,\mathbf r_K}$。粗尺度残差负责全局布局和主要表面,后续尺度只补充物体边缘、遮挡与细结构;第 $k$ 个尺度在已生成残差、图像条件和语义条件下预测:
训练阶段采用 teacher forcing 与 block-wise causal attention,监督目标是下一尺度残差;推理时则把已生成的残差立即回填为后续上下文,完成自回归的逐尺度解码。训练损失沿用 bit-wise classification,并使用 self-correction augmentation。
其中有两类专门为密集几何设计的条件。
- SPC(Scale-Progressive Conditioning):视觉 tokenizer 提取多层特征;当前尺度的中间残差作为 query,同时注意力读取该尺度匹配的局部特征和池化后的全局特征。局部特征服务于边界与细节,全局特征约束场景布局,避免把所有视觉线索压缩成单一全局 token。
- SAG(Semantic-Aware Guidance):Qwen2.5-VL-7B-Instruct 先根据 RGB 生成一两句紧凑的场景摘要,再与固定的“生成该 RGB 的深度图”指令拼接,经文本编码器投影为 start-of-sequence token。提示词刻意要求环境类型、主要物体及其整体排布,而不要求 VLM 给出数值距离或细粒度相对深度。

这一分工很关键:SAG 只提供全局语义先验,像素级几何仍由 SPC 的空间对齐视觉证据承担。后续消融也表明,越具体的“空间文字描述”反而会引入噪声。
数据集
训练数据有三种规模:
- 54K:仅使用 Hypersim;
- 74K(默认):54K Hypersim + 20K Virtual KITTI;
- 174K:在 74K 基础上额外加入 100K UrbanSyn、UnrealStereo4K、TartanAir、DDAD 与 SA-1B 样本。可靠标注直接使用;无深度或低质量标注样本则按 Depth Anything 系列范式生成伪标签。
零样本评测覆盖 NYUv2、KITTI、ETH3D、ScanNet 和 DIODE,采用 AbsRel(越低越好)与 $\delta_1$(越高越好);另在 DA-2K 的 1K 图像、2K 对相对深度标注上报告 pairwise ordering Accuracy。
值得注意的是,训练前深度按有效像素的 2% 与 98% 分位数线性归一到 $[-1,1]$。因此它解决的是相对/仿射不变深度问题,不应解读为已验证的米制绝对深度或相机标定泛化。
算力
模型从预训练 VAREdit-8B 初始化;SAG 所用 VLM 为 Qwen2.5-VL-7B-Instruct。训练使用 PyTorch、8 张 NVIDIA A800,约 60K iterations,batch size 4,初始学习率 $5\times10^{-5}$。论文未说明 batch size 是全局还是每卡,也没有报告训练墙钟时间或 FLOPs。
推理时使用 classifier-free guidance(scale 3)、logit temperature 0.5 和 KV cache;输入长边缩放到 1024,短边 padding 到 1024,输出再缩回原分辨率。

1024 的 AR 分辨率相较 512 将 NYUv2 的 AbsRel 从 5.3 降至 4.8、DA-2K Accuracy 从 89.6% 提至 95.8%,说明更细的生成阶段有明显收益,但也意味着更长的顺序解码。

单张 A800 上,ARDepth-2B 约为 0.7 s / 8 GB,ARDepth-8B 约为 3.4 s / 24 GB(stage-wise decoding)。表中没有给出 Marigold 的时延或显存,不能据此宣称它比扩散方法更快或更省。
实验结果

主表按论文给出的数值为 AbsRel×100 与 $\delta_1$%。在同为 74K 深度训练样本的设定下,ARDepth 在 NYUv2 / KITTI / ETH3D / ScanNet / DIODE 上的 AbsRel 分别为 4.8 / 8.4 / 4.9 / 5.0 / 6.9;Marigold 对应为 5.5 / 9.9 / 6.5 / 6.4 / 10.0。扩展到 174K 后,五项 AbsRel 分别进一步到 4.5 / 7.7 / 4.7 / 4.8 / 6.5。不过表中各范式仍有不同的预训练来源、数据规模与协议,粗体也只是范式内最优,不能把它概括为无条件 SOTA。

在 DA-2K 的相对深度排序上,54K / 74K / 174K 分别达到 95.1% / 95.8% / 96.7%;74K 已超过 DA2-ViT-S 的 95.3%,但仍低于大模型 DA2-ViT-G 的 97.4%。

在与 DAR 相同的 NYUv2 域内协议上,ARDepth-2B 与 8B 的 AbsRel 分别为 3.9 和 3.5,优于 DAR 的 4.4。这补充说明它的收益并非仅来自零样本表格的横向比较。

图 4 中,作者展示 ARDepth 对物体边界、百叶窗、细杆和层次表面的视觉保留更清楚;这与主表趋势一致,但同样是无 GT 的定性材料,应作为辅助证据。
关键消融

去掉 SPC 后,NYUv2 / KITTI 变为 6.0 / 9.5 AbsRel;完整 SPC 为 4.8 / 8.4。仅保留局部多尺度特征的 “No Global Context” 已优于只保留全局特征,说明空间对齐的局部信息是主要增益来源;同时,直接相加特征不如注意力融合。

SAG Text 将 NYUv2 / KITTI 提升至 4.8 / 8.4;Blank Text 为 5.3 / 8.9。更详细的 SAG Spatial Text 却略退到 4.9 / 8.6,支持“文本负责全局结构正则、局部几何交给视觉条件”的设计。


Flat AR 在 NYUv2 / KITTI 的 AbsRel 为 23.9 / 25.6,而层级 AR 为 4.8 / 8.4。这个差距直观地支持粗到细分解,不过 Flat AR 固定为 512×512、1024 token,而默认层级模型生成到 1024,因此这不是只改变“是否层级化”的完全纯净对照。
优势与不足
优势
- 把深度预测的“全局布局—局部修正”结构直接写进生成顺序,层级残差比平铺长序列更贴合边界与遮挡的尺度差异。
- SPC 将局部细节和全局约束按生成阶段对齐;SAG 让语言承担它更擅长的场景级语义,而不让语言替代几何测量。
- 54K、74K、174K 都有结果,且数据扩张在五个零样本数据集与 DA-2K 上持续带来收益,展示了可扩展性。
不足
- 8B 顺序自回归仍然昂贵:单张约 3.4 秒、24 GB A800 显存,不属于实时或轻量部署方案。
- 训练目标经过分位数归一化,论文本质上验证相对深度;绝对尺度、米制深度和相机变化的能力仍未被该实验覆盖。
- SAG 依赖现成 VLM 的场景描述;作者也观察到更细的空间文本会带来噪声。伪标签教师、各数据来源占比及评测对齐细节也没有完全展开。
- 论文仍在 under review,arXiv 页面未列出可确认的官方代码;实验只覆盖单图,没有视频时序一致性、动态场景或多视角重建验证。
记忆点
- 把深度看成“按尺度生成的残差程序”,而不是一张等待整体去噪的平滑场。
- 文本条件最适合做场景级先验:告诉模型“这是怎样的布局”,不要让它凭语言编造像素级距离。
- 密集预测的条件不应只有一个全局 token;生成到哪个尺度,就提供哪个尺度的视觉证据。
- AR 的优势不仅取决于参数量,还取决于如何分解序列:从 512 到 1024 的结果表明细粒度阶段本身很重要。












