2. 复杂能源系统智能计算教育部工程研究中心,河北 保定 071003
2. Engineering Research Center of the Ministry of education for Intelligent Computing of Complex Energy System, Baoding 071003, China
目标检测是计算机视觉领域的重要研究方向。现阶段的目标检测方法主要有2种:一种是基于分类的两阶段法,另一种是基于回归的单阶段法。2014年Girshick等[1]首次提出R-CNN(region convolutional neural networ,R-CNN)使用选择性搜索[2]生成的区域建议。该算法相比传统算法得到了很大的提升,但是不能满足实时性要求。在2015年,Girshick等[3-4]在R-CNN和SPPNet(spatial pyramid pooling net)网络的基础上提出了Fast-RCNN网络。Fast R-CNN比R-CNN快,但是这个网络还是不能实现端到端的训练,因此He等[5]就端到端的问题提出了解决方法,提出了Faster-RCNN网络。Faster-RCNN将区域建议阶段和分类阶段结合到一个模型中,允许端到端学习。从R-CNN到Faster-RCNN的发展过程,都是先得到候选框,对候选框做处理之后再进入分类器做处理,这种类型的方法统称为两阶段目标检测法。两阶段方法不能满足实时性要求,基于回归的单阶段检测法应运而生。在单阶段检测方法中最具代表性的是YOLO[6-7]系列和SSD[8]系列。YOLO算法检测速度快,但是容易出漏检。为了改善YOLO算法中的缺陷,Liu等[8]提出SSD算法,SSD使用多尺度特征进行分类和回归任务,但是其效果仍有待提高。为了提高目标检测的准确率,DSSD[9]将反卷积技术应用于SSD的所有特征图,以获得放大的特征图。但是,由于将反卷积模块应用于所有特征图,因此存在模型复杂度增加和速度降低的局限性。此外,针对尺度较小的目标在检测中存在的问题,相关学者提出了一系列改进算法。Singh等[10]提出SNIP(scale normalization for image pyramids)算法,该算法主要思想是对特征图进行不同倍数采样,通过实验给出相对最优的检测小目标的特征图尺寸,最后通过Soft-NMS融合不同分辨率下的检测结果。Wen等[11]通过融合多尺度和反卷积获得了更高的准确性。Li等[12]使用生成对抗网络(GAN)[13]和低分辨率特征作为GAN的输入来生成高分辨率特征。但是这些方法在检测中仍然存在不能有效提取目标特征的缺陷。
特征金字塔网络(feature pyramid networks,FPN)将高层特征图进行上采样,然后与浅层特征进行加法合并操作,得到新的表达能力更强的特征图。但是FPN[14]在融合之前,不同的特征之间存在的语义信息差距较大,直接进行融合会降低多尺度特征的表达能力;其次,在融合过程中,信息自高层向低层进行传播时会丢失一些信息,而且FPN在进行特征提取时,忽略了高层信息与低层信息之间的关系,导致检测的精确度有所降低。
本文提出了双向特征融合与注意力机制结合的目标检测方法。该方法首先对SSD模型深层特征层进行双线性插值放大与浅层特征层进行特征融合,然后将得到的特征通过降采样的方式与深层信息进行融合,这样可以充分结合深层和浅层信息以提升浅层特征网络对小目标的表达能力,同时,引入通道注意力机制SeNet结构对特征融合后的特征图进行更新,提取出更有利于检测特征的通道。最后,针对目标检测中小目标漏检的情况,优化了正负样本的判定策略,使得筛选出的框的数量增加,进一步提高小目标检测的精度。
1 相关技术和理论SSD对目标进行分类和回归的过程:首先,输入大小为300像素×300像素的图片,然后使用卷积神经网络提取同卷积层中目标的特征,本文采用的是VGG作为特征提取网络;其次,提取到的特征根据不同特征层anchor的数目,对anchor进行分类,利用边界框回归对其进行位置调整,得到最终的建议框;然后,再使用非极大抑制算法对这些建议框进行筛选,得到检测结果。
特征金字塔网络(feature pyramid networks,FPN)对高层特征图进行上采样,然后与浅层特征进行加法合并操作,得到新的表达能力更强的特征图,这种多尺度的特征图在面对不同尺寸的物体时,具有更好的鲁棒性[15-17]。此外,这种特征金字塔结构是一种通用的特征提取结构,可以应用到不同的网络框架中,例如Faster-RCNN、SSD等。针对小目标的检测,可以检测出更加丰富的特征,进而提升其准确度。
2 基于改进SSD算法的目标检测本模型采用VGG16作为骨干网络,使用双向特征网络完成特征提取,首先,从骨干网络中提取出Conv3_3、Conv4_3、Conv5_3、FC7、Conv8_2和Conv9_2特征图,然后分两个部分进行双向特征融合,如图1所示。
2.1 双向特征融合过程 2.1.1 自顶向下特征融合图1中自顶向下的特征融合分为6个步骤:
1)对256通道的特征图Conv9_2使用1×1卷积升维成512通道的特征图P1;
2)对P1进行2倍上采样后与Conv8_2进行融合,对融合结果使用一个3×3的卷积层消除上采样过程中的混叠效应,使用SeNet对消除混叠效应后的特征图进行通道更新得到特征图P2;
3)对1024通道的特征图FC7使用1×1卷积降维成512通道,对P2进行2倍上采样后与降维后的FC7进行融合,使用3×3卷积层消除混叠效应,接着,使用SeNet进行通道更新,得到特征图P3;
4)由于特征图Conv5_3通道数为512,并且特征图尺寸与P3大小一致,因此直接对Conv5_3和P3进行相加融合,对融合结果同样使用3×3的卷积和SeNet得到特征图P4;
5)对P4进行2倍上采样,由于Conv4_3特征图尺寸为38×38比较大,因此在进行P4与Conv4_3的特征融合时需要先对P4进行归一化,接着使用3×3的卷积和SeNet得到特征图P5;
6)对P5进行2倍上采样,Conv3_3特征图尺寸为75×75,先对P4进行归一化,再与Conv3_3特征相加融合,接着使用3×3的卷积和SeNet得到特征图P6。
Download:
|
|
图1中自底向上的特征融合分为5个步骤:
1)将自顶向下融合中步骤6)中的P6作为起始特征图B1,然后,对B1进行2倍降采样,接着对降采样后的特征图进行归一化,对Conv4_3、P5和归一化后的特征图进行相加融合,对融合后的结果使用3×3的卷积和SeNet得到特征图B2;
2)对B2进行2倍降采样,由于Conv4_3特征图尺寸为38×38,比较大,因此,在B2与Conv5_3、P4融合时,需要先对B2进行L2归一化,接着使用3×3的卷积和SeNet得到特征图B3;
3)由于特征图Conv5_3通道数为512,并且特征图尺寸与B3大小一致,因此直接对B3与FC7、P3进行相加融合,对融合后的结果同样使用3×3的卷积和SeNet得到特征图B4;
4)对B4进行2倍降采样,然后与Conv8_2、P2进行相加融合,对融合后的结果同样使用3×3的卷积和SeNet得到特征图B5;
5)对B5进行2倍降采样,然后与Conv9_2、P1进行相加融合,对融合后的结果同样使用3×3的卷积和SeNet得到特征图B6。
2.1.3 双向特征融合模块文献[18-22]中提出了不同的特征融合的方法可以增强语义信息的表达能力,本文提出的双向特征融合机制首先将深层特征层进行双线性插值放大与浅层特征层进行特征融合,然后将得到的特征通过降采样的方式与深层信息进行融合,这样可以充分结合深层和浅层信息进行特征提取,进而提升浅层特征网络对目标语义信息的表达能力。双向特征融合过程细节如图2所示,图1中的自顶向下的方式进行特征融合如图(a)所示,自底向上的方式进行特征融合如图(b)所示,图中以Conv8_2和Conv9_2为例进行特征融合的表示。如图2所示,首先,将SSD提取到的高层特征Conv9_2使用双线性插值的方法与SSD提取的原始特征Conv8_2通过自顶向下的方式进行融合得到P3;然后将B4通过降采样的方式与P2进行融合。在进行自底向上的特征融合过程中,为了得到表征能力更强的特征,同时融合了SSD提取的原始Conv8_2特征。为了防止出现梯度爆炸问题,在进行双向特征融合中,在自顶向下和自底向上都加入了BN层,经过ReLU激活函数和SeNet注意力机制,得到最终的B5特征,最后送入检测层。
Download:
|
|
注意力机制是一种资源分配的策略,广泛应用在计算机视觉各个方向[23-24]。注意力机制让神经网络更多地去关注与特征相关的细节信息,这样可以加快信息的处理时间,进而一定程度上提高计算机处理信息的效率,最终提高特征的表达能力。本文选用的是SeNet注意力机制,该机制通过学习通道之间的关系,然后对卷积得到的特征图进行相应地处理,最终得到一个与通道数相同维度的向量,并且将此向量作为一个权重数,加到相应的通道上。注意力机制模型如图3所示。
Download:
|
|
首先,对输入的特征图进行全局池化,再连接两个全连接层,第一个全连接层神经元个数是c/16,第二个全连接层神经元个数为c。然后,再接一个Sigmod层输出1 ×1 ×c,得到各个通道对应的权重系数,最后与输入的特征图元素相乘。
2.2 目标位置与类别预测层首先,将提取到的特征层输入到预测层,然后,根据不同特征层anchor的数目和类别,对anchor进行分类,利用边界框回归对其进行位置的调整,得到最终的建议框。
2.2.1 对anchor进行的改进在网络模型划分正负样本阶段,anchor和真实框的交并比(intersection over union,IoU)值作为正负样本划分的依据。低于通常使用的阈值作为负样本,高于通常使用的阈值作为正样本。当IoU低于通常使用的阈值时存在两种情况。第1种情况,anchor大于真实框。但是,anchor中的上下文信息在目标检测中也有很大的作用,通过上下文信息可以有效地检测目标的信息,进而改善目标的漏检情况。第2种情况,anchor小于真实框,但是这些anchor包含被检测目标更多的局部特征。针对这两种情况,本文提出了一种改进的正负样本判定策略,保留低于IoU阈值但与目标相关的anchor作为正样本。将式(1)用于正负样本的判断中:
$ a = \frac{{{S_P} \cap {S_T}}}{{\min ({S_P},{S_T})}} $ | (1) |
式中:SP代表先验框集合;ST代表真实框集合;
网络的损失函数由两部分组成,分别是置信度损失和位置损失,如式(2)~(5)所示:
$ {L_f}(t,c) = - \sum_{i \in p}^N {{t_{ij}}\log (\hat c_i^p} ) - \sum_{i \in n} {\log (} \hat c_i^{\text{0}}) $ | (2) |
$ L(t,c,l,g) = \frac{1}{N}({L_f}(t,c) + \alpha {L_l}(t,l,g)) $ | (3) |
$ \hat c_i^p = \frac{{\exp (c_i^p)}}{{\displaystyle\sum_p {\exp (\hat c_i^p)} }} $ | (4) |
$ \begin{array}{l} {L_l}(t,l,g) = \displaystyle\sum_{i \in p}^N {\displaystyle\sum_{m \in (x,y,w,h)} {t_{ij}^k{\text{smoot}}{{\text{h}}_{{\text{L1}}}}(l_i^m - \hat g_j^m} } ) \\ \end{array} $ | (5) |
式中:t为输入图像;
非极大抑制算法实现步骤:首先根据设定的目标框的置信度阈值排列候选框列表,然后选取置信度最高的框添加到输出列表,并将其从候选框列表中删除。最后计算置信度最高的框与候选框列表中的所有框的IoU值,删除大于阈值的候选框。重复上述过程,直到候选框列表为空。
3 实验以及结果分析 3.1 实验设备以及参数设置本实验GPU使用的是NVIDIA GeForce GTX 1080Ti。Batch-size设置的是16,防止模型过拟合和模型收敛,先将学习率设置为0.001,训练8万次,再将学习率降低10倍设置为0.0001训练2万次,最后再降低10倍设置为0.00001训练2万次,共12万次。实验中的深度学习框架使用的是pytorch1.1。
VOC数据集有20类,包括训练集、验证集和测试集。为了防止过拟合,本文采用VOC2007+VOC2012数据集进行训练,然后再采用VOC2007测试集进行测试。
3.2 实验评价指标本文实验采用平均准确率(average precision,AP)、召回率(average recall,AR)和所有类别的均值平均精度mAP (mean average precision)作为精度评价指标;f/s(frame per second)作为速度评价指标,代表每秒内可以处理的图片数量。其中,AP代表正确检测为正占全部检测为正的比例[25]。
3.3 实验结果及对比通过改进SSD模型,本文模型在VOC2007和VOC2012训练集上训练,在不同尺度上的平均准确率和召回率值如表1所示。
由表1可知,在本文所提出的算法中,当输入尺寸大小为300像素×300像素时,平均准确率为80.6%,召回率为90.2%,速度为33 f/s;当输入大小为321像素×321像素时,平均准确率为81.5%,召回率为91.7%,速度为30 f/s,当输入大小为512像素×512像素时,平均准确率为82.5%,召回率为93.5%,速度为12 f/s。
为了进一步验证本文算法的有效性,进行了消融实验,其结果如表2所示。
由表2可知,本文所改进的方法中,在双向特征融合的基础上加入注意力机制可以使平均准确率提高2.2%,anchor的改进可以使平均准确率提高0.4%,整体的平均准确率可以提高3.1%。
本文模型在VOC2007和VOC2012训练集上训练,在VOC 2007测试集上的结果与主流算法Faster-RCNN、YOLOV2、DSSD321等实验结果对比如表3所示。
由表3可知,输入图像尺寸为300像素×300像素时,本文提出的模型平均准确率较YOLOV2、SSD300、DSSD321分别提高了6.9%、3.1%、1.1%。同时,SSD模型每秒检测46张图像,而本文改进后SSD模型每秒检测33张图像,相比于SSD模型,改进模型的检测速度略有下降,这是由于改进双向特征融合时模型计算量有所增加,从而影响模型的检测速度。
VOC2007具有20类目标,其中每一类别目标与主流的目标检测算法的AP的对比结果如表4所示。
由表4可知本文算法平均精度有一定的提高,尤其对小目标的提升更为显著。
为了验证本文算法的有效性,对原始SSD算法和本文算法的目标检测结果进行了可视化展示,如图4、5所示。本文算法检测框和目标贴合得更为紧密,同时对小目标的漏检和误检情况有一定程度的改善。
Download:
|
|
Download:
|
|
针对SSD目标检测中存在的问题,提出了双向特征融合和注意力机制结合的目标检测方法。与传统的特征金字塔不同,该方法引入双向融合特征金字塔,充分考虑高层与低层信息之间的关系,进一步得到了语义信息更丰富的多尺度特征图。同时,在自顶向下和自底向上的双向融合中加入了通道注意力机制,提高了特征融合的效率。最后,针对目标的漏检情况,本文提出了一种改进的正负样本判定策略,提取到被检测目标更多的局部特征。经过实验对比,本文所提出的算法模型相较于传统SSD算法,平均准确率方面提高3.1%,表明了本文所提算法的有效性。
[1] | GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA, 2014: 580−587. (0) |
[2] | UIJLINGS J R R, VAN DE SANDE K E A, GEVERS T, et al. Selective search for object recognition[J]. International journal of computer vision, 2013, 104(2): 154-171. DOI:10.1007/s11263-013-0620-5 (0) |
[3] | HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(9): 1904-1916. DOI:10.1109/TPAMI.2015.2389824 (0) |
[4] | GIRSHICK R. Fast R-CNN[C]//Proceedings of the IEEE International Conference on Computer Vision. Santiago, Chile, 2015: 1440−1448. (0) |
[5] | REN Shaoqing, HE Kaiming, 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 (0) |
[6] | REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA, 2016: 779−788. (0) |
[7] | REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 6517−6525. (0) |
[8] | LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherland, 2016: 21−37. (0) |
[9] | FU Chengyang, LIU Wei, RANGA A, et al. DSSD: deconvolutional single shot detector[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Hawaii, USA, 2017: 2881−2890. (0) |
[10] | SINGH B, DAVIS L S. An analysis of scale invariance in object detection-SNIP[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA, 2018: 3578−3587. (0) |
[11] |
温静, 李雨萌. 基于多尺度反卷积深度学习的显著性检测[J]. 计算机科学, 2020, 47(11): 179-185. WEN Jing, LI Yumeng. Salient object detection based on multi-scale deconvolution deep learning[J]. Computer science, 2020, 47(11): 179-185. DOI:10.11896/jsjkx.190900008 (0) |
[12] | LI Jianan, LIANG Xiaodan, WEI Yunchao, et al. Perceptual generative adversarial networks for small object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 1951−1959. (0) |
[13] | GOODFELLOW I J, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, Canada, 2014: 2672−2680. (0) |
[14] | LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 936−944. (0) |
[15] |
刘涛, 汪西莉. 采用卷积核金字塔和空洞卷积的单阶段目标检测[J]. 中国图象图形学报, 2020, 25(1): 102-112. LIU Tao, WANG Xili. Single-stage object detection using filter pyramid and atrous convolution[J]. Journal of image and graphics, 2020, 25(1): 102-112. DOI:10.11834/jig.190166 (0) |
[16] |
陈景明, 金杰, 王伟锋. 基于特征金字塔网络的改进算法[J]. 激光与光电子学进展, 2019, 56(21): 211505. CHEN Jingming, JIN Jie, WANG Weifeng. Improved algorithm based on feature pyramid networks[J]. Laser & optoelectronics progress, 2019, 56(21): 211505. (0) |
[17] |
张涛, 张乐. 一种基于多尺度特征融合的目标检测算法[J]. 激光与光电子学进展, 2021, 58(2): 0215003. ZHANG Tao, ZHANG Le. Multiscale feature fusion-based object detection algorithm[J]. Laser & optoelectronics progress, 2021, 58(2): 0215003. (0) |
[18] |
和超, 张印辉, 何自芬. 多尺度特征融合工件目标语义分割[J]. 中国图象图形学报, 2020, 25(3): 476-485. HE Chao, ZHANG Yinhui, HE Zifen. Semantic segmentation of workpiece target based on multiscale feature fusion[J]. Journal of image and graphics, 2020, 25(3): 476-485. DOI:10.11834/jig.190218 (0) |
[19] |
鞠默然, 罗江宁, 王仲博, 等. 融合注意力机制的多尺度目标检测算法[J]. 光学学报, 2020, 40(13): 1315002. JU Moran, LUO Jiangning, WANG Zhongbo, et al. Multi-scale target detection algorithm based on attention mechanism[J]. Acta optica sinica, 2020, 40(13): 1315002. DOI:10.3788/AOS202040.1315002 (0) |
[20] |
张筱晗, 姚力波, 吕亚飞, 等. 双向特征融合的数据自适应SAR图像舰船目标检测模型[J]. 中国图象图形学报, 2020, 25(9): 1943-1952. ZHANG Xiaohan, YAO Libo, LV Yafei, et al. Data-adaptive single-shot ship detector with a bidirectional feature fusion module for SAR images[J]. Journal of image and graphics, 2020, 25(9): 1943-1952. (0) |
[21] |
高杨, 肖迪. 基于多层特征融合的小目标检测算法[J]. 计算机工程与设计, 2020, 41(7): 1905-1909. GAO Yang, XIAO Di. Small object detection algorithm based on multi-feature fusion[J]. Computer engineering and design, 2020, 41(7): 1905-1909. (0) |
[22] |
杨锐, 张宝华, 张艳月, 等. 基于深度特征自适应融合的运动目标跟踪算法[J]. 激光与光电子学进展, 2020, 57(18): 181501. YANG Rui, ZHANG Baohua, ZHANG Yanyue, et al. Moving object tracking algorithm based on depth feature adaptive fusion[J]. Laser & optoelectronics progress, 2020, 57(18): 181501. (0) |
[23] |
赵文清, 程幸福, 赵振兵, 等. 注意力机制和Faster RCNN相结合的绝缘子识别[J]. 智能系统学报, 2020, 15(1): 92-98. ZHAO Wenqing, CHENG Xingfu, ZHAO Zhenbing, et al. Insulator recognition based on attention mechanism and faster RCNN[J]. CAAI transactions on intelligent systems, 2020, 15(1): 92-98. (0) |
[24] |
徐诚极, 王晓峰, 杨亚东. Attention-YOLO: 引入注意力机制的YOLO检测算法[J]. 计算机工程与应用, 2019, 55(6): 13-23. XU Chengji, WANG Xiaofeng, YANG yadong. Attention-YOLO: YOLO detection algorithm that introduces attention mechanism[J]. Computer engineering and applications, 2019, 55(6): 13-23. DOI:10.3778/j.issn.1002-8331.1812-0010 (0) |
[25] |
单义, 杨金福, 武随烁, 等. 基于跳跃连接金字塔模型的小目标检测[J]. 智能系统学报, 2019, 14(6): 1144-1151. SHAN Yi, YANG Jinfu, WU Suishuo, et al. Skip feature pyramid network with a global receptive field for small object detection[J]. CAAI transactions on intelligent systems, 2019, 14(6): 1144-1151. (0) |