点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
题目:Monocular Depth Estimation: A Thorough Review
单目深度估计:全面综述
作者:Vasileios Arampatzakis; George Pavlidis; Nikolaos Mitianoudis; Nikos Papamarkos
摘要
在计算机视觉领域,对二维图像中深度的估计是一个具有挑战性的主题。这是一个长期被深入研究且定义不明确的问题,一直是密集研究的焦点。本文是对这一主题的深入回顾,呈现了两个方面:一方面考虑人类深度感知的机制,另一方面包括各种深度学习方法。这些方法以紧凑和结构化的方式呈现,概述了主题,并根据近十年的研究线索对方法进行了分类。尽管在这一主题上取得了显著进展,但似乎没有任何与人类深度感知及其潜在益处的联系。
关键词
人工智能
计算机视觉
深度学习
深度估计
图像处理
机器学习
单目深度估计
第一部分 引言
场景的空间结构识别是机器视觉感知中的一个基本问题,通常被称为深度估计或重建。当一个三维(3D)场景投影到一个平面上时,就会产生一个二维(2D)图像。深度估计的目标是解决逆问题,即重构由于投影而丢失的与观察位置相对应的场景对象间距离的维度。迄今为止提出的表示空间结构和3D场景与其对应2D图像之间映射的方法都属于深度估计领域[1]。
形式上,给定一幅单个图像
,其中包含三个颜色通道,尺寸为
,目标是估计一幅深度图
。将这个问题作为图像重建问题来处理,需要一个函数
,以映射场景的深度。
在这一主题上的研究对广泛的应用领域有着直接的影响,例如图像分割[2]、自主导航[3],并随着目标检测的进一步增强[4]、机器人辅助手术[5]、检测机器人抓取[6]、人体姿态估计[7]、自动将2D影片转换为3D[8]、图像的合成性聚焦模糊[9]以及在图像中合成对象的插入[10]。尽管由于机器学习和人工智能的进步,这些应用近年来取得了巨大改进,但获得的视觉感知能力仍然远远落后于人类的技能。
我们目前对人类深度感知的理解是,它依赖于从视觉线索中提取的信息[11]、[12]、[13]。深度的视觉线索可以被看作是由复杂的人类视觉感知产生的差异化信息,这种感知不断地比较来自眼睛的视觉输入。
尽管人类天生具有感知空间结构的能力,但大多数技术方法仍然发现很难获得一般性的深度感知。如今,存在几种深度估计方法,这些方法依赖于有限数量的深度线索,如立体视觉[14]、单目视觉(例如,纹理变化、纹理梯度、雾、物体的相对大小和遮挡)[15]、运动视差[16]和焦点[17]。此外,方法之间存在基本的区别,即它们是否能够理解观察场景的绝对测量或相对深度估计。在某些应用中,相对深度估计可能就足够了,而在其他应用中,绝对深度测量被认为是必需的。因此,在大多数情况下,应用领域决定了要使用的方法类型。最近,计算资源、能力、内存的可用性,以及深度学习技术的进步,成为重新审视深度估计问题的因素。
在基于深度学习的单目深度估计领域,已经发表了几篇综述,突出了新方法、挑战和未来方向。Xiaogang等人[18]进行了一项综述,重点关注性能评估和未来方向。他们基于评估指标比较了少量方法,并讨论了自适应方法、使用高效网络架构进行高密度图像深度估计以及在复杂场景中准确深度估计的挑战的潜力。Masoumian等人[19]讨论了卷积神经网络(CNN)架构以及在单目深度估计中需要进步的必要性。他们强调了有限数据集和真实深度数据的普遍问题,并提出了未来研究的六个目标:准确性、计算时间、分辨率质量、实时推理、可转移性和输入数据形状。Ming等人[20]确定了当前方法的共同特征,即多层结构和编码器-解码器架构中固有的信息丢失问题。他们概述了未来方法面临的五个主要挑战,包括网络框架的集成和优化、数据集构建、处理动态对象和遮挡、生成高分辨率深度图和实现实时性能。Poggi等人[21]专注于基于立体视觉的双目方法。他们总结了最近的成就,并强调了两个未来的发展方向:跨不同领域的泛化和方法对高分辨率图像的适用性。Zhao等人[22]讨论了单目深度估计的未来发展,沿着三个主要轴:准确性、可转移性和实时性能。他们还强调了对基于深度学习的单目深度估计方法的基础机制缺乏研究,例如了解它们利用哪些深度线索以及网络学到了什么。
这项工作的动机是,尽管单目深度估计取得了快速进展,但进展似乎是遵循试错模式,没有关注可解释性以及与人类深度感知机制的联系。为此,我们回顾、分类并讨论了相关研究,提供了双重贡献:(a) 详细描述问题并编目当前的最新技术,(b) 强调需要进一步研究,以了解方法能够提供什么以及如何提供(可解释性[23])。在各种AI领域实现可解释性的最典型方法包括(a) 特征可视化[24],(b) 显著性图[25],(c) 注意力机制[26],(d) LIME(局部可解释模型无关解释)[27],(e) SHAP(Shapley可加性解释)[28],和 (f) Grad-CAM(梯度加权类激活映射)[29]。此外,必须注意解释方法在简单性和准确性之间的权衡,一些方法是特定于模型的,而另一些方法是模型无关的,并且需要验证解释并确保它们反映真实的模型行为。在单目深度估计中,对此进行的研究有限,如第IV节所讨论的。在这项研究中,我们还提议将可解释性(在这一领域)定义为理解AI系统深度预测与人类深度估计机制之间的联系,并建议未来在这个方向上的研究可能是有益的。
本文首先介绍人类视觉深度线索,然后转向研究传统的和先进的深度估计方法,总结相关的基准数据集和适用的评估指标。本文最后以评论结束,强调处理单目深度估计的未来视角。
第二部分 背景与相关工作
深度感知对于机械系统来说一直是一个重大挑战。在他的论文《光学》中,欧几里得是最早为这个主题提出定理的人之一;“等大小的物体,如果距离不相等,则看起来大小不一,而且离眼睛更近的物体总是看起来更大”,以及“当物体以相同的速度移动时,那些更远的物体似乎移动得更慢”只是其中两个定理[30]。毫无疑问,欧几里得意味着相对大小和运动视差是人类深度感知中的两个重要视觉深度线索,正如以下文本所述。从那时起,特别是对于单目深度感知,已经提出了各种深度线索,例如透视、相对尺度、在受控照明和阴影下的呈现、阴影的形状以及遮挡的存在[31]。本综述遵循了Cutting和Vishton[11]的研究,如II-A节所述。
A. 人类深度感知
早在1995年,Cutting和Vishton[11]就发表了他们关于人类深度感知的详细研究和结论。他们描述并分类了Nagata[12]先前提出的视觉深度线索。他们识别了九个主要的视觉深度线索,如图1所示,并定义如下:
-
相对大小 (RS) 指的是在视网膜上,物理大小相似的物体的投影所占面积的表观差异。换句话说,在两个相似的物体之间,看起来更小的那个更远。
-
相对密度 (RD) 在观察到一群相似的物体或纹理时被检测到。随着观察者距离的增加,物体看起来更接近彼此,纹理变得更密集。
-
视觉场中的高度 (H) 与物体基座的关系有关,假设存在地平面和没有天花板[32]。具体来说,距离观察者更远的物体倾向于更接近地平线。
-
大气透视 (AP) 当空气中有高浓度的水分、污染或两者兼有时出现,远处的物体与前景物体相比变得更蓝、对比度更低或两者都有。
-
运动透视 (MP) 是当观察者和被观察物体之间存在相对运动时出现的现象。看起来移动得更快的物体更接近观察者。
-
收敛 (C) 与两只眼睛的光学轴线之间的角度有关。如果物体远离观察者,光学轴线趋于平行,它们之间的角度接近零度。随着物体距离的减少,两个轴线汇聚到物体上的一个点。
-
调节 (A) 是眼睛的功能,其中晶状体(本质上是一个不对称的双凸透镜)改变其形状以实现在不同距离上的聚焦。
-
双眼差异 (BD) 是立体视觉的基础,是两个眼睛中观察到的物体位置的差异,只有在多个观察传感器(在这种情况下是眼睛)可用时才有意义。
这些视觉深度线索的组合似乎与人类对完整场景的理解有关。此外,Cutting和Vishton[11]提到了次要线索,例如纹理梯度、线性透视、亮度和阴影、运动深度、运动遮挡和重力。根据他们的说法,这些线索是“次要的”,因为它们要么是主要线索的组合,要么被错误地考虑了。
图2是Cutting和Vishton关于深度辨别能力与两个物体之间距离的另一个著名图形表示的再现,其中df表示远物体,dn表示近物体的距离。在这个图中,对数水平轴表示两个物体之间的平均深度
,定义为:
这个图的另一个显著特点是对数垂直轴的递减。在这个轴上,深度对比度的值随着高度降低。给定物体的距离,那些深度线索在阈下曲线以下的是有效的深度辨别。图2中的阈下曲线下方的阴影强调了每个线索在深度辨别中的作用。因此,被多个线索的阴影覆盖的区域是深度感知可以被认为是多因素函数的区域,或者深度辨别是由多个深度线索辅助的。尽管完全理解这个图是有挑战性的,可以说,对于给定的平均深度(x轴的值),深度辨别的兴趣区域由线索阈下曲线界定。Cutting和Vishton定义了深度对比度的实用下限为
。不管深度线索如何,使用Cutting和Vishton的定义估计深度对比度
:
会导致一些有趣的观察。显然,随着观察者距离的增加,深度辨别能力显著下降,因为物体彼此靠近。很容易计算出公式2,并发现为了保持深度对比度的最大值,远物体的距离应该是近物体的三倍。由于这种关系是恒定的,物体离观察者越远,它们就应该越分开,以便观察者能够辨别它们的深度。如图2所示,当近物体在100米处,远物体在300米处时,平均深度是200米,深度对比度是1,提供反馈的深度线索是多方面的,几乎所有的线索除了收敛和调节之外,在10米的平均距离处停止贡献。在另一个例子中,当近物体再次在100米处,远物体在110.5米处,那么平均深度是105.25米,对比度是
,这意味着深度辨别不再受双眼差异、运动透视、视觉场中的高度和大气透视的支持了。
B. 3D数字化中的深度估计
深度估计是任何3D数字化方法的基本目标,即记录3D物理对象的几何结构,通常还包括光谱特征[33]。最初,采用了传统的计算机视觉技术,如短程激光束三角测量、时间飞行(LiDAR)扫描、基于相位的扫描、结构光形状(如微软Kinect)、光度形状、阴影形状、轮廓形状、阴影梯度形状、立体形状、纹理深度、聚焦/散焦深度以及运动结构(SFM)。这些方法利用图像对应关系、几何关系和其他手工制作的特征来估计深度。一些方法是单目的,其他是双目的,其他依赖于多视图几何。可以在[33]、[34]中找到各种方法的详细回顾。尽管3D数字化方法重建了场景的完整3D结构,但深度估计可以仅限于从观察者重建距离。这是大多数最近在单目深度估计研究中的情况。因此,3D数字化方法在这里仅以信息性方式引用,并没有进一步讨论。
C. 基准数据集
在深度估计研究中,只有少数基准数据集可以自由获取并广泛使用。这些数据集是为各种应用创建的,尽管大多数是由自动驾驶汽车研究的当前趋势驱动的。深度估计基准数据集的一个共同要求是,场景图像应该有密集的深度数据,形成所谓的地面真实情况。深度数据可以用作最小化深度误差估计的参考点。然而,大多数数据集在这方面是不完整的。正如以下段落所示,通常提供有关其配对场景的稀疏深度值。
在其他情况下,深度图完全缺失,因为为自监督方法提供了立体图像或视频帧对。尽管如此,研究人员一直在使用可用的基准数据集,要么训练他们的新方法(例如,通过使用单一增强数据集),要么估计新方法的泛化能力(例如,在数据集A上训练并在数据集B上测试)。无论哪种方式,使用多个数据集并不罕见。
表I列出了最常用的数据集,报告了每个数据集中的数据量、数据特征、数据集的创建方式以及它们的原始目的,无论是室内还是室外应用。除了表I中列出的之外,还开发了许多其他数据集用于单目深度估计,包括DIW[35]、ETH3D[36]、Sintel[37]和TUM-RGBD[38]。研究人员还结合了数据集以满足要求更高的应用,例如Ranftl等人[39],他们提出了一个连接12个数据集的模型:ReDWeb[40]、DIML[41]、Movies[42]、MegaDepth、WSVD[43]、TartanAir[44]、HR-WSI[45]、ApolloSpace[46]、BlendedMVS、IRS[47]、KITTI和NYU-v2。
D. 评估指标
评估深度图预测时使用了众所周知的误差函数和深度准确性指标。Eigen[49]是第一个推荐这项任务最常用的评估指标的人。显然,一个成功的方法应该获得高准确性和低误差。在总共N个像素中,每个像素i的真实深度表示为di,其预测深度值为
。使用的指标如下:
在这个类别的实验中,使用了一个特定的准确度指标,即delta指标,也称为阈值内的准确度。这是一个有价值的定量度量,它评估了预测深度值正确落在特定阈值以下的像素百分比。通过计算δx,可以确定算法预测在多大程度上偏离真实值。通过改变阈值(通常为1.25、1.252和1.253),我们可以改变估计的严格性,并了解测试算法的性能。此外,值得注意的是,在这种情况下,定义了相对指标(AbsRel、SqRel),它们需要与真实值归一化。
为了展示为什么这些指标是可取的,我们使用了一个玩具实验。假设我们有50幅图像,每幅图像都填充在50到100之间的单一灰度值。通过在所有50幅图像的可能组合中计算误差指标,我们得到了如图3(a)所示的指标的整体统计数据,以箱线图的形式展示。箱线图揭示了计算误差值的分布,显然不同的指标结果在完全不同的统计数据。此外,图3(b)和(c)显示了相对和相应绝对指标之间的比较,在这种情况下,AbsRel与其相应的平均绝对误差(MAE)和SqRel与其相应的均方误差(MSE)。显然,绝对指标导致非常大的误差分布,这可能看起来更可取。然而,深度估计方法的规模模糊性,这些方法产生预测在一个任意(相对)空间与真实值空间脱节,需要对误差估计进行缩放,使它们独立于规模,从而可用。在某种程度上,RMSE(lin)、RMSE(log)、sRMSE(log)中平方根和对数的使用对预测误差分布有类似的效果。
值得注意的是,结构相似性指数SSIM[61]、深度图边缘以及从深度图像提取的法线图之间的平均余弦距离也被用作结果的定性度量[62]。此外,Cadena等人[63]提出了基于迭代最近点(ICP)算法的预测深度和真实值在3D空间中最近点误差的度量。然而,尚未建立专门针对深度估计任务需求的特定设计指标。
第三部分 基于深度学习的单目深度估计
传统上,深度估计方法依赖于各种假设、限制和优化来提供密集的深度估计。然而,基于传感器的方法,如利用RGB-D和LiDAR传感器的方法,面临着测量范围有限、对户外光照条件敏感、校准要求以及高能耗等限制。在处理高复杂性的深度计算任务时,几乎不可能应用传统的模式识别方法,因此,这个问题需要被构建为一个学习问题,需要对每个像素的深度值进行回归。与此相反,现代的深度学习方法在从单目图像估计密集深度图方面取得了有希望的性能。
深度学习深度估计方法的一种分类方式是考虑它们的学习范式:监督学习、自监督学习和半监督学习。
监督学习方法依赖于标记过的训练数据,即需要成对的图像和相应的深度图。在训练图像中每个像素的深度注释为监督信号,允许网络学习输入图像与其对应的每个像素深度值之间的映射。监督方法的优势在于,当在丰富注释的数据集上训练时,它们能够实现高准确性。然而,获取大规模的像素级深度注释数据集可能既耗时又昂贵。
另一方面,自监督方法利用未标记数据中存在的内在结构和信息来学习深度估计。这些方法利用具有已知摄像机运动或场景几何形状的图像对或图像序列来创建用于训练的监控信号。通过将任务描述为重建问题或相对深度排序问题,自监督方法可以学习在没有显式深度注释的情况下估计深度。这种方法减少了对大量手动标记的需要,但它可能仍然需要仔细的设计选择和关于输入数据的其他假设。
半监督方法的目的是在监督和自我监督方法的优势之间取得平衡。他们在培训期间利用已标记和未标记数据的组合。通过使用少量的标记数据和大量的未标记数据,半监督方法可以获得与完全监督方法相比具有竞争力的性能,同时减少了标注工作量。然而,在联合学习框架中有效地利用标记和未标记的数据可能是具有挑战性的,并且需要仔细的设计考虑。
近年来,各种网络结构被应用于单目深度估计,包括卷积神经网络(CNN)、全卷积神经网络(FCNs)、编解码器(ED)、自动编码器(AES)、生成对抗网络(GANS),以及最近的Transformers。每种架构都在准确性、效率和计算要求方面提供了独特的优势和折衷。在接下来的几节中,我们将更详细地介绍每种类型的学习模式。
A. 监督学习方法
在监督单目深度估计方法中,主要特点是真实深度图D和估计深度图
之间的距离。将此视为一个回归问题,这些深度神经网络的目标是学习从单个图像预测深度图的规则。真实深度信息
通常是通过基于传感器的方法捕获的。为此目的应用了简单的误差度量,例如L2损失,应该被最小化:
值得注意的是,尽管L2损失在许多网络中常用,但其适用性和有效性可能因特定任务和数据集而异。因此,不能保证其作为所有场景下最优损失函数的普遍有效性。然而,由于其简单性和成熟性,许多单目深度估计领域的网络在其训练过程中通常采用这种损失函数。
表II和表III总结了在KITTI和NYU-v2数据集上测试的单目深度估计的监督方法。这些方法按发表年份排序,并用粗体数字表示在各种度量和指标中的“最佳”方法。
Eigen等人[49]引入了一种使用单图像的深度预测技术。他们的方法结合了全局和局部细化,并专注于规模不变的错误处理。通过整合表面法线并扩展深度图到原始输入分辨率来提升性能。在随后的工作中,他们展示了一种跨尺度的渐进式细化方法,保留了图像细节,而无需超像素或低级分割[81]。
Li等人[82]引入了一种联合深度和表面法线估计的两步方法。初始阶段使用多尺度深度CNN进行超像素级预测。随后,使用条件随机场(CRFs)[84]进行像素级细化,通过包含数据、平滑性和自回归项的能量函数建立了超像素到像素的映射。增强的性能与增加的图像补丁和上下文数据相关。强调了10个为最佳超像素大小。进一步的改进包括数据增强、更深层次的CNN架构以及可能结合语义标记。
Liu等人[74]采用了深度CNN和连续CRF的融合,用于单目深度估计。该模型通过最大后验推断集成了超像素分割和深度预测。网络包括三个部分:构成能量函数的一元和成对部分,以及用于负对数似然最小化的连续CRF损失层。一个创新的补充是超像素池化技术,它在加速训练的同时保持结果并实现更广泛的应用。
Wang等人[83]引入了一种用于室内单目深度和语义预测的双层层次条件随机场(HCRF)模型。该方法利用两个CNN,一个用于全局深度和分割,另一个用于局部深度和分割。全局预测CNN的损失函数整合了深度和语义标签信息。相反,依赖于过度分割[85]的局部预测CNN更为复杂。HCRF模型的训练最小化了提出的能量函数,产生了上层图像分割和下层深度值预测。
Laina等人[78]引入了一种高效的全卷积残差网络(FCRN),采用修改后的ResNet-50架构,并优化了特征图的上采样。该方法将RGB图像(304×228像素)转换为低分辨率深度图(128×160像素)。展示了reverse Huber(berHu)损失函数[86]、[87]相对于L2的优势,他们还在同时定位和地图构建的背景下评估了该技术的准确性。
Mousavian等人[79]解决了同时进行的语义分割和深度估计问题,使用了多尺度深度CNN。一个单一的损失函数,包含Eigen的尺度不变损失[49]和语义分割损失,促进了同时学习。通过结合一个全连接的CRF模块实现了性能提升。
Roy等人[80]提出了神经回归森林(NRF),将二元卷积回归树(CRT)节点与浅层CNN相结合。图像以并行方式进行分析,将补丁转发到基于伯努利概率的CRT子节点。CRT叶作为弱深度估计器,辅以标准双边滤波[88]以确保深度预测的平滑性。
Jung等人[77]引入了一种用于单目深度估计的生成对抗网络(GAN)方法,包括生成器和鉴别器网络。生成器包括全局和细化段:全卷积编码器-解码器预测全局深度,而局部深度通过图像补丁进行估计。鉴别器在训练期间活跃,评估预测的真实性。经过最小-最大训练后,生成器产生忠实的深度图像,其特点是与真实情况的相似性。
Alhashim和Wonka[62]提出了一个带有跳跃连接的编码器-解码器网络,用于从RGB图像(640×480)估计高分辨率(320×240)深度图。编码器在DenseNet-169[89]上预训练,解码器由卷积层和双线性上采样块组成,形成了架构。该方法强调在编码器预训练期间控制下采样以保留空间信息。他们引入了一种新的损失函数,结合了逐点L1损失、图像梯度和SSIM[61]。方法的鲁棒性扩展到了Unreal-1k数据集,数据增强包括水平翻转和颜色通道交换。
Fu等人[71]引入了一种深度序数回归网络(DORN),用于高分辨率深度图,结合了间距增加离散化(SID)策略和序数回归训练损失。网络架构整合了密集特征提取、多尺度特征学习者(ASPP)、跨通道信息学习、全图像编码器和序数回归优化。DORN的多功能性通过在室内和室外图像中成功应用得到了证明。
Guo等人[72]引入了一种独特的管道,用于单目深度估计,克服了监督和非监督方法的挑战。他们使用深度立体匹配网络从合成数据中学习深度,为训练单目深度估计器提供了密集的监督。该管道具有增强代理立体网络微调的策略,从而实现了更清晰的边界、改进的遮挡预测和整体性能的提升。
Xu等人[73]在他们的编码器-解码器设置中引入了一个结构化注意力引导的CRF模型。注意力模块在编码器尺度间控制特征,使用ResNet-50[90]作为CNN组件。CRF模型采用一个三项能量函数,整合了多尺度特征图、估计表示和注意力变量。
Zhang等人[76]提出了一种任务递归学习模型,用于同时预测深度和语义标签。ResNet-50[90]构成了模型的初始部分,随后是连接的任务注意力模块和卷积层,实现了在不同尺度上的深度和语义预测。
Lee等人[68]在编码器-解码器设置的解码阶段引入了增强,采用局部平面引导层以获得更清晰的深度边界。该方法结合了密集特征提取、上下文信息提取(ASPP)和密集连接的局部平面引导层。尽管边界清晰度有所提高,但在场景的上部区域存在问题,并且需要额外的光度重建。
Rosa等人[69]通过提出一种利用Hilbert Maps方法[91]进行单目深度估计中的稀疏化处理的监督框架,解决了深度图稀疏性问题。受Laina等人[78]启发的FCRN模型采用残差上采样块代替全连接层。该方法虽然不需要额外的数据,但在训练期间每连续深度图会产生额外的计算成本,并且结果受Hilbert Maps重建能力的影响。值得注意的增强包括架构优化、补充技术和颜色失真利用。
Yin等人[70]提出了一种监督方法,在深度预测后计算高阶3D几何特征,并重建3D点云。他们采用编码器-解码器网络进行深度预测,并引入了一个名为Virtual Norm (VN)的损失项,对深度噪声具有鲁棒性。VN项突出了在深度估计中结合额外的3D几何信息的价值。
Ranftl等人[42]引入了一种方法,通过多种数据集融合实现全面的单目深度估计。他们提倡原则性多目标学习,提高在深度范围和尺度变化上的鲁棒性。重点是对编码器进行额外任务的预训练。他们使用五个训练数据集和3D电影数据,通过结合另外五个数据集扩展了他们的方法[39]。开发的架构名为“密集预测变换器”,并与全卷积模型进行了对比。
Aich等人[92]提出了一种名为BANet的双向注意力网络,作为单目深度估计的端到端框架。他们的方法通过利用神经机器翻译的见解,解决了在卷积神经网络中整合局部和全局信息的挑战。结果,他们开发了一种轻量级的自适应计算控制机制,类似于循环神经网络的动态特性。双向注意力模块被引入,利用前馈特征图来整合全局上下文并减少歧义。
Bhat等人[66]引入了基于transformers的AdaBins构建块。AdaBins将预测的深度范围划分为自适应确定的bin,并通过对bin中心进行线性组合来计算最终的深度值。通过在CNN之后使用transformer编码器作为构建块,该方法旨在整合非局部处理并实现对场景的全面理解。
Chen 等人 [67] 提出了基于注意力的上下文聚合网络 (ACAN),旨在解决单目深度估计中的密集标记问题。该网络由编码器、解码器 (上下文聚合模块 - CAM) 和软序数推理模块组成,利用 ResNet 架构 [90] 进行密集特征提取。通过收集图像和像素级上下文信息,CAM 可以细化预测。注意力和序数损失推动模型训练,而软序数推理将概率转换为连续深度值。该方法减少了先前基于 ASPP 方法观察到的网格伪影,如在裁剪和调整大小的图像上的结果所示。
Miangoleh 等人 [95] 关注输入分辨率和场景结构对深度估计性能的影响,确定了一致场景结构和高频细节之间的权衡。为解决此问题,作者提出了一种结合低分辨率和高分辨率估计的方法,由预训练模型 [42] 生成。低分辨率估计获得了具有一致结构的基本估计,而纳入的局部 (高频) 估计增强了细节。作者还展示了他们的方法在通过简单的深度阈值分割进行边界定位方面的有效性。
Qiao 等人 [96] 提出了 ViP-DeepLab,这是一个统一模型,旨在解决视觉中的逆投影问题,这涉及到从透视图像序列中恢复点云,同时为每个点提供实例级语义解释。被称为深度感知视频全景分割的这项联合任务结合了单目深度估计和视频全景分割。作者引入了一个新的评估指标,深度感知视频全景质量 (DVPQ),并提供了两个衍生数据集,以支持未来在这一领域的研究。
Yin 等人 [97] 处理单图像单目3D场景形状恢复,解决了深度偏移和相机焦距不确定性问题。他们的两阶段框架最初预测了未知比例和偏移的深度,然后通过3D点云编码器估计缺失的深度偏移和焦距。他们引入了图像级归一化回归和基于法线的几何损失,以增强在混合数据集上训练的深度预测模型。
Patil 等人 [64] 提出了 P3Depth,这是一种监督方法,它结合了分段平面先验,强调了整合几何先验以实现准确深度估计的有效性。作者利用真实3D场景的高规律性,选择性地利用共面像素的信息,旨在提高深度预测的准确性。他们提出的网络架构由两个头组成:一个输出像素级平面系数,另一个生成密集偏移向量场以识别种子像素。通过使用种子像素的平面系数,为每个位置进行深度预测。为解决与精确局部平面度的潜在偏差,初始预测使用学习到的置信度量与基于平面系数的预测自适应融合。
Wu 等人 [75] 提出了 DistDepth,这是一种结构蒸馏方法,通过自监督学习提高单目深度估计的准确性。通过利用现成的相对深度估计器 [39] 和左右一致性,DistDepth 蒸馏深度域结构知识以获得无需策划深度注释的深度图。该框架专注于复杂的室内场景,通过结合结构蒸馏和学习度量的分支。作者收集了 SimSIN,一个大规模室内模拟数据集,和 UniSIN,一个真实数据集,以促进学习和评估。
Yuan 等人 [65] 探索了条件随机场 (CRFs) 的优化。他们引入了一种基于窗口的方法,通过将输入图像分割成子窗口并在每个窗口内执行优化。这种基于窗口的策略降低了计算复杂性,同时使全连接 CRFs 成为可能。为了有效地捕获图节点之间的关系,作者采用了多头注意力机制来计算多头势函数。这个神经 CRFs 模块作为他们提出的自顶向下网络架构的解码器,而视觉变换器被用作编码器。
与其他学习类型的方法相比,有监督深度估计的主要优势在于它的性能。然而,地层深度信息很难获得。因此,有监督深度估计方法的范围受到地面实况数据可用性的限制。
B. 自监督学习方法
由于在设计学习方法时深度信息并不总是可用,在许多情况下采用了无监督/自监督方法。这些方法自身产生监督信号。通常,它们使用立体图像或视频帧中的数据。因此,“无监督”这个术语在相关文献中并不明确,而“自监督”这个术语更准确。训练过程的范围是学习图像之间的图像重建规则,由损失函数指导。单目图像序列可以被利用来从帧中提取几何约束。
设
表示目标视图中像素的齐次坐标。然后,
被投影到源视图
作为
:
其中 K 是已知的相机内参矩阵,
是
处的深度值,
是从
到
的空间变换矩阵。注意,即使没有给出,也可以估计
和
,意味着:
例如,Zhou 等人 [98] 使用单视图 CNN 估计
,并使用姿态网络估计
。这类神经网络的训练基于光度误差。换句话说,给定在时间 t 捕获的目标视图
及其 N 个附近的源视图
(1 ≤ s ≤ N,s ≠ t),目标是最小化光度损失,也称为视图合成目标:
Zhou 等人 [98] 提出,合成视图
可以通过 4 个投影坐标 ps 的邻近点的双线性插值以可微方式估计。由于梯度信号应该非常局部,他们提出了一个多尺度预测机制。这样,梯度从更高的尺度上的较大区域中派生,并逐渐传播到较低的尺度。
损失函数也可以通过结构相似性指数 (SSIM) [61] 增强,称为刚性变形损失 [99]:
此外,错误的预测可以通过边缘感知深度平滑度损失 [99]、[100]、[101] 被过滤掉,并且保留清晰的细节:
其中 p 表示帧 I 中像素的齐次坐标,Dp 对应的深度值,∇ 是向量微分算子,| · | 表示逐元素绝对值。
由于尺度歧义、尺度不一致和遮挡问题,基于同步图像对的方法被提出。没有真实深度数据,学习过程基于左右图像对。这类神经网络的目标是学习视差图,它表示立体对中相应像素之间的水平偏移,提供关于场景深度或3D结构的信息。训练损失基于原始 I 和合成图像
之间的比较,利用学习到的视差信息:
其中 Il, Ir 分别是原始的左右图像,
是基于原始右图像重建的左图像。
表IV总结了在单目深度估计中使用KITTI数据集的无监督/自监督方法。这些方法按发表年份排序,并用粗体数字表示在各种度量和指标中的“最佳”方法。
-
图像序列:Zhou 等人 [98] 使用基于CNN的方法,集成了单目深度网络和多视图姿态网络。该方法采用基于变形的视图合成,并允许在测试期间独立网络操作。然而,该方法忽略了场景动态、遮挡,并将相机内参视为固定输入。
Kumar 等人 [124] 引入了一种基于GAN的方法,用于使用视频序列进行深度和姿态估计。生成器包括深度和姿态网络,预测连续帧的深度图和旋转/平移参数。灵感来自 [98],深度从当前图像预测,而姿态从三个连续帧(前一帧、当前帧和下一帧)估计。深度图和姿态参数形成图像对,遵循 [143]。鉴别器区分真实和生成的图像,导致涉及光度一致性、对抗性和深度项的三重损失函数,用于网络训练。
Mahjourian 等人 [125] 引入了一种无监督方法,用于深度和自我运动估计。他们的方法采用基于迭代最近点(ICP)方法 [144] [145] [146] 的3D损失项,包括3D场景几何。损失函数还包括光度一致性、结构相似性和平滑度项。原则性的遮挡和不遮挡掩模处理相邻帧的不一致性。还评估了对未校准手机相机数据的泛化。
Wang 等人 [122] 引入了单图像深度网络和视频帧自我运动估计姿态网络。该方法采用掩模来考虑帧间的遮挡像素,消除错误的匹配像素。这些信息有助于提出的损失函数项。
Yin 和 Sin [99] 在一个系统中统一了深度、光流和自我运动。他们将静态和动态对象分为两个子网络:第一个名为刚性结构重建器,包括深度和相机运动模块;第二个名为非刚性运动定位器,生成最终的光流图。几何一致性强化解决了遮挡和纹理歧义。
Zou 等人 [127] 共同训练了能够独立操作的深度、姿态和光流估计网络。受到 Zhou 等人 [98] 架构的启发,引入了跨任务一致性损失,证明了性能提升。值得注意的是,光流预测在光流估计、深度和姿态网络之间实现了一致性。总损失函数整合了光度、平滑度、前后向和交叉一致性项。
Almalioglu 等人 [115] 引入了一种用于同时姿态和深度估计的对抗学习方法,使用视频序列。该方法采用多视图姿态回归器和单视图深度生成器,输入到视图重建模块,生成合成图像。鉴别器区分重建和原始图像,当接近相似性时停止训练。姿态估计模块结合了CNN和循环网络,而深度估计需要在生成器网络前使用编码器。
Bian 等人 [116] 通过利用几何一致性损失,在长视频序列中实现了全局尺度一致的深度预测。他们的方法通过自发现掩模处理移动对象和遮挡。深度和姿态网络发挥关键作用,DispResNet [120] 在深度估计方面的表现优于 DispNet [98]。PoseNet [98] 被用作姿态网络。
Casser 等人 [101] 通过视频序列解决了单目深度和自我运动问题。在 Zhou 等人 [98] 和 Godard 等人 [132] 的基础上,他们的算法增强了运动估计、自我运动,并引入了针对未知数据性能的在线细化。训练需要至少三张图像作为编码器-解码器深度网络的输入。
Chen 等人 [117] 使用深度估计、光流和相机姿态神经网络,在单目视频中进行多任务处理。该方法的贡献在于适应性光度一致性和几何约束,这些被包含在损失函数中。该方法还在没有明确信息的情况下预测相机内参。通过结合两个在线细化过程,实现了对新环境的改进泛化。
Gordon 等人 [118] 引入了两个基于Unet的网络。第一个估计单图像深度,而第二个使用两个图像帧预测自我运动、对象运动和相机内参。两个网络共同训练,该方法包括一个关键贡献,即遮挡感知一致性损失。
Guizilini 等人 [58] 使用未标记的单目视频训练了他们的PackNet深度网络,并引入了Dense Depth for Automated Driving (DDAD) 数据集,该数据集具有广泛的200米范围深度图。编码器-解码器架构采用打包-解包块、跳跃连接 [147] 和尺度感知的结构从运动 (SfM) 训练方法,整合了外观匹配、深度平滑度和速度监督损失。
Li 等人 [119] 引入了一种深度估计和视觉里程计的顺序方法。光流 [148] 紧凑地编码了过去帧信息,由 LSTM [149] 在生成模块中管理深度和姿态估计。鉴别器区分真假图像,训练损失结合了四个组成部分:外观、深度正则化、轨迹一致性和GAN损失。
Ranjan 等人 [120] 通过竞争性协作解决了深度估计、相机运动、光流和运动分割的挑战。包括深度和相机运动的竞争者以及运动分割的调解者在内的子网络,通过竞争和合作相互加强。第一阶段,调解者指导竞争者;第二阶段涉及联合训练。提出的损失函数结合了用于一致子网络训练的单独损失。
Sun 等人 [121] 结合了 Zhou 等人 [98] 和 Godard 等人 [142] 的深度和相机运动估计,并在代价函数中引入了新术语。他们的函数通过最小化投影光度差异,强调了双向视图重建一致性。
Wang 等人 [126] 将直接视觉里程计 (DVO) [150] 整合到他们的方法中,用于从视频序列中进行单目深度估计,解决了这类方法固有的尺度歧义问题,通过提出的规范化策略进行了处理。他们用可微DVO的实现替换了传统的姿预测网络,从而提高了深度估计性能。
Wu 等人 [123] 在为基于视频的深度估计设计的生成对抗网络中引入了空间对应模块,受到 Flownet 框架 [151] 的启发。他们使用 Smolyak 的稀疏网格 [152] 有效下采样和比较特征图,实现了有效的空间对应。为考虑各个方向,他们引入了一种基于方向的注意力机制,类似于 DSC (Directional Spatial Context) [153] 和 Squeeze-and-Excitation Blocks [154] 中提出的方法。此外,通过专用的细化子网络提高了深度图的分辨率。
Guizilini 等人 [155] 提出了一种利用语义信息指导深度特征生成的方法。架构中结合了一个固定的预训练语义分割网络,通过像素自适应卷积促进语义依赖的几何表示学习。作者还引入了一个两阶段训练过程,以解决对动态对象的偏见,并实现更准确的预测。
Johnston 等人 [112] 提出了一种结合自注意力和离散视差预测的方法。自注意力机制允许模型从非连续的图像区域捕获上下文信息,而离散视差预测增强了深度估计的清晰度、模型的鲁棒性,并使深度不确定性估计成为可能。
Klingner 等人 [113] 提出了 SGDepth,一种解决场景中动态类别 (DC) 对象挑战的方法。为了克服训练期间静态世界假设的限制,作者引入了一种跨域训练方法,结合了监督语义分割和自监督深度估计。实现了一种语义掩模方案,以防止移动的 DC 对象影响光度损失。此外,引入了一种检测方法,以识别包含非移动 DC 对象的帧,使这类对象的深度学习成为可能。
Tosi 等人 [114] 提出了一个全面框架,用于从单目视频中理解场景,包括深度估计、光流、语义和运动分割。他们的新颖网络架构 ΩNet 能够在高端 GPU 和低功耗嵌入式平台上实现实时预测。作者引入了一种训练协议,利用自监督、知识蒸馏和多任务学习,其中代理语义标签和自蒸馏发挥了关键作用。
Lyu 等人 [106] 解决了高分辨率单目深度估计的限制,并提出了 HR-Depth,一种改进的 U-net 架构。作者确定了大梯度区域中不准确的深度估计作为核心问题,并引入了两种有效策略来提高性能。首先,他们重新设计了跳跃连接,以获得高分辨率的语义特征图。其次,提出了一个特征融合 Squeeze-and-Excitation (fSE) 模块,以提高特征融合的效率和有效性。HR-Depth 有两种版本:一种使用 ResNet-18 [90],另一种轻量级版本使用 MobileNetV3 [156] 作为编码器。
Sun等人。[108]提出了一种动态环境下单目深度和视觉里程(VO)估计的混合掩模方法。作者介绍了两种类型的口罩:盖口罩和过滤口罩。覆盖掩码通过掩蔽潜在的离群点来关注VO估计的准确性,而过滤器掩码在视图重建过程中过滤掉离群点。此外,为了解决不同训练样本之间的尺度不一致问题,引入了深度-姿势一致性损失。
严等人[109]介绍了CADepth-Net,这是一个包含两个创新模块的网络:结构感知模块和细节重点模块,前者利用自我注意来捕获远程依赖关系并增强场景理解,后者重新校准特征图以选择性地强调信息性特征,以提高深度预测精度。该框架将完全卷积U网结构与ResNet编码器、结构感知模块和细节强调模块相结合,以获得更清晰的深度估计结果。
Watson等人。[110]提出了一种自适应单眼深度估计方法ManyDepth,该方法利用测试时的序列信息进行自监督单眼深度估计。与忽略序列信息或依赖于计算代价高昂的测试时间精化或递归网络的现有方法不同,ManyDepth利用了一种基于深度端到端成本量的方法。该网络使用自我监督进行训练,并引入了一种新的一致性损失,以忽略不可靠的深度估计,例如受移动对象影响的深度估计。此外,还引入了一种增强方案来处理静态摄像头。
周等人。[111]介绍了DIFFNet,这是从HRNet语义分割模型[157]衍生出来的编解码器网络。DIFFNet在解码器中加入了特征融合和注意力机制,以在下采样和上采样阶段有效地利用语义信息。
Guizilini等人。[102]提出了一种多帧自监督单目深度估计方法DepthFormer。关键的贡献是交叉注意模块,它通过解决传统的基于外观的相似性度量的局限性来改进图像之间的特征匹配。采用深度离散化的核极采样来选择匹配候选者,一系列的自我和交叉注意层提高了匹配概率,克服了模糊性和局部极小值。然后,精炼的成本量被解码为深度估计,并且仅使用光度学物镜对整个管道进行端到端的训练。
Hanet等人。[103]介绍了TransDSSL,一种结合了变换和自监督学习的单目深度估计方法。通过利用转换器对远程空间相关性进行编码的能力,所提出的模型解决了在深度估计任务中采用转换器所带来的挑战。作者提出了像素智慧跳过注意(PWSA)模块,该模块增强了特征映射中的细节,同时保留了来自变换编码器的全局上下文。此外,为了提高训练的稳定性和增强中间表示,引入了自蒸馏损失。
Ma等人。[104]解决了深度估计和语义分割任务之间未得到充分认识的区别。他们的解决方案涉及一个基于注意力的模块,以增强特定任务的特征,同时保持跨任务的空间一致性。此外,他们引入了一种基于度量学习的方法来分离特征空间中的实例。该流水线以DepthSegNet和PoseNet组件为特色,在特定任务解码器之间放置了新颖的任务内/跨任务多头注意模块。训练损失包括光度损失、光滑度损失、边界三元组损失、语义交叉熵损失和提出的“非边界三元组”损失。
赵等人。[105]提出了一种结合神经网络和视觉转换器(VITS)的自监督单目深度估计框架MonoViT。通过将变压器块与卷积层一起集成到主干中,MonoViT实现了局部和全局推理,超越了具有受限感受域的CNN的限制。同时,利用轻量级PoseNet进行时间相邻图像间的位姿估计。
Poggi等人。[158]介绍了一项关于自我监督单目深度估计中不确定性估计的综合研究,涉及该领域一个重要但尚未探索的方面。通过评估不同的不确定度估计方法和调查不同的自我监督训练范例的影响,作者论证了不确定性建模在实际应用中的重要性。他们引入了一种新的自学范式,可以提高深度精度,特别是在训练过程中姿势未知的情况下。
Garg等人。[14]介绍了一种早期的立体图像无监督深度估计方法。该方法也适用于具有少量已知摄像机运动的图像对。该体系结构由一个自动编码器组成。编码器是一个带有堆叠卷积和合并的CNN,它从左边的图像预测深度。解码器使用逆扭曲,其中右图像和深度图产生获奖图像,最小化与左图像的重建误差。实验结果表明,通过所提出的上采样增强了深度预测。
戈达尔等人。[142]提出了一种编解码器网络,通过从左到右和从右到左的计算从单目图像中获得视差。该方法在损失函数中引入了左、右一致性项以及光滑性和重构项。后来,戈达尔等人。[132]提出了从视频或立体数据估计单目深度的改进措施。其中包括用于遮挡处理的每像素最小光度学误差、用于检测静止像素的自动遮罩,以及用于减少瑕疵的全分辨率多比例上采样技术。
Alleotietal. [138]介绍了使用立体图像对进行深度估计的生成性对抗网络(GANS)的早期实例。他们的GAN包括一个产生新图像的生成器和一个经过训练以区分真实图像和生成(扭曲)图像的鉴别器。这些网络参与由目标函数控制的最小-最大博弈。
Luo等人。[139]将单目深度估计分解为视点合成和立体匹配子问题。他们的方法包括一个视图合成网络,从原始的左图像生成合成的右图像,然后使用立体匹配网络进行相关性计算和深度图推导。DispNet[159]处理相关性,而DispFullNet[160]生成全分辨率深度图。
Pilzer等人。[140]引入了用于单目深度估计的循环生成网络。两个对称子网络从多个视角合成图像,结合用于深度预测的信息。第一个生成器使用左右图像来预测视差,增强它们以计算视差图并合成右视图。第二个生成器使用合成图像和原始左侧图像遵循相同的过程。鉴别器区分原始输入和合成输入。训练损失包括重建、对抗性和一致性(视差图相似性)术语。
Poggi等人。[141]通过估计参考中心图像来利用双目图像中的三眼假设。他们的方法优化了中央-左、左-中、中-右和右-中心图像之间的差异,需要两个编解码子网络之间的协作。
Andraghetti等人。[130]使用最初通过立体视觉里程计获得的稀疏深度点来增强单眼深度估计。这些点是用自动编码器加密的,并被Godard等人的现有深度估计方法所结合。[142]和Poggi等人。[161]
冯等人[131]介绍了一种使用层叠GaN层和视频序列进行深度和自我运动估计的无监督神经网络。底层处理每个时间步的深度和运动估计,而上层捕获空间和时间动态特征。每一层都包括导致相应损耗的发电机-鉴别器单元。该方法需要当前帧的左图像和右图像用于训练,最终的损失是各层之间的加权和。
古德曼等人。[133]引入了一种使用共享权的暹罗网络,用于自监督单目深度估计,类似于Godard等人。[142][晓雨-0920交稿]每个子网络使用定义的损失函数预测来自单个左侧或右侧图像的视差图。建立在DispNet架构[159]、ResNet[90]和VGG变体[166]的基础上,其具有跳过连接的编解码器网络由于对称数据使用而在训练期间需要时间和内存。尽管如此,在测试阶段只使用了一个子网络。
Pilzer等人。[134]提出了一种三子网络单目深度估计方法。第一个子网络产生从右到左的视差并合成左图像,而第二个子网络预测从左到右的视差用于右图像的重新合成。第三个子网络利用原始图像和重建的右图像之间的不一致来改进深度图。知识蒸馏将学习从第三子网络转移到第一子网络,提高了深度预测性能。
Tosi等人。[135]推出了MonResMatch,这是一个自我监督的端到端网络。它包括多尺度特征提取、初始视差估计和细化,利用图像和与虚拟右图像对齐的合成特征进行深度估计。立体匹配使用半全局匹配(SGM)[167],为最终的左视图对齐视差图生成准确的代理标签。
Wang等人。[136]同时使用三个轻量级CNN进行统一的光流和立体深度估计。立体图像提供深度网络,而视频帧驱动摄像机自我运动和光流网络。摄像机运动细化采用刚性感知的直接视觉里程计模块,该模块计算刚性遮罩,影响损失函数项。
Watson等人。[137]引入深度提示以克服自监督单目深度估计中的局部极小值。这些提示增强了光度损失函数,提高了训练算法的性能,特别是对于捕捉薄结构和尖锐边界。
Choi等人。[128]提出了一种新的单目深度估计框架,该框架利用自监督立体匹配方法产生的伪深度标签。该方法包括估计伪地面真实深度图的置信度图,以减轻不准确的伪深度图造成的退化。为了解决置信度图预测误差的问题,引入阈值网络动态学习以伪深度图为条件的阈值。然后,使用过滤后的伪深度标签来监督单目深度网络。此外,提出了一种基于像素自适应卷积(PAC)层的概率求精模块,利用单目深度图的不确定性图对其进行求精。
彭等人[129]讨论了对具有成本效益的深度估计方法的需要,并探讨了如何在不增加计算负担的情况下充分利用自我监督方法的潜力。作者提出了三个关键贡献:(1)数据增强技术,称为数据嫁接,旨在适当削弱深度和垂直图像位置之间的关系;(2)探索性自馏损失,利用选择性后处理生成增强的自馏标签;(3)全规模网络结构,旨在增强深度估计任务的专业性,提高模型的代表性。
C. 半监督学习方法
当只有少量标记数据可用且存在大量未标记数据时,可以通过半监督方法进行深度估计。标记数据可以通过深度传感器提供,如 [165] 中所述,或通过合成数据人工提供,如 [162] 中所述,或通过外部语义代理标签,如 [164] 中所述。然而,额外的深度信息通常在一般情况下并不总是可用的。
表V总结了单目深度估计中半监督方法的综述。这些方法按发表年份排序,并用粗体数字表示在各种度量和指标中的“最佳”方法。
Kuznietsov 等人 [165] 提出了一种基于稀疏真实深度的新的学习模型,而他们提出的深度网络则产生光度一致的密集深度图。一个建议的未来方向是将单目和立体深度线索结合起来。
He 等人 [163] 提出了一种适用于可穿戴设备的从立体图像进行单目深度估计的系统。所提出的损失函数是左右一致性损失,加上稀疏 LiDAR 数据。
Ramirez 等人 [164] 证明,整合语义信息有助于单目深度估计。他们通过添加语义分割解码器扩展了 Godard 等人 [142] 的架构。他们的损失函数结合了深度、语义和跨域不连续性项,特别是在物体边缘附近的深度预测方面进行了增强。
Zhao 等人 [162] 利用图像风格转换将合成数据整合到他们的单目深度估计方法中。基于 CycleGAN[168] 的图像风格转换在真实和合成图像之间进行转换。这种合成数据的整合补充了未标记方法未捕获的深度信息。
IV. 讨论和结论
单目深度估计与立体方法相比,面临独特的挑战,正如 Smolyanskiy 等人 [169] 所证明的。尽管单目算法因缺乏立体信息而挣扎,但立体方法利用多张图像进行准确的深度恢复。尽管如此,科学界对单目深度估计表现出了极大的兴趣,这从过去十年中提出的众多和多样化的方法中可以看出。本综述评估了80多种最新技术方法,涵盖了这一领域取得的进展。根据学习方式,这些方法被分为三个主要组:监督学习、自监督学习和半监督学习。这些方法被单独描述,并且它们的性能在比较表中进行了展示。早期的方法,如可以追溯到2014年的那些,主要依赖于传统的CNN架构。范式转向监督领域的编码器-解码器架构,这种转变促进了更丰富的特征提取和上下文建模。同时,自监督技术采用了GANs的集成,因为它们实现了更高的性能。多年来,融合多个任务,如表面法线估计与语义标记,一直效果很好,尽管这通常包括不同类型的数据和集成多个网络。现在,一个新兴的趋势是将视觉变换器应用于监督和自监督方法。
A. 挑战和限制
然而,一个关键发现是,目前尚不清楚相关模型是如何估计深度的,因为深度学习方法的行为在经典术语或有关人类深度估计的已知理论中都不具备可解释性。由此延伸出的问题是,神经网络识别的特征与人类识别的相应特征(深度线索)之间是否存在关系,这仍然是一个未解答的问题。尽管注意力图和基于梯度的方法可以提供洞察,说明图像的哪些部分对特定预测有贡献,但深度学习模型的黑箱特性可能使其难以实现与人类感知深度线索方式直接对应的人类级别的可解释性。对上述主题的研究可能揭示当前方法的弱点和局限性,为具有更高性能(准确性、泛化能力和实时性能)的新型创新方法铺平道路。此时,值得一提的是 Dijk 等人 [170] 的工作,他们研究了神经网络如何从单目图像中估计深度。对四个神经网络的测试表明,物体的垂直位置,而不是表观大小,在估计中起着重要作用。此外,泛化似乎受到非常特定因素的限制,如物体的阴影。同样,Hu 等人 [171] 提出了一种关于CNN的可视化方法,用于图像上的高重要区域。将这种方法应用于最新的CNN架构表明,定义场景几何的边缘、单个物体的内部区域以及消失点周围的区域对于深度估计至关重要。然而,上述观察结果还远远不能说明神经网络识别的特征与视觉深度线索之间的关系。直接相关的是训练数据,它具有一些但并非全部的深度线索。其他方法,如 Tang 等人 [172] 的方法,专注于通过散焦提取信息。另一个关键挑战在于数据的多样性和质量。数据驱动方法固有的局限性在于它们依赖于训练数据,这些数据可能缺乏对新的和复杂场景的泛化。此外,单目深度估计方法的内在局限性在容易出现光学幻觉、反射/半透明物体和抽象表现的场景中尤为突出,引入了深度预测的歧义。这些问题虽然固有于单目深度估计,但强调了在现实世界应用中的鲁棒性和可靠性的重要性。这些挑战强调了需要大型、多样化和良好注释的数据集,以确保在广泛的现实世界场景中进行健壮和准确的深度估计。
B. 未来方向
视觉变换器和注意力机制与解决单目深度估计挑战高度相关 [39]。可能的是,视觉变换器的自注意力机制可以捕获传统CNNs经常忽略的复杂深度线索,例如纹理梯度和遮挡模式,但这需要证明。此外,注意力机制通过关注信息丰富的区域来提高准确性,有助于捕获对象之间的长期依赖关系。这些技术预计通过注意力图提供更好的可解释性,揭示神经网络的深度感知过程及其与人类视觉线索的一致性。通过整合这些方法,单目深度估计可以实现在多样化场景中的增强准确性、可解释性和鲁棒性。未来的研究方向还涉及改进损失函数、超参数学习以及内在矩阵估计。除了变换器,图卷积 [173]、知识蒸馏 [174]、3D卷积 [175] 和注意力机制 [176] 也有前景。几何和语义整合,如多任务训练和几何约束,可以提高性能 [132]。
总之,单目深度估计是一个具有持续挑战和有希望的方向的领域。本综述旨在有助于绘制该领域的地图并确定前进的道路。
声明
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~