APP下载

基于带squeeze-and-excitation模块的ResNeXt的单目图像深度估计方法

2021-01-21李智宏

计算机应用 2021年1期
关键词:视差网络结构深度

温 静,李智宏

(山西大学计算机与信息技术学院,太原 030006)

0 引言

深度估计对理解三维场景具有重要作用,在机器人、增强现实、三维重建、自动驾驶、即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)[1]等领域有着重要的应用。传统方法获取目标深度信息主要通过深度传感器实现,包括激光雷达、基于结构光的深度传感器以及立体相机等。然而,这些方法获取深度图像成本较高,受环境影响较大,尚未大规模应用。相比较而言,基于图像信息进行深度估计[2]可以有效克服上述传感器的不足。但是由于计算机很难像人类的大脑一样从单目图像中自动构建或感知到充足的三维结构信息,同时,从单幅图像映射到深度图存在大量不确定性,因此单目图像的深度估计面临着信息的“无中生有”的挑战,它的研究具有很大的困难同时也具有重要意义。

近些年来,随着深度学习的发展,卷积神经网络(Convolutional Neural Network,CNN)[3]在图像处理等领域发挥着越来越重要的作用。CNN 在特征提取、结果分类等方面无须人工干预,大大提高了模型的通用性。因此,国内外许多学者开始广泛使用CNN 来研究单目图像的深度估计问题。廖斌等[4]提出一种基于孔卷积神经网络的深度估计模型。随着条件随机场(Conditional Random Field,CRF)[5]在语义分割上表现优异,Liu 等[6]提出将卷积神经网络与连续CRF 相结合;但是,文中提到的超像素分割仍然需要人工划分。Eigen等[7]提出了一种基于多尺度网络结构的深度学习方法,通过两个尺度对图像分别进行全局与局部的特征采样,获得最终输出,此方法无须提供任何人工分类特征,直接在原始图片上进行训练并获得像素级别的深度信息结果。在此基础上,Laina 等[8]提出一种使用残差网络(Residual Network,ResNet)[9]的模型,该模型利用ResNet 特征前向传播高效的特性,结合更深、更复杂的网络,有效提高了深度预测图的精度。最近,Yang 等[10]进一步推导法线表示,并提出了管道内密集的深度-法线一致性,这不仅可以更好地规范预测深度,而且还可以学习产生法线估计;但是,正则化仅在局部应用,并且容易会受到图像梯度的影响,从而在平滑表面内产生错误的几何不连续性。随后,他们在文献[11]中开始缩小单眼和基于立体信息的自我监督之间的性能差距,并且通过强制边缘一致性进一步提升性能。Godard等[12]提出一种利用左右眼视图一致性的无监督学习方法,通过最小化图像重建损失和左右眼图像一致性损失提高深度估计性能。但上述方法在特征提取过程中都只关注于特征的局部区域进行空间和通道维度的信息融合,缺乏对于特征通道之间相互关系的研究,且在精度上仍有提升空间。

针对上述问题,本文根据深度估计的问题特性,对ResNeXt[13]的网络结构进行了改进,并且引入文献[14]中提出的SE-Module(Squeeze-and-Excitation Module),提出了一种SE-ResNeXt(Squeeze-and-Excitation-ResNeXt)的编码器解码器网络结构,并将其应用到单目图像深度估计的研究中,从特征通道之间的全局信息关系方面提升性能。

1 单目深度估计模型

1.1 模型概述

本文提出了一种基于SE-ResNeXt 的单目图像深度估计方法。本文采用了无监督的方法,通过训练网络生成视差图像,然后从视差图中恢复深度预测图像。具体地,在训练过程中,将左眼图像输入到网络中,同时输出两张分别对应双目左视图和右视图的视差图,然后通过真实的右眼视图和左眼视图对应视差图得到重建后的左眼视图,类似地也可以得到重建后的右眼视图,并且通过最小化图像重建损失和左右眼图像一致性损失提高深度估计性能。网络结构采用编码器解码器网络,编码器网络基于ResNet50 结构来设计,首先本文算法引入ResNeXt 模块来代替ResNet 模块的使用,并且根据深度估计任务的特性和需求,对ResNeXt 结构进行了改进,获得恰当数量的网络分支,以实现在不增加参数复杂度的前提下有效地提高模型的准确率。然后,在ResNeXt 块后加入SEModule,通过压缩操作、激励操作以及权重的重新分配从特征通道之间的全局信息关系方面进一步提升网络性能。在解码器网络部分,本文沿用了文献[12]提出的网络结构,通过一系列的上采样操作得到最终的视差图像,然后从视差图像恢复深度图。整体网络结构如图1 所示。其中,Upconv 表示双线性插值上采样操作,Disparity表示最终得到的视差图像。

图1 整体网络结构Fig.1 Overall network structure

1.2 ResNeXt模块

ResNeXt 结构最早应用于图像分类领域,其优点是在不增加参数复杂度的前提下提高准确率。现有大部分深度学习方法为了提高模型的准确率,通常的思路都是加深或加宽网络,但是随着超参数数量的增加,网络设计的难度和计算开销也会增加。图2 列出ResNet 和ResNeXt 的基本单元。其中,C表示分支数,如1×1×64 的内容分别表示卷积核大小为1×1,通道数为64。经过消融实验表明,与ResNet 图2(a)所示相比,相同的参数个数条件下,ResNeXt 图2(b)所示的结果更好。

图2 ResNet和ResNeXt的基本单元Fig.2 Basic units of ResNet and ResNeXt

ResNeXt 结构的具体计算公式如式(1)所示。x表示输入特征,Ti可以是任意函数,在此处为三个卷积层的堆叠,C表示网络输入宽度。

考虑到ResNeXt 结构中分支数的选择对于单目深度估计模型训练时间和实验结果的影响,由于ResNeXt 结构中分支数越多,会造成深度估计模型训练时间越长,而性能不会获得显著的提升。本文通过寻找ResNeXt 的合适分支数量,以提高估计任务中的模型准确性。经过实验对比发现,当分支数为8 时,可以在保证提高模型的准确率的同时不影响模型训练时间,图3 所示为选择不同的分支数时模型的性能表现和训练时间。具体地,本文采用2.1 节所述的均方根误差(Root Mean Squared Error,RMSE)作为模型性能的评价标准,由于RMSE 越小,网络性能越好,由图3(a)可知,当分支数为8 时,模型性能达到最佳;且由图3(b)可以看出,随着分支数增加到训练时长也逐渐变长,当分支数增加到8 时训练时间变化不太明显,此后分支数继续扩大,模型性能不再提升,但是训练时间明显变长。

图3 模型不同分支数对比Fig.3 Comparison of the model with different branches

1.3 SE-Module(Squeeze-and-Excitation Module)

考虑到特征提取过程只是在局部区域进行信息融合,缺乏特征通道之间的全局信息关系,本文采用文献[14]提出的SE-Module,通过建模特征通道间的动态、非线性关系来提高网络的全局信息表示能力,然后采用特征重标定策略校准特征响应,以实现对原先卷积层不同通道的重新校准,改变不同通道的权重比值,从而使网络能够在通道信息中加入全局特征,进一步提升了深度图像的质量,并且场景中物体的边缘结构信息更加清晰、完整。

首先对于输入的特征图在空间维度上通过全局平均池化(Global Average Pooling,GAP)对特征进行压缩,然后通过两个全连接层以及激活函数对通道重新加权校准。最后,在Scale 层将重新校准后的权重作为特征选择后的每个特征通道的重要性,然后通过乘法将权重逐个加权到之前的特征上,完成在通道维度上对原始特征的重标定。

SE-Module 结构的示意图如图4 所示。GAP 表示全局平均池化,FC(Fully Connected Layer)表示全连接层,ReLU(Rectified Linear Unit)和Sigmoid 为激活函数,Scale 为特征权重表示层,⊗表示逐元素相乘。

Fig.4 SE-Module结构示意图Fig.4 Structure of SE-Module

1.4 基于SE-ResNeXt的单目深度估计网络

本文提出并设计了一种基于SE-ResNeXt 的单目深度估计网络。如图1 所示,在编码器网络部分不再使用原始的ResNet 结构,而在第1、2 层采用ResNeXt 模块,第3、4 层采用SE-ResNeXt 网络结构。其中,SE-ResNeXt 的结构就是采用2.2 节以及2.3 节介绍的两个结构级联构成。本文提出的ResNeXt 模块级联SE-Module 的这种网络结构,可以从特征通道之间的全局信息关系方面提升网络性能。

在第3、4 层采用SE-ResNeXt 网络结构,是考虑到在单目深度估计网络中浅层网络提取的特征含有很多图像局部细节信息,并且特征通道较少,而深层的网络提取的特征包含更多表征图像空间结构的高级语义信息,因而所提取的特征重要性差别较大,且特征通道较多。因此,在编码器网络部分的第3、4 层采用SE-ResNeXt 网络结构,最大限度地提升了特征的利用率。经过实验证明,SE-Module 在编码器网络部分的第3、4层ResNeXt模块之后使用时效果最佳,具体实验对比在消融实验分析部分介绍。

此外,本文还通过实验选取了ResNeXt 结构中合适的分支数,确保在不增加参数复杂度的前提下有效地提高模型的准确率。

1.5 损失函数

在本文中,本文算法沿用了文献[12]所提出的损失函数。总的损失Ssum由三部分组成:

在训练过程中,网络通过从立体对图像学习生成图像。利用输入左眼图像和输入图像重建原图像过程中的损失函数约束,提高视差图的准确度。在本文中,采用L1 损失和结构相似性(Structural SIMilarity,SSIM)的组合,它比较输入图像及其重建图像来进行约束,其中N是像素值,SSIM使用3×3滤波器,α=0.85。

为了产生更准确的视差图像,训练网络只将左眼视图作为网络卷积部分的输入,同时预测左右眼图像的视差图,为了确保左右眼视差的一致性,采用左右视差一致性损失函数

同时,为了使网络生成的视差图像在局部上保持平滑,对视差梯度∂d采用L1损失,图像视差平滑损失函数表示为

2 实验结果与分析

2.1 实验设置

为了验证本文算法的有效性,实验采用KITTI2015[15]数据集。KITTI2015 数据集包含来自61 个场景的42 382 个立体对图像,图像大小为1 242×375 像素。实验中,本文采用KITTI Split 分割来呈现KITTI 数据集的结果,网络基于TensorFlow实现,使用ResNet50作为网络基本架构。

本文将模型的实验结果与同样在KITTI 数据集上进行训练的相关工作进行对比,采用了常用的衡量指标评估结果,其中Di表示预测的深度值,Di*表示真实的深度值,N表示测试集中所有图像的总像素点的个数。指标表达式如下。

1)绝对相对误差(Absolute Relative error,AbsRel):

2)平方相对误差(Squared Relative error,SqRel):

3)均方根误差(Root Mean Squared Error,RMSE):

4)准确率:

2.2 网络消融分析

本文算法包含两个消融因素,即SE-Module和ResNeXt模块。为了验证本文算法的有效性,采用如下方式进行消融分析:

a)采用文献[12]中的基础网络结构作为基准网络(Baseline)。

b)仅将Baseline中的ResNet替换为ResNeXt模块。

c)仅对Baseline添加SE-Module模块,并且在编码器网络中不同位置添加以得到最佳效果。

d)对b)中的网络添加SE-Module 模块即为本文最终算法。

部分实验结果如表1 所示,其中f表示模块添加在编码器网络的第1、2 层;l 表示模块添加在第3、4 层。从表1 中结果可以看出,本文模型中两个消融因素都可以提高网络的性能,在多种评价指标中都有明显提升;并且,实验结果表明SEModule在编码器网络部分的第3、4层使用时效果最佳。

表1 网络消融分析Tab.1 Ablation analysis of networks

2.3 对比实验分析

通过实验,将本文方法与文献[10]、文献[11]、文献[12]、本文Baseline 中添加文献[14]中提出的嵌入结构的SEResNeX 以及文献[16]的评估结果进行对比,其结果如表2 所示。首先,可以看出,本文提出的基于SE-ResNeXt 方法的深度估计结果明显优于最近相关工作,这主要得益于在训练过程中,通过建模特征通道间的动态、非线性关系来提高特征通道对全局信息的表示能力,然后通过特征重标定策略重新校准特征,进一步强调有用特征并抑制对任务用处不大的特征。相较于文献[14]中提出的嵌入结构SE-ResNeXt,本文所采用的结构具有更良好的性能。

表2 KITTI数据集上实验结果对比Tab.2 Comparison of experimental results on KITTI dataset

通过基于SE-ResNeXt 的深度估计模型中得到的深度图明显优于目前常见方法,并且在细节处理方面,本文方法具有更强大的能力。

为验证深度图像的质量,对不同方法生成的图像进行主观效果比较,图5为彩色图像及其真实深度图像以及4种方法生成的深度图像,按照从左到右依次命名为image1、image2和image3;从上到下依次为原图、真实深度图、文献[10]、文献[11]、文献[12]、文献[14]、文献[16]以及本文方法生成的深度图。

图5 各模型深度预测结果Fig.5 Depth prediction results of different models

可以看出,本文方法深度图像的质量更高,细节以及场景结构的表现更为细致。如image1 方框所示,相较于其他方法,本文方法的深度分辨率更高,对于深度更深的物体信息识别更为完整;如image2 方框所示,在光照不均匀的场景下,本文方法对于图像左侧建筑物以及旁边的树木保留了更为丰富的纹理信息,并且细节处理更加平滑;如image3 方框所示,对于环境嘈杂,分辨率和尺寸微小且相对深度对比度不清晰的场景下,本文方法识别树木的轮廓更清晰完整,且不同物体间的区分度更大。

本文方法生成的深度图像在细节处理方面更加清晰,并且边缘结构更加平滑,包含更丰富而完整的纹理信息,这主要得益于本文提出的深度估计网络结构可以有效聚合不同通道中包含的全局信息,进一步有效提高生成深度预测图像的质量,保证图像中物体的完整性。然而,本文方法对于复杂环境下的深度估计效果仍有提升空间,对场景中距离较远的物体识别效果不佳,这主要是由于深度大的目标受到光照的影响为网络预测造成了不确定性。如图6 深度图白色方框所示,对于远处的交通标志识别存在误判,并且轮廓不够清晰完整。

图6 复杂环境下的深度估计结果Fig.6 Depth estimation results in complex environment

3 结语

本文提出了一种基于SE-ResNeXt 的单目图像深度估计方法,在特征提取阶段采用残差网络,从特征通道之间的全局信息关系方面考虑,提高网络的全局信息表示能力;同时,引入ResNeXt 结构,在不增加参数复杂度的前提下有效地提高了模型的准确率。通过KITTI 数据集训练,使该模型可以对图像进行有效的深度估计。相较于原有忽略了特征通道之间的全局信息关系的方法,本文方法得到更好的实验数据,对物体细节有更好的处理。

但目前此模型对于复杂环境的效果仍有提升空间,下一步的工作将在网络深度和预测效率间寻求平衡,以及引入更多先验信息和约束条件,提升深度估计的预测性能。

猜你喜欢

视差网络结构深度
四增四减 深度推进
深度思考之不等式
基于归一化互相关的半透明遮挡视差估计
基于自适应窗的立体相机视差图优化方法研究
简约教学 深度学习
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析
基于单应性矩阵的图像拼接方法的对比分析
非常规突发事件跨组织合作网络结构演化机理研究
深度挖掘