Depth Anything:释放大规模无标注数据的深度估计

‍作者 | 黄浴

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【深度估计】技术交流群

本文只做学术分享,如有侵权,联系删文

24年1月论文“Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data“,来自香港大学、字节、浙江实验室和浙江大学。

a2176968ce13e03e125e6d1b03713548.png这项工作提出了Depth Anything,这是一种用于鲁棒单目深度估计的解决方案。目标是建立一个简单而强大的基础模型,在任何情况下处理任何图像。为此,设计一个数据引擎来收集和自动注释大规模未标记数据(~62M),从而大大扩大了数据覆盖范围,这样能够减少泛化误差,从而扩大数据集的规模。作者研究了两种简单而有效的策略,这两种策略使数据增强更有希望。首先,利用数据增强工具创建了一个更具挑战性的优化目标。它迫使模型积极寻求额外的视觉知识并获得稳健的表示。其次,开发了一种辅助监督,强制该模型从预训练的编码器继承丰富的语义先验。作者对其零样本功能进行了广泛评估,包括六个公共数据集和随机拍摄的照片。它展示了很好的泛化能力。此外,利用来自NYUv2和KITTI的深度信息对其进行微调,设置新的SOTA。更好的深度模型也产生了更好的以深度为条件模型ControlNet。

如图所示是一些深度估计的例子:

e056301793908627e3c64e4daf6c4fc1.png单目深度估计(MDE)是一个在机器人[65]、自主驾驶[63,79]、虚拟现实[47]等领域有广泛应用的基本问题,它还需要一个基础模型来估计单个图像的深度信息。然而,由于难以构建具有数千万深度标签的数据集,这一点一直没有得到充分的探索。MiDaS[45]通过在混合标记数据集上训练MDE模型,沿着这一方向进行了开创性的研究。尽管表现出一定水平的零样本能力,但MiDaS受其数据覆盖范围的限制,因此在某些情况下表现不佳。

传统上,深度数据集主要通过从传感器[18,54]、立体匹配[15]或SfM[33]获取深度数据来创建,这在特定情况下是昂贵、耗时甚至难以处理的。相反,本文关注大规模的未标记数据。与立体图像或深度传感器的标记图像相比,单目未标记图像具有三个优点:(i)(获取简单且便宜)单目图像几乎无处不在,因此易于收集,无需专门的设备。(ii)(多样性)单目图像可以覆盖更广泛的场景,这对模型的泛化能力和可扩展性至关重要。(iii)(易于注释)简单地使用预训练的MDE模型为未标记的图像分配深度标签,这只需要前馈推理步骤。更高效的是,这还产生了比激光雷达[18]更密集的深度图,并省略了计算密集的立体匹配过程。

Depth Anything

作者的工作利用标记和未标记的图像来促进更好的单目深度估计(MDE)。形式上,标记集和未标记集分别表示为Dl和Du。工作目标是从Dl学习教师模型T。然后,利用T为Du分配伪深度标签。最后,在标记集和伪标记集的组合上训练了一个学生模型S。如图提供了一个简短的说明,流水线包括如下。实线:标记的图像流,虚线:未标记的图像,特别强调大规模未标记图像的价值,S表示添加强扰动。为了使深度估计模型具有丰富的语义先验,在在线的学生模型和冻结的编码器之间强制执行辅助约束,保持语义能力。

028c0a7d5a79d6e8bc1ee856111e6328.png学习标记的图像

这个过程类似于MiDaS[5,45]的训练。然而,由于MiDaS没有发布代码,首先复现算法。具体地说,深度值首先通过d=1/t转换到视差空间,然后在每个深度图上归一化为0~1。在训练中,其采用仿射不变性损失。

为了获得稳健的单目深度估计模型,从6个公共数据集收集了1.5M的标记图像。下表列出了这些数据集的详细信息。

bc264dad049f9ce4f74c48136f3a8004.png与MiDaS v3.1[5](12个训练数据集)相比,本文使用的标记数据集更少,因为1)不使用NYUv2[54]和KITTI[18]数据集来确保对其进行零样本评估,2)一些数据集(不可用),例如Movies[45]和WSVD[60],以及3)一些数据集中表现出较差的质量,例如RedWeb(也是低分辨率)[66]。尽管使用了更少的标记图像,易于获取和多样化的未标记图像将提高数据覆盖率,并大大增强模型的泛化能力和稳健性。

此外,为了加强从这些标记图像中学习的教师模型T,采用DINOv2[42]预训练的权重来初始化编码器。在实践中,用预训练的语义分割模型[69]来检测天空区域,并将其视差值设置为0(最远)。

释放无标记图像的能力

与之前费力构建不同标记数据集的工作不同,本文强调未标记图像在增强数据覆盖率方面的价值。如今可以从互联网或各种任务的公共数据集中实际构建一个多样化的、大规模的未标记集合。此外,可以毫不费力地获得单目未标记图像的密集深度图,只需将它们转发到预训练的、性能良好的MDE模型即可。这比对立体图像或视频执行立体匹配或SfM重建要方便和高效得多。选择了八个大规模的公共数据集作为其不同场景的未标记来源。它们总共包含6200多万张图片。

不幸的是,在试点研究中,未能通过这种自训练流水线获得改进,这确实与只有少数标记图像时的观察结果相矛盾[55]。对于已经足够的标记图像,从额外的未标记图像中获取的额外知识是相当有限的。特别是考虑到教师和学生共享相同的预训练和架构,即使没有明确的自训练程序,也倾向于对未标记集Du做出类似的正确或错误预测。

为了解决这一困境,建议用一个更难的优化目标来挑战学生,获得未标记图像上的额外视觉知识。在训练过程中向未标记的图像注入强扰动。它迫使学生模型积极寻求额外的视觉知识,并从这些未标记的图像中获得不变的表示。这些优势有助于模型更有力地应对开放世界。作者引入两种形式的扰动:一种是强颜色失真,包括颜色抖动和高斯模糊,另一种是强烈的空间失真,即CutMix[83]。尽管简单,但这两个修改使大规模未标记图像显著提高了标记图像的基线。

CutMix的训练采用无标记图像损失,来自随机内插的一对无标记图像。

语义辅助感知

有一些工作[9,21,28,71]通过辅助语义分割任务来改进深度估计。这种高级语义相关信息在深度估计模型上是有益的。此外,在用未标记图像的特定背景下,这些来自其他任务的辅助监督信号也可以对抗伪深度标签中的潜在噪声。

因此,初步尝试用RAM[85]+GroundingDINO[37]+HQ-SAM[26]模型的组合,仔细地为未标记的图像分配语义分割标签。在后处理之后,这产生了一个包含4K类别的类空间。在联合训练阶段,该模型通过共享编码器和两个单独的解码器来产生深度和分割预测。不幸的是,经过反复试验,仍然无法提高原始MDE模型的性能。将图像解码到离散类空间中确实会丢失太多的语义信息。这些语义掩码中的有限信息很难进一步提升深度模型,尤其是当深度模型建立了非常有竞争力的结果。

因此,工作目标是寻找更多信息的语义信号,作为深度估计任务的辅助监督。对DINOv2模型[42]在语义相关任务中的强大性能感到非常惊讶,例如,图像检索和语义分割,即使在没有任何微调的情况下使用冻结权重。受这些线索的启发,建议将其强大的语义能力转移到具有辅助特征对齐损失的深度模型中。特征空间是高维和连续的,因此包含比离散掩码更丰富的语义信息。

作者没有遵循一些工作[19]将在线特征f投影到一个新空间中进行对齐,因为随机初始化的投影器在早期阶段造成的大对齐损失主导了整体损失。

特征对齐的另一个关键点是,像DINOv2这样的语义编码器倾向于为目标的不同部分产生相似的特征,例如汽车的前部和后部。然而,在深度估计中,不同部分甚至同一部分内的像素可以具有不同的深度。因此,穷尽性地强制深度模型产生与冻结编码器完全相同的特征,是无益的。

为了解决这个问题,作者为特征对齐设置了容忍差α。如果余弦相似性已经超过α,则在特征对齐损失中不考虑该像素。这使得该方法既可以享受来自DINOv2的语义-觉察表示,也可以享受来自深度监督的部件-级鉴别表示。作为副作用,产生的编码器不仅在下游MDE数据集中表现良好,而且在语义分割任务中也取得了很好的效果。它还表明了编码器作为一种通用的多任务编码器用于中级和高级感知任务的潜力。

最后,总损失是仿射不变性损失、无标记损失和特征对齐损失的平均组合。

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

06ff59d755338d91c4a963612fa30605.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2400人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

bf75482de9d3831dc543f2f4ea782b5d.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

9b92baa1db9baff173df90daef23554b.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

547c1c866fe622b29aa6dd176b947cbd.jpeg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值