一句话定义:单目深度估计(Monocular Depth Estimation)就是让模型只看一张普通照片——"单目"即只有一个摄像头——推断出画面中每个像素离相机有多远,输出一张与照片同尺寸的"深度图"。
人判断远近,最可靠的线索是双眼视差:左右眼看到的画面略有错位,大脑据此算距离。单目丢掉了这条线索,模型只能像老司机看风景照一样,靠经验读图:近大远小、前面的物体挡住后面的、远处地砖纹理更密、颜色被雾气和空气"洗淡"、阴影方向,以及对物体本身尺寸的先验(知道轿车大概多大,就能反推它离你多远)。把这些线索综合起来,就是从像素到距离的映射,而这套映射靠数据学出来:训练时用激光雷达(LiDAR)或双目相机采集真实距离当"标准答案",让网络反复对照。
有个天然的坑:单张图在数学上无法唯一确定绝对尺度——把同一张照片放大两倍,几何关系完全一致。所以纯单目往往只能给出相对深度(relative depth),想知道"到底是 8 米还是 12 米",还得靠标定、已知尺寸的参照物或额外约束。这是它和物理测距仪器最本质的差别。
它和几个邻居容易混:
| 方案 | 靠什么 | 优点 | 代价 |
|---|---|---|---|
| 单目深度估计 | 单张图里的透视、遮挡、纹理线索 + 学到的先验 | 硬件便宜、输出稠密、每像素都有值 | 绝对尺度难保证、精度受训练数据分布限制 |
| 双目立体匹配(Stereo Matching) | 两个摄像头之间的视差 | 几何可解释、不依赖先验 | 需精密标定、远距离精度骤降、白墙等弱纹理易失效 |
| 激光雷达 | 主动发射激光测距 | 精度高、直接得到度量深度 | 成本体积大、点云稀疏、雨雾天受影响 |
另外要区分:深度估计回答"多远",语义分割(Semantic Segmentation)回答"是什么",两者常并行使用。
为什么说它是隐形基础设施?自动驾驶最直接:摄像头便宜、体积小,用单目深度把图像补成稠密距离场,可以用来判断可行驶区域、估计障碍物距离,也能给稀疏的激光雷达点云做稠密化补全。3D 重建和近年流行的新视角合成方法,同样常拿深度先验来约束几何、压掉漂浮的伪影。对普通人来说,它藏在手机人像模式的背景虚化、AR 试妆时"头发挡住虚拟眼镜"的遮挡关系、相册里的照片转 3D,以及扫地机器人和无人机的避障里。
最后提醒一个工程上的小雷:不同模型输出的深度含义不统一,有的给视差、有的给归一化深度,数值方向还可能相反。接入下游系统前务必看清权重页或官方文档的说明,以官方页面为准。
