前言

        从 DA1 到 DA3,Depth Anything 系列用三年时间完成了三次关键进化:从“数据炼丹”到“视觉理解修正物理误差”,再到“时空一致性重建”。这篇文章将以“第一性原理”的视角,拆解每一步的动机与设计选择。

一、DA1:数据炼丹

1、痛点

        曾经的泛化大师Midas虽在常规情况有着不错的效果,但由于人工数据集的限制在更加复杂的场景下力有不逮,面对亿万无标注的rgb图只能饮恨。

2、解法

        面对这种数据饥渴,Depth Anything给出师生方案:首先训练出一个较为强大的Midas微调版本作为老师,接着利用其对海量图片生成伪标签,而v1作为学生对这些伪标签进行学习,结合真实数据集的训练使得DA1模型极大提高了鲁棒泛化程度,成为当时单目深度估计领域的霸主。

3、创新

(1)史诗数据集

        DA1 使用了 Segment Anything 标注框架下采集的SA-1B 数据集(1100万张无标注图片),这是史上最大规模的单目深度估计训练数据。这些图片包含室内、室外、航拍、特写、夜景等极其多样的场景分布,极大扩展了模型的“世界观”。

(2)关键设计

        在训练阶段完成了:在有标注数据上的尺度不变损失(Scale-Invariant Loss)、在无标注数据上的一致性损失(即学生输出与教师伪标签之间的差异)。既不会偏离真实几何关系,又能从无标注数据中学到更广泛的场景结构。(为什么用尺度不变损失而不是直接回归绝对深度?因为教师模型输出的伪标签本身就是相对深度(无尺度),使用尺度不变损失正好匹配这个特性——它只惩罚深度排序错误,不惩罚整体尺度偏移,让学生专注于学习“近大远小”的几何关系,而不是被伪标签的绝对数值带偏。)

(3)语义辅助约束

        为增强模型对物体边界的理解与语义一致性,DA1对学生编码器加入了语义对齐损失:使学生模型中间层特征与DINOv2编码器统计分布对齐,使得模型同时做到在边界锐利和在语义内部平滑。

4、缺陷

        教师模型的监督信号本身就是错的。RGB-D相机和LiDAR在面对透明/反射表面时,获得的深度值本身就是错误的(飘到无穷远或坍塌为零)。DA1努力学习这些错误标签,反而在这些区域表现极差。

二、DA2:细节强化

1、痛点

        既然DA1的边缘不够锐利,那么我们应该如何解决这些噪声呢?

2、解法

        换一个不会被物理传感器欺骗的“监督者”。DA2引入更强的DINOv2-G编码器作为语义教师,它在预训练阶段见过的数据规模和多样性远超任何深度数据集,天然理解透明、反射表面的物理特性。用DINOv2的特征去约束学生模型,相当于“用视觉理解去修正传感器误差”。

3、创新

(1)DINOv2-Giant

        DA2将语义教师从DINOv2-L升级为DINOv2-G(更强),并且将语义蒸馏损失从仅约束编码器扩展到了解码器的多个层级。让DINOv2强大的视觉理解能力渗透到深度预测的每一个环节。

(2)度量衡解码头

        允许模型在微调后输出绝对深度(米),这是 DA1 完全不支持的。虽然此前的 ZoeDepth 尝试过度量深度,但受限于领域路由器的误判,泛化性不足,而DA2则实现了真正意义上的工程落地。

(3)多尺寸模型

        同时发布Small/Base/Large三种尺寸,均基于DINOv2编码器。小模型精度略降但速度极快,适合Jetson等边缘设备——为后续部署埋下伏笔。

4、缺陷

        虽然DA2已经达到了美观又实用的效果,但作为2D模型在面对实时视频流输入时难免会出现前后帧尺度不对应的情况。

三、DA3:时空一致的深度估计

1、痛点

        面对实时的视频流输入,前两个版本已无法满足该情景的需求,前后帧的不对应无疑会引起距离的跳动。在我曾负责的矿山单目测距项目中,单目模型需判断工人是否越过警戒线,而距离尺度的跳动则是一条红线,只需要一次误报,可能就要付出生命的代价,因此不同帧数的稳定可靠尤显关键。

2、解法

        不再是一张一张图看,而是可以同时输入多张图(比如小车的前后左右 4 个相机,或者连续的 3 帧视频)。模型内部强制这些图片进行几何特征对齐,同时输出深度图和射线图(隐含相机位姿)。

3、创新

(1)多帧时序输入 + Cross-View Attention

       模型不再单帧独立推理,而是同时接受连续的3-4帧图像。通过Cross-View Attention机制,让模型“看到”同一物体在不同视角下的表观一致性,强制模型学习几何上合理的深度关系。

(2)高分辨率适配

        修改解码器架构,原生支持1440×1920甚至更高分辨率的输入,在小物体和细长结构上深度质量显著提升。

(3)隐式位姿估计

        在多帧输入的训练过程中,模型内部隐式地学习到了帧间的相机运动关系。虽不如SLAM精确,但足以消除单帧推理时的时序闪烁问题。

四、对比

模型/版本 核心解决的问题 核心技术路径 (第一性原理) 表现特点与优势 遗留问题
ZoeDepth 相对深度无物理尺度,度量深度无泛化能力 MiDaS底座 + 动态度量桶 (Metric Bins) + 领域路由器 首个 Zero-shot 度量深度模型,兼具强泛化与真实物理单位(米) 边缘细节不够锐利;领域分类器在室内外过渡场景易误判导致尺度跳变
DA-V1 跨场景泛化极差 海量无标签数据 + 伪标签蒸馏 鲁棒性强,什么场景都能认出来 边缘模糊,透明/反射/细小物体深度不准
DA-V2 边缘细节差、传感器物理噪声 DA2 通过更强的语义教师(DINOv2-G),让视觉理解去“纠正”传感器噪声 边缘极其锐利,细节狂魔,视觉理解修正传感器误差 仅限单帧,视频流中存在时序跳变与闪烁
DA-V3 缺乏多视角 3D 空间一致性 引入多图 Cross-View / Cross-Frame 交互机制 解决帧间闪烁,输出相机位姿,直接赋能 3D 与 SLAM 模型变重,算力消耗与输入帧数成正比,边缘设备部署挑战大

小结:从 DA1 到 DA3,Depth Anything 系列的进化逻辑清晰:
DA1 解决了“数据量”问题——用伪标签撬动海量无标注数据
DA2 解决了“质量”问题——用更强的视觉理解修正物理传感器误差
DA3 解决了“空间一致性”问题——用多视角联合推理从 2D 进化为 3D

五、随笔

         值得一提的是,DA3版本利用多图 Cross-View 交互机制从单目2D进化为多视角3D,已经逼近了传统slam与3D重建的效果。该结果引人深思:在感知领域,目前由于视觉陷入瓶颈,类似自动驾驶与机器人这些行业都开始走多传感器的堆叠路线,而多传感器的成本毋庸置疑的高,于是大多人走上了降低成本的套路。纯视觉能否成为感知的终极形态尚未定论,但从信息论角度看,RGB图像已包含场景的绝大部分语义和几何线索。激光雷达等高成本传感器在现阶段是不可或缺的安全冗余,但重度依赖多传感器堆叠的方案,本质上是在为算法能力的不足“买单”。DA3 用最简架构统一了单目、多视图与视频输入——这或许是深度估计领域迄今对‘视觉即几何’这一信念的最大胆实践。在通信带宽极度受限的嵌入式系统里,帧间稳定的深度序列和模型内部隐含的位姿信息,让我们有望摆脱对高频全量数据传输的依赖。后续我们团队将会在带宽延申难度大的矿井中进行感知控制,这也许就是破局之法。

        可能是为了尽快进行商业变现,各个领域在技术不够成熟时就开始营销与市场化,实际上运用到感知的产品(自动驾驶卡在3级,具身智能缺乏物理世界数据难以实现)并不具备噱头中的能力,目前仍然是换皮传统产品,当泡沫散去,热点追求者应当如何自处。作为技术人员,我们不应用工程复杂度来掩盖算法基础能力的缺失,不追逐热点,踏实做好每一个垂直领域并尝试延展到综合方向,利用一个个小节点作为契机触发推动感知的大网更为可靠。

        该系列的迭代中,虽然伪标签和语义蒸馏推动了 DA2 的表现跃升,但训练基石仍是真实标注数据集。在人工智能横行的时代,这类虚拟数据集唾手可得,真实数据集很可能将成为资产,但并不是所有,而是符合标准、具有门槛的。见微知著,LLM降低了信息获取门槛,但提出真问题的能力和将信息转化为决策的独立思维,恰恰是无法被模型替代的价值。

        我是LLSSXXX,一个致力于打通"感知-通信-控制"完整链路的系统型研究者。后续会推出机器人、边缘计算等多系列,往期系列文章请见合辑。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐