方金生,陶余昊,朱古沛,陈彦佑
1.闽南师范大学 计算机学院,福建 漳州363000
2.数据科学与智能应用福建省高校重点实验室(闽南师范大学),福建 漳州363000
显著性目标检测旨在准确地分割和识别图像场景中的重要目标,是计算机视觉领域中一项具有挑战性的任务。自1998 年Itti 等[1]的研究发表以来,显著性目标检测的研究引起了广泛关注[2]。显著性目标检测的发展经历了从传统检测方法阶段到深度学习检测阶段。传统方法使用颜色、纹理等先验信息,依赖于手工制作特征,泛化能力差[3]。随着深度卷积神经网络(deep convolutional neural networks,DCNN)的出现,显著性目标检测取得了巨大的进步,国内外研究团队提出了诸多先进算法[4]。
Lin 等[5]提出了特征金字塔网络(feature pyramid network,FPN),将具有精确目标位置的浅层特征和包含丰富语义信息的深层特征进行多尺度融合,最后对不同层的输出特征进行独立预测,改变以往仅使用顶层特征进行预测的状况,提升了目标物的检测性能。但随着深层特征自顶向下传递,位置信息可能逐渐淡化,并且显著性特征通常具有全局性,导致FPN网络性能下降。由此,Liu等[6]提出PoolNet,利用全局特征引导模块和特征聚合模块来捕获更高级别的语义信息,并可减少因上采样而造成的混叠效应。Qin等[7]采用新的混合损失函数提出BASNet,来检测显著性对象的边界,提高网络性能。然而,在面对复杂背景中的显著性目标检测时,上述这些方法可能由于特征融合得不完整而导致性能下降。Vaswani等[8]提出了基于Transformer的新网络架构,利用特征全局信息提高检测效果。随后,Carion 等[9]基于Transformer提出改进算法DETR,这些网络都大大提高了目标检测的性能。然而,Transformer类型网络的训练往往需要大量的时间和计算资源。
本文提出了一种基于边界感知和注意力机制的新型金字塔池化网络,用以有效抑制背景信息并提取显著性目标。本文工作的主要贡献如下:
(1)提出了一种新颖有效的基于边界感知和注意力机制的网络,用于解决复杂场景下的显著性目标检测任务;
(2)提出了级联双注意模块和改进特征聚合模块来捕获多级信息,该模块结构简单、运算量少且能有效提高网络性能;
(3)在5 个公共数据集上与16 种先进方法进行比较,实验结果表明ABAPNet(attention-based boundaryaware pyramid pooling network)具有最佳性能。
近年来,国内外研究人员提出了诸多基于卷积神经网络(convolutional neural networks,CNN)的显著目标检测方法,得益于深度CNN强大的特征提取能力,这类方法均优于传统方法[10-11]。Wang 等[12]提出了一种包括局部估计阶段和全局估计阶段的两步策略算法,以融合低级显著性特征和高级显著性特征来提升网络性能。Liu等[13]提出的DHSNet首先进行了粗略检测,然后采用分层网络架构对检测结果进行细化。上述方法主要依赖于分类网络和原始图像的区域信息,来获取目标区域的重要性,但这种策略对显著性目标边界模糊问题的预测仍存在不足。Hou 等[14]提出了一种简单且有效的强监督的短接结构DSSNet,以获取各层的多尺度特征,从而能够准确定位显著性目标的边界,获得细化预测。Wang等[15]提出了一种带有金字塔池化模块的阶段细化网络,以弥补重复卷积和下采样操作后分辨率的下降问题。Deng等[16]提出了R3Net,并采用一系列残余细化模块,拟合真值和先前显著性特征之间的残余信息。Zhang等[17]提出了Amulet,将深度递归的监督学习体系集成到低分辨率特征图像的共同边缘信息中,更好地聚合多级功能,以提高定位精度。如上述研究所证明的,多尺度特征对于显著性检测非常重要,并且这些方法可能会面临空间尺度特征学习问题。Liu等[18]提出的PiCANet将像素级上下文注意机制与U形网络结构相结合,同时关注局部和全局信息,获得丰富的上下文特征。He等[19]提出了AGNet,联合通道注意力和空间注意力对不同特征信息加权,有选择地聚合深层和浅层特征信息。Wang等[20]提出了一种增大感受野模块以获得更加丰富的空间上下文信息,通过高效的特征聚合来获得更精细的预测结果。
金字塔池化网络PoolNet[6]提出了一个新的全局引导模块(global guidance module,GGM),包含金字塔池化模块(pyramid pooling module,PPM)和一系列全局引导流模块(global guiding flows,GGF)。PPM由多个分支组成,这些分支以不同的比例捕获输入图像信息,然后通过GGF 中包含的一系列全局引导流,可以将金字塔底层的全局信息从上到下添加到网络的每一层中,从而确保构建的金字塔结构具有高层次的语义特征。随后,PoolNet 通过特征聚合模块(feature aggregation module,FAM)融合高层次和低层次语义特征。FAM 包括四个平均池化层,每个层都有一个独立的结构,通过下采样和上采样操作,将GGM 获得的高级语义特征输入到FAM中,然后将得到的特征映射串联起来,再通过一个3×3 的卷积层。FAM 能够减少上采样引起的混叠效应,避免特征图像出现失真的问题,从不同的角度和尺度观察显著性对象的空间位置,从而扩大了整个网络的感受域。
由于网络中上采样、池化和多级特征提取等操作均可能会模糊输出特征,使用边界反馈的策略对于改进显著性检测非常重要[7]。BASNet 利用边缘检测的方向信息,分别通过预测网络和精细网络两部分获得粗略的显著性区域和精细特征图。BASNet 融合BCE、SSIM 和IoU的混合函数用于指导网络训练,关注显著性目标的边缘细节,更好地恢复显著对象的轮廓。
本章主要介绍ABAPNet 网络架构及具体实现细节,包括级联的双注意力模块(DAM)、全局引导模块(GGF)、特征聚合模块(FAM)和边界感知函数(BA)。
本文提出的ABAPNet 以ResNet 为主干网络,以FPN 为特征融合网络构架[5],如图1 所示,为方便比较,FPN 示于图中右下角处。ABAPNet 采用自顶向下的方法进行多层特征融合,用以增强各维度之间的特征关联,获得强语义特征。首先,经过主干网络ResNet50得到5 层特征(记为Feature-0、Feature-1、Feature-2、Feature-3、Feature-4)的输出;其次,对5层特征分别进行3×3 卷积后完成初始特征的融合,得到特征Feature-1、Feature-2、Feature-3、Feature-4,作为金字塔结构网络FPN 的输入;然后,将Feature-1、Feature-2、Feature-3 分别进行级联式双注意力机制DAM 处理;将Feature-4 分别经过特征融合模块FAM及金字塔池化模块(PPM)处理。在PPM处理方面,首先经过平均池化层输出{2/4/8}3 个不同尺寸的特征,在通过1×1 卷积但不改变通道数的情况下采用ReLU 激活函数,再上采样将这3 个特征进行拼接,最后经过3×3 卷积和ReLU 激活函数输出。ABAPNet的后续卷积运算与PoolNet[6]一致,在原始FPN架构增加一个多尺度的上采样分支,将特征Feature-1、Feature-2、Feature-3、Feature-4 分别经DAM、FAM 和PPM 处理后的结果进行特征融合并输出最终的结果。最后,利用边界感知模块BA计算网络的损失函数。通过多层损失之和的梯度下降,重点关注多个层次的边缘信息。图2显示了ABAPNet的过程输出结果,从第一个FAM模块输出到网络的最终输出,背景逐渐被抑制,显著性对象的预测变得越来越精确。
图1 ABAPNet模型架构图Fig.1 Schematic illustration of ABAPNet
图2 ABAPNet边路输出结果Fig.2 Output of ABAPNet side path
在ABAPNet 网络中,前三个金字塔层的特征分别输入到新设计的级联式DAM 中,而最后一个金字塔层的输出分别通过两条路径进行处理。由于最后一个金字塔层的输出具有最强的特征信息[5],并且对于保持检测性能非常重要,因此第一条路径连接到金字塔池化模块中,而另一条路径连接至特征聚合模块。
本文采用级联式通道注意力模块(CAM)和空间注意力模块(SAM),如图3 所示。CAM 的输入分别经过最大池化和平均池化操作,再依次用1×1卷积层、ReLU层和1×1 卷积层进行处理,并使用Sigmoid 函数作为激活函数,最后将两个Sigmoid 函数输出之和与输入特征相乘的结果作为SAM的输入。首先将输入特征分别通过最大池化和平均池化的操作;然后将输出结果相加并通过7×7 卷积层,激活函数为Sigmoid;最后将SAM 的输入与Sigmoid 函数的输出相乘得到最终结果。因此,级联式双注意力模型可以表示为:
图3 级联式双注意力机制结构Fig.3 Cascading dual attention mechanism
其中,Ac(F)表示CAM的输出,As(F)是SAM的输出,σ、C0、C1、C2分别表示Sigmoid 函数、第一个1×1 卷积层、第二个1×1卷积层和7×7卷积层;和分别表示CAM和SAM中的最大池和平均池结果。
在CAM和SAM都加入池化层,可以进一步压缩特征,避免数据在训练过程中产生过拟合的现象。最大池化层可以减小因为卷积层参数误差造成的估计均值偏移问题,进而有效地保留图像的纹理信息,减少无用信息对于显著性信息的影响,进一步提高所提取特征的鲁棒性。而平均池化层能减少因为领域受限而造成的估值方差增大误差,并且能够保留图像中的背景信息,获取更多的全局上下文信息。
原始的FPN架构广泛用于提取语义特征,但其U形网络架构在重复的子采样操作后将不可避免地模糊高层语义信息。此外,FPN 的感受野十分有限,无法捕捉全局信息,导致显著性对象可能会受到背景的干扰。因此,PoolNet[6]引入了由金字塔池化和全局引导流组成的全局引导模块,以抑制由于缺乏高级语义特征而造成的负面影响,如图1中绿色路径所示。将从FPN中提取的第四层特征输入到具有上采样尺度{2,4,8}的金字塔池化模块中,并用全局引导流进行处理,以生成不同大小的特征图。全局引导模块准确地帮助网络在自顶向下的路径下增加每个分支的全局信息权重,并确保在构建FPN时不会丢失网络的位置信息。
原始的特征聚合模块包含三个池化尺度分别为{2,4,8}的通道,用于特征下采样和上采样[6]。在本文中,增加最大池化,如图4所示,最后将5个通道的结果特征求和并进行3×3的卷积处理。通过多分支特征聚合,FAM能够抑制上采样引起的混叠效应,并可以从多个尺度全景查看显著性对象的空间位置,以扩大感受野。此外,本文额外添加的最大池化分支从均衡的角度考虑每层特征的估计均值偏移问题,确保网络对特征提取的鲁棒性。最大池化和平均池化的协同操作有助于网络保留更全面的背景信息和纹理信息。
图4 特征聚合模块Fig.4 Feature aggregation module
边界感知模块融合了二进制交叉熵(BCE)、结构相似性(SSIM)和联合交集(IoU)作为损失函数以改善网络性能。三者联合从像素级、图像块级和图像级进行优化网络。BCE 损失函数会逐个检查预测结果中的每个像素,并对所有像素求取平均值。这一操作使得每个像素都被平均地对待,极大程度上减少了像素不均衡和像素偏离真值的问题,使得较小的目标也能被学习到特征,从而增加了网络的有效性。SSIM 损失函数从每个像素点产生的损失来进行分析,考虑像素点周围的N×N像素块,增强边缘部分的损失,抑制非边缘部分的损失,帮助网络关注到更多显著性目标的边缘细节信息。IoU 损失函数能准确地反映出预测结果和真值的重合程度,将预测结果和真值的交集比上预测结果和真值的并集,并以此作为衡量标准,进而优化预测结果逐渐逼近真值。IoU 对于显著性目标的位置偏差十分敏感,有利于网络从目标的整体范围优化预测结果。
下面分别对三种损失函数的定义进行介绍。
BCE定义如下:
其中,yi∈{0,1} 是像素i的真值标签,fi(xi)是被预测为显著对象的概率。
SSIM 通常用于评估图像的结构相似性,分别从图像的亮度、对比度和结构相似度联合度量,其定义如下:
其中,μx、μy和σx、σy分别是x和y的平均值和标准偏差,σxy是协方差,C1和C2是常数。IoU不仅用于确认正面和负面样本,还用于评估预测框和地面真相之间的差距,定义如下:
其中,G(r,c)∈(0,1) 是像素(r,c)的真值标签,S(r,c)是显著对象的预测概率。
由此可见,BCE、SSIM 及IoU 分别从像素级、图像块级和图像级计算损失函数,从这3个层级上提高了网络性能,加速了像素之间的收敛,有效地抑制了非边缘信息,并更加关注图像的前景信息。
本文中的所有实验是基于PyTorch1.9的框架,使用GeForce GTX3090 GPU 进行训练。以Adam 优化器进行优化,初始学习率设置为5E-5,并每经过15 个epoch将学习率设置为原来的1/10。实验分别以VGG16[21]和ResNet-50[22]作为骨干网络,其参数由在ImageNet 数据集上预先训练的模型[23]进行初始化。
为了评估本文提出的ABAPNet的性能,在5个公共数据集DUTS[24]、ECSSD[25]、PASCAL-S[26]、DUT-OMRON[27]和HKU-IS[11]上进行实验,以精度召回(PR)曲线、平均绝对误差(MAE)[28]和F-measure(MaxF)[29]作为评测指标。PR 曲线是评估显著性检测网络性能的标准方法,将二值化显著性图与真值进行比较,其定义如下:
其中,P表示精度,R为召回率,TP表示正例,FN表示负正例,FP为负例。
F-measure是精准率(Precision)和召回率(Recall)的加权调和平均数,是一种综合考虑P和R的评估方法,其定义如下:
其中,β是参数,P为精准率,R为召回率。
MAE是一种表示预测值与真值之间绝对误差的一种平均值,可以真实地反映出预测值与真值的偏差程度,其定义如下:
其中,W和H分别表示预测的显著性图S的宽度和高度,G是真值。
3.3.1 网络主体构架消融实验
本小节进行了一系列将级联DAM 和BA 纳入ABAPNet 的实验,并展示了每个模块的有效性以及联合训练对网络模型性能的影响,消融实验的可视化对比由图5 可见。所有实验均以ResNet-50 为主干网,在MSRA-B和HKU-IS上进行训练(共4 996张图片),并在ECSSD 和PASCAL-S 联合数据集上进行测试。本文采用的基准网络为PoolNet,具体结果如表1所示。
表1 消融实验Table 1 Ablation experiment
图5 消融实验效果图Fig.5 Results of ablation experiment
(1)仅使用级联DAM。如表1 的第二行数据所示,较基准网络,F-measure 和MAE 的值都有所提高。如图5(d)所示,添加注意力机制可以帮助网络更有效地提取显著目标轮廓,优化预测结果。
(2)仅使用BA。如表1 的第三行数据所示,使用BA 可提高MaxF 和MAE 值,如图5(e)所示,显著性目标的边缘信息更为完善。
(3)同时使用级联DAM和BA。如表2的最后一行数据所示,同时引入级联DAM 和BA 的MaxF 和MAE值最高。如图5(f)所示,同时使用级联DAM 和BA 的结果更好地保留了显著性目标的细节,在很大程度上抑制了复杂背景的影响,预测结果更接近真值情况。
表2 特征聚合模块对比实验Table 2 Contrast experiment of feature aggregation module
图6显示了增加各模块后的热力图,从图6(b)中可以看出仅通过Baseline(基线网络)输出的特征存在定位不准确、关注点十分分散且局部化的问题;在加入DAM模块后加深了网络的感受野,使网络更加完整地聚焦于显著性目标,如图6(c)所示;在加入BA模块后,网络更加关注显著性目标的边缘信息,抑制了复杂背景对于显著性目标轮廓的影响,如图6(d)所示;在同时加入DAM和BA模块后,网络达到了最优效果,同时关注到显著性目标的位置和还原显著性目标轮廓,如图6(e)所示。
图6 消融实验热力效果图Fig.6 Heatmap of ablation experiment
3.3.2 特征聚合模块对比实验
本小节在ECSSD 和PASCAL-S 数据集上验证特征聚合模块中增加最大池化分支对网络的作用。表2 展示了使用单均值池化分支的FAM结构和由均值池化分支、最大池化分支组成的FAM 结构的网络性能。在数据集ECSSD上,含有最大池化分支网络的MaxF值略低于单均值池化分支的网络,而MAE值则优于后者;在数据集PASCAL-S 上,含有最大池化分支网络的MaxF 和MAE 值则均优于单均值池化分支网络。因此,从整体趋势上讲,增加最大池化层对MaxF和MAE指标有一定的提升作用。
本节给出了ABAPNet 与PoolNet[6]、BASNet[7]、DHSNet[13]、DSS[14]、R3Net[16]、Amulet[17]、PiCANet[18]、AGNet[19]、SGFANet[20]、SRM[24]、PAGR[30]、DGRL[31]、U2Net[32]、CPD[33]16种显著性目标检测方法的比较。为了进行公平的比较,本文比较算法引用了已发布的结果,这些方法的预测结果来自作者发布的源代码,然后使用相同的评估代码评估所有方法。本节以VGG-16和ResNet-50作为主干网络在5 个公共数据集进行实验,定量比较结果如表3所示。表3中的结果表明,在数据集ECSSD和HKU-IS中,ABAPNet的MaxF值略低于SGFANet,在PASCAL-S数据中,ABAPNet的MAE值略高于DGRL、U2Net、AGNet和SGFANet;除此之外,在全部数据集上,ABAPNet 的MaxF、MAE 值均优于当前的先进方法。综合而言,与现有的先进方法相比,本文提出的ABAPNet 具有更为优越的显著性目标检测性能。
表3 与当前先进算法的定量比较Table 3 Quantitative comparison with current advanced algorithms
如图7所示,以ResNet-50为主干网络构架的ABAPNet,绘制了3 个不同数据集下的PR 曲线和F-measure 曲线。在这3 个数据集上,本文ABAPNet 的PR 曲线均优于其他模型。从图7的第二行可以看出,在所有数据集上,ABAPNet的F-measure曲线的得分都高于现有算法。
图7 7种算法在3个公共数据集下的PR曲线和F-measure曲线Fig.7 PR curves and F-measure curves of 7 algorithms on 3 public datasets
为了更直观地显示本文ABAPNet 的分割结果,在图8中显示了BASNet、PoolNet、U2Net、PiCANet及PAGR等方法的视觉比较。从上到下,图像中所对应的场景依次是透明物体、小物体、大物体、具有复杂细节的物体和前景与背景对比度很低的物体。可以清楚地看到,在各种具有挑战性的场景中,本文的模型可以分割出更接近地面真实地图的显著对象。无论背景和显著性对象多么相似,或者显著对象的细节多么复杂,本文方法都可以突出显著性对象并保持其清晰的边界。
图8 7种算法在5个公共数据集下的检测结果Fig.8 Detection results of 7 algorithms on 5 public datasets
本文提出了一种基于边界感知和注意力机制的显著性目标检测网络ABAPNet,它能有效地从复杂背景中分割出显著性目标。ABAPNet以FPN网络为基础架构,融合了新设计的级联双注意力模块、特征聚合模块和边界感知模块。级联双注意力模块保证了各层特征根据特征的重要性进行融合,减少了特征融合过程中的信息损失;边界感知模块通过对多个损失函数的监督,帮助模型在像素级、图像级和特征图级上获得更多的显著性信息;特征聚合模块帮助网络保留更全面的背景信息和纹理信息。这三个模块的结合,从整体上改善了网络性能,促使网络能够获得更准确的显著性结果。同时,级联式双注意机制模块的结构简单,运算量小,可将该模块应用于其他网络并降低运算复杂度。通过对5 个公共基准数据集的测试,验证了ABAPNet 在复杂背景下对显著性目标的检测能力优于其他先进的方法。当然,ABAPNet 仍存在网络架构较为复杂且训练时间的问题,优化网络架构和训练时间是接下来的研究工作。