2. 西藏大学 工学院, 拉萨 850000
2. School of Engineering, Tibet University, Lhasa 850000, China
开放科学(资源服务)标志码(OSID):
目标检测是结合目标定位和目标识别的一项基础性计算机视觉任务,其目的是在图像的复杂背景中找到若干目标,给出一个精确的目标边框,并判断该边框中目标所属的类别[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所示。
![]() |
Download:
|
图 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分别用
$ {X}_{1}^{\text{'}}={\phi }_{p}\left\{{\phi }_{f}\right({X}_{1}, {X}_{2}\left)\right\} $ | (1) |
$ {X}_{2}^{\text{'}}={\phi }_{p}\left\{{\phi }_{f}\right({X}_{2}, {X}_{3}\left)\right\} $ | (2) |
$ {X}_{3}^{\text{'}}={\phi }_{p}\left\{{\phi }_{f}\right({X}_{3}, {X}_{4}\left)\right\} $ | (3) |
$ {L}_{\mathrm{L}\mathrm{o}\mathrm{c}}, {C}_{\mathrm{C}\mathrm{l}\mathrm{a}\mathrm{s}\mathrm{s}}={\phi }_{c, l}(\bigcup \{{X}_{1}^{\text{'}}, {X}_{2}^{\text{'}}, {X}_{3}^{\text{'}}, {X}_{4}, {X}_{5}, {X}_{6}\left\}\right) $ | (4) |
其中:
目前已有的特征融合方式,如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个特征层进行融合。
![]() |
Download:
|
图 2 特征融合方式示意图 Fig. 2 Schematic diagram of feature fusion mode |
根据上述特征融合思路,分别将Conv4_3与Conv7_fc及Conv7_fc、Conv8_2及Conv8_2、Conv9_2进行融合,融合后特征图的维度大小分别为
由于TridentNet[17]在单特征图上采用多分支空洞卷积机制,权重参数的数量多,网络训练过程复杂。为此,本文构建了轻量级的多尺度特征提取模块,如图 3所示。轻量级表现在2个方面:1)模块训练难度小;2)模块具有较少的权重参数。
![]() |
Download:
|
图 3 多尺度特征提取模块示意图 Fig. 3 Schematic diagram of multi-scale feature extraction module |
下文介绍此模块的构造过程:不同于并行的空洞卷积机制,多尺度特征提取模块在单特征图后使用不同空洞率的
为了减少级联方式的权重参数,提升计算效率,参考DenseNet的思想,建立了特征层与空洞卷积层之间的密集连接,如图 3中曲线连接所示。其中:C表示通道拼接操作;Growth rate设置为12。每一层空洞卷积层都将前面所有层的输出采用通道拼接的方式融合作为额外输入,之后再将自身输出的通道数压缩为12层,用公式表示为:
$ {x}_{l}={H}_{l}\left(\right[{x}_{0}, {x}_{1}, \cdots , {x}_{l-1}\left]\right) $ | (5) |
其中:
表 1所示为使用多分支空洞卷积机制与使用级联与DenseNet相结合机制时,模块参数量的比较(假设输入特征图的通道数为512),可见本文所提多尺度特征提取模块显著减少了参数量。多尺度特征提取模块的整体结构设计如表 2所示。其中:
![]() |
下载CSV 表 1 多尺度特征提取模块参数量比较 Table 1 Comparison of multi-scale feature extraction module parameter quantity |
![]() |
下载CSV 表 2 多尺度特征提取模块的结构设计 Table 2 Structural design of multi-scale feature extraction module |
通过上述空洞卷积与密集连接的构造方式,多尺度特征提取模块最终得到的特征图不仅保留了原有的细节信息,而且具有丰富的多尺度信息。在实验部分中的模块简化实验也证实了所提模块的有效性。
2.3 先验框设置策略在原始的SSD算法中,不同层次的特征图的感受野大小不同,其对应的检测图像上不同尺度大小的区域。本文所提多尺度特征提取模块增加了SSD算法中浅层特征图的感受野,为了将先验框与每一层特征图的感受野准确对应,假设用于预测的特征图数量为m,则第k个特征图中先验框的尺寸计算为:
$ {\mathrm{s}}_{k}={s}_{\mathrm{m}\mathrm{i}\mathrm{n}}+\frac{{s}_{\mathrm{m}\mathrm{a}\mathrm{x}}-{s}_{\mathrm{m}\mathrm{i}\mathrm{n}}}{m-1}(k-1),k\in [1, m] $ | (6) |
其中,
$ \left\{\begin{array}{c}{w}_{k}={s}_{k}\sqrt{{\alpha }_{r}}\\ {h}_{k}={s}_{k}/\sqrt{{\alpha }_{r}}\end{array}\right. $ | (7) |
其中:
在AFE-SSD算法中,总的目标损失函数为置信度误差与位置误差的加权和,即:
$ L(x, c, l, g)=\frac{1}{N}\left({L}_{\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{f}}\right(x, c)+\alpha {L}_{\mathrm{l}\mathrm{o}\mathrm{c}}(x, l, g\left)\right) $ | (8) |
其中,
置信度误差采用标准交叉熵的形式,即:
$ {L}_{\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{f}}(x, c)=-\sum\limits_{i\in \mathrm{P}\mathrm{o}\mathrm{s}}^{N}{x}_{ij}^{p}\mathrm{l}\mathrm{o}{\mathrm{g}}_{a}\left({\widehat{c}}_{i}^{p}\right)-\sum\limits_{i\in \mathrm{N}\mathrm{e}\mathrm{g}}\mathrm{l}\mathrm{o}{\mathrm{g}}_{a}\left({\widehat{c}}_{i}^{0}\right) $ | (9) |
其中:
位置误差损失函数采用Smooth L1损失函数形式,即:
$ {L}_{\mathrm{l}\mathrm{o}\mathrm{c}}(x, l, g)=\sum\limits_{i\in \mathrm{P}\mathrm{o}\mathrm{s}}^{N}\sum\limits_{m\in \{cx, cy, w, h\}}{x}_{ij}^{k}\mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}{\mathrm{h}}_{L1}({l}_{i}^{m}-{\widehat{g}}_{j}^{m}) $ | (10) |
其中:
本文在PASCAL VOC2007和VOC2012数据集上验证ASE-SSD算法的检测性能。PASCAL VOC的数据量信息如表 3所示。其中:PASCAL VOC2007共含有9 963张标注过的图片,24 640个标注的物体数;PASCAL VOC2012共含有23 080张标注过的图片,54 900个标注的物体数。
![]() |
下载CSV 表 3 PASCAL VOC数据集图片及物体数 Table 3 Number of pictures and objects in the PASCAL VOC data set |
本文实验模型是基于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所示为AFE-SSD算法与目前6种检测性能优异的目标检测算法在PASCAL VOC2007数据集上的检测结果。其中:mAP为检测精度的评价指标;FPS为检测速度的评价指标。AFE-SSD以VGG16为基础网络,图片输入尺寸为
![]() |
下载CSV 表 4 PASCAL VOC2007测试集测试结果 Table 4 Test results of PASCAL VOC2007 test set |
为更直观地体现AFE-SSD算法的检测效果,给出了AFE-SSD算法及目前性能优异的目标检测算法的散点图,如图 4所示。其中:SSD与AFE-SSD算法是在GTX 1080上进行测试的;其他算法是在GTX Titan X上进行测试的。从图 4可以看出:AFE-SSD算法的检测性能优于其他的目标检测算法。
![]() |
Download:
|
图 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算法。
![]() |
下载CSV 表 5 PASCAL VOC2007测试集各个类别测试结果 Table 5 Test results of each category in the PASCAL VOC2007 test set |
![]() |
Download:
|
图 5 PASCAL VOC2007测试集各个类别测试结果柱状图 Fig. 5 Histogram of test results of each categories in the PASCAL VOC2007 test set |
为了验证本文所提特征融合模块及多尺度特征提取模块在AFE-SSD算法中的作用,设计了模型简化实验,实验结果如表 6所示,其中,√为添加特征融合模块。
![]() |
下载CSV 表 6 PASCAL VOC2007测试集模型简化实验结果 Table 6 PASCAL VOC2007 test set model simplifies experimental results |
由表 6可以看出:传统的SSD算法获得了77.4%的检测精度,在仅添加特征融合模块时,提升了1.6个百分点,在仅添加多尺度特征提取模块时,提升了1.0个百分点;但将2个模块同时添加时,达到了79.6%的检测精度。检测精度的提升证实了AFE-SSD算法中特征融合模块及多尺度特征提取模块的有效性。此外,先验框设置策略的改进提升了AFE-SSD算法0.2个百分点的同时,检测速度没有损失,保证了算法的实时检测能力,原因在于只改变了先验框在图像中的尺寸大小,而没有增加先验框的数目,时间复杂度没有改变。
3.4 可视化实验图 6所示为SSD算法与AFE-SSD算法在PASCAL VOC2007测试集上置信度大于0.5的部分图像的检测结果,可以看出AFE-SSD检测出的物体类别数要多于SSD算法,尤其是对于小目标的检测提升效果明显,同时对于检测出相同物体的置信度,AFE-SSD算法远高于SSD算法。原因在于:AFE-SSD算法采用了特征融合与空洞卷积,对浅层特征层进行了特征增强,因此对多尺度目标的检测能力更强。
![]() |
Download:
|
图 6 SSD和AFE-SSD在PASCAL VOC2007测试集上的检测结果 Fig. 6 Test results of SSD and AFE-SSD on the PASCAL VOC2007 test set |
本文提出一种基于空洞卷积与特征增强的单阶段目标检测算法,通过特征融合的方式利用上下文信息,同时对并行空洞卷积的机制进行改进,增强特征图的特征表示能力。实验结果表明,该算法在满足实时检测能力的同时,检测精度相较于与SSD、DSSD算法有着明显的优势,尤其是提升了对小目标的检测能力。但是该算法的检测精度与采用更深网络的多阶段检测算法相比仍有提升的空间,因此,下一步将在满足实时检测能力的同时,对特征融合部分进行更深入的研究,以提高算法的检测精度。
[1] |
JOSHI K A, THAKORE D G. A survey on moving object detection and tracking in video surveillance system[J]. International Journal of Soft Computing and Engineering, 2012, 2(3): 44-48. |
[2] |
REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Computer Society, 2016: 779-788.
|
[3] |
REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Computer Society, 2017: 7263-7271.
|
[4] |
GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA: IEEE Press, 2014: 580-587.
|
[5] |
GIRSHICK R. Fast R-CNN[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Santiago, Chile: IEEE Press, 2015: 1440-1448.
|
[6] |
REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[7] |
LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[C]//Proceedings of European Conference on Computer Vision. Amsterdam, The Netherlands: Springer, 2016: 21-37.
|
[8] |
KONG T, YAO A, CHEN Y, et al. Hypernet: towards accurate region proposal generation and joint object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 845-853.
|
[9] |
BELL S, LAWRENCE Z C, BALA K, et al. Inside-outside Net: detecting objects in context with skip pooling and recurrent neural networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 2874-2883.
|
[10] |
FU C Y, LIU W, RANGA A, et al. DSSD: deconvolutional single shot detector[EB/OL]. [2020-04-13]. http://arxiv.org/abs/1701.06659.
|
[11] |
LI Z, ZHOU F. FSSD: feature fusion single shot MultiBox detector[EB/OL]. [2020-04-13]. http://arxiv.org/abs/1712.00960.
|
[12] |
LIN T Y, DOLLAR P, GRISHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 2117-2125.
|
[13] |
HE K, GKIOXARI G, DOLLAR P, et al. Mask R-CNN[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Computer Society, 2017: 2961-2969.
|
[14] |
REDMON J, FARHADI A. Yolov3: an incremental improvement[EB/OL]. [2020-04-13]. http://arxiv.org/abs/1804.02767.
|
[15] |
ADELSON E H, ANDERSON C H, BERGEN J R, et al. Pyramid methods in image processing[J]. RCA Engineer, 1984, 29(6): 33-41. |
[16] |
SINGH B, DAVIS L S. An analysis of scale invariance in object detection-SNIP[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 3578-3587.
|
[17] |
LI Y, CHEN Y, WANG N, et al. Scale-aware trident networks for object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 6054-6063.
|
[18] |
DOLLÁR P, APPEL R, BELONGIE S, et al. Fast feature Pyramids for object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(8): 1532-1545. DOI:10.1109/TPAMI.2014.2300479 |
[19] |
HUANG G, LIU Z, LAURENS V D M, et al. Densely connected convolutional networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 4700-4708.
|
[20] |
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2020-04-13]. http://arxiv.org/abs/1409.1556.
|
[21] |
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 770-778.
|
[22] |
SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Santiago, Chile: IEEE Press, 2015: 1-9.
|
[23] |
RUSSAKOVSKY O, DENG J, SU H, et al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252. |
[24] |
SHRIVASTAVA A, GUPTA A, GIRSHICK R. Training region-based object detectors with online hard example mining[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 761-769.
|
[25] |
DAI J, LI Y, HE K, et al. R-FCN: object detection via region-based fully convolutional networks[C]//Proceedings of NIPS'16. Barcelona, Spain: MIT Press, 2016: 379-387.
|
[26] |
SHEN Z, LIU Z, LI J, et al. DSOD: learning deeply supervised object detectors from scratch[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 1919-1927.
|