基于多级深度特征与随机游走的显著性检测
2020-09-11崔冬王明李刚顾广华李海涛
崔冬 王明 李刚† 顾广华 李海涛
(1.燕山大学 信息科学与工程学院,河北 秦皇岛 066004;2.河北省信息传输与信号处理重点实验室,河北 秦皇岛 066004)
显著性检测可以模仿人类视觉机制检测出图像中最引人注目的地方,它能够从海量的图像信息中提取出重要的信息,从而减少计算时间。显著性检测已经在很多领域得到应用,例如图像分类[1]、视频目标跟踪[2]、图像检索[3]和目标识别[4]等。
现有的显著性检测方法分为自下而上(数据驱动)[5- 6]和自上而下(任务驱动)[7- 8]两类。同自下而上的方法相比,自上而下的方法更加复杂。Itti等[9]提出了一种利用中心-周围差异的生物启发模型进行显著性检测的方法。Harel等[10]通过构建图结构改进了文献[9]的方法,改进方法能更有效地区分前景区域和背景区域,但边界较为模糊,细节信息丢失严重。Jiang等[11]利用吸收马尔可夫链的显著性检测方法,通过计算转移节点到吸收节点时间的差异来获得超像素的显著值,该方法更倾向于凸出显著区域,但不能很好地抑制背景噪声,会降低整体的显著值。Li等[12]利用正则化随机游走排序方法计算图像显著性,并且加入约束项,进一步提高了准确性。顾广华等[13]利用前景和背景种子同时进行检测,并将二者融合,能够较好地检测出显著物体,并抑制了背景噪声,但在复杂场景下显著物体有可能靠近边界,此时有可能将前景物体错认为背景,从而得到错误的结果。Li等[14]根据图像的多尺度卷积神经网络(CNN)特征来计算图像显著性。Zhao等[15]利用两个CNN网络独立地捕获图像的全局和局部信息,并进行显著性检测,虽然考虑了全局与局部的关系,但未能有效地将全局CNN与局部CNN之间的信息传递协同考虑进来。
传统的显著性检测算法大多提取图像的颜色特征、纹理特征等,此类特征一般不全面,具有一定的主观性。CNN中添加全连接层只能在图像层面提取特征,并降低了计算效率。为了解决上述问题,本文提出了一种基于多级深度特征和正则化随机游走的显著性检测算法,利用全卷积神经网络(FCN),并融合深层卷积特征和浅层卷积特征信息对图像进行多级深度特征提取,保留原始图像的空间信息,并且通过随机游走加强全局与局部的联系。最后在ECSSD和DUTOMRON数据库上对比了本文算法与其他6种检测算法的性能。
1 改进的显著性检测算法
本文算法的主要思路为:首先,考虑到显著目标尺度的巨大变化,通过简单线性迭代聚类算法(SLIC)[16]将图像分割为m个不同的尺度,得到不同尺度的超像素。本文将图像超像素分割为3个尺度(200、170、140),得到图像的多尺度先验图,利用FCN提取图像多级的FCN特征,并将图像的FCN特征分配给相应尺度的超像素。然后,提取背景点作为种子点,得到背景种子点的显著性近似值,并通过其互补值得到前景种子点的显著性近似值,在正则化随机游走框架中利用前景种子点生成单一显著图。最后,融合多尺度的单一显著图,得到最终显著图。本文算法框图如图1所示。
图1 本文算法框图Fig.1 Block diagram of the proposed algorithm
1.1 多级FCN特征
本文使用FCN-32S[17]提取图像的FCN特征。利用Matconvnet工具箱中的pascal-fcn32s-dag.mat来提取图像的深度特征(http://www.vlfeat.org/matconvnet/),在FCN中,深层特征包含图像抽象的高级语义信息,浅层特征包含图像的底层特征(如颜色、边缘和纹理等)。深层特征由于其较低的空间分辨率,容易丢失图像的细节信息。因此,聚合多级特征有助于产生更好的结果。本文算法提取了pool1层和pool5层的特征,与传统单一的颜色特征相比,本文算法提取的多级FCN特征更加有效、全面。
FCN可以接受任意尺寸的输入图像。本文将输入图像裁剪为500×500,并在四面边界进行100像素宽度的补0。由于子采样和池化操作,每个卷积层的输出具有不同的分辨率。通过最近邻插值将每个特征图的大小调整为输入图像大小;对图像进行简单线性迭代聚类(SLIC)超像素分割时,先计算每个超像素中像素的数量,再将每个超像素中像素数量的深度特征的均值映射到相应的超像素,即
(1)
1.2 图模型的构建
给定一个数据集X={x1,x2,…,xl,xl+1,…,xn},n为数据的总数,前l个数据被标记为查询数据点,其余数据点未被标记。令y=[y1,y2,…,yn]T为指示向量,若xi属于查询节点,则yi=1,否则yi=0。随后构建稀疏连通图G=(V,E),其中,V为数据集,E为节点之间无向边的集合。节点之间边的权重wij构成相似度矩阵W=[wij]n×n,两个节点之间的权重表示为
wij=exp(-g(ri,rj)/σ2)
(2)
式中,σ为权重参数。度矩阵D=diag{d1,d2,…,dn},为基于图模型的对角矩阵,其中
(3)
设f:X→Rn为排序函数,其中f=[f1,f2,…,fs,…,fn]T,fs表示xs的排序值,它通过求解最小化问题(4)得到:
(4)
式中,μ为权值参数。最终最小化问题可以转换为式(5)、(6)求解:
f*=(D-αW)-1y
(5)
(6)
1.3 反转校正
首先,通过SLIC对图像进行多尺度超像素分割,利用图像边界作为背景先验。当显著目标接近图像边界时,有可能将前景对象错认为背景。为了避免这种情况,本文采用一种反转校正的方法来检测并去除与边界相邻的前景区域。首先,将背景点的排序结果定义为初始显著性Si(i):
Si(i)=f*(i),i=0,1,…,n
(7)
然后,使用K-均值聚类算法将Si(i)划分为背景/前景超像素,并得到标记图L,同时将背景超像素标记为0,前景超像素标记为1。
最后,计算L中与边界相邻超像素的平均边界标签Lb,如果Lb大于预定义的阈值(本文将反转阈值设置为1.5),则将Si视为反转,利用L找到并去除所有边界相邻的超像素,并利用新形成的边界重新执行初始显著性估计,得到反转初始显著性SRC;否则,Si没有反转,直接输出SRC=Si。
1.4 正则化随机游走
随机游走理论是一个节点从当前节点出发以一定概率做无规律运动到其他相邻节点,再将其运动到的节点作为当前节点,不断重复上述过程,所得到的游走路径称为随机游走序列。利用节点之间的空间特性,不仅可以从局部信息相似性方面衡量节点间的关系,还能通过连接方式捕捉全局信息。
将n×n拉普拉斯矩阵L元素定义为
(8)
Q(xk)=k, 0 (9) (10) 通过最小化狄利克雷积分来实现最优pk: (11) (12) (13) 本文采用ECSSD[18]和DUT-OMRON[19- 20]数据库数据进行了对比实验。ECSSD数据库包含1 000幅图像。DUT-OMRON数据库包含背景结构更加复杂的5 166幅图像。两个数据库均有相应的标注图。 为了更加准确地客观评估本文算法,本文采用两种评价指标来测试算法的性能。首先采用计算准确率(P)、召回率(R)[20]绘制P-R曲线图。另外,将自适应阈值设为显著图像素均值的2倍。经过二值分割后,将得到所有图像的平均准确率和召回率,根据式(14)计算F值[21- 22]: (14) 根据实验经验,本文设η2=0.3。 为了验证本文算法的有效性和可靠性,采用本文算法与其他6种显著性算法(NLDF[23]、RCRR[24]、RFCN[25]、ABI[26]、HCA[27]和DRFI[28])进行了比较。其中NLDF、RFCN和ABI算法为深度学习算法,需要训练模型。HCA算法与本文算法均是采用深度特征与传统机器学习算法结合的形式,不需要训练模型,直接调用Matconvnet现有的模型,运算复杂度低,因此两者更具有对比性。RCRR与DRFI算法为具有代表性的两种传统算法。 图2为7种算法对ECSSD数据库中3幅图像的显著图检测结果。从图中可以看出:NLFD算法存在显著目标检测不完整、将背景物体错认为前景物体和背景噪声较大的情况;RCRR算法可以清楚地看出显著目标,但轮廓不够清晰,前景与背景的明暗对比不够明显,同时也有一定的背景噪声;RFCN和ABI算法存在同样的问题,就是将背景物体错认为显著目标检测出来;HCA算法虽然没有错误检测的现象发生,但不能很好地将前景与背景物体区分开,前景与背景连接在一起了;DRFI算法将显著物体较为完整地检测出来,但存在较大的背景噪声,且显著物体不够清晰明亮;本文算法能将显著目标很好地凸显出来,并有效地抑制了背景区域,也没有错误检测背景物体的现象,证明了本文算法的优越性。 图3为7种算法对DUT-OMRON数据库中3幅图像的显著性检测结果。从图中可以看出:HCA和DRFI算法的背景噪声较大,而且没有将显著目标同背景有效区分;NLFD和ABI算法的检测结果虽然较为清晰,但其背景噪声过于明亮,表明这两种算法将背景物体误认为前景检测出来;RFCN算法的检测结果滤波现象明显,同本文算法相比,背景干扰更大;本文算法检测到的显著目标轮廓完整准确,同时有效地抑制了背景,证明了本文算法的有效性和可靠性。 图2 7种算法对ECSSD中3幅图像的显著性检测结果Fig.2 Saliency detection results of 7 algorithms for 3 images in ECSSD 图3 7种算法对DUT-OMRON中3幅图像的显著性检测结果Fig.3 Saliency detection results of 7 algorithms for 3 images in DUT-OMRON 图4是7种算法在ECSSD数据库上的P-R曲线图。由图中可知:作为传统算法的RCRR、DRFI算法,其准确率和召回率偏低,是因为显著目标不够凸出,背景噪声较大;属于深度学习算法的NLDF、RFCN和ABI算法,其P-R性能较好;本文算法的P-R性能同深度学习算法相比稍有差距,但优于HCA、RCRR和DRFI算法,而且本文算法不需要训练模型,节省了时间,运算复杂度较低,更加方便快捷。 图4 7种算法在ECSSD数据库上的P-R曲线Fig.4 P-R curves of 7 algorithms on ECSSD database 图5给出了7种算法在ECSSD数据库上的准确率、召回率和F值比较。从图中可知:本文算法的准确率高于其他6种算法;F值高于RCRR、HCA、DRFI算法,与RFCN持平,略低于NLFD和ABI算法;在检测目标准确性上,本文算法具有一定的优势。 图5 7种算法在ECSSD数据库上的性能对比 图6是7种算法在DUT-OMRON数据库上的P-R曲线图。从图可以看出,本文算法的检测性能明显优于RCRR、DRFI和HCA算法,但与深度算法相比稍有差距,表明本文算法具有较好的检测性能。 图6 7种算法在DUT-OMRON数据库上的P-R曲线Fig.6 P-R curves of 7 algorithms on DUT-OMRON database 图7给出了7种算法在DUT-OMRON数据库上的准确率、召回率和F值比较。由图中可以看到,本文算法的准确率与F值略低于属于深度学习算法的NLDF与ABI算法,但高于属于深度学习算法的RFCN算法;本文算法的准确率、召回率与F值均高于HCA、RCRR与DRFI算法。 图7 7种算法在DUT-OMRON数据库上的性能对比 本文提出了一种基于多级深度特征和随机游走的显著性检测算法,该算法能够较为完整地提取图像特征,减小图像特征信息的损失,并通过随机游走算法加强了局部与全局的关系。实验结果表明,本文算法既能有效地抑制背景噪声,又能凸出显著区域。与其他6种主流算法在公开数据集上的检测性能对比表明,在同类型算法中本文算法的检测准确性和F值具有一定的优越性。2 实验结果与分析
3 结论