论文:Deep Depth Completion from Extremely Sparse Data: A Survey
摘要
获取正确的像素级场景深度在各种任务中发挥着重要作用,如场景理解、自动驾驶、机器人导航、同时定位和建图、智能农业和增强现实。因此,这是过去几十年来研究的一个长期目标。获得场景深度的一种成本有效的方法是使用单目深度估计算法,从单个图像直接估计场景深度。然而,视觉方法通常产生低的推理精度和较差的可概括性,因此容易受到实际部署的影响。深度传感器以真实的场景尺度提供精确和稳健的距离测量,因此,它们更适用于需要安全保证和高性能的应用,例如自动驾驶汽车。事实上,在工业应用中,使用激光雷达测量深度可能仍然是获得可靠深度的最可部署方式。然而,无论是LiDAR还是常用的RGBD相机,如Microsoft Kinect,都无法提供密集的像素深度图。如图1所示,Kinect捕捉到的深度图有小孔,而LiDAR捕捉到的地图明显更稀疏,因此,在实践中有必要填充空白像素。
由于不同传感器捕获的深度图之间存在明显差异,因此补全问题和解决方案通常取决于传感器,它经常被称为深度增强[48]、[74]、[97]、深度修复[66]、[81]和深度去噪[28]、[97],其中的目标是从密集的原始深度图中推断缺失的深度值,并消除异常值。本文特别关注极稀疏数据的补全任务,例如,由激光雷达捕获的深度图,其中稀疏度通常超过95%。该问题在相关文献中单独研究和处理,并且由于稀疏输入的低密度而更具挑战性。为了简单起见,在本文的其余部分中,将极端数据的深度补全称为深度补全!
近年来,基于深度学习的方法在任务上表现出令人信服的性能,并引领了发展趋势。先前的工作表明,具有多个卷积层的网络或简单的自动编码器可以补全缺失的深度。此外,可以通过利用RGB信息进一步改进深度补全,这种类型的典型方法是使用双编码器分别从稀疏深度图及其对应的RGB图像中提取特征,然后将其与解码器融合。为了推动深度补全,最近的方法倾向于使用复杂的网络结构和复杂的学习策略,除了用于从多模态数据(例如图像和稀疏深度)中提取特征的多分支之外,研究人员已经开始将表面法线、亲和矩阵、残余深度图等集成到他们的框架中。此外,为了应对监督像素的缺乏,一些工作引入了利用多视图几何约束和对抗性正则化的方法,这些努力极大地促进了深度补全任务的进展。
本文旨在通过对现有方法进行分层分析和分类,描述基于学习的深度补全的发展,并为读者提供一些有价值的指导,对深度补全有一个直观的理解,通常,主要有以下问题:
- 1)实现高精度深度补全的以前方法的共同特点是什么?
- 2)与非引导方法相比,RGB引导方法的优点和缺点是什么?
- 3)由于以前的大多数工作都采用了视觉和激光雷达数据,那么多模态数据融合的最有效策略是什么?
- 4)当前的挑战是什么?
图2显示了基于建议分类法的选定方法的时间线,其中底部和顶部分别显示了非引导方法和五种RGB引导方法!可以看出,尽管早期研究以非引导方式处理深度补全,但本文观察到,2020年后发表的研究逐渐被RGB引导方法所主导。在这篇文章中,作者从网络结构、损失函数、学习策略和基准数据集等方面考察了以往的研究,特别强调提出新算法或显著性能提升的方法,并适当提供其技术贡献的视觉描述,以促进澄清。此外,论文在最流行的基准数据集上对具有基本特征的现有方法进行了定量比较。通过对以往研究的深入分析,希望读者能够对深度补全有一个清晰的理解。
基于深度学习的深度补全
本节中首先给出深度补全任务的通用公式,然后概述了建议的分类法。注意到一些方法有共同的特点,作者通过共同考虑网络结构和主要技术贡献对它们进行分组。
通过联合考虑网络结构和主要技术贡献,论文提出了一种详细的分类法。现有方法首先被分类为非引导方法或RGB引导方法。然后,将其进一步分类为更具体的子类别。表1给出了建议的分类法的概述,并描述了识别类别的主要因素,如图所示,非引导方法有三个子类,包括方法1)使用稀疏性感知CNN,2)使用归一化CNN,以及3)使用辅助图像进行训练。引导方法包括五个子类,其中一些还具有更具体的类。对于第一类和第二类,即早期融合和晚期融合模型,融合策略是本文分类法中考虑的主要因素,对于后三类,即显式3D表示模型、残差深度模型和基于空间传播网络(SPN)的模型,融合策略不是识别其类型的主要因素,因为它们具有不同的特征,早期融合和晚期融合都在以前的方法中使用。对于大多数方法,论文发现它们在准确性方面的优势是模型复杂度方面的劣势,反之亦然。幸运的是,大多数方法在标准基准数据集上提供了定量结果。这些研究使我们能够公平地分析和比较他们的表现!
非引导深度补全
给定稀疏的深度图,非引导方法的目标是直接用深度神经网络模型补全它。以前的方法通常可以分为三组:使用1)稀疏感知CNN的方法,2)归一化CNN,和3)使用辅助图像进行训练的方法。
在卷积操作期间使用二进制掩码识别有效和缺失的元素使得标准CNN能够更好地执行稀疏深度输入,Uhrig等人[109]提出了第一种基于深度学习的非引导方法。他们首先验证了正常卷积无法处理稀疏输入,因为它们通常会导致马赛克效应,并提出了一种新的稀疏卷积操作。然后引入了一个由所提出的稀疏卷积组合而成的6层CNN,稀疏卷积使用二进制有效性掩码来区分有效值和缺失值,并仅在有效数据之间执行卷积,有效性掩码的值由其本地邻居通过最大池化确定。第一种基于深度学习的方法优于非学习方法,并显示了深度学习在任务中的潜力。此外,它启发了许多后续研究。然而,稀疏卷积不适合直接应用于经典的编码器-解码器网络,后者可以充分利用多尺度特征。Huang等人[48]引入了三种稀疏不变(SI)操作,包括SI上采样、SI平均和SI级联,并构建了基于HSMNet的编码器-解码器。他们还通过向HSMNet添加一个小分支,演示了一个使用RGB输入的应用程序!
用连续的置信度图替换二进制有效性掩码可以获得更好的完成性能,稀疏性感知方法需要有效性掩码来识别执行卷积的缺失值。如[22]、[54]和[112]所述,由于CNN中早期层的掩模饱和,有效性掩模会降低模型性能。为了解决这一问题,在归一化卷积[59]的启发下,Eldsokey等人[22]引入了归一化的卷积神经网络(NCNN),该网络生成用于深度补全的连续不确定性图。本质区别在于,使用NCNN获得的特征使用连续不确定性图而不是二进制有效性掩码进行加权。此外,为了更快的收敛,SoftPlus函数[31]将卷积滤波器限制为非负的。尽管NCNN仍然采用稀疏掩码作为初始输入,但它产生了一个连续的置信图,以指示中间层的有用信息。实际上,由于激光雷达投影误差,存在干扰测量,初始稀疏置信度输入不能排除这种噪声输入。为了解决这个问题,Eldersokey等人[21]进一步开发了一种自监督方法,用于估计连续输入置信图,以抑制网络的干扰测量,NCNN也应用于[45]、[112]中的RGB引导深度补全。
通过引入用于重建的深度辅助任务,RGB信息可以被巧妙且隐含地用于非引导深度补全,为了克服语义线索的缺乏,Lu等人[73]在他们的框架中使用了辅助学习分支。他们不直接使用图像作为输入,而是只采用稀疏深度图作为输入,并同时预测重建图像和密集深度图。RGB图像仅在训练阶段用作学习目标,以鼓励获取更多互补的图像特征。[133]中也看到了类似的方法,其中RGB和法线用于辅助训练,在[113]中,采用自动编码器在潜在空间中生成RGB数据,然后自动编码器从中预测最终深度。该方法是无监督的,不使用密度更高的深度图作为地面真实情况,与[73]相比表现出较差的性能。尽管这些方法在训练中是RGB引导的,但它们的目的是在推理中执行非引导的深度完成,因此,我们将其归类为无指导方法!
作为解决深度补全的早期尝试,与标准卷积相比,稀疏性感知方法[109]提高了精度,然而性能较差,尤其是与随后的作品[21]、[48]、[73]相比。其准确性低有两个根本原因。首先,在这项工作中使用的有效性掩模不是空间尺度不变的,因此只能应用于简单地由几个卷积层组装的网络,即,由于模型容量低而缺乏可辨性。第二,从掩模获得的有效性信息在网络中的几个卷积层之后趋于消失。扩展的工作[48]实现了特征图的SI(稀疏不变)上采样、SI平均/求和和SI级联,因此允许使用分层编码器-解码器网络与[109]相比获得显著的精度提高(RMSE提高41.5%)。方法[14]不同于[48]、[109],因为它将深度完成作为字典学习问题,并且在要求最小模型参数方面具有优势。归一化CNN[21]、[22]主要针对使用二进制有效性掩码导致的有效性丢失问题。与应用归一化卷积[22]得到的[109]相比,性能有了相当大的提高(20.8%),并且通过进一步考虑消除输入稀疏深度图中存在的异常值[21],性能大大提高(40.0%)。与HSMNet[48]相比,[21]中提出的方法的一个优点是,它使用仅具有0.67M参数1的轻量级网络实现了相当的性能。使用辅助图像的方法通过在RGB生成任务中引入额外的深度,巧妙地将RGB引导引入非引导方法。使用共享编码器将RGB信息隐式聚合为深度完成模块,该方法[73]大大提高了准确性,是非制导方法的最新技术。此外,这种使用RGB图像的策略不会导致推理阶段中参数数量的任何增加。然而,他们的网络比[21]中提出的网络更复杂(11.67M比0.67M),因为它采用了基于Inception[103]的编码器,并选择使用更大的内核大小。此外,使用额外的RGB信息来指导模型训练将降低真实世界用例中非指导方法的泛化精度。
RGB引导深度补全
非引导方法通常表现不如RGB引导方法,并受到模糊效果和对象边界扭曲的影响,归因于关于自然场景的先验信息不足。如[46]中所研究的,自然场景的深度图可以分解为光滑表面和其间的尖锐不连续性,后者在深度图中形成阶边。该结构是深度图的关键属性,然而,当深度图非常稀疏时,诸如相邻对象和锐利边缘等先验信息明显缺失,使用CNN恢复完整的深度图甚至是困难的。因此,利用RGB信息作为附加输入是简单而合理的。RGB图像提供关于场景结构的信息,包括纹理、线条和边缘,以补充稀疏深度图的缺失线索,并鼓励平滑区域内的深度连续性和边界处的不连续性。此外,它们包括一些单目线索,例如消失点[43],用于促进深度估计,这些好处补充了稀疏深度图。
与非引导方法相比,RGB引导方法通常具有三个优点:i)它们通常在准确性上优于非引导方法,ii)它们对不同的稀疏度水平更鲁棒,以及iii)它们获得更多 感知正确的深度图。对于i)和ii),可以参考图3所示的实验结果,如所观察到的,使用RGB数据可以提高每个稀疏度级别的非引导模型的精度,并且当深度样本数量减少时,精度会缓慢下降。对于iii),定性比较示例如图4所示。结果表明,RGB引导的补全鼓励了对象边界处的不连续性,同时保持了对象内部的平滑度。
迄今为止,已经提出了不同类型的方法,它们主要可以分为五种类型:1)早期融合模型,2)晚期融合模型,3)显式3D表示模型,4)残余深度模型,以及5)基于空间传播网络(SPN)的模型。
1)Early Fusion Models
早期的融合方法在将稀疏深度图和RGB图像通过深度模型[17]、[77]、[88]之前,直接将它们连接起来,或者在模型的第一卷积层聚集多模态特征[51]、[70]、[123]。先前的早期融合方法可以分为两种:采用1)编码器-解码器网络的方法和2)两阶段粗到精预测的方法。
早期融合在其简单性方面有其优势,例如,如果EDN构建在同一网络上,则与非引导方法相比,EDN不会导致模型复杂度的许多增加。然而,从目前的情况来看,早期融合模型相当简单,因为多模态数据融合仅在输入层进行,特征提取完全依赖于黑盒CNN。论文发现,早期融合模型通常表现不如晚期融合模型,后者可以学习特定领域和相关特征。C2RP是对EDN的技术改进,它采用额外的编码器-解码器网络来进行预测细化,但牺牲了计算效率。对于基于C2RP的方法,作者发现只有S2DNet[36]和[70]表现出比单阶段预测方法更好的性能[51],[89],[112]。尽管采用C2RP的几种方法使用形态学算子[17]、最近邻插值[10]、[39]和双线性插值[39]应用粗预测,但由于稀疏输入的高稀疏性,预加密深度图的质量较低。S2DNet[36]和[70]都选择使用编码器网络进行粗略预测,并且能够在第一阶段学习更精确的深度图,从而相应地提高最终的细化性能。然而,与应用细化的其它方法(例如,残差模型和SPN模型)相比,细化缺乏空间约束。如这些分析所示,从单阶段回归到两阶段预测的改进被描述,这种趋势通常适用于现有方法,即准确性的提高在很大程度上取决于扩展模型复杂性或牺牲推理效率!
2)Late Fusion Models
后期融合模型通常使用两个子网络从(i)使用RGB编码器网络的RGB图像和(ii)使用深度编码器网络的稀疏深度输入中提取特征。融合在两个子网络的中间层进行,以前的大多数方法都利用具有各种网络结构的后期融合策略。具体地说,它们被分为三种类型:采用1)双编码器网络、2)双编码器编码器网络和3)全局和局部深度预测的方法。
如上所述,基于DEN的方法通常包括RGB编码器、深度编码器和解码器。融合在两个编码器之间进行。双编码器-解码器网络(DEDN)是双编码器网络的改进。一个普通的DEDN包含两个编码器-解码器网络。以类似的方式,一个获取图像输入,另一个获取稀疏深度输入。图像网络也称为引导网络。对于基于DEDN的方法,通常在多尺度上在图像分支的解码器和深度分支的编码器之间进行融合。作为图6所示的代表性方法,GuideNet[104]旨在学习RGB和深度特征的更有效融合。受引导图像滤波[37]和双边滤波[107]的启发,GuideNet推出了引导卷积,其从图像特征自动生成空间变化的核,并将其应用于为深度特征分配权重。将引导卷积应用于多尺度图像特征,为了降低计算复杂性,MobileNet-V2[94]将引导卷积分解为信道卷积和跨信道卷积。
受[104]和[109]的启发,Schuster等人[95]提出了稀疏空间引导传播(SSGP),它结合了图像引导空间传播和稀疏卷积。SSGP不仅适用于深度补全,还适用于其他插值问题,如光流和场景流。由于SSGP旨在概括为几个视觉任务,其模型设计缺乏对深度完成的关注,导致与GuideNet相比性能较差。最近,Yan等人[127]提出了具有新颖重复设计的RigNet,以处理模糊的对象边界并更好地恢复场景结构。在RigNet中,用于提取图像特征的分支使用重复沙漏网络(RHN)实现,即多个编码器-解码器网络,以产生感知清晰的图像特征。RigNet用于提取深度特征的分支也是一个沙漏网络,它堆叠着一个重复制导模块(RG)。RG与引导卷积[104]起着类似的作用,并建立在动态卷积[8]上。由于RG重复地实现动态卷积,[104]中提出的卷积分解变得效率较低。因此,他们设计了一种有效的引导算法,通过使用全局平均池,信道卷积中的核大小从3×3下降到1×1,RigNet实现了非凡的性能,目前在KITTI深度完井数据集上排名第二[109]。
在之前的一些工作中,RGB和LiDAR数据被称为全局信息,LiDAR数据被称为局部信息。全局和局部深度预测(GLDP)方法采用一个全局网络从全局信息中推断深度(全局信息相当于RGB图像和稀疏深度的早期融合),一个局部网络从局部信息中估计深度,最终的密集深度图是通过合并全局和局部网络的输出得到的。为了利用全局和局部特征,在[110]中预测了全局深度和局部深度图,以及相关的置信度图。在每个分支预测的置信度图被用作交叉指导,以完善由其他分支预测的深度图。在[62]中也介绍了类似的方法,其中Lee等人做了两项改进,首先,为了扩展感受野,他们设计了一个残差空间金字塔(RASP)块来代替传统的残差块。第二,与[110]不同的是,信心图直接用于通过 element-wise 的乘法来完善深度图,他们引入了一个新的引导模块,同时应用 element-wise 和pixel-wise的注意操作。在[72]中,同样的框架也被用来解决来自极度稀疏深度的深度补全,以探索来自单线深度图的深度补全。
3)显式三维表示模型
大多数先前的RGB引导深度补全研究以隐式但无效的方式学习3D几何关系,通常,困难来自于正常2D卷积无法从观测到的深度值不规则分布的稀疏输入中捕获3D几何线索。因此,另一种类型的先前方法促进了显式3D表示(E3DR),这种类型的先前方法可以分为使用1)3D感知卷积、2)中间曲面法线表示和3)从点云学习几何表示的方法。
在2D-3D FuseNet[9]中,从RGB分支和深度分支提取的特征由几个2D-3D融合块融合,这些融合块共同学习2D和3D表示。2D-3D融合块使用多尺度分支以正常卷积操作提取2D网格空间中的外观特征,并使用分支通过在3D空间中中心点的K个最近邻上应用两个连续卷积[114]来学习3D几何表示。随后的研究中通常采用从空间上接近的K近邻学习的思想。例如,在ACMNet[140]中,通过比较空间差异来类似地识别最近的邻居,与[9]不同,非网格卷积是通过图传播实现的。如图7所示,ACMNet具有DEDN结构,其中编码器由协作引导图传播模块(CGPM)组成,解码器是对称门控融合模块(SGFM)的堆栈。CGPM在图像和深度编码器中自适应地应用基于注意力的图形传播来进行多模态特征提取,SGFM在两个解码器之间应用对称交叉引导来进行多模式特征融合。
一些作品利用表面法线作为深度图的中间3D表示,并介绍了使用表面法线引导完成的方法。如[47]和[136]中所研究的,表面法线是合理的中间表示,可以促进室内深度增强。然而,正如邱等人所指出的[88],从室外场景中的法线重建深度对噪声和遮挡更敏感;在这种情况下,如何利用曲面法线仍然是一个悬而未决的问题。为了解决这个问题,他们提出了DeepLIDAR,这是一个由两个分支组成的网络,颜色路径和表面法线路径(如图8所示)。这两个分支都生成密集的深度图, 通过对两个路径的输出进行基于注意力的加权来获得最终的深度图,在曲面法线分支中,曲面法线用作生成的深度图的中间表示。
最近,一些研究直接从点云学习几何表示。例如,Du等人[20]建议首先使用边缘卷积从点云学习几何感知嵌入[115],然后,利用DEN从RGB图像和几何嵌入中执行深度补全,Jeon等人[55]也使用点云作为输入。通过将注意力机制并入双边卷积[102],他们设计了一种基于注意力双边卷积层(ABCL)的编码器,用于从3D点云中提取特征。他们的框架还实现了DEN,其中点云编码器用于提取3D特征,图像编码器用于从RGB图像和稀疏深度输入中提取2D特征。如[20]、[55]所示,将点云集成到深度完成中显著提高了不同环境中的模型泛化精度,与[55]相比,[20]的方法以更简单、更轻量级的框架实现了竞争性的结果。
4)Residual Depth Models
残差深度模型(RDM)预测深度图和残差图,它们的线性组合获得最终深度。通过残差图的预测,该模型可以细化模糊深度预测,并在对象边界上产生更精细的结果。这些方法通常应用两阶段粗定义,类似于预测过程,[64]中显示了一个简单的应用,其中首先将稀疏深度图完成为密集图,然后预测残差图。最后,它们的逐元素求和生成最终的深度图。Gu等人[34]提出了DenseLiDAR,一种类似的方法,如图9所示,在DenseLiDAR中,首先预测了具有形态学操作的伪深度图。然后,将伪深度图、RGB图像和稀疏深度输入发送到CNN以预测残差图。最后,用残差图校正伪深度图以产生最终深度图。
对于其它方法,改进是通过增强粗略深度图或残余深度图的估计而得到的。例如,在核回归的激励下,在[67],[83]中,提出了一种可微分核回归网络来代替手工制作的插值,以根据稀疏输入进行粗略深度预测。此外,FCFR Net[68]实现了基于能量的多模态特征融合操作,以促进残差地图学习。为了处理不均匀分布和异常值问题,Zhu等人[144]引入了一种新的基于不确定性的框架,该框架由两个网络组成:多尺度深度补全block和不确定性注意力残差学习网络。与其它基于残差的方法一样,前一种网络产生粗预测,后一种网络执行细化。基于不确定性的框架通过在第一完成阶段放松高度不确定区域的约束来防止异常值的过度拟合,并引导网络在细化阶段生成残差图。Zhang等人[138]将后期融合与残差学习相结合,提出了一种基于DEN的多线索引导网络。与其它方法不同,最终深度是稀疏输入和估计残差图的组合!
5)SPN-based Models
SPN通过基于亲和力的细化明确地强制深度点与其相邻点之间的空间相关性!它用于细化和获得视觉任务中的细粒度预测。在空间传播网络(SPN)[69]中,学习亲和矩阵被公式化为学习一组变换矩阵。
由于深度点与其相邻点相关,因此SPN合理地适用于深度回归问题,一系列先前的研究基于SPN开发了他们的算法。Cheng等人提出了开创性的卷积空间传播网络(CSPN)[13],[111],这是第一个用于深度完成的基于SPN的模型。与原始SPN[69]相比,CSPN有两大改进。首先,在SPN中,一个点从最近的行或列链接到三个本地邻居,而在CSPN中,使用3×3本地窗口连接本地邻居。其次,CSPN通过卷积运算在所有方向上有效地传播局部区域,而不是在不同方向上传播并与最大池作为SPN。深度点的最终值由其局部邻居通过具有亲和矩阵的扩散过程确定。具体地说,[77]中提出的网络用跳跃连接和额外的输出分支进行修改,以生成亲和矩阵。给定粗略的预测深度图和亲和矩阵,将CSPN插入网络[77]进行细化,如图10所示。超参数(包括核大小(局部邻居的大小)和迭代次数)需要通过超参数搜索进行调整。
为了解决确定内核大小和迭代次数的困难,Cheng等人进一步提出了CSPN++[12],该CSPN++12]支持上下文感知CSPN(CA-CSPN)和资源感知CSPN(RA-CSPN)。对于CA-CSPN的实现,首先定义了内核大小和迭代次数的各种配置,并引入了两个额外的超参数来自适应地权衡不同的内核大小和重复次数。因此,CA-CSPN消耗大量的计算资源。为了解决这个问题,RA-CSPN通过最小化计算资源使用,为每个像素选择最佳的内核大小和迭代次数。为此,将计算成本函数聚合到优化目标,以平衡精度和训练时间之间的权衡。虽然CSPN和CSPN++主要关注于现有编码器-解码器方法的改进[77],但PENet[44]利用了SPN和后期融合模型。PENet使用DEDN结构,其中一个网络根据RGB图像和稀疏深度进行预测,另一个网络则根据稀疏深度和预加密深度图进行预测,然后将CSPN++应用于这些预测的融合深度图。
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)