前言:此文用于作为读Depth Anything 论文的记录,其中许多细节都是通过b站讲解视频了解的。
论文地址:https://arxiv.org/abs/2401.10891.pdf
源码地址:https://github.com/LiheYoung/Depth-Anything
这篇论文介绍了“Depth Anything”,旨在通过输入一张RGB图像生成深度图。研究者通过引入大规模未标注数据集,设计了有效的基础模型,提升了模型的泛化能力。论文强调数据增强和语义信息的结合,改善了深度估计的准确性。实验结果表明,该方法在零样本深度估计和下游任务中表现优异,展示了未标注数据的巨大潜力。研究为未来的单目深度估计系统提供了重要的见解和方法
详细介绍:
一、
文章通过引入大规模未标注数据集来扩展数据覆盖范围,从而提升模型的泛化能力。作者通过设计被已标注数据训练出的模型来自动标注数据,增强模型的学习效果。
为了提高模型性能,作者设置了更具挑战性的优化目标,利用数据增强手段让模型获得更多视觉知识。这种方法迫使模型更积极地学习,从而提高了深度图生成的准确性。
论文还提出了通过语义分割辅助深度学习的思路,利用语义信息提升模型的深度估计能力。这种结合方式为单目深度估计提供了新的途径,使得模型在单张图像下也能获得更丰富的深度信息。
二、
大规模未标注数据在视觉领域的应用具有显著优势。这些数据不仅获取简单且成本低廉,还能够在多个领域中提供丰富的信息。这种数据的普遍存在为深度学习模型的训练提供了丰富的素材,有助于提升模型的表现。
通过联合学习的方法,可以有效地利用未标注数据进行模型训练。结合已标注数据,使用教师模型为未标注数据打上伪标签,从而提升整体训练效果。
为了进一步提升模型性能,作者提出在训练过程中加入挑战性的优化目标。这一方法旨在促使模型学习更高级的特征,从而克服简单的学习策略所带来的局限性。
三、
相对深度在训练与推理中的应用引发了关于其实际效用的疑问。尽管只使用相对深度,若模型强大,仍可通过微调实现对绝对深度任务的有效解决,从而无需担心实际场景的应用。
相对深度的处理方式包括减去均值和标准差,这种方法可以有效规范化数据。通过这种方式,可以更好地训练模型,使其在绝对深度任务中表现出色。但论文使用的是减去中位数的方法,原因在下面我的小问题记录里面。
关于无标注数据的使用,研究者们提出半监督学习的概念。利用无标注数据集,可以扩展数据覆盖范围,从而提升模型的泛化能力和性能。
教师模型的训练流程是关键步骤之一,使用已标注数据集进行训练。通过这种方式获得的教师模型可以在无标注数据上进行推理,从而获得有效的深度映射。
四、
在无标签图像的学习中,教师模型的作用是为学生模型提供标签,从而提升其性能。这种方法强调通过组合标记和无标记数据集来训练学生模型,以获得更好的效果。
五、
未标注图像的损失函数的计算方法,强调了使用学生模型和教师模型之间的关联。通过具体的公式和过程,展示了如何得到深度图和相应的损失,使理解变得清晰易懂。
六、
如何通过改进特征对齐损失来提升深度估计模型的性能。作者提出使用更丰富的连续特征信息,而非离散类别,以提高模型的指导能力和准确性。
七、
通过三种损失函数来优化深度学习模型的训练过程,包括有标注和未标注数据的处理。通过这些方法,模型在泛化能力上取得了显著的提升,尤其是在未见过的数据集上
八、
在真实数据集环境中,我们对深度估计模型的性能进行了深入分析,特别是在零样本和域内条件下的表现。这项研究表明,该模型在多个数据集上均能实现优异的深度估计效果。
九、
本文探讨了不同数据集对单目深度估计模型性能的影响,研究者希望通过优化训练数据集来提高模型在未见数据集上的泛化能力。实验结果显示,数据集的多样性是提升性能的关键因素。
十、
基于DINO VR的编码器在深度估计和语义分割任务中的显著提升。通过与原始DINO VR编码器的比较,作者展示了新的预训练模型在下游任务中的优越性。
十一、
数据增强技术的应用使得未标注数据得到了有效利用,提升了模型在复杂场景下的表现。通过对未标注图像进行cut mix处理,模型能够更好地学习到复杂特征。
作者提出的论文名称《Unleashing the power of large-scale unlabeled data》强调了未标注数据的潜力。所有贡献(有三个贡献:Unlabeled data 、Optimization target(data augmentation)、Semantic prior(auxiliary supervision),也就是1 大量的未标注图像信息、2 优化策略(通过数据增强)、3 辅助监督(语音分割的先验))均基于对未标注数据的深入挖掘,推动了研究的进展。
十二、
引入未标注数据的研究展示了其在语义分割任务中的潜力。通过对比效能实验,作者发现数据增强和特征对齐对模型性能提升具有重要作用。
在数据集扩充的过程中,虽然引入了更多的数据以增强多样性,但并未显著提高模型性能。作者指出,简单增加数据量并无法保证效果提升,必须结合更复杂的特征对齐和数据增强策略。
在数据集的规划中,训练集与测试集的分布差异可能导致评估问题。为了获得更好的结果,需考虑如何优化训练集的分布,以减少潜在的偏差和问题。
下面是我的小问题记录:
1.
1.5M的已标记数据,是什么样子的,他做的是深度估计,难道有1.5M的深度图数据吗?
答:对,label就是单通道的深度
2.
用的是相对深度,进行了归一化的操作。关于这个归一化,一般有减去平均值再除以标准差这种方法,但是论文中是减去中位数,因为从统计学上看,平均值容易受到极端值的影响,比如一张图有一半是天空,那么用平均值进行归一化就会受很大影响
3.
用1.5M的已标注数据集训练出teacher model 对62M的未标注数据进行伪标注。
结果,在1. 5M上训练出的模型与在62M+1.5M上训练出的模型差别不,为了让后者有更大提升,在62M+1.5M上训练时,在数据集上增加了扰动(数据增强),加上了更困难的优化目标,以让其学习到额外的视觉知识。
4.
组合几个语义分割模型实现对图片局部的分类(共4000类),最终每个像素点都是4000哥整数中的一个,但是深度估计,要的是连续的而不是离散的值。
就要求训练时,不仅产生语义的结果,同时产生深度结果
5.
用深度的倒数作为指标生成单通道的深度图,这样就有
离得远的物体(比如差别2000m),比如天空,天空的a部分离镜头1万米,b部分离镜头1.2万米,但其实二者的深度图里的颜色都是很黑的,因为1/10000和1/12000差的很少;
但离得近的物体(也是差别2000m),比如距离镜头1m的A物体和距离镜头2001m的B物体,二者的深度图的颜色差别应该是很大的,因为1/1和1/2001值差别很大。
因为本文主要是本人用来做的笔记,顺便进行知识巩固。如果本文对你有所帮助,那么本博客的目的就已经超额完成了。
本人英语水平、阅读论文能力、读写代码能力较为有限。有错误,恳请大佬指正,感谢。