基于无锚框目标检测算法的多样性感受野注意力特征补偿*

张海燕,付应娜,丁桂江,孟庆岩

(1.合肥工业大学计算机与信息学院,安徽 合肥 231009;

2.三维医疗科技股份有限公司,江苏 徐州 221000)

随着人工智能技术的不断发展,目标检测作为一项基础且富有挑战性的计算机视觉任务,具有极其广泛的应用[1,2]。对于任意图像,目标检测的任务就是利用一套算法来判别图像中是否存在目标,如果存在,则预测目标的位置和类别。所有当前主流的检测算法,诸如更快的基于区域的卷积神经网络Faster R-CNN(Faster Region-based Convolutional Neural Networks)算法[3]、单阶段目标检测SSD(Single Shot MultiBox Detector)算法[4]、特征金字塔网络FPN(Feature Pyramid Networks)算法[5]和用于密集目标物体检测的RetinaNet(Focal loss for dense object)算法[6]等,一直被认为是目标检测成功的关键。然而,这些算法都是建立在锚框的基础上,即特征图上的每个像素点都需要预先设置固定尺寸和长宽比的边界框。显然,这种基于锚框的方法不仅需要人为地设置大量超参数,还会引起正负样本的不平衡,这会在很大程度上影响算法的检测精度。此外,由于计算量较大,还将耗费大量的内存。

目前,全卷积网络FCN(Fully Convolutional Network)算法[7]在深度估计、语义分割和关键点检测等计算机视觉任务中都已获得了巨大的成功,这带来了一定的启发:能否像语义分割中的FCN[7]那样,通过简单的像素级预测来进行目标检测?

因此,不少研究人员都尝试利用这一想法来构造类似于FCN的框架,如统一的标定位端到端的目标检测算法DenseBox[8]、一种先进的目标检测算法UnitBox[9]。与以前的SSD等检测算法不同,DenseBox采用统一端到端的全卷积网络框架,直接预测边界框。UnitBox则摒弃了均方误差损失(L2Loss),利用交并比损失IOU Loss(Intersection Over Union Loss)进行回归。总的来说,这些基于FCN的模型直接在特征图的每个空间位置上预测1个4维向量和1个类别,某种程度上可以有效地避免上述问题,但是很难处理不同尺寸的物体。此外,这些模型主要用于一些特定场景的检测,比如场景文字检测和人脸检测等。由于边界框高度重叠,所以并不适用于通用目标检测,尤其在预测时,物体之间的高度重叠会带来定位模糊的现象。考虑到这个问题,许多算法通过借鉴FPN多尺度的思想在很大程度上减弱了这种不确定性。目前,大多数无锚框算法框架都采用FPN的网络结构。其中,基于全卷积网络的单阶段目标检测FCOS (Fully Convolutional One-Stage object detection) 算法[10]和超越有锚框目标检测FoveaBox算法[11]预测每个正区域内的点到其边界之间的偏移量,避免了直接预测目标区域造成的尺度变化过大而难以训练的问题。无锚框在线选择特征FSAF (Feature Selective Anchor-Free) 算法[12]利用锚框分支直接预测目标位置,同时结合基于锚框的检测算法使得不同层的目标可以覆盖更广的范围。显然,相比于基于锚框的检测算法,无锚框检测算法不用再设置与锚框相关的超参数,其框架设计更加简单灵活,而且精度更高。但是,无锚框检测算法仍然存在一些不足:(1)获取图像的全局信息能力较弱。(2) 无法很好地检测重叠的物体,尤其重叠区域较大的物体。(3) 由于使用了残差网络ResNet(Residual Network),很容易产生感受野不匹配的现象。因此,本文的目的是让网络拥有全局信息,缓解感受野不匹配的现象,从而提高检测精度。

本文使用FCOS作为基本架构,并在此基础上提出了一种新的特征融合方法,以提供全局信息,提高特征表达能力。此外,本文还将矩形感受野引入框架中,同时加入了自注意力机制,以获取更多的信息,减少无关噪声的干扰。

本文在PASCAL VOC数据集[13]上进行了实验并进一步设计了消融实验验证本文算法的有效性。此外,为了与其它先进算法进行比较,本文也在MS COCO数据集[14]上进行了一些实验。

2.1 基于锚框的检测算法

绝大多数目标检测算法都是基于锚框的,根据是否有产生候选区域的机制一般分为2大类:单阶段检测算法和双阶段检测算法。最流行的双阶段检测算法是Faster R-CNN,它首先采用候选区域生成网络RPN(Region Proposals Network)粗略地生成候选区域,同时利用卷积神经网络提取特征,然后再进一步改进。与双阶段检测算法的第1阶段类似,单阶段检测算法直接在输入图像上生成边界框并进行回归。经典的单阶段检测算法有SSD和实时目标检测算法YOLO(You Only Look Once)[15]等。YOLO直接预测对象实例类别和位置;
SSD则基于VGG-16网络,采用多尺度特征图进行检测。双阶段检测算法在精度上有更大的优势,而单阶段检测算法速度更快。考虑到实时性的要求,单阶段检测算法现已成为主流的研究趋势。FPN、单阶段特征融合目标检测Feature-fused SSD (Feature-fused Single Shot Detector) 算法[16]和单阶段反卷积目标检测DSSD (Deconvolutional Single Shot Detector) 算法[17]采用单阶段的结构,利用高层语义信息改善低层的特征表达,保证了良好的检测性能;
RetinaNet则采用新的损失函数focal loss来解决类别不平衡问题。

2.2 无锚框检测算法

无锚框并不是一个新概念,最早可追溯到DenseBox。具体地,它应用了类似于FCN的理念,即在每个特征图上逐像素地预测实例。针对不同尺寸的物体,它需要利用图像金字塔来训练网络,这势必会占用大量的内存空间。因此,现在大多数无锚框检测算法都借助于特征金字塔,比如FSAF、FCOS等。FSAF采用特征选择策略为每个实例分配最佳的特征层,FCOS试图借鉴FPN多尺度的思想,同时利用中心度分支来抑制低质量框。

另一类无锚框检测算法主要依赖于关键点。其中,对角点目标检测算法CornerNet`[18]的核心是通过角点池化操作检测出边界框的一对角点,然后对其进行分组,最后经过复杂的后处理得到最终检测结果。

2.3 感受野

在传统的卷积神经网络中,感受野是影响检测性能的重要因素之一。直观地说,感受野是特征图上的一个点对应于输入图像上的一个区域。显然,感受野与特征信息的获得密切相关。在保证参数量不变的情况下,不少研究都采用空洞卷积来扩大感受野。Li等[19]在三叉级目标检测算法TridentNet中应用空洞卷积(扩张率不同)构造了一个具有不同感受野的平行多分支结构。Li等[20]在全新骨干网络的目标检测DetNet中设计了一种新颖的主干网络以保持空间分辨率,并利用空洞卷积来增大感受野。尽管已经取得了成功,但空洞卷积的使用在某种程度上还是会使网络速度变慢,同时会丢失一些局部细节信息。此外,这种情况下感受野仍旧极为单一。故本文对感受野进行多样化设计,同时使用全局池化操作替代空洞卷积,以获得更丰富的信息。

Figure 1 Structure of FCOS图1 FCOS结构

2.4 特征融合

由于高层细节信息和低层语义信息的不足,特征融合一直是研究人员关注的焦点。针对上述特征信息不足的问题,FPN、DSSD和Feature-fused SSD等被提出,它们通过引入更高层的语义信息来增强较低层的特征。然而,太多的语义信息会掩没低层的细节信息,而语义信息太少又会削弱检测算法的性能,故这种方法并不能使网络得到最优的特征。Tian等[21]在DF2S2(Detection with Feature Fusion and Segmentation Supervision)中利用逐元素相乘的操作,使得低层特征图拥有高层特征图上的语义信息,而又不至于掩没细节信息。信息路径聚合网络PANet (Path Aggregation Network)[22]同样通过多个并行分支来挖掘特征信息。毫无疑问,这些算法会带来太多的计算负担。此外,还有些算法在融合时会添加注意力机制及一些先进的模块,这也是一种很好的方法。本文旨在以较少的计算量获得更优的特征。

本节对无锚框目标检测算法FCOS进行了改进。图1展示了本文算法的整体网络结构图,图中C3、C4和C5表示骨干网络的特征图,H和W分别为特征图的高和宽。输入一幅图像,通过FCOS的骨干网络(即ResNet)得到金字塔特征(由特征图C3、C4和C5构成);
之后,再使用多样性感受野注意力机制作用于其特征金字塔最后一层(即C5),并将所得的结果特征图与前面卷积得到的特征图(即C3和C4)自上而下相互融合,从而得到新的金字塔特征。这里,特征图之间的融合方式为全局信息指导特征融合GCF(Global Context-guided feature Fusion),其最终结果P3、P4、P5与P6、P7一起参与检测。

3.1 FCOS

如图1 所示,FCOS在RetinaNet的基础上又在每个金字塔层上附加了2个额外层来负责逐像素预测。由于特征图中越靠近所预测目标框中心的点越有可能产生高质量的检测,故FCOS又提出中心度(Center-ness)分支去抑制低质量的点,从而达到更好的检测效果。其损失函数如式(1)所示:

(1)

3.2 多样性感受野注意力机制DRAM

从人类视觉角度来看,人眼所感知的区域应该有不同的形状和大小,这与决策信息的生成有很大关系。目前,绝大多数网络的感受野都是方形的,这会带来一个弊端,即对于不同尺度的目标(特别是过大或过小的目标),大范围的变化会使检测受到很大程度的影响。为了解决这个问题,最直观的方法就是使用大的卷积核来扩大感受野,但这会产生较大的计算量。同样,空洞卷积也可以实现感受野的扩张,然而此时网络的速度会受到一定的影响,并且局部信息也会出现丢失的情况。更重要的是,所得特征图的感受野仍然和之前一样。

本文提出了一种简单且有效的方法——多样性感受野注意力机制DRAM(Diverse Receptive fields Attention Mechanism)来克服这些局限性。多样性感受野模块如图 2所示,采用1×k,k×k,k×1的卷积核生成具有不同感受野的特征图,之后将所得特征图相加并融合从而使特征图拥有多样性的感受野。

Figure 2 Diverse recptive fields module图2 多样性感受野模块

如图3所示,为了保留空间注意力,将原始特征图通过1×1的卷积操作后与上述得到的特征图逐像素相乘。此外,由于全局上下文很容易扩大感受野和增强像素级分类的一致性,本文又引入了全局平均池化,即输入特征图池化后经过上采样与多样性感受野注意特征相加融合,从而使最终的特征图能够拥有与大感受野同样丰富的上下文语义信息。

Figure 3 Illustration of the diverse receptive field attention mechanism图3 多样性感受野注意力机制

3.3 全局信息指导特征融合GCF

最常见的特征融合是高低层特征图的简单拼接或融合,例如FPN和DSSD,但是这并不能保证得到的特征最优。本文认为特征提取能力的提高对于目标物体检测性能的改善仍有相当大的帮助。PANet利用低层次的精确定位信息,缩短信息量的传输路径,增强特征金字塔的特征表达能力。DF2S2采用逐元素相乘的操作,使得低层特征图具有高层特征图中的语义信息。但是,这些改进会造成计算资源的浪费。研究表明,全局池化可以有效地增加感受野,提高像素级分类的一致性;
另一方面,更高层的特征图拥有更丰富的语义信息。

因此,本文将全局池化操作作为辅助模块附加到高层次中并同时将其输出用于指导低层,以便选择有判别性的多分辨率特征表达。具体地,首先获得高层的全局上下文信息,再与高层原始特征相乘,之后对其进行归一化并通过ReLu激活函数后与低层特征相乘以达到高层指导低层的作用,最后将加权后的低层特征与高层特征叠加。池化操作是获取全局上下文信息的传统方法,但是这种加权方式是线性的,常需要利用1×1卷积来增加非线性,以提高模型的检测能力。为此,本文还设计了一种新的语义模块,即步长为2的1×1卷积和归一化指数函数(softmax)的组合,以保证模型的非线性能力,之后再将其与原始的高层特征图进行相乘。相对于池化操作而言,该模块不再需要额外的卷积运算来保证非线性且可以更好地挑选出重要特征。同时,基于模块的多级结构,归一化操作不再使用批归一化,而是选择层归一化[23],以加速损失函数的收敛速度。除此之外,该模块又在低层使用了3×3卷积,以帮助获得来自高层的丰富信息和更好的指导,如图4所示。

Figure 4 Illustration of the Global context-guided feature fusion图4 全局信息指导特征融合

本文的实验基于深度学习框架PyTorch实现,所用数据集为PASCAL VOC和COCO,分别包含20个和80个类。为了评估每个模块的有效性,本文在PASCAL VOC数据集上设计了消融实验。

4.1 消融实验

本节研究了DRAM在不同特征层上的影响,以更好地确定其作用,结果如表1所示。表1中,骨干网络为ResNet-50时,原始网络FCOS的检测精度为79.0%,本文方法的检测精度为80.2%,提升了1.2%,这表明DRAM对于目标物体的检测是十分有用的。当DRAM作用于C3和C4层时,两者检测精度几近相同,较FCOS检测精度只有0.5%的提升;
当仅作用于C5层时,DRAM将检测性能提高到了80.1%,其结果与3层共同作用所获得的最高精度大体相近,但参数更少。由此可知:DRAM模块更适合于高层次的特征图。

此外,本节还比较了所提方法与FCOS,结果如表2所示。从表2可以看出,DRAM将检测性能提升至了一个新的水平,mAP达到了80.1%(仅在C5层)。相比FCOS,mAP提高了1.1%。使用另一模块GCF后,mAP比FCOS的高了0.7%,在性能检测方面的提升也尤为明显。当FCOS检测算法中同时使用DRAM和GCF时,mAP可达80.4%。

Table 1 Results of DRAM on different layers表1 DRAM在不同层上的实验结果

Table 2 Results of different methods

图5为本文方法与FCOS进行物体检测的可视化对比图。第1行为FCOS的检测结果图,第2行为本文改进方法的检测结果图。

从图5中可以看出,相比FCOS而言,本文所提方法能够检测出更多的物体。此外,自左向右3幅图像中,目标物体间均存在不同程度的重叠(大致为1/5,2/3和2/5的重叠区域),本文方法在一定程度上能够将其检测出。由此可见,较于FCOS,本文方法优势明显。

Figure 5 Comparison of detection results图5 检测结果比较

4.2 PASCAL VOC数据集上的实验

在实验中,本文将采用PASCAL VOC2007 和 PASCAL VOC2012作为训练集,共22 136幅图像。同时,在PASCAL VOC2007测试集上评估结果并使用mAP@0.5作为评判标准。批量大小设置为14,动量参数设置为0.9,权重衰减因子为0.000 1。训练时,使用“预热” 策略,逐步将学习率从0提高到0.01;
在迭代次数达到32 000和44 000次时,学习率下调0.1。此外,实验中还使用了SSD的数据增强策略,以创建更多可供训练的小样本。

表3为在PASCAL VOC2007测试集上本文算法与一些先进算法的实验结果比较。为了公平起见,本文尽量使用同一骨干网络。在相同骨干网络的条件下,本文算法的mAP比FCOS的提高了1.4%。当骨干网络为ResNet-101时,本文算法可以实现81%的mAP。与单阶段检测器SSD、DSSD及RFBNet等相比,本文算法检测效果更好,其结果甚至可以与一些双阶段检测算法相媲美。

Table 3 Experimental results comparision with other state-of-the-art two-stage or one-stage algorithms on PASCAL VOC dataset

4.3 MS COCO数据集上的实验

为了全面验证所提模型的有效性,本文在MS COCO数据集上也进行了相关实验,实验结果如表4所示。与FCOS相同,本文使用trainval35kset(train set+val35k set)训练模型,训练时仍然采用“预热”技术,前500次迭代学习率从0逐渐提高到0.01,之后在120 000次和160 000次后以10倍的倍数降低,直到180 000次。网络的初始化与在PASCAL VOC数据集上的步骤一致,在训练前加载ImageNet上预训练的权重。从表4可以看出,相同骨干网络条件下,本文在MS COCO测试集上的mAP达到了42.8%,超过FCOS的检测精度,且有明显差距。当IOU大于0.5和0.7时,AP值分别为63.3%和46.3%。同时,小、中、大目标物体的检测精度分别为24.6%、46.7%和54.2%,提高了0.6%、3.6%和3.2%。显然,对于尺度较大物体的检测,本文算法优势明显。在小目标物体的检测上,提升较少;
与一些经典的双阶段算法相比,其在物体检测方面也有着很好的效果。此外,本文算法也优于许多单阶段检测算法。特别地,其精度明显高于最新的无锚框目标检测算法FSAF、FoveaBox和CornerNet 等。为进一步展示本文算法的优势,本节还比较了该算法与其他一些目标检测算法的检测速度结果如表5所示。表5中,骨干网络为ResNet-101时,本文算法模型的FPS可以达到15.1,稍低于FCOS的FPS,但精度提升较大。此外,其检测速度明显快于其他一些无锚框的目标检测算法模型且物体的位置回归与分类效果更好。较于一些一阶段的模型检测算法,本文算法虽然检测速度较低,但在精度方面却有着更佳的表现且基本满足实时需求。

Table 4 Experimental results comparison with other state-of-the-art two-stage or one-stage algorithms on MS COCO dataset

Table 5 Speed comparison other state-of-the-art two-stage or one-stage detectors on MS COCO

本文从感受野和特征融合2个角度,基于FCOS提出了2种改进方法:多感受野注意力机制DRAM和全局信息指导融合GCF。实验表明,DRAM更适合于较高层次,这可能与高层拥有更丰富的语义信息有关;
GCF使得网络获得了更多有用的判别性特征。与许多最先进的检测算法相比,本文算法具有明显的优势。然而,本文方法对重叠物体的检测性能提升有限,此外,较于单阶段目标检测算法,其速度只能基本满足实时性要求。因此,今后的研究工作将会基于此而展开。

猜你喜欢 语义卷积物体 真实场景水下语义分割方法及数据集北京航空航天大学学报(2022年8期)2022-08-31基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02深刻理解物体的平衡中学生数理化·高一版(2020年1期)2020-02-20卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14从滤波器理解卷积电子制作(2019年11期)2019-07-04基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20“吃+NP”的语义生成机制研究长江学术(2016年4期)2016-03-11揭开物体沉浮的秘密少儿科学周刊·儿童版(2015年2期)2015-07-07为什么同一物体在世界各地重量不一样?科普童话·百科探秘(2015年4期)2015-05-14情感形容词‘うっとうしい’、‘わずらわしい’、‘めんどうくさい’的语义分析人间(2015年21期)2015-03-11

推荐访问:算法 注意力 补偿