0. 这篇文章干了啥?
单目深度估计(MDE)由于其在下游任务中的基础性作用而越来越受到关注。精确的深度信息不仅在经典应用中很有用,如三维重建、导航和自动驾驶,在现代场景中,如AI生成的内容,包括图像、视频和3D场景中也更为可取。因此,最近出现了许多MDE模型,它们都能够处理开放世界的图像。从模型架构的角度来看,这些工作可以分为两组。一组基于判别模型,如BEiT和DINOv2,而另一组则基于生成模型,如Stable Diffusion(SD)。在图2中,我们分别比较了两类中的两个代表性工作:Depth Anything作为判别模型,Marigold作为生成模型。可以很容易地观察到,Marigold在建模细节方面更优秀,而Depth Anything对于复杂场景则产生更鲁棒的预测。此外,如表1所示,Depth Anything比Marigold更高效且轻量级,同时提供不同尺度的选择。然而,Depth Anything对透明物体和反射较为敏感,这恰恰是Marigold的优势所在。
在这项工作中,我们考虑到所有这些因素,旨在构建一个更具能力的单目深度估计基础模型,以实现表1所列出的所有优点:
为复杂场景生成鲁棒的预测,包括但不限于复杂的布局、透明物体(如玻璃)、反射表面(如镜子、屏幕)等。
在预测的深度图中包含精细的细节(与Marigold的细节相当),包括但不限于薄物体(如椅子腿)、小孔等。
提供不同的模型规模和推理效率,以支持广泛的应用。
足够通用,可转移到下游任务中(即微调),例如Depth Anything V1作为第三届MDEC竞赛中所有领先团队的预训练模型。
由于MDE的本质是一个判别任务,我们从Depth Anything V1开始,旨在保持其优点并纠正其缺点。有趣的是,我们将展示,要实现这一具有挑战性的目标,并不需要开发花哨或复杂的技术。最关键的仍然是数据。这确实与V1的数据驱动动机相同,它利用大规模未标记数据来加速数据扩展和增加数据覆盖范围。在这项工作中,我们将首先重新审视其标记数据设计,然后强调未标记数据的关键作用。
下面我们先介绍三个关键发现。我们将在接下来的三个部分中详细阐述它们。
Q1 [第2节]:
MiDaS或Depth Anything的粗略深度是否来自判别模型本身?是否必须使用基于重扩散的建模方式以获得精细细节
?
A1:不,高效的判别模型也可以产生极其精细的细节。最关键的改进是将所有标记的真实图像替换为精确的合成图像。
Q2 [第3节]:
如果合成图像已经明显优于真实图像,为什么大多数先前的工作仍然坚持使用真实图像
?
A2:合成图像有其缺点,这在之前的范式中并不易于解决。
Q3 [第4节]:
如何避免合成图像的缺点并放大其优势
?
A3:通过大规模带有伪标签的真实图像作为桥梁,放大仅使用合成图像训练的教师模型,然后用它来教导(较小的)学生模型。
经过这些探索后,我们成功构建了一个更强大的MDE基础模型。然而,我们发现当前的测试集过于嘈杂,无法反映MDE模型的真实优势。因此,我们进一步构建了一个具有精确标注和多样场景的通用评估基准(第6节)。
下面一起来阅读一下这项工作~
1. 论文信息
标题:Depth Anything V2
作者:Lihe Yang, Bingyi Kang, Zilong Huang, Zhen Zhao, Xiaogang Xu, Jiashi Feng, Hengshuang Zhao
机构:HKU、TikTok
原文链接:https://arxiv.org/abs/2406.09414
代码链接:https://github.com/DepthAnything/Depth-Anything-V2
官方主页:https://depth-anything-v2.github.io/
2. 摘要
本项工作介绍了Depth Anything V2。我们不追求花哨的技术,而是旨在揭示关键发现,为构建强大的单目深度估计模型铺平道路。特别是,与V1版本相比,该版本通过三个关键实践产生了更精细、更鲁棒的深度预测:1) 将所有标记的真实图像替换为合成图像;2) 扩大教师模型的容量;3) 通过大规模伪标签真实图像的桥梁来教授学生模型。与基于Stable Diffusion的最新模型相比,我们的模型在效率和准确性上均显著更优(速度快10倍以上)。我们提供了不同规模的模型(参数从25M到1.3B不等),以支持广泛的场景。得益于它们强大的泛化能力,我们使用度量深度标签对它们进行微调,以获得我们的度量深度模型。除了我们的模型外,考虑到当前测试集的多样性有限和频繁出现的噪声,我们构建了一个具有精确标注和多样场景的通用评估基准,以促进未来的研究。
3. 效果展示
Depth Anything V2在健壮性和细粒度细节方面显著优于V1。与基于SD的模型相比,它具有更快的推理速度、更少的参数和更高的深度精度。
4. 重新审视Depth Anything V1
基于MiDaS在零次学习MDE方面的开创性工作,最近的研究倾向于构建更大规模的训练数据集以提高估计性能。值得注意的是,Depth Anything V1、Metric3D V1和V2以及ZeroDepth分别从各种来源收集了150万、800万、1600万和1500万张标记图像用于训练。然而,很少有研究深入探讨这一趋势:
如此大量的标记图像真的有利吗
?
在回答这个问题之前,让我们首先深入探讨真实标记图像可能被忽视的缺点。真实标记数据的两个缺点。
-
标签噪声,即深度图中的不准确标签。由于各种收集程序固有的限制,真实的标记数据不可避免地包含不准确的估计。这种不准确可能来自多种因素,例如深度传感器无法准确捕获透明物体的深度(如图3a所示)、立体匹配算法对无纹理或重复模式的脆弱性(如图3b所示),以及SfM方法在处理动态对象或异常值时的易受影响性(如图3c所示)。
-
被忽略的细节。这些真实数据集经常忽略其深度图中的某些细节。如图4a所示,树和椅子的深度表示明显粗糙。这些数据集难以在对象边界或细孔内提供详细的监督,导致过度平滑的深度预测,如图4c中间部分所示。因此,这些带有噪声的标签非常不可靠,以至于学习到的模型会犯类似的错误(如图3d所示)。例如,MiDaS和Depth Anything V1在透明表面挑战中分别获得了25.9%和53.5%的较差分数。
为了克服上述问题,我们决定改变训练数据,并寻找带有更好标注的图像。受到最近几项基于SD的研究的启发,这些研究专门利用带有完整深度信息的合成图像进行训练,我们广泛检查了合成图像的标签质量,并注意到它们有潜力缓解上述缺点。合成图像的优势在于其深度标签非常精确,体现在两个方面:
-
所有精细的细节(如边界、小孔、小物体等)都被正确标注。如图4b所示,即使是所有细密的网格结构和叶子都被标注了真实的深度。
-
我们可以获得具有挑战性的透明物体和反射表面的实际深度,例如图4b中桌子上的花瓶。简而言之,合成图像的深度是真正的“真实值”。在图4c的右侧,我们展示了在合成图像上训练的MDE模型的精细预测。此外,与真实图像相比,我们可以通过从图形引擎中收集来快速扩大合成训练图像的数量,这不会引起任何隐私或伦理问题。
5. Depth Anything V2
根据以上所有分析,我们训练Depth Anything V2的最终流程已经明确(如图7所示)。它包含三个步骤:
基于DINOv2-G仅在高质量的合成图像上训练一个可靠的教师模型。
在大规模未标记的真实图像上生成精确的伪深度。
在伪标记的真实图像上训练最终的学生模型以实现鲁棒的泛化(我们将展示在这一步中合成图像不是必需的)。
我们将发布四个学生模型,分别基于DINOv2的small、base、large和giant版本。如表7所示,我们使用五个精确的合成数据集(595K张图像)和八个大规模伪标记的真实数据集(62M张图像)进行训练。与V1相同,对于每个伪标记的样本,我们在训练过程中忽略其损失最大的前n个区域,其中n设置为10%。我们将其视为潜在的噪声伪标签。类似地,我们的模型产生仿射不变的逆深度。
我们在标记图像上使用两个损失项进行优化:一个尺度不变和偏移不变的损失Lssi和一个梯度匹配损失Lgm。这两个目标函数并不是新的,它们是由MiDaS提出的。但不同的是,我们发现当使用合成图像时,Lgm对深度锐度非常有益。在伪标记的图像上,我们遵循V1的做法,添加了一个额外的特征对齐损失,以保留来自预训练DINOv2编码器的信息性语义。
6. 实验结果
传统基准测试的性能
:由于我们的模型预测仿射不变逆深度,为了公平起见,我们在五个未见过的测试数据集上与Depth Anything V1和MiDaS V3.1进行了比较。如表2所示,我们的结果优于MiDaS,与V1相当。我们在两个数据集上的指标略逊于V1。然而,这些数据集上的简单指标并不是本文的重点。这个版本旨在为细薄结构产生精细的预测,并为复杂场景、透明物体等产生鲁棒的预测。这些方面的改进在当前基准测试中无法正确反映。
在我们提出的基准测试DA-2K上的性能
:如表3所示,在我们提出的具有多样化场景的基准测试中,即使是我们最小的模型也显著优于其他基于SD的重型模型,例如Marigold和Geowizard。我们功能最强大的模型在相对深度判别方面比Marigold高出了10.6%的准确率。
大规模伪标签真实图像的重要性
。如表5所示,与仅在合成图像上训练相比,通过融合伪标签真实图像,我们的模型得到了显著提升。与Depth Anything V1不同,我们进一步尝试在训练学生模型时去除合成图像。我们发现,这甚至可以为较小的模型(例如,ViT-S和ViT-B)带来略微更好的结果。因此,我们最终选择仅使用伪标签图像来训练学生模型。这一观察结果与仅发布其伪标签掩码的SAM相似。
真实标签图像上的伪标签与人工标签的比较
。我们之前在图4a中展示过,现有的已标记真实数据集非常嘈杂。这里我们进行了一个定量比较。我们使用DIML数据集中的真实图像,并比较其原始人工标签和我们生成的伪标签下的迁移性能。我们可以在表6中观察到,使用伪标签训练的模型显著优于使用人工标签的模型。这一巨大差距表明了我们伪标签的高质量以及当前已标记真实数据集中的丰富噪声。
7. 总结
在这项工作中,我们提出了Depth Anything V2,一个更强大的单目深度估计基础模型。它能够1) 提供稳健且精细的深度预测,2) 支持具有不同模型大小(从25M到1.3B参数)的广泛应用,以及3) 作为有前景的模型初始化,易于对下游任务进行微调。我们揭示了关键发现,为构建强大的MDE模型铺平了道路。此外,鉴于现有测试集存在的多样性不足和噪声丰富的问题,我们构建了一个多功能的评估基准DA-2K,涵盖了具有精确且具挑战性的稀疏深度标签的多样化高分辨率图像。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
计算机视觉工坊交流群
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
大模型
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
2D计算机视觉:
图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
大模型:
NLP、CV、ASR、生成对抗大模型、强化学习大模型、对话大模型等
工业3D视觉:
相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:
视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:
深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、BEV感知、Occupancy、目标跟踪、端到端自动驾驶等。
三维重建:
3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:
四旋翼建模、无人机飞控等
除了这些,还有
求职
、
硬件选型
、
视觉产品落地
、
最新论文
、
3D视觉最新产品
、
3D视觉行业新闻
等交流群
添加小助理: dddvision,备注:
研究方向+学校/公司+昵称
(如3D点云+清华+小草莓)
, 拉你入群。
▲长按扫码添加助理
3D视觉学习知识星球
3D视觉从入门到精通知识星球
、国内成立最早、6000+成员交流学习。包括:
星球视频课程近20门(价值超6000)
、
项目对接
、
3D视觉学习路线总结