深度学习论文: Depth Anything V2
Depth Anything V2
PDF: https://arxiv.org/pdf/2406.09414v1
代码:https://depth-anything-v2.github.io/
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
Depth Anything V2通过三项关键实践实现了更精细、更稳健的单目深度估计:首先,采用合成图像替代真实标记图像,以克服标签噪声和细节缺失;其次,扩大教师模型的容量,提升性能;最后,利用大规模伪标签真实图像训练学生模型。与基于Stable Diffusion的模型相比,V2在效率和准确性上均大幅提升,速度快10倍以上。此外,V2提供了多种规模的模型,并支持一个多功能评估基准,以促进未来研究。
2 Depth Anything V2
训练 Depth Anything V2 的流程。它包括三个步骤:
- 基于 DINOv2-G,仅在高质量的合成图像上训练一个可靠的教师模型。
- 在大规模未标记的真实图像上生成精确的伪深度标签。
- 在伪标记的真实图像上训练最终的学生模型,以实现鲁棒的泛化
Depth Anything V2使用五个精确合成的数据集(包含595K张图片)和八个大规模伪标签真实数据集(包含62M张图片)
在训练过程中,忽略每个伪标签样本中损失最大的10%区域,视为潜在噪声。提出的模型生成仿射不变逆深度,并采用两个已知的损失项(Lssi和Lgm)对标记图像进行优化。特别地,本文发现Lgm在使用合成图像时对提高深度锐度非常有益。此外,在伪标签图像上增加了特征对齐损失来保留语义信息。
2-1 Using Synthetic Data
在深度估计中,尽管大规模真实数据集推动了性能提升,但其标签噪声和细节缺失限制了模型的预测能力。研究者们转向合成图像,因其精确的深度标签和详细标注,能够准确捕捉各种细节和复杂表面。合成图像不仅克服了真实图像的局限性,还允许快速扩展数据集,从而提升单目深度估计的性能。
尽管合成数据有特定的优势,但是将合成数据应用到单目深度估计(MDE)中面临两大挑战:
- 分布偏移:合成图像与真实图像在风格和颜色分布上有明显差异,导致模型难以迁移到真实场景。
- 场景覆盖限制:合成图像通常来自有限的预定义场景,无法覆盖真实世界中的多样化场景。
尽管通过联合训练真实与合成图像来改善泛化,但真实图像的粗糙深度图可能影响预测精度。此外,收集足够的合成图像以模拟所有真实场景是不现实的。本文通过整合未标记的真实图像来缓解这一问题。
2-2 Key Role of Large-Scale Unlabeled Real Images
提出的解决方案通过整合未标记的真实图像来增强MDE模型的性能。首先,使用高质量的合成图像训练基于DINOv2-G的MDE模型,并在未标记的真实图像上生成伪深度标签。然后,新模型仅用这些伪标记图像进行训练,从而在以下方面发挥作用:
- 弥合领域差距:利用未标记图像作为中间学习目标,帮助模型更好地适应真实世界数据分布。
- 增强场景覆盖:通过大规模未标记图像扩展模型训练的场景多样性,提高零样本MDE能力。
- 知识迁移:小型模型通过模仿大型模型在未标记图像上的预测结果,实现知识蒸馏,增强模型鲁棒性。
这种方法避免了直接从合成图像到真实图像的迁移难题,同时解决了合成图像在多样性和细节上的局限性。