基于空洞卷积与特征增强的单阶段目标检测算法

2021-07-26 11:56翟东海
计算机工程 2021年7期
关键词:空洞特征提取尺度

姜 竣,翟东海,2

(1.西南交通大学信息科学与技术学院,成都611756;2.西藏大学工学院,拉萨850000)

0 概述

目标检测是结合目标定位和目标识别的一项基础性计算机视觉任务,其目的是在图像的复杂背景中找到若干目标,给出一个精确的目标边框,并判断该边框中目标所属的类别[1]。随着深度学习方法的发展,基于卷积神经网络(CNN)的目标检测方法成为计算机视觉领域的一个热门研究方向。在采用CNN 提取特征时,浅层的特征图含有丰富的细节信息,对位置信息比较敏感;深层的特征图具有丰富的语义信息,常用于分类。为了提高目标检测的性能,往往需要将浅层与深层特征图融合以利于目标的分类和定位。

根据是否进行特征融合,将目标检测算法分为无特征融合和有特征融合。在无特征融合的目标检测算法中,一类是直接在单特征图上采用回归方法得到目标框与目标类别,如单阶段检测方法YOLO[2]、YOLOv2[3]以及多阶段检测方法R-CNN[4]、Fast-RCNN[5]、Faster-RCNN[6];另一类是在多个特征图上进行预测,如SSD[7]。在有特征融合的目标检测算法中,一类是在单个融合后的特征图上进行预测,如HyperNet[8]和ION[9]对多个尺寸大小不同特征的图使用通道拼接的方式融合特征信息;另一类是在多个融合后的特征图上预测,如DSSD[10]、FSSD[11]通过逐像素相乘的方式融合特征信息,FPN[12]、Mask R-CNN[13]、YOLOv3[14]通过自顶向下逐像素相加的方式融合特征信息。

以上通过特征融合重建特征图的方式,往往需要在尺寸较小的特征图上使用多次上采样操作,不仅大幅降低了算法的检测速度,而且引入了不利于目标检测的噪声信息。为克服上述特征融合方式的不足,本文提出一种基于空洞卷积与特征增强的单阶段目标检测算法(AFE-SSD),通过通道拼接的特征融合方式,分别对主干网络中相邻的2 个特征图进行融合,并结合上下文的语义信息,减少连续多次上采样过程中噪声信息的引入。

1 多尺度目标检测方法

目前针对多尺度目标检测的方法可以分为以下3 种:第1 种方法是采用多尺度图像金字塔[15],如SNIP[16]针对大物体在大尺度的图片、小物体在小尺度的图片上不易识别的问题,在图像金字塔的基础上提出了尺度正则化的方法,然而由于图像金字塔具有占用内存大、时间复杂度高的缺陷,因此不适合实际应用;第2 种方法是在单特征层上采用空洞卷积的机制得到含有多尺度信息的预测特征图,如TridentNet[17]通过在单特征图上使用不同空洞率的空洞卷积构建了一个并行的多分支架构,每个分支具有不同的感受野,最后将不同分支的特征图用于预测不同尺度的目标;第3 种方法是采用特征金字塔[18],如SSD 直接利用不同尺度特征图用于检测不同尺度的目标,形成了特征金字塔的模型。FPN、DSSD 也在特征金字塔上进行预测以处理多尺度目标检测问题。

上述3 种方法是解决多尺度目标检测问题的有效手段,本文在单特征图上采用多分支空洞卷积的机制进行改进。TridentNet 通过在单特征图上使用不同空洞率的空洞卷积构建了一个并行的多分支架构,最后将不同分支的特征图用于预测不同尺度的目标。这样不仅训练过程复杂,而且增加了权重参数的数量。为此,本文提出了多尺度目标特征提取模块,通过将不同空洞率空洞卷积层级联,使单特征图上具有多尺度的信息。此外,参考DenseNet[19]的思想,建立了特征层与空洞卷积层之间的密集连接,减少了模型参数,降低了时间复杂度。将融合后具有丰富语义信息和细节信息的特征图通入多尺度特征提取模块,不仅保留了其细节信息,而且丰富了特征图的多尺度信息。将上述方法得到的特征图与SSD 算法的深层特征图组成新的特征金字塔,用于目标的分类与定位操作。

本文AFE-SSD 算法的贡献可以总结为以下3 点:

1)针对已有的特征融合方式,往往需要在尺寸最小的特征图上使用多次上采样操作,会引入不利于目标检测的噪声信息问题,本文通过通道拼接的特征融合方式,分别对主干网络中相邻的2 个特征图进行融合,提升了浅层特征图的语义信息表示能力。

2)对并行的多分支空洞卷积机制进行了改进,构建了多尺度特征提取模块。此模块通过将不同空洞率空洞卷积层级联,使单特征图上具有多尺度的信息。同时参考DenseNet 的思想,建立了特征层与空洞卷积层之间的密集连接,减少了模型参数,降低了时间复杂度。

3)通过在PASCLA VOC2007 测试集上的模型简化实验,验证了所提特征融合方式与多尺度特征提取模块的有效性。

2 AFE-SSD 算法

基于深度学习的目标检测算法通常将用于分类的卷积神经网络作为主干网络,目前分类效果较好的网络有VGG16[20]、ResNet[21]和InceptionNet[22]。为了满足实时检测的需要,AFE-SSD 算法以SSD 算法为基础,选用轻量级的VGG16 网络作为主干网络。该算法的整体框架如图1所示。

图1 AFE-SSD 算法整体框架Fig.1 Overall framework of AFE-SSD algorithm

首先分别将VGG16 中相邻的2 个特征图进行融合(如图1 中圆形框所示)得到具有丰富语义信息与细节信息的浅层特征图。然后为了进一步提升SSD算法对多尺度目标的检测能力,分别将融合后的特征图通入多尺度特征提取模块(Multi-scale Feature Extraction Module,MFEM),从而增强了特征图中的多尺度信息。由于特征层Conv9_2、Conv10_2、Conv11_2 的尺寸较小且已具有丰富的语义信息,因此不对其进行特征增强操作。最后将每个多尺度特征提取模块的输出以及Conv9_2、Conv10_2、Conv11_2 特征层用于检测。假设将Conv4_3、Conv7_fc、Conv8_2、Conv9_2、Conv10_2、Conv11_2分别用X1、X2、X3、X4、X5、X6表示,该算法的检测过程可以用下列表达式描述:

其中:ϕf表示特征融合方式;ϕp表示多尺度信息提取模块;ϕc,l表示预测目标位置及类别的操作。

2.1 特征融合方式

目前已有的特征融合方式,如DSSD[10]、FPN[12]采用自顶向下逐层融合的方式,需要在尺寸较小的特征图上经过多次上采样操作。这样不仅引入了大量不利于目标检测的噪声信息,而且大幅降低了算法的检测速度。因此,本文算法只对主干网络中相邻的2 个特征图进行融合。

特征融合方式的示意图如图2所示。为了方便表述与理解,以特征层n与特征层n+1 分别表示相邻的输入特征图。首先用1×1 Conv 对特征层n+1的通道数进行压缩,压缩后的通道数为特征层n+1的1/2,之后再将特征层通过BatchNorm 与Relu 层。同时,为了保持与特征层n+1 相同的学习能力,在特征层n后添加了3×3 Conv 以及BatchNorm 与Relu层,卷积后的特征层通道数同样为特征层n的1/2。其次由于特征融合模块将2 个不同尺寸大小的特征图作为输入,而反卷积的时间复杂度较高,因此采用双线性插值的方式将特征层n+1 扩展到与特征层n相同的尺寸大小。最后使用通道拼接操作将2 个特征层进行融合。

图2 特征融合方式示意图Fig.2 Schematic diagram of feature fusion mode

根据上述特征融合思路,分别将Conv4_3 与Conv7_fc 及Conv7_fc、Conv8_2 及Conv8_2、Conv9_2进行融合,融合后特征图的维度大小分别为38×38×768、19×19×768、10×10×384。

2.2 多尺度特征提取模块

由于TridentNet[17]在单特征图上采用多分支空洞卷积机制,权重参数的数量多,网络训练过程复杂。为此,本文构建了轻量级的多尺度特征提取模块,如图3所示。轻量级表现在2 个方面:1)模块训练难度小;2)模块具有较少的权重参数。

图3 多尺度特征提取模块示意图Fig.3 Schematic diagram of multi-scale feature extraction module

下文介绍此模块的构造过程:不同于并行的空洞卷积机制,多尺度特征提取模块在单特征图后使用不同空洞率的3×3 空洞卷积的级联获取特征图的多尺度信息,并且从避免空洞卷积的gridding 效应的角度考虑,采用空洞率组合为{1,2,3}的空洞卷积的级联。然后,在每层的空洞卷积层前用1×1 卷积作为瓶颈层减少输入通道的数量(如图3 中圆形框所示),从而提高网络的计算效率。最终多尺度特征提取模块获得的特征图具有多个感受野大小的信息,解决了在并行空洞卷积机制中因不同分支感受野不一致带来的网络训练过程复杂问题。

为了减少级联方式的权重参数,提升计算效率,参考DenseNet 的思想,建立了特征层与空洞卷积层之间的密集连接,如图3 中曲线连接所示。其中:C表示通道拼接操作;Growth rate 设置为12。每一层空洞卷积层都将前面所有层的输出采用通道拼接的方式融合作为额外输入,之后再将自身输出的通道数压缩为12 层,用公式表示为:

其中:[x0,x1,…,xl-1]表示从第0 层到第l-1 层的通道拼接操作;Hl是非线性转换函数,包含了BatchNorm、Relu、Conv 这一系列操作。在模块的最后添加1 个1×1 卷积层用来整合特征信息,使得用来做预测的特征层保持与模块的输入特征图相同的通道数。

表1所示为使用多分支空洞卷积机制与使用级联与DenseNet 相结合机制时,模块参数量的比较(假设输入特征图的通道数为512),可见本文所提多尺度特征提取模块显著减少了参数量。多尺度特征提取模块的整体结构设计如表2所示。其中:d表示空洞卷积;C表示特征图的通道数。

表1 多尺度特征提取模块参数量比较Table1 Comparison of multi-scale feature extraction module parameter quantity

表2 多尺度特征提取模块的结构设计Table2 Structural design of multi-scale feature extraction module

通过上述空洞卷积与密集连接的构造方式,多尺度特征提取模块最终得到的特征图不仅保留了原有的细节信息,而且具有丰富的多尺度信息。在实验部分中的模块简化实验也证实了所提模块的有效性。

2.3 先验框设置策略

在原始的SSD 算法中,不同层次的特征图的感受野大小不同,其对应的检测图像上不同尺度大小的区域。本文所提多尺度特征提取模块增加了SSD算法中浅层特征图的感受野,为了将先验框与每一层特征图的感受野准确对应,假设用于预测的特征图数量为m,则第k个特征图中先验框的尺寸计算为:

其中,sk表示先验框大小相对于图片的比例;smax取0.9;对于经过特征增强的特征图smin取0.3;没有经过特征增强的特征图(Conv9_2、Conv10_2、Conv11_2)smin取0.2。同时,在同一特征图上使用纵横比不同的先验框,以增强先验框对物体形状的鲁棒性。先验框的纵横比采用,则先验框的宽wk和高hk分别为:

其中:sk表示先验框的实际尺度。此外,对于纵横比αr为1 的情况,设置一个的先验框,这样每个特征图都设置了2 个纵横比为1 但大小不同的正方形先验框。在模型简化实验中验证了先验框设置策略提升了AFE-SSD 算法0.2%的检测精度。

2.4 损失函数

在AFE-SSD 算法中,总的目标损失函数为置信度误差与位置误差的加权和,即:

其中,N为已匹配边界框的数量;α为权重系数(本文算法α设置为1);g表示真实框;l表示预测框;Lconf为置信度误差;Lloc为位置误差。

置信度误差采用标准交叉熵的形式,即:

位置误差损失函数采用Smooth L1 损失函数形式,即:

其中:gˆ表示真实框相对于先验框编码后的值。

3 实验结果与分析

本文在PASCAL VOC2007 和VOC2012 数据集上验证ASE-SSD 算法的检测性能。PASCAL VOC的数据量信息如表3所示。其中:PASCAL VOC2007共含有9 963 张标注过的图片,24 640 个标注的物体数;PASCAL VOC2012 共含有23 080 张标注过的图片,54 900 个标注的物体数。

表3 PASCAL VOC 数据集图片及物体数Table3 Number of pictures and objects in the PASCAL VOC data set

3.1 训练策略

本文实验模型是基于Pytorch-1.2.0 框架,编程语言为Python3.6,实验操作系统为Ubuntu 18.04.2 LTS,CPU 型号为Intel®CoreTMI7-7700K,主频为4.2 GHz,核心数为8,系统内存为16 GB,GPU 型号为GTX 1080,CUDA 版本为10.0。首先,将原始的SSD 算法作为基础框架。然后,将在ImageNet[23]数据集上训练好的VGG16 网络作为AFE-SSD 算法的预训练模型,并且在VOC2007 和VOC2012 的训练集和验证集上训练AFE-SSD 算法。最后,在VOC2007 测试集上测试AFE-SSD 算法。

AFE-SSD 算法训练采用随机梯度下降法(Stochastic Gradient Descent,SGD),算法参数Batch size 设置为32,迭代次数设置为250,前5 次迭代的初始学习率为4×10-3,5~150 次迭代的学习率设置为10-3,150~200 次迭代的学习率设置为10-4,200~250 次迭代的学习率设置为10-5,权重衰减设置为0.000 5,动量因子设置为0.9。在先验框与真实框的匹配过程中,将IoU 值大于0.5 的看作是正样本;反之是负样本。由于正负样本的不平衡,采用难分样本抽样[24]的方式对负样本进行采样,使正样本与负样本的比例为1∶3。

3.2 PASCAL VOC2007 测试结果

表4所示为AFE-SSD 算法与目前6 种检测性能优异的目标检测算法在PASCAL VOC2007 数据集上的检测结果。其中:mAP 为检测精度的评价指标;FPS 为检测速度的评价指标。AFE-SSD 以VGG16为基础网络,图片输入尺寸为300像素×300像素时mAP 达到了79.8%以及58.8 Frames/s 的检测速度。与多阶段算法相比,比Faster R-CNN 的mAP 值高出了6.6 个百分点,比采用RseNet-101 为基础网络的RFCN[25]损失了0.7 个百分点的检测精度,但FPS 值远远高于R-FCN 算法。与单阶段检测算法相比,比采用Darknet-19 为基础网络的YOLOv2,mAP 值高出了6.1 个百分点;比DSOD[26]算法的mAP 值高出了2.1 个百分点;与采用相同基础网络及图片输入尺寸的SSD 算法相比,mAP 值高出了2.4 个百分点,且满足了实时检测能力的要求。此外,同样对SSD 算法进行改进的DSSD 算法相比SSD,mAP 值提高了1.2 个百分点,但由于DSSD 采用了运算时间复杂度较高的反卷积,检测速度却只有9.5 frame/s。因此,无论是检测精度还是检测速度,AFE-SSD 的检测效果都比对SSD 进行改进的DSSD 算法更好。

表4 PASCAL VOC2007 测试集测试结果Table4 Test results of PASCAL VOC2007 test set

为更直观地体现AFE-SSD 算法的检测效果,给出了AFE-SSD算法及目前性能优异的目标检测算法的散点图,如图4所示。其中:SSD 与AFE-SSD 算法是在GTX 1080 上进行测试的;其他算法是在GTX Titan X 上进行测试的。从图4 可以看出:AFESSD 算法的检测性能优于其他的目标检测算法。

图4 不同检测算法的速度和精度的散点图Fig.4 Scatter plot of speed and accuracy of different detection algorithms

表5 展示了SSD 算法、DSSD 算法与AFE-SSD算法在VOC2007 测试集上各个类别的检测结果(加粗字体表示最优值),其对应的柱状图如图5 所示。可以看出:在20 个类别中,AFE-SSD 算法有19 个类别的检测精度高于传统的SSD 算法,对于鸟、瓶子、猫等小目标的提升幅度达到了1.2%以上。此外,有12 个类别的检测精度高于DSSD 算法。因此,AFE-SSD 算法的性能要优于SSD算法及DSSD算法。

表5 PASCAL VOC2007 测试集各个类别测试结果Table 5 Test results of each category in the PASCAL VOC2007 test set %

图5 PASCAL VOC2007 测试集各个类别测试结果柱状图Fig.5 Histogram of test results of each categories in the PASCAL VOC2007 test set

3.3 模型简化实验

为了验证本文所提特征融合模块及多尺度特征提取模块在AFE-SSD 算法中的作用,设计了模型简化实验,实验结果如表6所示,其中,√为添加特征融合模块。

表6 PASCAL VOC2007 测试集模型简化实验结果Table 6 PASCAL VOC2007 test set model simplifies experimental results

由表6 可以看出:传统的SSD 算法获得了77.4%的检测精度,在仅添加特征融合模块时,提升了1.6 个百分点,在仅添加多尺度特征提取模块时,提升了1.0 个百分点;但将2 个模块同时添加时,达到了79.6%的检测精度。检测精度的提升证实了AFESSD 算法中特征融合模块及多尺度特征提取模块的有效性。此外,先验框设置策略的改进提升了AFESSD 算法0.2 个百分点的同时,检测速度没有损失,保证了算法的实时检测能力,原因在于只改变了先验框在图像中的尺寸大小,而没有增加先验框的数目,时间复杂度没有改变。

3.4 可视化实验

图6所示为SSD 算法与AFE-SSD 算法在PASCAL VOC2007 测试集上置信度大于0.5 的部分图像的检测结果,可以看出AFE-SSD 检测出的物体类别数要多于SSD 算法,尤其是对于小目标的检测提升效果明显,同时对于检测出相同物体的置信度,AFE-SSD算法远高于SSD 算法。原因在于:AFE-SSD 算法采用了特征融合与空洞卷积,对浅层特征层进行了特征增强,因此对多尺度目标的检测能力更强。

图6 SSD 和AFE-SSD 在PASCAL VOC2007 测试集上的检测结果Fig.6 Test results of SSD and AFE-SSD on the PASCAL VOC2007 test set

4 结束语

本文提出一种基于空洞卷积与特征增强的单阶段目标检测算法,通过特征融合的方式利用上下文信息,同时对并行空洞卷积的机制进行改进,增强特征图的特征表示能力。实验结果表明,该算法在满足实时检测能力的同时,检测精度相较于与SSD、DSSD 算法有着明显的优势,尤其是提升了对小目标的检测能力。但是该算法的检测精度与采用更深网络的多阶段检测算法相比仍有提升的空间,因此,下一步将在满足实时检测能力的同时,对特征融合部分进行更深入的研究,以提高算法的检测精度。

猜你喜欢
空洞特征提取尺度
财产的五大尺度和五重应对
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
空洞的眼神
宇宙的尺度
用事实说话胜过空洞的说教——以教育类报道为例
基于MED和循环域解调的多故障特征提取
9
臭氧层空洞也是帮凶
Walsh变换在滚动轴承早期故障特征提取中的应用