
123、单目深度估计:从MiDaS到Depth Anything的实践开篇:一个让人抓狂的深度图上个月调试机械臂抓取透明塑料杯,视觉管线里用的深度相机是Intel RealSense D435,结果杯子放在白色桌面上,深度图直接给出一片空洞——透明物体对红外结构光来说基本等于不存在。当时手头没有更好的硬件,只能硬着头皮在软件层面想办法。翻了一圈论文,发现单目深度估计这两年进步飞快,尤其是MiDaS和Depth Anything这两个模型,完全不需要主动光,纯RGB图像就能输出相对深度。于是把整个管线换成了单目方案,踩了一路的坑,今天把这些经验整理出来,希望能帮到同样被深度相机坑过的同学。为什么单目深度估计突然能用了传统上做单目深度估计,大家觉得这是病态问题——一张2D图像理论上对应无数种3D解释。但深度学习的思路是:虽然单张图像信息不足,但数据量足够大时,模型可以从统计规律中学会“先验”。比如天空通常很远,桌面通常很近,人脸的深度变化有固定模式。MiDaS的核心贡献在于解决了训练数据不一致的问题——不同数据集标注的深度尺度不同,有的用视差,有的用对数深度,有的用相对深度。MiDaS用了尺度不变损失函数,让模型在不同标注体系下都能学到一致的深度结构。Depth Anything则是MiDaS的升级版,核心思路是“用无标注数据做大规模预训练”。作者用了150万张标注图像加上6200万张无标注图像,通过一个教师模型生成伪标签,然后让学生模型学习。效果提升非常明显,尤其是在室内场景和边缘细节上。而且Depth Anything的模型设计更轻量,