Modeling Depth Ambiguity: A Mixture-Density Representation for Flying-Point-Free Depth Estimation
作者: Siyuan Bian、Congrong Xu、Jun Gao
单位: University of Michigan、NVIDIA
会议: arXiv 2026 预印本(截至 2026-07-24 未核实正式会议录用)
链接: arXiv | Project Page | Code

研究动机
1. 飞点并不只是“边缘不够锐利”
深度图在二维平面上看起来可能相当平滑,但一旦反投影到三维空间,物体轮廓附近常会出现一圈悬浮在前景和背景之间的离群点,即 flying points。这类错误会直接破坏点云、网格和新视角渲染,也会影响机器人抓取、碰撞检测等依赖真实表面的任务。
以往常见解释是网络分辨率不足、解码器过度平滑或输入模糊。因此,Pixel-Perfect Depth 等方法尝试使用生成式细化,Depth Anything 3、VGGT 等则依赖更强的模型和数据。但本文观察到:即使骨干网络已经很强,飞点仍然系统性地集中在遮挡边界附近,说明问题不完全来自模型容量,而可能来自输出表示本身。

论文把深度歧义分成三类:
- 遮挡边界歧义:一个像素覆盖前景和背景,正确深度可能属于任一表面,但最终通常只需要选一个;
- 透明物体歧义:一条射线真实穿过多个表面,因此多个深度可以同时成立;
- 天空歧义:天空不是普通的有限深度表面,强行回归有限深度会在天际线附近生成离群几何。
2. 单深度回归为什么容易产生中间值
标准深度网络通常为每个像素输出一个深度 $\hat D$ 和一个置信度 $C^D$,训练目标可写为
这个损失不是单纯的经验设计。令观测深度服从以 $\hat D$ 为中心、尺度为 $b$ 的 Laplace 分布,并采用 $C^D=\alpha/b$ 重参数化,上式等价于单峰 Laplace 分布的负对数似然;加权 $\ell_2$ 则对应单峰 Gaussian 分布。
因此,普通网络的隐含假设是:
给定当前像素及其特征,正确深度可以由一个中心位置和一个尺度描述。
这对连续表面成立,但对遮挡边界并不充分。假设前景深度为 $d{\mathrm{fg}}$,背景深度为 $d{\mathrm{bg}}$。边界像素的 RGB、感受野和深层特征同时混入两侧信息,而标注又可能随采样位置、抗锯齿方式或传感器投影落在其中任一侧。若网络只能输出一个中心,它会受到两种监督的共同拉动,最终落到
即三维空间中并不存在的区域。
需要强调的是,增大单峰分布的方差只能表达“不确定”,不能表达“两个分离的候选表面”。MDA 的核心信息增量正是把边界深度从单峰异方差回归改成多峰条件分布建模。
核心方法
1. 每个像素预测多个深度假设
MDA 将原来的单深度输出头替换为 $K$ 个混合分量。第 $k$ 个分量预测:
- 深度均值或深度假设 $\hat D_k$;
- 分布尺度 $b_k$,等价地也可预测置信度 $C_k^D$;
- 混合权重 $\pi_k$,并满足 $\pi_k\ge 0$、$\sum_k\pi_k=1$。
以 Laplace Mixture Model 为例,像素深度分布为
在平坦区域,各分量可以收敛到相近深度,此时行为近似普通回归;在遮挡边界,不同分量则可以分别锚定前景和背景表面。

这张图揭示了全文最重要的表示差异:
- 单峰模型把两种可能性压缩成一个折中中心;
- 混合模型保留两个峰,再通过离散选择得到最终深度;
- 只要候选峰仍位于真实表面附近,即便权重判断偶尔出错,错误也更可能是“前景/背景归属错误”,而不是“落入空中”。
2. 混合负对数似然
定义单个 Laplace 分量的置信度加权损失
则混合分布的负对数似然可整理为
它本质上是一个 log-sum-exp 聚合。对某个训练样本而言,与真值更接近、尺度更合理、混合权重更高的分量会获得更大的后验责任度,因此梯度主要由能够解释当前真值的分量承担。长期训练后,不同分量可以在边界处形成不同的表面模式,而不是所有头共同追逐同一个平均值。
当 $K=1$ 时,该目标严格退化为普通单峰深度回归,因此 MDA 是原有表示的直接推广,而不是完全不同的预测任务。
3. 关键不是多头,而是如何监督多头
仅让网络输出多个深度并不自动解决问题。类似 MoE3D 的做法会对多个头加权平均,再用单深度损失监督这个平均结果。此时训练目标仍要求最终均值接近真值,多个头仍可能共同形成一个折中深度。
论文通过受控消融区分了两个因素:
- 结构容量增加:单头改成多头;
- 表示改变:单峰损失改成混合密度似然。
结果表明,多头加普通 $\ell_1$ 只有有限收益,而多头加 mixture NLL 才带来大幅边界提升。因此本文不是“换一个更大的预测头”,而是改变了每像素输出的概率语义。
4. 推理时禁止取期望
混合分布最容易犯的错误是直接输出期望
如果两个峰分别位于前景和背景,期望仍会落在两者之间,重新产生飞点。MDA 因此只在候选深度集合中进行选择:对每个候选 $\hat D_k$ 计算其在完整混合分布下的密度,并选择得分最高者
这比直接取最大权重分量更一般:若多个相近分量共同形成一个高密度模式,它们会相互增强。由于 $K$ 很小,计算开销近乎可以忽略。
附录中的解码消融也验证了:mode selection 与 mixture argmax 的边界表现接近,但取分布期望会明显恶化,因为它再次混合前景和背景。
5. Laplace Mixture 与 Gaussian Mixture
论文同时实现了 LMM 和 GMM。Gaussian 版本将回归放在 log-depth 空间,并以 $\ell_2$ 型分量损失构造 mixture NLL。实验中 GMM 在多数测试集上略优,作者推测原因是平方误差对偏离真值的分量提供更强梯度,因此默认采用 GMM。
这里的结论不应被过度概括为“Gaussian 总比 Laplace 好”。更准确的理解是:在该训练配置、深度参数化和边界任务中,GMM 的梯度形态更有利于非主导分量学习有效候选。
6. 透明物体:从互斥选择变成多层共存
普通遮挡边界通常只输出一个最终表面,因此各分量使用 softmax,权重和为 1。透明像素则可能同时对应玻璃表面和玻璃后的背景,作者把混合权重改为彼此独立的 sigmoid:
这样多个分量可以同时激活。实验设置 $K=2$,透明像素被正则到两层权重都接近 1,非透明像素的权重和则接近 1。推理时,当 $\sum_k\pi_k>1.5$,模型将该像素判为透明并输出两个深度层;否则仍按普通模式选择一个深度。

7. 天空:增加一个不参与回归的专用分量
天空不适合被有限深度回归头表示。MDA 增加一个均值和尺度均固定为很大常数的 sky component,让有限深度分量继续建模场景表面,而天空像素由专用分量吸收。推理时只需判断天空分量是否具有最大混合权重:
这相当于从同一个混合头中得到无需额外阈值的天空分割,并避免把天空反投影成近处的噪声壳。

数据集
1. 边界版本训练数据
作者沿用 DA3 风格的大规模合成数据混合,包括:
- AriaSyntheticENV、HyperSim、MvsSynth;
- OmniWorld、PointOdyssey、TartanAir;
- Virtual KITTI 2、DynamicReplica、UnrealStereo4K。
选择合成数据的主要原因是获得像素级准确、边界干净且可控的深度监督。对混合分量而言,如果训练标签自身在边缘处存在严重投影噪声或飞点,模型很难学习稳定的前景/背景模式。
2. 评测数据
- 边界点云质量:NRGBD、7Scenes、HiRoom;
- 视频深度质量:Sintel、Bonn、KITTI;
- 透明多层深度:LayeredDepth 的合成与真实验证集;
- 天空分割:Sintel 的天空语义标注。
边界指标沿用 Pixel-Perfect Depth 的协议:从真值深度中提取边缘区域,在对应点云上计算 Accuracy 与 Chamfer Distance。这里的 Accuracy 是 predicted-to-GT 距离,对悬浮在两个表面之间的点尤其敏感。
需要注意,视频深度评测对不同方法采用的对齐并不完全一致:DA3、VGGT 和本文方法使用每序列单尺度对齐,PPD/PPVD 使用逐帧尺度与平移对齐。因此表中的普通深度指标适合判断“是否维持原骨干性能”,不宜直接当作所有方法在完全同一尺度约束下的绝对排名。
算力
1. 训练配置
- 基础模型:Depth Anything 3 与 VGGT;
- 修改范围:仅替换最终 DPT 预测层;
- 默认混合分量:$K=4$;
- 训练设备:4 张 NVIDIA RTX PRO 6000;
- 训练步数:10,000 steps;
- 全局 batch size:48;
- 学习率:$10^{-4}$。
论文没有报告完整训练时长、显存峰值或能耗,因此无法从公开信息精确估算复现成本。但从训练步数和“只微调输出头及预训练模型”的设置看,它显著轻于从头训练新的几何基础模型。
2. 推理配置
速度在单张 L40S、$504\times384$ 输入上测量,包含网络推理和混合深度解码。MDA 只增加约 $3K+1$ 个输出通道,主要额外成本来自很小的最后一层和 $K$ 次密度求值。
实验结果
1. 边界点云质量显著提升
以 DA3 为例,部分结果如下:
| 方法 | NRGBD Img Acc↓ | NRGBD Img CD↓ | HiRoom Img Acc↓ | HiRoom Img CD↓ | FPS↑ |
|---|---|---|---|---|---|
| DA3 | 57.0 | 50.0 | 42.0 | 40.0 | 36.78 |
| DA3 + MDA(LMM) | 25.0 | 35.5 | 31.0 | 34.5 | 33.32 |
| DA3 + MDA(GMM) | 25.0 | 35.0 | 31.0 | 34.0 | 33.32 |
| PPD | 74.0 | 81.0 | 81.0 | 89.0 | 0.44 |
| PPVD | 107.0 | 125.0 | 124.0 | 91.0 | 1.17 |
NRGBD 图像级 Acc 从 57 降到 25,说明预测点明显更贴近真实前景或背景表面。与此同时,速度从 36.78 FPS 降到 33.32 FPS,额外成本较小;与扩散式 PPD/PPVD 相比则约快两个数量级。

2. 没有以牺牲普通深度质量换取边界改善
DA3 与 DA3+GMM 的视频深度结果为:
| 方法 | Sintel AbsRel↓ | Bonn AbsRel↓ | KITTI AbsRel↓ |
|---|---|---|---|
| DA3 | 0.307 | 0.049 | 0.061 |
| DA3 + MDA(GMM) | 0.223 | 0.053 | 0.044 |
MDA 在 Sintel 和 KITTI 上改善,在 Bonn 上略退化。整体说明它没有明显破坏原骨干的全局深度能力,但“始终优于基础模型”并不成立。
3. 表示改变是主要增益来源
NRGBD 上的关键消融:
| 设置 | Img Acc↓ | Img CD↓ |
|---|---|---|
| 单头 + 单峰 $\ell_1$(原 DA3) | 57.0 | 50.0 |
| 单头 + 单峰 $\ell_1$(重新微调) | 54.0 | 49.0 |
| 多头 + 单峰 $\ell_1$ | 50.0 | 46.5 |
| 多头 + mixture-density $\ell_1$ | 25.0 | 35.5 |
多头结构只把 Acc 从 54 降到 50,而 mixture density 进一步降到 25。这是本文最有说服力的实验,因为它排除了“参数更多所以更好”的主要替代解释。
4. 输入越模糊,混合表示的优势越明显
作者通过先下采样再双三次上采样模拟不同程度的模糊,并且所有模型都没有接受专门的模糊增强。随着模糊增大,普通模型在边缘处形成越来越厚的飞点带,而 MDA 仍可保留前景与背景两个候选模式。

这项实验支持论文的因果叙事:当输入证据变弱、条件分布更具多峰性时,单峰表示退化更快,而不是仅仅“某个输出头在清晰图像上拟合得更好”。
5. 分量确实产生了空间专门化

不同分量在不同区域成为主导,分量切换位置集中于遮挡边界。它表明 mixture head 没有完全塌缩成四个相同预测。不过,这种分量编号没有固定语义:第一个头并不恒等于前景,组件之间存在置换对称性,真正有意义的是同一像素处形成了多个表面候选。
优势与不足
优势
- 抓住了表示层面的根因。 它不是继续堆分辨率、骨干或生成式细化,而是指出单峰条件分布无法表达前景/背景二义性。
- 改动小且可插拔。 只替换最终预测层,已经在 DA3 与 VGGT 两类骨干上验证,推理开销较小。
- 训练与解码逻辑一致。 训练保留多峰,推理也从候选峰中选择;没有在最后一步用均值重新破坏多峰结构。
- 实验能区分结构与表示。 多头单峰和多头混合的受控消融很好地支撑了核心主张。
- 对弱边界证据更鲁棒。 模糊实验比单纯展示清晰图像上的视觉效果更能说明方法为何有效。
- 框架具有扩展性。 通过改变权重约束或增加特殊分量,可以覆盖透明多层深度与天空。
不足
- 消除飞点不等于边界归属一定正确。 模型可能把某个像素选到错误表面,只是错误从“中间悬浮”转化为“前景/背景错分”。对于精确轮廓位置,仍需单独评估。
- 多峰学习依赖高质量监督。 若训练深度边界本身存在孔洞、混合像素或时空错位,多个分量可能学习传感器噪声而非真实表面。
- 组件可辨识性有限。 分量存在置换对称和潜在塌缩,论文主要通过可视化与 $K$ 消融证明其可用,但没有显式的多样性约束或稳定性理论保证。
- 透明与天空并非完全统一的零修改方案。 透明版本需要 softmax 改 sigmoid、额外权重正则和阈值;天空版本需要固定特殊分量。它们共享 mixture 思想,但训练语义不同。
- 天空存在分布外失败。 补充材料中,天空占画面绝大部分的 Sintel
temple_3几乎无法识别,说明固定训练混合对场景比例仍敏感。 - 仍继承基础骨干缺陷。 小型细结构的局部扭曲和接近平行于视线的掠射表面仍可能产生异常。

- 边界指标覆盖有限。 主边界实验集中在 NRGBD、7Scenes 和 HiRoom,且依赖从真值提取的边缘掩码。对真实稀疏 LiDAR、反光区域和动态边界的表现仍需进一步验证。
- 当前仍是预印本。 训练时间、显存、代码完整性以及更广泛复现结果尚需等待公开实现与社区验证。
记忆点
- 飞点的核心不是“深度方差太大”,而是“条件分布可能有多个相互分离的模式”。
- 单峰异方差模型只能把峰变宽,不能同时保存前景和背景。
- Mixture NLL 让不同分量分别解释不同表面;多头本身不是关键。
- 最终深度必须从候选模式中选,不能取混合期望,否则飞点会重新出现。
- MDA 把错误形态从“落在空中”变成“落在某个真实表面”,但不保证像素归属完全正确。
- 与 MoGe-3 的关系是互补的:MDA 解决输出分布的多峰歧义,MoGe-3 解决二维邻域聚合导致的三维表面串扰。一个改表示,一个改几何归纳偏置。
- 最值得迁移的思想:当监督在多个离散有效解之间摇摆时,不要强迫一个回归中心承担全部解释责任。











