← 返回 2026-05-18

解锁视觉语言模型中的稠密度量深度估计能力 Unlocking Dense Metric Depth Estimation in VLMs

Hanxun Yu, Xuan Qu, Yuxin Wang, Jianke Zhu, Lei ke 📅 2026-05-15 👍 14 2026-07-13 08:36
3D感知 DPT解码器 VLM 多模态融合 度量深度估计 统一基础模型

给VLM加个34M轻量深度头,单次前向同时输出稠密深度图与语言回复。

前置知识

视觉语言模型 VLM

由视觉编码器 $\mathcal{E}_v$ 将图像编码为 $N_v$ 个视觉 token,再由投影器 $\phi$ 映射到 LLM 嵌入空间,最终由自回归 $\mathcal{F}_{LLM}$ 联合消费图像与文本 token 生成文本。Qwen3-VL、InternVL3.5 等都属此类。

DepthVLM 的核心就是改造这种文本生成范式,让 VLM 额外输出稠密像素级几何,读者必须先理解 VLM 标准架构才能看懂它在哪里插入深度头。

度量深度估计 Metric Depth

从 RGB 逐像素预测绝对物理距离(米)。ZoeDepth、Metric3D、UniDepth、DepthAnything 系列都是代表性纯视觉模型,AR/VR 与自动驾驶都要用。

本文做的就是度量深度而非相对深度,且必须解决跨数据集相机内参不一致带来的尺度歧义,这是 focal length 归一化与 DepthVLM-Bench 的直接动机。

DPT 稠密预测解码器

Ranftl 等人提出的多尺度解码器:从 ViT 各层抽取特征,经 Reassemble + Fusion + RefineNet 构造自底向上金字塔,逐层上采样输出像素级预测。MiDaS/DepthAnything 都用此结构。

DepthVLM 的深度头就是 DPT 风格的轻量化改造,理解其多尺度特征融合机制才能体会作者为什么反过来把浅层 ViT 放在高分辨率位置。

焦距归一化 Focal-length Normalization

对不同相机图像用 isotropic bilinear resize 缩放到统一焦距 $f_c$ 消除跨域尺度歧义,$\tilde{I}=R_s(I),\tilde{D}=R_s(D)$,是 UniDepth 与 DepthLM 标准做法。

本文用 $f_c=1000$ 完成焦距归一化,并配合跨域训练语料把室内室外数据混合,可见这是模型在 9 个跨域基准上不掉点的关键技术。

SILog 损失

$\mathcal{L}_{SILog}=\frac{1}{|\Omega|}\sum d_i^2-\frac{\lambda}{|\Omega|^2}(\sum d_i)^2$,$d_i=\log\hat{D}_i-\log D_i^*$。MiDaS 提出的度量深度监督。

DepthVLM Stage-1 用 SILog 监督深度头,作者选择 $\lambda=0.5$ 是有意保留度量信息又不让单一数据集尺度主导训练。

研究动机

当前主流视觉语言模型如 Qwen3-VL-32B、InternVL3.5-38B、GPT-5.5 在度量深度估计任务上平均 $\delta_1$ 仅 0.21-0.41(GPT-5.5 也只有 0.407),室外驾驶场景更跌至 0.13 左右。原因在于它们都遵循 text-only supervision:视觉信号只作为输入出现,输出只能以自回归文本形式给出,这种范式根本无法表达像素级稠密几何。先前两类补救路径都有硬伤:第一类 SpaceLLaVA、SpatialRGPT、Cambrian-S 等空间增强 VLM 直接喂入点云/体素/深度图,但依赖昂贵 3D 传感器,仅室内可用,性能甚至不如常量基线($\delta_1=0.053-0.086$);第二类几何生成型 VLM 中,DepthLM-12B 通过 per-pixel query 逐像素询问,256×192 输入需要 13 小时的推理,且文本主导微调让它在通用 VQA 上彻底崩溃;Youtu-VL-4B 虽然单次前向但只能输出稀疏 token 级深度,需要 bilinear 上采样才能得到像素级结果,2.48 秒延迟且精度仅 0.603。换言之,业界要的是既能一次性输出稠密度量深度、又快、又不会拖垮通用多模态能力的统一模型。

本文的目标是DepthVLM 的目标是把一个标准 VLM 改造成原生稠密几何预测器,使其在单次 forward pass 中既输出全分辨率度量深度图 $\hat{D}\in\mathbb{R}^{H\times W}$,又输出语言回复 $\hat{T}$,同时不损伤 VLM 既有 2D 推理能力,并显著优于现有 VLM 与专用纯视觉模型。作者选择了 Qwen3-VL-4B/8B 作为基座,仅增加 < 1% 参数(34M 轻量 DPT-style 头)的极简改造方向,并通过两阶段训练与焦距归一化保证通用能力不被挤压。

与已有工作不同的是,本文的核心切入角度是把 VLM 的视觉编码器视作天然的金字塔特征源:浅层捕获外观纹理,深层捕获语义,无需额外结构即可直接构造自底向上多尺度特征流,再让一个 34M 的 DPT-style head 跨 ViT 多层和 LLM 最终层融合,输出像素对齐度量深度(一次前向,零后处理)。与 DepthLM 的逐像素自回归和 Youtu-VL 的稀疏 token 生成不同,DepthVLM 是第一个真正在 O(1) 推理代价下输出稠密像素深度、且同时保留通用问答能力的 VLM 范式,配套引入 DepthVLM-Bench(8 训练集 + 9 评估集,统一 VLM 可比的 indoor/outdoor 协议),让跨域度量深度第一次在 VLM 与纯视觉模型之间有了直接对照基准。

核心方法

方法直觉来自一个反问:标准 VLM 的视觉编码器天生含有多层 ViT 表征,从浅层外观到深层语义自然形成金字塔,那是否能直接把它当作 dense predictor 用,而不必再外挂区域编码器或额外 token?DepthVLM 的回答是给现成 Qwen3-VL-4B/8B 加一个轻量 DPT-style head(约 34M 参数),从 ViT 中间 3 层与 LLM 最终层抽取图像位置 hidden state 作为多源特征,经 1×1 卷积投影与 bottom-up 上采样构造自底向上金字塔,再由 RefineNet 块融合、Softplus 解码为全分辨率度量深度图 $\hat{D}$。训练采用两阶段策略:Stage-1 冻结整个 VLM,只训练随机初始化的深度头,用 SILog loss 建立初步几何能力;Stage-2 解冻 LLM 主干,以 $\mathcal{L}_{joint}=\mathcal{L}_{text}+\alpha\mathcal{L}_{depth}$ 的加权和进行端到端微调(视觉编码器继续保持冻结以保护通用能力)。配合将所有训练图像统一重缩放到焦距 $f_c=1000$ 的焦距归一化策略,模型在 8 个室内外公开数据集 (4.4M 样本) 上混合训练,最终在 9 个独立的评估集上实现 VLM 与纯视觉模型的同期最佳。

与已有方法最本质的区别有三:第一,区别于 DepthLM 的 per-pixel autoregressive query,把几何预测从文本生成流中解耦为并行 dense decoding,推理复杂度从 $O(HW)$ 降到 $O(1)$;第二,区别于 Youtu-VL 的稀疏 token 上采样,直接解码像素级 depth map,无需任何 bilinear 后处理;第三,区别于 SpatialRGPT/Cambrian 等蒸馏外部 3D 专家的方案,不依赖任何外部点云/体素/视频扩散模型提供几何信号,而是让 VLM 自带的 ViT 多层 feature 与 LLM 最终 hidden state 自给自足。两阶段策略 + 冻结视觉编码器 + 焦距归一化三个组合拳,使仅 34M 的浅层头就能在不损伤通用 VQA 的前提下达到甚至超越 DepthAnythingV3($\delta_1$ 0.890 vs 0.877)的精度。

方法步骤详情

步骤一,特征抽取:对输入图像 $I$,让视觉编码器 $\mathcal{E}_v$ 产生 $L_v$ 层 hidden states $\{h^{(\ell)}\}$,同时让 $\mathcal{F}_{LLM}$ 产生最终 hidden state $H_{LLM}\in\mathbb{R}^{(N_v+N_t)\times d}$。深度头从 ViT 的三个中间层(4B 取层 5/11/17,8B 取层 8/16/24)与 LLM 最终层中筛出图像 token 位置,得到 4 路特征图 $F_1,F_2,F_3,F_4$,前 3 路是纯视觉在不同抽象级别上的特征,$F_4=H_{LLM}\mathcal{M}_v$ 则是经过跨模态交互后的最终表征。步骤二,多尺度金字塔构建:因 VLM 已自带 patch merger 下采样,传统 DPT 的再下采样会丢失信息,作者改为 bottom-up 上采样——每一路 $F_k$ 经 1×1 卷积投影到统一通道,再插值到 layer-specific 分辨率(浅层高分,深层低分),然后通过 4 个 RefineNet 块逐步融合并解码,最终 Softplus 激活输出严格正的度量深度 $\hat{D}=\text{DPT}(F_1,F_2,F_3,F_4)\in\mathbb{R}^{H\times W}$。步骤三,Stage-1 深度头预热:冻结 ViT+LLM,只训练深度头,用 $\mathcal{L}_{depth}=\mathcal{L}_{SILog}(\hat{D},D^*,\lambda=0.5)$ 建立初步度量深度能力(约 3.5×10^-4 学习率,warmup 0.04)。步骤四,Stage-2 端到端微调:解冻 LLM 主干但视觉编码器仍冻结,联合优化 $\mathcal{L}_{joint}=\mathcal{L}_{text}+\alpha\mathcal{L}_{depth}$($\alpha=1.0$、学习率 2×10^-5、warmup 0.05),把几何精度与语言回复同时拉满。步骤五,焦距归一化:对每张训练图按 $s=f_c/f$ 等比缩放图像与深度,$\tilde{I}=R_s(I),\tilde{D}=R_s(D)$,$f_c$ 在 {800,1000,1200} 中通过实验取 1000。步骤六,推理时模型接收任意分辨率图像,一次前向同时输出 $\hat{D}$ 与 $\hat{T}$,无需 post-processing 或额外几何模块。

技术新颖性

技术新颖性主要体现在三方面。其一,深度头输入并非单一 ViT 输出,而是把 ViT 中间 3 层 + LLM 最终层 共 4 路特征联合送入 DPT-style 解码器,作者发现 ViT Inter. + LLM Final 的组合在 Waymo/NuScenes/sunRGBD/IBims-1 上分别取得 0.879/0.821/0.882/0.912 的 $\delta_1$,显著优于 ViT-Only 或 LLM-Only 方案。Tab. 5 表明这是把低层几何细节与高层语义融合的最佳点。其二,bottom-up 上采样金字塔是对 DPT 的对偶改造——DPT 默认 ViT 已是高分辨率而下采样累积分辨率,VLM 中视觉 token 已被 patch merger 下采样,再下采样会丢高频,所以反过来把浅层 ViT(高分)放在金字塔顶、深层(低分)放在底部。其三,两阶段微调 + 冻结视觉编码器的策略,是论文的关键经验发现:Stage-1 Only 保留 VQA 但深度仅 0.737-0.753;Stage-2 Only 提升深度却让 MMB-EN 从 83.23 掉到 81.44;完整 Stage-1+Stage-2 冻结 ViT 在二者之间取得 0.879-0.912 的 $\delta_1$ 同时维持 82.93 MMB-EN;只有当 Stage-2 同步解冻 ViT 时深度才会进一步涨到 0.900,但 MMB-EN 跌到 82.13、MMStar 跌到 54.60,说明对 VLM 加入几何任务时 ViT 必须保持冻结以保护通用能力,这是文章重要的设计哲学。

Overview of our proposed DepthVLM
Figure 3: Overview of our proposed DepthVLM

实验结果

实验从五个维度验证 DepthVLM。其一,对比同期 VLM(Table 1):Ours-4B/8B 在 9 个跨域数据集平均 $\delta_1$ 达到 0.868/0.876,遥遥领先 DepthLM-12B 的 0.730 和 Youtu-VL-4B 的 0.603,并超过 GPT-5.5(0.407)、Qwen3-VL-32B(0.210)、InternVL3.5-38B(0.242);尤其在 Waymo 室外场景从 DepthLM 的 0.588 跃升到 0.865(+47%),证明 native dense 范式对室外尤其有效。其二,与纯视觉模型对比(Table 2):Ours-8B 在 Waymo/NuScenes/ETH3D/sunRGBD/IBims-1 上取得 0.865/0.831/0.928/0.889/0.936,平均 0.890,超过 UniDepthV2 的 0.823 与 DepthAnythingV3 的 0.877,是首个统一 VLM 在度量深度任务上同时战胜大量专用视觉模型的结果。其三,通用视觉基准(Table 3):加入深度能力后,Ours-4B 在 MMB-EN 仅下滑 0.5 到 82.9,Ours-8B 在 OCRBench 甚至从 833 涨到 862,MMStar 从 63.4 涨到 63.8;与之形成强烈对比的是 DepthLM 在所有 VQA 上评估不出(N/A),因其单像素文本监督导致模型只会在任意指令下回答一个深度值。其四,3D 空间推理(Figure 4):DepthVLM 在点深度(GT 31.1m,预测 32.3m)、最近距离(GT 4.3m,预测 4.5m)、深度排序(GT ②③① 全部命中)、3D 物体尺寸(GT (0.8,0.6,0.9)m,预测 (0.8,0.6,1.0)m)四类任务上几乎与 GT 一致,GPT-5.5 在每项都明显偏差。其五,效率(Table 8):输出 256×192 深度图,DepthLM-12B 需要 13 小时,Youtu-VL-4B 用 2.48 秒(但需后处理),Ours-4B 仅 0.42 秒且零后处理,约 5.9 倍优于 Youtu-VL。消融实验则分别验证了 DPT-style head > 原始 DPT > 多尺度 MLP > 单层 MLP(Table 4)、ViT 中间层 + LLM 最终层融合最佳(Table 5)、完整两阶段训练冻结 ViT 最佳(Table 6)、$f_c=1000$ 的焦距归一化最佳(Table 7)四项设计的必要性。

Comparison with existing VLMs on metric depth estimation across diverse indoor and outdoor datasets
Table 1: Comparison with existing VLMs on metric depth estimation across diverse indoor and outdoor datasets
Comparison with specialized pure vision models on metric depth estimation
Table 2: Comparison with specialized pure vision models on metric depth estimation
Evaluation on broad visual benchmarks
Table 3: Evaluation on broad visual benchmarks
Ablation of depth head designs
Table 4: Ablation of depth head designs
Ablation of feature sources for the depth head
Table 5: Ablation of feature sources for the depth head
Ablation of training strategies
Table 6: Ablation of training strategies
Ablation of focal-length normalization
Table 7: Ablation of focal-length normalization
Efficiency comparison with others
Table 8: Efficiency comparison with others
Qualitative results on more complex 3D tasks
Figure 4: Qualitative results on more complex 3D tasks
Qualitative comparison with others
Figure 5: Qualitative comparison with others
查看结构化数据
任务指标本文基线提升
VLM 度量深度估计(9 数据集平均) $\delta_1$ (\%, 越大越好) Ours-8B = 0.876, Ours-4B = 0.868 DepthLM-12B = 0.730, Youtu-VL-4B = 0.603, GPT-5.5 = 0.407, Qwen3-VL-32B = 0.210 相对最强 VLM 基线 DepthLM 平均 $+0.146$ $\delta_1$,相对 GPT-5.5 提升超 2 倍
Waymo 室外度量深度 $\delta_1$ Ours-4B = 0.879, Ours-8B = 0.865 DepthLM-12B = 0.588, Youtu-VL-4B = 0.473, GPT-5.5 = 0.368 对 DepthLM 提升 $+0.291$ $\delta_1$ (约 +49%),对 Youtu-VL 提升约 +0.4
ETH3D 室内外混合度量深度 $\delta_1$ Ours-4B = 0.924, Ours-8B = 0.928 Youtu-VL-4B = 0.286, DepthLM-12B = 0.666, GPT-5.5 = 0.369 ETH3D 上超越 DepthLM $+0.262$ $\delta_1$,并把 Youtu-VL 从不及格水平直接拉到 0.93
IBims-1 室内度量深度 $\delta_1$ Ours-4B = 0.912, Ours-8B = 0.936 Metric3Dv2 = 0.726, UniDepthV2 = 0.941, DepthAnythingV3 = 0.955, Youtu-VL-4B = 0.856 8B 版本与最强纯视觉模型 UniDepthV2 持平并接近 DepthAnythingV3,证明统一模型并未损害室内精度
与专用纯视觉模型 5 数据集平均 $\delta_1$ Ours-8B = 0.890, Ours-4B = 0.884 DepthAnythingV3 = 0.877, UniDepthV2 = 0.823, Metric3Dv2 = 0.812 首个 VLM 形态在统一评估协议下超越当前最强纯视觉模型,平均 $+0.013$ $\delta_1$
通用多模态能力保留 (Qwen3-VL-8B -> Ours-8B) MMB-EN / MMStar / BLINK / OCRBench / CountBench / POPE 84.6 / 63.8 / 64.8 / 862 / 98.2 / 89.1 84.7 / 63.4 / 65.0 / 833 / 98.3 / 88.8 平均仅 -0.2 分;OCRBench +29、MMStar +0.4、POPE +0.3 均正向,零灾难性遗忘
256x192 单图端到端推理延迟 秒/张 (越小越好) Ours-4B = 0.42s DepthLM-12B = 13h, Youtu-VL-4B = 2.48s(需 bilinear upsample) 比 Youtu-VL 快约 5.9 倍,比 DepthLM 快约 1.1×10^5 倍,且完全无需 post-processing

局限与改进

作者明文承认本文聚焦于 metric depth estimation 一项任务,未扩展到 3D object detection、6DoF pose estimation、3D shape reconstruction 等更广义的 3D 感知任务,统一基础模型的完全体尚未达成。从我们自己的观测看,还存在几个隐含不足:第一,方法专门依赖 Qwen3-VL 的 ViT 主干,迁移到其他 VLM(InternVL、LLaVA-OneVision)需重选中间层,并需重新寻找 focal length $f_c$ 与 $\alpha$、$\lambda$ 等超参的最佳组合,跨 VLM 通用性还需要更多实验;第二,训练只用了 8 个公开数据集共 4.4M 样本,对比 DepthAnythingV3 用 20+ 数据集含大量合成数据,对极端室外/恶劣天气/水下场景尚未充分覆盖;第三,Table 3 中 DepthLM 之所以 N/A 不只是因为度量深度任务导致 VQA 崩溃,也说明本文采用的\"冻结 ViT 的两阶段\"模板对深度监督比例 $\alpha$ 很敏感,作者目前固定 $\alpha=1.0$ 并没有给出在不同 backbone 下的自适应策略;第四,DepthVLM-Bench 每数据集仅采样 1k 张图、每图 10 像素(10k pixel/dataset),与 MiDaS/DepthAnything 的全图评测相比,统计稳定性可能受影响。

独立分析的弱点

独立审视后我们看出几个潜在弱点。其一,深度头输入固定为 ViT 三层 + LLM 最后一层,对不同任务的最优层组合缺乏自适应性,论文 Table 5 显示 LLM Final 加入比 ViT Final 加入更佳,但中间层数选择仍是手工,且只尝试了 3 层,未对比 2 层/4 层。其二,焦距归一化只在训练阶段统一到 $f_c=1000$,但真实部署场景中用户输入图片的焦距往往未知,没有显式的 focal length estimation 网络,模型在 meta-data 缺失的开放域图像上可能退化为相对深度。其三,两阶段训练中 Stage-1 与 Stage-2 的 loss 比例 $\alpha=1.0$ 是硬编码超参,没有可学习的不确定性加权(如 uncertainty weighting),可能在不同数据集批次下训练轨迹欠稳定。其四,每个 VLM 视觉 token 都要进入深度头,显存占用与 batch × N_v × 4 成正比,训练 batch 受限于 LLM,长序列/高分辨率输入仍会受限,作者没有报告高分辨率(>1024)的鲁棒性。其五,论文没有与最新开源 VLM(如 InternVL3.5-38B)联合 fine-tune 的报告,所有 VLM 蒸馏几何信号(如 SpatialRGPT)的方案没有被同等比较,显得对比对象略偏向早期工作。改进方向上可以引入 dynamic layer selection、可学习 $\alpha$、以及显式 focal length conditioning 通道。

未来方向

作者给出的未来方向是\"把框架扩展到 detection、pose estimation 等更广义的 3D 感知任务,最终做 holistic 3D perception and reasoning 统一模型\"。基于本文已建立的 native dense geometry + LLM final hidden state 接口,最自然的下一步是把 DPT-style head 替换为统一 3D 任务头(box/pose/mesh),或者直接扩展到视频时序输入,借由 ViT 的 temporal patch position 给出 4D 时空稠密预测;另一个方向是探索 self-distillation——把 DepthVLM 学到的高质量稠密几何反哺成下一轮 VLM 微调的几何 teacher,进一步消除对 SILog ground-truth 的依赖;还可以将本文 dual-task(depth + text)的成功模式泛化到 RGB-D 视觉问答、embodied navigation、AR/VR 内容生成等任务,让\"几何 token 既能被人类读懂(深度图)又能被 VLM 消费\"真正成为统一接口;最后,融合 NeRF/3DGS 先验做 geometry-aware VLM 也是值得探索的方向。

复现评估

复现方面,本文给出较为完整的实现细节:基座选用 Qwen3-VL-4B/8B,深度头参数 34M(<1% LLM),训练样本 4.4M、AdamW + cosine schedule、Stage-1 学习率 3.5×10^-4(warmup 0.04),Stage-2 学习率 2×10^-5(warmup 0.05),$\lambda=0.5$、$\alpha=1.0$、焦距 $f_c=1000$;ViT 中间层取 5/11/17(4B)与 8/16/24(8B);评估用统一的 DepthVLM-Bench 9 数据集 / 1k 图 / 10 像素/图。但是代码与训练/评估代码、DepthVLM 权重暂未给出官方仓库链接,仅在论文中提到\"Project Page: https://depthvlm.github.io/\"——复现难度中等偏上,需要自建 4.4M 多源训练流水线与焦距归一化工具链;评估协议(1k 图/10 像素采样)若想与论文严格对齐也需要复现数据集划分;最关键的 DPT-style 头本身权重未开源,所以复现工作量大。最简复现路径是先在 Qwen3-VL-4B 公开权重基础上加载 34M 头的随机初始化(需复现原架构),按两阶段 schedule 重训。