APP下载

一种基于深度网络的显著性目标检测算法

2021-10-18郑州工业应用技术学院信息工程学院河南郑州451100

计算机应用与软件 2021年10期
关键词:排序显著性卷积

孟 庆 春(郑州工业应用技术学院信息工程学院 河南 郑州 451100)

0 引 言

显著性目标检测作为图像的预处理模块,可用于目标检测、目标跟踪、目标分割等各种方面。近年来,显著性目标检测成为国内外计算机视觉研究的热点问题。早期的显著性目标检测研究多是基于视觉对比度,此后局部对比度和全局对比度也逐渐在显著性目标检测中得到应用[1]。视觉对比主要是采用不同类型手工标识的低层次特征(如颜色、强度和纹理)在像素或分段级别上的对比。尽管手工标识在大多数简单的静态图像中表现良好,但对于复杂背景或较小目标等复杂情况,大多数视觉对比算法均难以进行显著性目标检测[2]。局部对比度特征可能无法检测显著性目标内部的同质区域造成目标“空洞”,全局对比度会受到复杂背景的影响[3]。虽然基于机器学习的显著性检测模型已经开发,但这些模型主要是结合不同手工标识特征或融合不同算法来生成多个显著性目标图像[4]。近几年,显著性目标检测算法大多数采用了深度卷积神经网络(Convolutional Neural Network,CNN),大都获得了比手工标识特征更鲁棒的效果[5]。此外,由于CNN通常是在数据集上进行视觉识别任务的预训练,所以采用CNN提取的特征还包括更高层次的语义信息。然而,由于大多数算法所采用的CNN操作都是补丁级而非像素级,所以每个像素被简单地分配包围补丁的显著性值,导致最终检测的显著性目标图像通常是模糊的,特别是显著性目标的边界模糊现象尤为明显。而且这类算法的所有图像块都被看作独立的数据样本进行分类或回归,所以需要运行至少数千次CNN(每个图像块一次)才能获取一个完整的显著性映射,这将导致计算和存储的冗余,消耗大量的时间和空间。

为进一步提高显著性目标检测的精确度并解决上述基于CNN显著性检测算法的局限性,本文结合卷积神经网络[6],给出一种基于深度网络的显著性目标检测算法(SOD2N)。SOD2N算法是一种基于端到端的深度对比网络,其中“端到端”是指深度网络只需要在输入图像上运行一次便可以生成相同像素级的显著性图像,从而克服上述基于CNN的显著性检测算法的局限性。SOD2N算法首先介绍了一种显著性目标检测的端到端深度对比网络,其是由一个全卷积流和一个流形排序组成,然后利用条件随机场CRF将两个流进行最优权值的融合,从而可以更好地提高检测精度。SOD2N算法引入一个多尺度的全卷积网络作为深度对比度的第一个流,直接从原始输入图像中运行一次即可得到像素级的显著性图像,不仅抑制了冗余信息并突出目标,而且获取了多尺度特征图之间的视觉对比度,解决了目标边界不连续的情况。此外,SOD2N算法还改进了GMR[7]流形排序算法,通过基于图像四边的边界先验知识进行流形排序,然后依据前景与背景是相对的这一理论提出背景计算,不仅有效抑制了背景冗余信息,加强了目标区域,而且还提高了算法的鲁棒性。SOD2N算法与已有算法的区别主要有以下两个方面,一是采用端到端的卷积深度对比网络,从原始输入图像中运行一次即可得到相同像素级的显著性图像,而已有采用基于卷积神经网络的检测算法需要每个图像块运行一次卷积神经网络;二是利用基于图像四边的边界先验知识改进了GMR流形排序算法,可以有效抑制背景冗余信息,使显著性目标轮廓可以得到很好的保留,而已有采用基于卷积神经网络的检测算法存在边界模糊的现象非常明显。

1 相关研究

近年来,国内外专家学者对显著性目标检测进行了诸多研究,提出了一些比较有代表性的显著性目标检测方案。例如:LR算法是一种结合低层特征和高层知识进行显著性检测的方案,用低秩矩阵表示非显著区域,用稀疏噪声表示显著区域,然后将高级知识融合成先验映射作为目标函数,可以有效提高显著性检测的性能[8]。AC算法是一种通过计算像素与整个图像的平均颜色差来进行显著性检测的方案,而且可以结合最大环绕算法降低背景显著性[9]。HC算法将图像分割算法运用到显著性目标检测中,将区域之间的位置距离作为权,计算每个区域与其他区域之间的加权色差和,取得了较好的显著性检测效果[10]。RC算法是一种形式化能量最小化框架的方法,通过多尺度超像素的上下文分析计算图像的显著性映射,然后结合显著性和物体边界信息提取物体级形状先验,且每次迭代后优先更新显著性映射和形状[11]。CB算法是一种基于凸点边界的显著性检测方法,其中凸点边界是通过从原始图像中保留比已有检测方法多得多的频率内容来保持,可以得到较好的精度和查全率[12]。GS算法是一种利用自然图像中的边界先验和连通先验来进行显著性检测的方法,在显著性目标检测中可以获得更高的精度[13]。SF算法是一种基于对比的显著性估计方法,该方法将图像分解为紧凑的、感知同质的元素并抽象出不必要的细节,再利用高维高斯滤波器实现完全对比度和显著性的统一估计,获得了较好的显著性检测性能[14]。PCA是一种快速计算模式差异(既可以是图案或者颜色,也可以是添加的线索或先验)的显著性检测方法,利用图像中补丁的内部统计信息来识别显著性特征[15]。SS算法是一种基于图像特征的显著性检测方法,通过图像签名形成一种近似前景来获取与背景对比的差异信息,该方法获取的显著性图像更接近于人类感知效果,且运行时间更短[16]。

2 背景算法介绍

SOD2N算法采用的深度网络主要包括引入的多尺度全卷积网络以及改进的流形排序算法。下面主要介绍与SOD2N算法相关的多尺度全卷积网络和流行排序显著性方法。

2.1 多尺度全卷积网络

在全卷积流中引入一个端到端卷积网络,即引入一个将输入图像映射到像素级显著图的回归网络。在训练过程中,主要是针对固定大小的224×224 RGB静态图像。首先,在预处理过程中将每个像素减去平均RGB值(主要根据训练集计算得到)。然后,图像通过一个由3×3接收域过滤获得的卷积层,其中一个是利用1×1卷积滤波器,这里看作是输入通道的线性变换。卷积步长固定为1个像素,层输入的空间填充可使空间分辨率在卷积后保持不变,即填充1像素为3×3的卷积层,空间共用由5个最大共用层实现。由于并不是所有的卷积层都是最大共用层实现,所以空间共用都采用了一些卷积层。其中,最大共用层在2×2像素窗口上执行,其步长为2。

一个卷积层(在不同的体系结构中有不同的深度)包括三个完全连接层,前两个连接层各包含4 096个通道,第三个连接层执行1 000路ILSVRC分类,因此包含1 000个通道(每个类一个)。其中,最后一个层是最大软层,而且在所有网络中完全连接层的配置是相同的,且所有隐藏层都配有整流装置。

2.2 流形排序显著性方法

(1)

式中:fi和fj表示节点i和节点j相对于查询节点的排序值,即节点i和节点j的显著值;参数μ表示平滑约束项。对式(1)中的f求导并令其等于0,则可得最优解。排序函数的最优解过程用矩阵表示为:

f*=(I-αS)-1y

(2)

考虑到收敛问题及最后的效果比较,根据文献[17]采用非归一化的拉普拉斯矩阵,使效果更加优化,则式(2)可变换为式(3)。

f*=(D-αW)-1y

(3)

选取图像的四边边界为查询对象Qt,根据式(3)可计算Qt的显著性如式(4)所示。

(4)

S(i)=St(i)×Sb(i)×Sl(i)×Sr(i)

(5)

3 SOD2N算法

SOD2N算法的基本思想是:首先,设计一个端到端的多尺度全卷积网络作为深度对比度的第一个流,使其直接从原始输入图像中运行一次即可得到像素级的显著性图像;其次,通过基于图像四边的边界先验知识改进GMR流形排序算法,根据前景与背景是相对的这一理论提出背景计算,可更好地模拟区域间的视觉对比和区域边界的视觉显著性;最后,采用基于完全连接的CRF像素显著性细化模型提高相邻像素之间显著值的一致性,可以使得生成的显著性目标突出,轮廓能得到很好的保留,产生的像素精度也更平滑,突出目标也能得到很好的保留。

3.1 深度对比网络

在全卷积流中,设计一个端到端卷积网络,可以将它看作是一个回归网络,将输入图像映射到像素级显著性映射。SOD2N算法选择VGG16作为预训练网络,并修改它以满足要求。为了将其重新应用到稠密图像显著性预测网络中,VGG16的两个完全连接层首先被转换成具有1×1核的卷积层[18]。然而直接以卷积的方式评估产生的网络,将会生成一个非常稀疏的具有32像素步幅的预测映射,这是由于原来的VGG16网络有5个集中层,其中每个集中层的步长为2。为使预测图更加密集,在最后两个最大集中层跳过二次采样,以保持在最后一个集中层之后是8像素步幅。为了在接下来的卷积层中保留原始的接收场,通过引入零来增加其卷积核的大小。SOD2N算法可以保持核的完整性,并且卷积使用2或4个像素的步长(倒数第二个集中层之后的三个卷积层中的2像素步幅和最后两个转换后的1×1卷积层中的4个像素步长)对输入特征图进行稀疏采样。

VGG16网络中包含5个集中层和下采样层,每个层都有一个越来越大的接收字段,其中包含上下文信息。SOD2N算法为了设计基于视觉对比度对显著性的深层网络,进一步开发了上述VGG16全卷积扩展的多尺度版本,将三个额外的卷积层连接到VGG16的前4个最大集中层中的每一个。其中:第一个额外卷积层有3×3核和128个通道;第二个额外卷积层有1×1核和128个通道;第三个额外卷积层(输出特征映射)有1×1核和单通道。为了使4组额外卷积层的输出特征图具有相同大小(8次采样分辨率),这4组中第一层的步长分别设为4、2、1和1。虽然得到的4个输出映射具有相同的大小,但其是使用大小不同的接收字段生成的,因此在4个不同的尺度上表示上下文特征,进一步将这4个功能映射与上述端到端扩展的最终输出映射堆叠在一起,叠加的特征映射(5通道)送入1×1核和单输出通道的最终卷积层,即推断出的显著性映射,称这种大小的显著性图为S1。

3.2 改进的流形排序显著性图像算法

突出的物体通常形状不规则,相应的显著性目标沿物体边界就会具有不连续性。多尺度全卷积网络工作在下采样像素级,而并非对显著性不连续物体边界进行建模。为了更好地模拟区域间的视觉对比和区域边界的视觉显著性,在SOD2N算法的深度网络中设计了流形排序的显著性目标检测算法。

首先四边边界不能完整地检测效果,通过相乘的方式将四边边界合并,接着对基于图像四边的边界先验知识进行流形排序,然后依据前景与背景是相对的这一理论提出背景先验的计算,如式(6)所示。

Sbg(i)=1-S(i)

(6)

式中:Sbg(i)是SOD2N算法改进的背景先验,称改进算法生成的显著性图为S2。

3.3 生成显著性目标检测图

由于深度对比度网络中的两种流都将显著性值分配给单个像素,而不考虑相邻像素之间显著值的一致性,因此提出一种基于完全连接的CRF[19]像素显著性细化模型,以提高空间一致性。所给模型使用式(7)的能量函数解决了二元像素标号问题。

(7)

式中:L表示所有像素的二进制标记(显著性或不显著性)赋值;P(li)是像素xi具有标签li的概率,表示像素xi显著的可能性,p(1)=si,p(0)=1-si,其中si是融合显著性映射s在像素xi处的显著值;θij(li,lj)是一个对偶式。该能量函数的最小化是基于CRF分布的平均场近似,可以利用高维滤波来加速计算。在能量最小化结束时,利用每个能量的后验概率生成一个像素突出的显著性映射,称为生成的显著性图像。SOD2N算法提出的显著性细化模型生成的显著性目标突出,轮廓可以得到很好的保留,不仅能产生更平滑的像素精度,而且还能很好地保留突出目标。

4 实验与结果分析

实验采用经典的显著性目标检测数据库ASD进行对比实验,ASD图像数据库是显著性检测运用较为广泛的公开数据库,而且给出了人工标注的真实值,以便于定量和定性的性能评价。实验选取近几年具有代表性且与所给方法具有相关性的LR、AC、HC、RC、CB、GMR、GS、SF、PCA和SS共10种算法进行性能比较。实验采用P-R曲线和F-measure两项指标来比较SOD2N算法与其他10种算法的优劣。

P-R曲线[20]是最常用的评价显著性目标检测算法优劣的指标。其中:准确率(Precision)表示算法预测正确的像素个数与所有显著像素个数的比值;查全率(Recall)表示算法预测正确的像素个数与真值的显著像素个数的比值。SOD2N算法与其他10种经典算法在ASD数据库中的P-R曲线如图1所示。可见,SOD2N算法的P-R曲线高于其他算法,基本处于[0.96,1.00]区间内。AC算法的P-R曲线最低,处于[0.45,0.65]区间内,LR、HC和CB算法的P-R曲线有一定提升但仍然较低,处于[0.78,0.81]区间内,SF、PCA和SS的P-R曲线虽然处于[0.91,0.95]区间内,但与SOD2N算法相比,它们的准确率仍较低,而且与GMR(P-R曲线处于[0.95,0.98]区间内)和GS算法(P-R曲线处于[0.94,0.98]区间内)相比,SOD2N算法的准确率也有一定的提升,则表明SOD2N算法的准确率要明显高于其他算法,即SOD2N算法在该指标上的性能优于其他10种方法,由此证明了SOD2N算法所做改进的可行性。

(b)图1 各种算法的精确率-召回率曲线

F-measure综合了准确率和查全率,是衡量图像检索算法好坏的一个量化性能评价指标,其计算公式如下:

(8)

式中:β表示调节准确率和召回率的权重参数,主要是为了加强准确率的比重,通常设β2=0.3。F-measure值随着绘制P-R曲线时的阈值T变化的曲线图,如图2所示。可以看出,SOD2N算法的F-measure值达到8.67,与其他10种算法相比是最高的,而对比算法中,F-measure值较高的是GMR算法和LR算法,分别为8.25和8.13,而F-measure值最低的是AC算法,仅为5.18,其他几种算法的F-measure值与SOD2N算法相比也较低,由此也说明了SOD2N算法的检测性能优于对比算法。

图2 不同算法的F-measure值比较

此外,实验还定性比较了SOD2N算法与其他10种算法的视觉效果。首先从ASD数据库中随机抽取目标尺寸大小不同的图像,然后将10种显著性算法计算出的显著图与SOD2N算法计算出的显著图进行视觉效果对比,如图3所示,从左到右依次分别为:输入的原图像、LR、AC、HC、RC、CB、GMR、GS、SF、PCA、SS、SOD2N算法和“ground-truth”图。

可以看出,SOD2N算法可检测不同大小目标的图像,且视觉效果更好。HC、CB、PCA、SS算法显著性检测图像的视觉效果明显较差;LR算法检测大目标比较模糊;AC、RC算法无法有效检测较小目标;SF算法对于图像的颜色敏感度较低,尤其是对于同样基于背景先验的GMR和GS算法,尽管从视觉效果图中看出其能检测到目标,但当遇到目标稍微接触到边界的特殊情况时,就会造成误判,无法有效区分不同颜色和亮度;GS算法出现了边缘模糊。SOD2N算法能够很好地解决这些问题,从而说明了SOD2N算法的优越性。

5 结 语

SOD2N算法是一种用于显著性目标检测的端到端深度对比网络,深层网络由像素级全卷积和改进的GMR流形排序两个互补部分组成,然后由完全联通的CRF模型进行最优权重的融合,进一步优化了检测结果的空间相干性和轮廓独立性。最后通过与其他10种算法的定量和定性比较,可以看出SOD2N算法不仅精确度更高,而且可以有效解决显著性目标边界模糊的问题,这也表明了SOD2N算法的可行性和优越性。

猜你喜欢

排序显著性卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种结合多尺度特征融合与像素损失加权的显著性目标检测方法
视频序列中视觉显著性图像区域自动提取仿真
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
作者简介
恐怖排序
节日排序
欧盟法院判决明确欧盟商标通过使用获得显著性的地域认定标准