采用跳层卷积神经网络的RGB-D图像显著性检测
2022-01-25陈曦涛訾玲玲张雪曼
陈曦涛,訾玲玲,张雪曼
辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105
显著性检测技术应用在各种计算机视觉任务中,例如图像分类[1]、语义分割[2]、交通控制[3]、对象检测[4-5]和行人检测[6]。随着深度传感器的商业化成功,其所拍摄的RGB-D图像为用户提供了更高的观看体验的同时,也对当前的图像显著性检测技术提出了更高挑战。与RGB图像相比,RGB-D图像不仅包含颜色数据还含有独立的深度数据,且颜色图与深度图是成对出现的,有着很强的结构上的关联性,这为显著性检测提供了更加丰富的信息。同时,捕获的深度图的质量并不总是精确的,并且存在一些缺陷,例如深度数据的丢失,这将在某种程度上影响显著性检测。因此,合理使用深度数据对于提高场景中检测对象的能力非常重要。
在传统显著性检测方法中,文献[7]设计了一个具有多个阶段的PENG模型去整合RGB图像和深度图像。文献[8]考虑全局深度结构提出了一个各向异性中心环绕方法用于显著性检测。文献[9]使用全局上下文表面定向先验和归一化深度先验检测显著性物体,但是这种基于手工提取的方法缺少高级语义特征,存在缺陷。近年来,研究者大都采用卷积神经网络进行显著性目标检测。文献[10]设计了双流卷积神经网络,文献[11]提出了短链接的方法,可以有效地融合卷积神经网络中的图像细节特征和高级语义特征。但是上述两种方法由于缺少深度信息的引入,几何信息描述能力略显不足,不适用于复杂场景和有光线影响下的图像。为了解决空间几何问题,可以将深度信息与RGB信息以互补的方式进行融合。例如,文献[12]提出了PCA网络,该网络考虑到深度和颜色的互补特征,进行渐进式融合使得颜色和深度信息得到了融合,但是忽略了中间过程深度与颜色信息的特征提取,导致图像细节信息的丢失;文献[13-15]制定了自适应融合方案,融合深度和颜色特征进行显著性检测;文献[16-17]同时借鉴残差连接的思想构建DMRANet网络,该网络利用残差学习的优势设计了多层信息融合模块,融合深度与颜色信息,但是这种方式增加了训练过程的复杂性,不利于神经网络的训练;文献[18-20]是跳层结构在边缘检测算法中的应用,通过跳层结构的灵活性,使得边缘检测效果得到了明显的优化,但是将此算法直接应用到显著性检测中,得到的显著性检测图并不理想,因为显著性检测算法不仅仅要注重边缘的紧密相关程度,还要注重图像目标的特征信息。
鉴于跳层结构的多层次和多尺度特征的融合能力,可以将其引入到显著性检测算法中。利用其多层次的特点,灵活地连接图像的高层特征和低层特征,并通过跳层结构的多尺度融合能力,将浅层网络的细节特征和深层网络的语义特征充分结合,能更好地获得显著性检测效果。基于以上优点,以跳层结构为基础,提出了基于跳层卷积神经网络的RGB-D显著性检测方法,简称SCSD方法,该方法提升了显著性检测的准确率和召回率,尤其对于复杂场景,光线干扰场景,目标与背景区域低对比度的情况,该方法取得了很好的效果。
1 提出的SCSD方法
本章首先介绍SCSD方法思路,其次展示了网络架构,主要由数据输入模块、特征提取模块和跳层融合模块组成。最后详细阐述该方法的实施过程。
1.1 方法思路
显著性检测的关键问题在于获得图像特征,而卷积神经网络以其强大的学习和提取能力,可为该问题的解决提供有效途径。VGG16作为卷积神经网络的代表之一,有着简单的网络结构和高效的特征提取能力,在图像分割、图像分类等领域有着广泛的应用,因此SCSD方法使用VGG16网络作为基础的网络架构。已有的基于深度学习的显著性检测方法存在如下缺陷:(1)卷积神经网络在提取深层特征时会出现信息丢失的情况[10,13];(2)在提取浅层特征时捕捉不到显著性目标重要特征[11,15]。这种现象是由卷积神经网络自身属性决定的,即卷积神经网络通过局部连接进行信息合并,合并后的信息通过一系列的池化层的作用去除细节信息而获得更高的抽象性因而造成一些信息的缺失。为了将深层特征与浅层特征充分利用,SCSD方法引用了跳层结构,可在高层特征与浅层特征提取之后进行特征融合。在文献[20]中,利用跳层结构进行边缘检测,通过高级语义特征与几何细节特征的融合取得了很好的效果。但显著性检测不仅需要边缘检测,亦需要关注图形视觉对象的区域特征,因此在跳层融合之前提出方法增加了特征提取模块,来过滤不必要的信息,抑制背景特征的干扰。为了更完善地解决显著性检测的特殊情况,例如,当前显著性检测常常出现的由于光线反射出现的对目标检测不全[21]、背景与目标对比度较低时出现的检测不到主要目标[22-23]、在场景复杂时检测目标过于混乱[24-25]等现象。本文通过深度信息刚好能够弥补颜色信息的缺失。因此本文又增加了一个深度信息提取通道,辅助颜色信息进行显著性检测来解决上述存在的问题。
综上,本文方法的思路如下。首先,为了解决在卷积神经网络中几何细节信息和高级语义信息不能兼得的问题,提出了应用跳层结构将二者结合的思想;其次,为了过滤不必要的细节信息,抑制背景特征的干扰,在跳层融合之前增加了特征提取模块,以获取更准确的显著性区域特征;最后,为了解决当前显著性检测存在的不能解决低对比度和光线干扰等问题,提出了“颜色为主,深度为辅”的思想,增加了深度通道,来辅助颜色通道进行显著性检测的方法。
1.2 网络架构
本文网络架构如图1所示,总体网络在VGG-16[26]网络上进行修改,在显著性检测任务中通常会舍去全连接层,为了更好地定位到显著性区域,增加平均池化层来提取高级语义信息,以此作为网络的数据输入模块。在数据输入阶段,由原始网络的单通道增加了深度通道使之成为双通道,将深度图像与RGB图像一同送入数据输入模块,得到深度信息流ADi和RGB信息流Ai。VGG-16网络前两层卷积块提取出来的特征,包含的特征多为图像细节特征,是识别显著性目标的重要信息;网络后三层提取的特征主要包含了图像的全局信息,对定位显著性目标区域提供了主要依据。因此,在特征提取模块,设计了6个特征提取块,每个特征提取块用两个滤波通道和一个卷积层组成,用来对应接收不同层的深度信息流及RGB信息流,充分提取深度与颜色的浅层和深层的特征信息,输出深度特征FDi与颜色特征Fi。在跳层融合模块,首先对深度特征FDi与颜色特征Fi使用双线性插值操作进行上采样操作达到维度和尺寸上的统一,再通过跳层结构按照颜色为主深度为辅的方式进行融合,结合后的结果通过Sigmoid激活函数得到侧输出,最后对所有侧输出使用SoftmaxWithLoss损失函数由真实值对得到的所有侧输出进行监督学习,通过反馈传播算法更新网络的参数。
图1 网络框架Fig.1 Network framework
1.3 具体实施
考虑到成对的深度图像和RGB图像之间的互补性,采用双路的输入模式完成显著性检测,一方面有利于深度特征信息和颜色特征信息的提取;另一方面方便跳层结构的融合。结合网络架构,对于训练集中的图像首先输入到VGG-16网络,输出ADi和Ai,采用公式(1)来计算:
其中,X与XD分别表示训练集中的RGB图像和深度图像,以X与XD作为RGB信息流和深度信息流的输入,Ai和ADi分别代表在第i个卷积块的RGB信息流和深度信息流的侧边输出,Wi是卷积操作的权值参数,bi是卷积操作的偏置参数,“*”代表的是卷积操作,δ(⋅)表示Relu激活函数,Avg(⋅)是在最后一个卷积块连接的平均池化层的池化操作。
特征提取模块的网络参数如表1。每个特征提取块都会同时接收到RGB信息和深度信息,这两个信息是并行的且不相互影响。进行特征处理的主要作用是过滤不需要的细节信息并提取重要区域特征,有利于在特征融合中寻求更好的特征融合方式。提出的深度特征Fi,颜色特征FDi如公式(2):
表1 特征提取模块参数表Table 1 Parameter table of feature extraction layer
式中,Fi与FDi表示Ai与ADi在第i个特征提取块经过特征提取运算后的输出,f(⋅)表示在特征提取块所做的一系列卷积运算操作。
本文运用跳层结构将深度信息、RGB图像信息、图像细节信息、高级语义信息很好地结合起来。由于经过特征提取块输出的Fi和FDi在维度和尺寸上会有所不同,因此需要对维度和尺寸进行相应的调整。经过跳层融合,得到了可预测的侧输出Si。跳层融合模块可以采用公式(3)来表示:
式中,μ(⋅)表示对Fi和FDi应用双线性插值的方法修改其尺寸和维度。C(⋅)表示对已经通过双线性插值的Fi和FDi进行通道融合操作,通过通道结合进行卷积操作最终形成一个测输出显著性检测图Si。
为了生成最佳的显著性检测图,所有的侧输出Si进行一个结合,最终生成的显著性检测图用φ(S),采用公式(4)进行计算:
式中,zi表示权重,满足,经过多次实验和检测结果证明,侧输出1到侧输出4检测结果呈规则性,符合检测的目标的形状,但是会有不必要背景信息;侧输出5和侧输出6检测结果可以准确度定位显著目标,不受到背景影响,但是检测结果呈不规则性。为了减少背景干扰的同时精准定位显著性目标,故将侧输出5和侧输出6权重设置为0.1,其他权重都设置为0.2,不同侧输出结果如图2。这种结合方式,充分利用了多层的特征,可以得到一个既包含高级语义信息又包含图像局部细节信息的显著性检测图。
图2 侧输出对比图Fig.2 Side outputs comparison
2 实验结果分析与比较
2.1 实验设置与数据集
(1)实验设置
本次实验平台所使用的操作系统是Window10,CPU型号为英特尔酷睿i5-8300H,2.3 GHz,GPU型号为NVIDIAGTX1050ti,显存4 GB,计算机内存8 GB,应用深度学习网络框架为pytorch,编程语言为python,编程软件为pycharm。实验参数设置,梯度更新方式为SGD,迭代次数为500次,批次为3,基础学习率为0.001,权重衰减率为1E-6,动量因子设为0.9,训练过程共花费125 h。
(2)数据集介绍
构建的网络以四个有代表性的公开基准数据集为实验源数据。数据集划分如表2,这些数据集分别为LFSD[27]、NJUD[11]、NLPR[9]、SSD[28]。LFSD数据集包含了100对RGB图像和深度图像及相应的手工标注的真值图,使用Lytrol摄像机捕获得到,其特点是图像内容比较单一,场景简单,在训练时能够方便卷积神经网络进行特征提取,选用此数据集有利于网络快速学习图像中的基本特征。NJUD数据集是一个深度感知的显著性物体检测基准数据集,包含1 985张立体图像和对应的深度图像及真值图,该数据集图像较为复杂,接近生活中的真实场景,对算法有较高的要求,是衡量算法是否能在实际中得到应用的基本数据集。NLPR数据集包含了1 000对RGB图像和深度图像,由彭厚文等人在2014年提出的大规模的RGB-D数据集,包含了11种室内室外场景和不同光照条件下的物体可用于算法评价。SSD数据集包含80对RGB图像和深度图像,由三维电影捕捉而来,可以标识提出的算法对视频显著性特征提取的适应性。为了方便训练和测试,本文选用LFSD数据集前80张,NJUD前1 500张,NLPR前700张,SSD前60张图片作为训练集,剩下的作为评估本文网络性能的测试集使用。
表2 数据集划分Table 2 Data set division
2.2 评价指标
为了全面评估本文网络的性能,本文采用了三种度量方法:平均绝对误差(MAE)、F值(F-Measure)、结构相似性(SSIM)。
(1)平均绝对误差
平均绝对误差(MAE)反应了预测值的误差情况,采用公式(5)进行计算:其中,W和H分别为长和高,Sˉ代表显著性检测图,Gˉ代表真实值,(x,y)代表像素点位置。
(2)F值
F值是一个综合评价指标,需要显著性检测图的准确率(Precision)与召回率(Recall)联合计算得出,显著性检测图的Precision值与Recall值,公式如下:
在这里,将显著性检测图进行二值化,得到S,同时二值化用于监督显著性检测图的真实值,都得到G,“⋂”代表相交运算。
在评价指标中,F-measure是精度和查全率的加权调和平均值,会设置一个参数β去控制准确率和召回率的重要程度应对不同的需要,为了保证实验的公平性,与显著性目标检测的对比算法[7,9,11,14,17]一样,β2取值为0.3,采用公式(7)计算:
(3)结构相似性
结构相似性,是一种衡量原始图像和测试图像之间结构相似度的指标,它的取值范围为0到1,当预测图和真实值越接近时,它的值越接近1,采用公式(8)进行计算:
其中,x和y分别表示显著性检测图和真实值,xˉ、yˉ、σx、σy分别是x和y的均值和标准差,σxy是协方差。
2.3 结果分析与比较
本文所提算法与当前应用深度学习的显著性目标检测算法进行比较,包括深度监督显著性检测方法DSS[11]、渐进式互补感知融合显著性检测方法PCA[12],还与基于手工特征判别的经典显著性目标检测算法进行比较,包括深度诱导多阶段显著性检测方法PENG[7]、深度增强显著性检测方法DES[8]、全局先验显著性检测方法GLO[9]。本文将以上5种优秀的显著性检测算法复现,PENG实现的主要方式为超像素分割,DES以聚类的方式对显著性特征提取,GLO使用LHM,即低级特征对比度,中级区域分组,高级先验增强为依据进行检测;DSS网络增加了自己的融合层,PCA网络自定义了适应层,二者实验参数与本文一致,并在本文所提测试集上进行实验,对比方法实现方式见表3。
表3 实现方式Table 3 Implementation approaches
本文将影响到显著性检测效果的问题分为两类:场景复杂类和低对比度类。场景复杂情况又包括多目标、大目标、光线反射等情况。通过对比发现,在进行多目标检测的任务上,本文提出的算法可以准确地检测出多个显著性目标,而其他检测算法并不能检测出来,但检测出的多目标个别轮廓出现间断,这是由于目标相距太近所致;在较大的目标的检测任务上,当前的显著性检测算法并不能将整个目标都检测到,会出现中央缺失和边缘缺失的现象,而提出的SCSD方法可以全面地检测出整个物体,不会出现中间空缺、检测一半和检测效果模糊等问题,如图3。
图3 多目标和大目标检测结果比较Fig.3 Comparison of multi-target and large-target detection results
对目标特征过于单一和光线干扰的图像检测如图4。在第一行中对大门的检测,除“SCSD”方法与PCA方法外,其他方法检测结果均不理想,检测结果不够清晰,检测出主要区域,这是由于目标特征过于单一而导致的背景与目标特征混淆,因而检测不到目标主体区域。光线问题一直是显著性检测的难点,在第二行对反光的警示牌的检测中,由于光线反射导致图像的颜色信息在检测的时候会受到干扰,除SCSD方法与PCA方法外,其他方法均出现对目标检测不全现象,对光线反射的部分捕捉不到特征。本文的网络架构将深度和颜色信息通过跳层融合的方式解决了这个问题,通过引入深度信息和跳层结构,将深度信息与颜色信息融合,得到了很好的效果。
图4 单一目标与光线干扰的检测结果比较Fig.4 Comparison of detection results of single target and light interference
如图5所示,对于低对比度类,如果不依靠深度很容易检测失败,从图中可以看,所展示的带有特征的衣服和相框,不仅需要检测出衣服和相框,更重要的是衣服和相框上图案会成为干扰信息,因此这个检测任务难度较大,本文通过深度信息与颜色相互补充的思想,在跳层融合时通过颜色与深度信息一共提取图像特征解决了这个问题。
图5 低对比度类目标检测结果比较Fig.5 Comparison of low-contrast target detection results
图6展示本文方法与对比算法在准确率上的比较。可以明显看出,本文网络在测试集上的显著性检测准确率明显优于其他对比算法。对于F值和平均绝对误差值对比如表4,实验证明,该网络的F值比DSS、GLO、PENG和PCA在测试集上分别提高了0.095 3、0.123 4、0.160 1和0.060 6;对于平均绝对误差指标,本文网络比DSS、PCA在测试集上分别减少了0.026 7、0.058 1;在平均处理一个RGB-D图像测试时间上不超过0.06 s,低于其他深度学习算法所用时间。
图6 准确率的比较Fig.6 Comparison of precision
表4 平均绝对误差和F值的比较Table 4 Comparison of average absolute error and F measure
图7是不同方法在结构相似性指标的比较,可以看出基于深度学习的显著性检测方法比传统的方法结构相似性值更高,这得益于卷积神经网络强大的特征提取能力,同时本文方法取得了最高的结构相似性值。综合以上实验,本文的方法在F值、平均绝对误差、准确率和结构相似性等指标都有所提升。因此,本文方法无论是在主观评价标准还是客观评价标准上都取得了不错的效果,具有一定的竞争力。
图7 结构相似性的比较Fig.7 Comparison of structural similarity
3 结束语
为了实现RGB-D图像显著性检测,提出采用跳层结构,利用深度信息与RGB信息融合的思路,构建了卷积神经网络的方法。实验结果表明,本文算法减少了深度学习算法的执行时间,提高了准确率,对F值也有了很大提升。在下一步工作中,将对网络架构改进,在深度信息中提取出更多有效信息,加强对深度和颜色信息的互补关联性研究,另外在图像背景方面也要加强处理,以期望进一步提升性能。