Single-Image Depth Estimation Based on Fourier Domain Analysis
作者:Jae-Han Lee, Minhyeok Heo, Kyung-Rae Kim, and Chang-Su Kim
摘要:
提出了一种基于傅里叶频域分析的深度学习算法用于单张图像深度估计首先,我们开发;一种卷积神经网络结构,并提出了一种新的损失函数,称为深度平衡欧式损失,以可靠地训练网络,使其适应更广的深度,然后,通过裁剪不同的裁剪比例的输入图像,生成多个候选深度图。一般来说,较小比率的裁剪图像更忠实地生成深度细节,而较大比率的裁剪图像更可靠地提供整体深度分布。为了利用这些互补特性,我们将多个候选者组合在频域中。实验结果表明,该算法具有良好的性能通过频域分析,验证了该算法在大多数频段的有效性。
一、介绍
深度估计是使用一个或多个图像预测场景的深度图过程。深度信息是理解场景中几何关系提供了重要的线索。例如,具有颜色和深度通道的RGB-D图像可以应用于各种任务。例如,3D模型重建 [13、30、33]、场景识别 [27、32、33]、人体姿势估计[37]深度可以通过立体图像[31]或运动序列[2、7、17、31、40]来估计,它们为理解3D结构提供了相对丰富的信息。相比之下,从单个图像 [1、3、5、6、15、19–22、24、28、38、42、43]估计深度更具挑战性和模糊性,这不允许立体图像或时间帧之间的对应匹配。
为了克服单一图像深度估计中的模糊性,提出了各种几何或图像合成假设[9,10,13,23,36,41]例如,可以执行三维重建,假设场景由菲亚特平面[13]组成,图像在特定透视图[9]中组成,或者场景具有防火墙几何体[4]。此外,在[41]中利用了焦点模糊,在[9]中使用了从暗通道先验推断出的雾度强度。然而,只有在相应的假设有效时,这些技术才能在特定情况下重建深度。
近年来,人们提出了几种基于图的模型,如马尔可夫随机场(MRF)和条件随机场(CRF)此外,随着深度学习技术的快速发展[11,12,16],人们尝试使用卷积神经网络(CNNs)进行单图像深度估计[3,5,6,19,38]。
在这项工作中,我们提出了一种基于CNN的单图像深度估计算法,该算法可以进行多次预测,并将结果合并到fourier频域中。首先,我们开发了一个基于ResNet[11]架构的CNN它包括用于提取中间特征的附加路径同时,为了在较宽的深度范围内可靠地训练网络,我们提出了深度平衡欧氏(DBE)损失函数。然后,通过裁剪具有不同裁剪比率的输入图像,生成多个深度贴图候选一般来说,小裁剪比的裁剪图像重建局部深度细节更为准确,而大裁剪比的裁剪图像恢复整体深度分布更为可靠。为了利用这些互补特性,我们在傅里叶频率域中组合了多个候选者。
在NYUv2深度数据集[33]上的大量实验结果表明,该算法获得了最新的性能,显著优于传统算法此外,通过对频域估计深度图的分析,验证了该算法在宽频率范围内的有效性。
本文有三个主要贡献:
(1)我们设计了一个基于ResNet的深度估计网络。
(2)我们建议使用DBE损耗来实现更可靠的网络训练。
(3)据我们所知,这是第一次对单图像深度估计问题进行傅立叶分析的工作。我们还提出了一种精确可靠的多深度频域联合方案。
二、相关工作
对于单帧图像的深度估计已经做了各种尝试例如,Saxena等人[29]采用多尺度MRF来考虑图像的全局背景及其局部特征进行深度估计。在[30]中,他们将图像分割成均匀的斑块,使用MRF获得每个斑块的3D参数,并重建3D结构。Kersh等人[14]建议将数据集中的参考RGB-D图像的深度图传输到输入彩色图像。同样,Liu等人[24]利用了参考RGBD图像中的深度信息他们用它来建立一个用于深度估计的CRF模型中的一元势。另外,Ladicky等人[18]将深度估计作为预测每个像素处于规范深度的可能性的问题,并试图联合解决深度估计和语义分割问题。
最近,基于深度学习的技术得到了发展[5,6,19,28]Eigen等人[6]提出将两个深度网络结合起来:一个用于预测全局深度分布的粗网络和一个用于局部细化深度图的细网络Eigen和Fergus[5]将这项工作扩展到三层网络结构,并进行了表面正规估计、语义标签估计和深度估计Roy和Todorovic[28]将相对较浅的CNN整合到退化森林中。Laina等人[19]设计了基于ResNet体系结构的深度估计网络[11]他们提出了一种向上投影结构来提高深度图的分辨率另外,对于网络训练,他们提出了Huber损失,它是欧氏函数和L1函数的组合。
结合CNNs和CRF模型,深度估计技术也被提出了[20,23,38]Wang等人[38]训练CNN进行联合深度估计和语义分割,并采用CRF模型改进CNN预测结果Liu等人[23]提出了一个在统一CNN框架下学习连续CRF的一元和成对势的方案Li等人[20]通过CRF优化对基于超像素的CNN预测结果进行像素级细化。查克拉巴蒂等人[3]通过概率预测不同阶次的深度导数,然后通过全球化过程估计深度图。Xu等人[39]使用多个连续的CRFs来集成CNN的侧输出图。这种方法与提出的算法相似,它从网络的不同层次提取特征,并将它们结合起来估计深度图然而,我们只利用网络中的中间信息而不使用CRFs。
三、提出算法
3.1深度估计网
所提出算法的CNN结构如图1和图2所示,其基于ResNet-152[11]注意,ResNet-152是一个非常深的网络,包括151个卷积层和1个完全连接层它被分成更小的块,每个块有三个卷积层,然后是批处理规范化层和ReLU层,并有一个快捷连接在图1中,BC表示这个块,其中C是输出特性映射中的通道数BC的结构由图2中的蓝色虚线包围原始ResNet-152包含50个这样的块其中,我们修改了最后19个块,如图1中绿色块所示,同时保持了前31个块的原始结构。
图2显示了一个修改块的结构,它有一个额外的路径用于中间特征提取。设BC,C’ 表示修改块,其中C’是通过附加路径提取的特征映射中的通道数注意,我们从BC的最后一个ReLU层提取中间特征映射。为此,我们使用两个卷积层,其中 1 × 3 和 3 = 1 内核按顺序使用,然后是 ReLU 层。19个修改块的中间特征映射和最后一个B2048,64的末尾的特征映射都被连接起来,如图1所示然后,通过一个完全连接的层,我们得到800个输出响应,每个响应对应于25*32深度图中的估计深度。
对于训练,我们采用两阶段法在第一阶段,我们在去除额外的特征提取部分并仅保持ResNet-152的原始结构后训练网络我们从ResNet-152参数开始,为图像分类任务预先训练,并使用训练图像和它们的地面真值深度图对它们进行微调在第二阶段,我们从第一阶段的参数开始,但是用高斯随机值初始化附加特征提取部分的参数与从头开始学习整个网络相比,这种两阶段的方法有助于加快训练速度,并提高深度估计性能。
四、实验结果
4.1 实现细节
我们使用的NYUv2 深度数据集,这个数据集包含了280000幅训练图像。为了训练提出的CNN模型,我们使用尺度、旋转、颜色和水平翻转变换来执行数据增强[6]。NYUv2数据集还提供654个单独的测试图像在测试中,我们只从每个图像中提取427*561大小的中心区域,如[3,28]所述。
在训练中,我们使用NAG解算器[25,35]对于(3)和(4)中的DBE损失,我们设置a1=1.5和a2 = -0.1。如3.1所述,我们采用两阶段训练方法在第一阶段,我们使用预先训练的ResNet-152[11]初始化参数然后,我们执行迭代训练500000次,批量大小为4,学习率为0.00016。在第二阶段中,我们将现有部分的学习速率降低了一倍。对于附加的特征提取部分,我们采用Xavier初始化[8],并将学习率设置为0.00016。在第二阶段,批量大小也保持为4。
对于每幅图像,我们生成9个具有裁剪比r∈{0.60,0.65,…,1.00}的候选深度图。我们还为每一个r使用了一个翻转候选。因此,我们总共获得了18个候选。
4.2 性能比较
我们使用在[3,6]中的五个性能指标,如下面:
在表1中,我们将提出的算法与最近的传统算法进行了比较[1,3,5,6,19–21,28,38,43]。在[19]中,他们的性能是用单精度计算的对于RMSE和Rel度量,单精度是不够的,因为需要总结大量的深度差异。因此,我们使用它们的源代码在双精度中再次测量它们的性能。我们发现,就所有指标而言,我们所提出的算法提供了最好的结果,大大优于次优的结果。
图4定性地比较了深度图为了便于比较,我们还可视化了深度图中的错误,较大的误差用亮黄色表示,较小的误差用深红色表示。实验结果表明,与传统算法相比,该算法能准确可靠地估计深度信息,并减少了模糊伪影。
4.3.Ablation Study
基于ResNet-152[11]结构,我们在图1和图2中开发了深度估计网络(DEN)。表 2 比较了 DEN 的深度估计性能与 ResNet-152 的深度估计性能,后者使用 NYUv2 数据集进行了微调。我们发现,结构的修改导致性能的提高,例如“RMSE(lin)”从0.597提高到0.586。
除了DEN结构,这项工作还有两个贡献。首先,我们使用DBE损耗来更可靠地估计浅层深度。其次,我们对多个深度图候选进行傅里叶域组合(FDC)。请注意,这两个组件中的每一个都显著提高了性能。因此,完整的算法“DEN + DBE + FDC(18)”提供了当前性能的状态。图5还显示了该算法的每个组成部分都有助于重建高质量的深度图。
在完整的算法中,对于每幅图像,通过以0.05的增量将裁剪比从0.60变为1.00,生成18个候选深度图。通过将r的下界提高到0.8、0.9或1.0,我们可以将候选数k分别减少到10、6或2。在表2中,FDC(k)是指k个候选者的组合。一般来说,当k变大时,性能提高。但是,当k大于18时,性能到饱和了。请注意,k=6,相对比较下的FDC(k)仍然会产生竞争结果。
接下来,我们将DEN替换为三个较低层的流行网络:AlexNet[16]、VGG19[34]和ResNet52[11]。所有的这些网络都经过了图像分类任务的预测训练。在开发DEN的同时,我们修改了这三个网络中的每一个。具体地说,我们修改了最后一个完全连接的层,得到了800个输出响应,对应于25*32的深度图。然后,我们使用训练图像和它们的地面真实深度图来微调修改后的网络。然后,和我们所提出的算法一样,我们将DBE和FDC另个组件依次合并到网络中。表3显示,在参数较少的网络中,每个组件也有助于提高性能。同样,在表4中,我们测量SSIM和NCC分数,以查看FDC重建深度图细节的效果。我们确认FDC忠实地恢复了所有网络的深度图结果。
4.4 在频域分析性能
让我们在频域分析估计的深度图。为此,我们根据二维频率的大小将其分类:一个频率组包含二维频率,其大小从2n-1到2n Hz不等。图6显示了重建深度的‘RMSE(lin)’和‘Abs Rel’误差,其中每组所有的频率系数都设置为零。一个例外是DC系数的情况,其影响远远大于其他AC系数。为了在同一张图像中绘制他们的影响,我们用测试图像的总平均深度代替DC系数,而不是零。从图6可以看出,较低频组通常对深度图的重建性能有较大的影响。然而,相对于高频组(<26)也有助于深度图,因为它们代表局部细节和深度间断。如果频率大小没有大于26 ,其影响可以忽略不计。
在图7中,我们分析估计深度图的频率系数和地面真实深度之间的MSE。由于不同频率组的误差标度有很大的变化,我们通过设置ResNet-152的误差作为参考点来绘制相对误差。
在图7(a)显示了我们所提的算法中的每个组件的贡献。DEN结构减少了在低频组的误差。DBE损耗使得DC分量的估计更为准确,同时提高了高频组的误差。然而,DBE通过更可靠地估计浅层深度来提高整体性能。多深度FDC提高了大多数频率群的估计性能。特别是在21~24Hz范围内的改善是显著的。
图7(b)将我们所提出的算法与最先进的传统算法进行了比较[3,5,19]。该算法在大多数频率组中都能获得最佳的性能。特别是在21~24Hz范围内,对应于深度图的细颗粒细节,与传统算法相比,该算法减少了约5%的误差。
图7(c)显示了当所提出的FDC技术与Laina等人的算法相结合时的结果[19]。FDC还在21~25Hz范围内改进了Laina等人的算法[19]。这表明FDC与网络结构无关,因此可以与各种基于CNN的深度估计相结合,以改善深度图的精细细节。
最后,图7(d)显示了将候选数目k更改为FDC的2、6、10或18时的结果。k的增加导致所有频率组的性能提高。特别是在高频组的改善是显著的。
五、总结
我们提出了一种基于CNN的单图像深度估计器,该估计器产生多个深度图候选,并将这些候选合并到Fourier频域中。具体来说,我们开发了基于ResNet-152的CNN结构,并引入了DBE损耗,以可靠地训练网络,以进行广泛的深度训练。此外,我们通过裁剪具有不同裁剪比率的输入图像来生成多个深度图候选。然后,为了利用不同深度图候选的互补特性,我们将它们组合在Fourier域中。实验结果表明,该算法明显优于传统算法此外,傅立叶域分析验证了该算法的每个分量都有助于减少大多数频带的估计误差。