基于多特征融合的显著性目标检测算法*

2019-07-18 01:07张守东
计算机与生活 2019年5期
关键词:显著性特征图像

张守东,杨 明,胡 太

南京师范大学 计算机科学与技术学院,南京 210023

1 引言

计算机视觉分析利用相关算法来模拟人类视觉系统中大脑感知的工作原理,对数字图像进行特定任务的处理。显著性目标检测属于计算机视觉领域下的一个重要分支,在这几年已经成为热门的研究话题,它是指人类能够通过视觉系统从场景中提取出与其他区域相比更为显著的区域,这有助于剔除后续视觉任务中图像内无价值的区域。早期对这种情境感知和处理能力的研究主要来自认知科学家,而在最近一段时间里,计算机视觉领域的研究者同样对该领域产生极大的兴趣,并通过研究提出了大量的显著性目标检测算法。显著性目标检测能够从复杂的场景中快速准确地定位图像中最显著的目标或区域,识别后的显著性结果在视频目标跟踪[1]、交通控制[2]、图像检索[3]、图像质量评估[4-5]、场景理解[6]等诸多计算机视觉领域中都有着广泛的应用。

显著性目标检测算法的性能在过去的一段时间里实现了较大的提升,特别是得益于近几年兴起的深度学习,利用多层神经网络能够模拟大脑皮层感知神经元处理信息的特性,显著性目标检测算法的性能得到了进一步的提升。但是在复杂场景下检测目标的准确性和完整性仍然存在着诸多问题,本文针对提高复杂场景下显著性目标检测算法的准确性展开深入研究,挖掘与利用更具有辨别性的深度特征,提出了一种新的基于多特征融合的显著性目标检测算法。

概括来说,本文有以下两点贡献:

(1)提出了一个基于多特征融合的全卷积神经网络用于显著性目标检测。在全卷积神经网络的深层,以预测显著图作为特征,融合图像的全局深度特征和显著性目标的位置特征,得到更具判别力的特征表示。

(2)提出了利用显著性提名获取候选目标的位置信息和置信值,并在各候选目标中添加中心先验。为每个候选目标添加中心先验可以有效地避免中心偏好,使得模型对位于图像非中心区域的显著性目标同样具有检测作用。

2 相关工作

显著性目标检测是提取图像在视觉上最显著的目标或区域。基于计算机视觉的显著性目标检测研究起始于20世纪90年代[7],经过多年的研究与发展,显著性目标检测算法的性能有了极大的提升。与大多数基于对比差异的经典模型[8]不同,基于CNN(convolutional neural network)的模型消除了对手工特征的高度依赖,避免人为地选择合适的特征。基于CNN框架的模型通常包含数十万个可调参数和众多感受野(receptive field)大小不同的神经元,导致模型的复杂度比传统方法更高,同时也带来检测效果的提升。因此,近几年来众多研究者更倾向于利用CNN框架研究和解决显著性目标检测的问题,基于CNN的显著性目标检测模型逐渐成为当前显著性目标检测的主要趋势。

SuperCNN是He等[9]提出用深度学习的方法学习超像素的特征表示,它是早期将CNN应用于显著性目标检测的尝试。与基于像素级分类的卷积神经网络相比,He等提出的方法不仅提高了计算效率,还兼顾了全局上下文信息。然而该方法太过依赖超像素分割的结果,且具有内部标记一致性的超像素块丢失了块内的一部分语义信息,导致提取不出足够的信息,因此在复杂场景的数据集下,该方法将不再适用。Wang等[10]同时考虑了图像的局部和全局信息,提出分别为局部对比和全局搜索设计两个子网络。与Wang等类似的思想,Zhao等[11]考虑局部和全局上下文,构造了一个结合多种上下文的深度学习框架,整个图像通过全局上下文模型提取全局对比信息,通过局部对比模型获得局部信息。Lee等[12]提出利用两个子网络分别提取低级特征和高级特征的方法。Kim等[13]设计了一个双通道的CNN网络,两个通道的CNN分别用于获取局部上下文和全局上下文信息。Wang等[14]提出利用Fast R-CNN[15]框架解决显著性目标检测问题,通过在ROI池化层之后设置多个全连接层获得每个区域的显著值。Kim等[16]训练CNN来预测显著性目标的形状。Li等[17]利用CNN提取超像素的高级特征,利用基于对比的方法获得区域的低级特征。考虑到复杂场景下的自然图像中可能存在多个尺寸差别较大的显著性目标,Li等[18]提出将图像三个不同尺度分割的区域作为CNN的输入,利用三个子网络提取图像每个区域不同尺度的深度特征,随后将这三个深度特征进行拼接,最后通过训练一个由两个全连接层组成的多层感知器(multilayer perceptron,MLP),得到该区域的显著性分布。

虽然CNN可以有效提取超像素的深度特征,但显著性目标的检测效果过于依赖特征提取前的超像素分割结果和特征提取后的分类网络。空间信息无法在全连接层中传播,导致CNN提取到深度特征丢失部分语义信息。为了解决该问题,研究者提出了基于像素级分类的全卷积神经网络(fully convolutional networks,FCN)[19]。由于去除了全连接层,因此FCN具有保持空间信息的特性,大量基于FCN的显著性目标检测模型被提出并获得了更优的检测性能。

Li等[20]在提出基于CNN提取多尺度深度特征的模型之后,又提出了一种具有两个互补分支的卷积网络模型,模型最终通过一个平衡的交叉熵损失函数融合两个分支的预测结果。Liu等[21]构建一种由前后两个子网络连接而成的网络模型。受Xie等[22]提出的全局嵌套边缘检测(holistically-nested edge detection,HED)方法的启发,Tang等[23]使用循环卷积层替换了HED中的原始卷积层,达到同时获取局部和全局上下文信息的目的。从多特征融合的动机出发,Li等[24]考虑联合语义分割和显著性目标检测,将VGGNet中的两个原始全连接层替换为卷积层,实现类似全卷积神经网络的结构。随着研究者对网络架构的研究不断深入,Zhang等[25]提出使用Deeplab[26]提取的高级特征和采用多级融合机制来检测显著性目标。Li等提出的MSRNet[27]考虑了实例级的显著性目标分割。Hou和Cheng等[28]设计一个基于HED架构[22]的自上而下的模型,该算法提出通过在相邻层之间建立强关系,有助于模型能够更准确地确定显著性目标的位置,从而提升了最终显著图的分割性能。这些基于神经网络的算法在一般场景下的单目标显著性检测已经达到了较高的检测精度,但是在复杂的场景下,复杂背景中的噪声区域依然会干扰显著性目标的检测,导致检测精度的降低。

3 基于多特征融合的显著性目标检测模型

本文提出一种基于多特征融合的显著性目标检测算法(salient object detection based on multi-feature fusion,SOD_MFF)。如图1所示,该算法首先训练一个显著性提名网络,网络获取图像中包含显著性目标的多个候选区域。利用显著性目标候选区域的空间信息和类别置信值生成混合高斯分布图作为显著性目标位置的先验分布。将通过该先验分布得到的显著性目标空间位置特征与深度神经网络较深层的特征相融合,同时融合初始显著图置信图的特征表示,通过一个训练好的网络最终预测得到像素级的显著性目标区域。

3.1 特征融合

在一般场景下,卷积神经网络提供了具有较强判别性的深度语义特征,而深度语义特征在较复杂场景下依旧会出现判别性较弱的情况。当显著性目标的部分区域或背景的部分区域包含强烈的语义信息时,仅依赖深度特征的算法会错误地标记这些区域的显著性,如图2,第一、二列分别为原图和真值图(ground truth,GT),第三列为仅依赖深度特征的检测算法(multiscale deep feature,MDF)[18]生成的显著图,第四列为在第三列方法的基础上融合传统手工特征的检测算法(hybrid deep and handcrafted feature,HDHF)[29]生成的显著图。可以明显看出,传统的手工特征依然是显著性目标检测的重要特征。在这种较复杂的场景下,传统的特征提取方法能够根据边界、纹理等信息提取出有对比度、有判别力的手工特征。深度特征与传统手工特征实现了特征表示上的互补,融合这两种特征有利于显著性目标的高效检测。

Fig.1 Schematic map of network structure图1 网络结构示意图

Fig.2 Comparison of methods between deep features and fusing traditional features图2 对比深度特征和融合传统特征的方法

为了提高融合特征的辨别性,被添加的浅层特征需要通过实验反复调整。研究者通常需要思考以下两个问题:神经网络中哪一层的浅层特征是有效的?融合多少层浅层特征是最佳的?考虑到本文基准算法的优异性能,本文算法将Li等[29]2016年提出的基于超像素块提取深度和手工特征的显著性检测算法(HDHF)生成的显著图作为初始化显著性目标特征,与网络较深层的特征图拼接在一起,得到更具有判别性的特征表示。这种思路受益于集成学习中堆叠做法,在训练时会通过合理划分数据集的方式避免模型过拟合。

3.2 中心先验

为了进一步提升算法性能,本文考虑添加中心先验信息。之前的研究者认为图像的中心更有可能存在显著性目标,因此尝试给图像的中心特征加上较高的权重或者直接通过中心先验得到显著性目标的空间位置特征。然而,如图3,左侧为原图,中间为中心先验图,右侧为中心先验作用下的图像,相比于远离图像中心的显著性目标仙人掌,此时靠近中心的山体被判别为显著性目标的概率更大,因此中心先验失效。

Fig.3 Central priori has no effect图3 中心先验失去先验效果

本文提出使用显著性提名的方法检测出目标候选区域,如图4所示,分别以各目标的中心作为二维高斯分布的均值,建立显著性目标先验分布图,以此克服传统中心先验的弱点,达到提升显著性检测性能的目的。

Fig.4 Priori distribution map of salient objects图4 显著性目标先验分布图

3.3 模型描述

不同于利用高斯分布直接添加中心先验的做法,本文采用的是类似于区域提名的做法,如图5所示,在Faster R-CNN[30]的网络上进行修改,将原先分类层的20个目标类别设置为显著性目标和非显著性目标这两个目标类别,而相应训练集的类别标签也从原先的20种替换成显著性二元标签,重新训练得到显著性区域提名网络,修改后的网络可以获得显著性目标的候选区域以及对应的置信值。显著性区域提名算法通过检测图片中所有目标的潜在位置,之后分别以各区域的中心作为高斯分布的中心,构建目标先验分布。通过先验分布得到显著性目标的空间位置特征,该特征将与全局像素从深度神经网络提取的深度特征融合,得到更具有判别性的特征表示。

Fig.5 Candidate regions for salient objects图5 显著性目标的候选区域

Fig.6 Schematic map of network training图6 网络训练示意图

如图6所示,在模型的训练过程中,当SOD_MFF和HDHF采用相同的训练集时,会导致模型因过拟合而无法收敛到更好的结果,即通过神经网络生成的显著图和HDHF算法生成的显著图相似,没有起到互补的作用。因此将训练集合理划分成十等份,随机挑选三份训练HDHF模型中的参数,而SOD_MFF模型使用完整的训练集训练,提升模型的泛化性能。

显著性目标检测过程中,特征来自于全卷积神经网络提取的深度特征、HDHF算法生成的显著性置信图、利用目标检测方法Faster R-CNN[30]获得显著性区域的空间位置特征,通过卷积网络得到最终的显著图。

4 实验和分析

在本章中,首先简单介绍本次的数据集及实验平台;然后介绍评估模型使用的评价指标;接着对网络参数设置和模型的训练过程进行说明,便于后续研究者复现论文的实验;最后以定性和定量的方式将本文提出的算法与当前主流的显著性目标检测技术进行比较并进行结果分析。

4.1 数据集及实验平台

在四个常用的公开数据集上评估了本文提出的方法,这些数据集分别是MSRA-B、ECSSD、PASCALS和HKU-IS。其中MSRA-B数据集包含5 000张具有各种显著性目标类别的图像,虽然部分图像的场景比较复杂,但大部分图像都只有单个显著性目标。而ECSSD数据集是在CSSD数据集的基础上扩展而来的,该数据集包含1 000张场景复杂的图像,其中部分图像还存在显著性目标结构复杂和背景目标难以剔除的场景,需要提取图像更丰富的语义特征才能有效地检测显著性目标。PASCAL-S是在PASCALVOC 2010分割挑战赛的验证集基础上发展而来,该数据集包含850张图像,其中的真值图是由12个人独立标注,最终取阈值为0.5而成,该数据集中的大部分图像都具有较为复杂的场景。HKU-IS是一个包含4 447张极具挑战性图像的大型数据集,其中的绝大部分图像中的目标都具有较低的对比度且单张图像中存在多个显著性目标,该数据集的引入增加了显著性目标检测算法的检测难度。这些常用的数据集里都包含训练集、验证集、测试集和手工标注的二元真值图(GT)。为了便于与其他算法进行公平的比较,按照惯例,本文使用MSRA-B数据集中的2 500张图像训练SOD_MFF,该2 500张图像被标记为训练集,验证集为500张图像,剩下的2 000张图像作为模型性能评估的测试集。为了测试SOD_MFF对存在不同偏好的其他数据集的适用性,本文在MSRA-B的训练集上训练SOD_MFF,在MSRA-B中的测试集、HKU-IS、ECSSD和PASCAL-S上比较不同算法的性能。

本次实验平台使用的操作系统是Ubuntu 14.04.5,CPU的型号为英特尔至强E5-2650,主频为2.2 GHz,GPU的型号为Nvidia TITANX Pascal,单张显卡内存为12 GB,训练模型时同时使用了5块该种型号的显卡。

4.2 评价指标

准确率-召回率曲线被广泛用来验证显著性对象检测算法。通过设置不同的阈值,将一个显著图S转换为一个二元标记M,然后将M与真值图G进行比较,分别计算出Precision和Recall的值。其中,Precision和Recall的计算公式见式(1)。

F-measure通常无论是精确率或召回率都不可以完全评价一个显著图的质量。为此,提出了F-measure利用一个非负的权重β2作为精确率和召回率的加权调和平均,式(2)即为F-measure的计算公式:

正如许多显著的物体检测工作[31]所建议的那样,β2通常被设置为0.3以更多地权衡精确率,因为研究者发现召回率并不像精确度那么重要。例如,通过将整张图设置为前景,可以容易地实现100%的召回率。

平均绝对误差(mean absolute error,MAE)对于某些特定的应用,连续显著图的质量可能比二元标记更重要。为了进行更加全面的比较,采用评估连续显著图S和二元真值G之间的平均绝对误差,二者均在[0,1]范围内归一化。MAE分值定义为式(3):

4.3 网络参数设置和训练过程

本文提出的算法基于caffe[32]深度学习框架实现,本节将介绍在caffe环境下神经网络训练的参数设置及与网络训练过程,其中网络参数设置如表1所示。

Table 1 Parameter settings for SMR_GPF network表1 SMR_GPF网络参数设置

SOD_MFF的网络结构主要是基于VGG16网络而设计的,训练过程中,通过反向传播算法统一优化包括特征联结前后的整个网络中各层的参数。如图7所示,本节将主要阐述网络的训练过程。

Fig.7 Training diagram of neural network图7 本文神经网络训练流程图

(1)划分数据集:对于每个评估数据集,将数据集划分为训练集、验证集和测试集三部分。

(2)制作显著性边界框检测数据集:对于数据集中每个样本的真实显著图(GT),利用洪水填充(flood fill)算法分割每个显著性目标(即标记连通图),并根据每个目标得到每个显著性目标的边界框,将该样本下所有的显著性目标以边界框的形式保存为xml文件。

(3)根据上一步制作的边界框检测数据集,在训练集上基于Faster R-CNN网络训练显著性边界框检测模型。

(4)获得显著性候选区域:根据上一步得到的显著性边界框检测模型对所有训练集和验证集的样本进行显著性边界框检测,为了能够将该信息嵌入到神经网络中,本文算法依据检测得到的边界框和置信值生成多元高斯分布图,多元高斯分布图中每一个峰值为显著性区域的置信值,分布图中大于0的区域即为显著性的候选区域。

(5)获得初始显著图:利用训练集数据对基于超像素块提取深度和手工特征的显著性检测算法(HDHF)中的分类网络进行训练,并通过验证集数据训练每个超像素粒度下模型结果的权重,最终得到完整的HDHF模型。

(6)根据上一步得到的HDHF模型对所有训练集和验证集的样本进行显著性检测得到初始显著图。

(7)为了能够在预训练模型VGG16上进行微调,对训练集和验证集中所有样本的图像进行预处理,数据预处理过程包括:图像均值化、RGB图像维度转换为BGR图像。

(8)利用训练集和验证集的样本训练本文网络的模型:对于网络结构的设计,以预处理后的原始图像、第4步得到的显著性多元高斯分布图和第6步得到的初始显著图同时作为网络的输入,在经过若干个卷积层之后得到图像的深度特征图,将尺度缩放后的多元高斯分布图、初始显著图与深度特征图按照相同坐标不同通道的方式进行拼接。然后继续利用多层卷积网络向前传播。网络参数进行合理设置之后,对设计的网络进行训练得到最终的显著性检测SOD_MFF模型。

(9)对于测试集中的每一幅图像,与第(7)步同样的预处理方式对图像进行预处理,同时结合显著性多元高斯分布图和初始显著图作为网络的输入数据,根据测试网络的前向计算得到最终尺度较小的显著图,利用B样条插值算法将其上采样至原始图像大小一致的显著图,这样的显著图即为最终所需要的显著性检测结果。

虽然SOD_MFF使用MSRA-B中的2 500个训练样本训练模型需要大约30 h,已经训练好的模型(SOD_MFF)在400×300大小的测试图像中仅需2.3 s就可以完成显著性目标检测的任务。与当前一些先进的基于深度学习的显著性目标检测算法相比,该方法都有较为明显的优势。实验结果证明,SOD_MFF的性能已经优于现有的先进方法。

4.4 实验结果比较与分析

将本文提出的基于多特征融合的显著性目标检测算法(SOD_MFF)与当前深度学习应用于显著性目标检测领域的先进算法进行比较。同时,一些经典的基于手工特征判别的显著性目标检测算法也参与性能的比较。对比算法有:FT(frequency-tuned)、GC(global contrast)、HS(hierarchical saliency)、PISA(pixelwise image saliency by aggregating complementary appearance contrast measures)、LEGS(local estimation and global search)[10]、MC(multi-context)[11]、DCL(deep contrast learning)[20]、MDF(multiscale deep feature)[18]和HDHF[29]。本文使用提供的开源代码复现实验结果或者提供的显著图进行相关性能比较。

如图8,给出了本文提出的方法在4个公开的数据集上对比当前显著性目标检测先进算法的直观展示。前两行是显著性目标与图像背景存在对比差异较小的情况,中间两行是显著图中显著性目标内部组成部分较为复杂的情况,后两行是显著性目标与图像边缘相接触的情况。第一列为测试集中的原图,第二列为手工标记的二元真值图(GT),第三列为本文提出的SOD_MFF算法生成的显著图,后面的9列为当前先进的显著性目标检测深度学习算法和经典的基于传统手工特征的显著性目标检测算法生成的显著图。为了突出本文提出的SOD_MFF对于复杂场景下的显著性目标检测依然非常高效,从4个公开数据集的近11 500张图像中找到了极具代表性的6张图像进行对比展示。前两行图像选取的背景较为复杂且目标区域与其相邻的背景区域对比度较小,仅凭手工特征或浅层特征都无法得到令人满意的结果。中间两行图像选取的图像特点是目标区域由多个对比度较大的小区域组成,如果不借助通过深度语义信息进行判别,很难获得完整的显著性目标。最后两行图像的显著性目标不再集中在图像的中心区域,而都与图像边缘有接触。通过观察发现,可以直观地发现本文提出的SOD_MFF效果优于与其进行对比的其他9种算法。具体定量化的算法性能比较见表2所示。

Fig.8 Visual comparison of saliency maps generated by different algorithms图8 不同算法生成显著图的视觉对比

如图9所示为本文提出的SOD_MFF算法与其他显著性目标检测算法在PR曲线上的比较。如图10所示为SOD_MFF算法与其他对比算法在精确率、召回率和F值的量化比较。从两张图可以明显看出,本文提出的SOD_MFF在上述公开数据集上的性能明显优于其他所有对比算法的性能。对比之前算法的maxF(maxF-measure,数值越大性能越好),SOD_MFF比HDHF、MDF和DCL在4个数据集上平均分别提高了3.45%、4.43%和2%,maxF-measure指标上优势明显;对于评价指标MAE(数值越小性能越好),本文提出来的SOD_MFF比HDHF、MDF和DCL在4个数据集上平均分别减少了2.83%、3.6%和1.73%,使得最终的显著图更接近给定的真值图(GT)。在检测单幅图像的显著性目标时,本文提出的SOD_MFF算法与现有基于深度学习的显著性目标检测算法相比,耗时差异不明显,检测结果的正确率却有明显的提升。

Table 2 Quantitative comparison of experimental results表2 实验结果的定量化比较

Fig.9 Comparison of PR curves between SOD_MFF and other algorithms图9 SOD_MFF与对比算法的PR曲线之间的比较

Fig.10 Comparison of Precision,Recalland F-measure between SOD_MFF and other algorithms图10 SOD_MFF与对比算法Precision,Recall和F值的比较

5 结论

本文提出了一种新颖的显著性目标检测算法:基于多特征融合的显著性目标检测算法。它训练一个显著性目标检测网络,并且以HDHF模型的预测显著图作为特征,此外通过显著性提名网络确定候选区域,在各候选区域添加中心先验作为特征。经过10种算法在4个极具挑战性的数据集上测试对比后发现,在背景存在较多噪声干扰的情况下,本文提出的SOD_MFF性能明显比其他当前主流算法更具有竞争力。

猜你喜欢
显著性特征图像
离散型随机变量的分布列与数字特征
一种结合多尺度特征融合与像素损失加权的显著性目标检测方法
声音商标显著性认定研究
基于生成对抗网络的CT图像生成
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
抓特征解方程组
不忠诚的四个特征
基于显著性权重融合的图像拼接算法
欧盟法院判决明确欧盟商标通过使用获得显著性的地域认定标准