一种改进的多门控特征金字塔网络 下载: 1095次
1 引言
目标检测在当今社会上有着广泛应用,如无人驾驶、导弹制导和野外搜救等,其主要任务是对图像中特定目标进行定位和判别。传统的基于手工特征的检测方法虽然取得了较好的效果,但是处理过程繁琐,并且针对不同类型的图像需要选择合适的检测特征,当面对类别较多、内容复杂的图像时,检测效果很差。
2014年,Girdhivk等[1]提出的基于区域卷积的神经网络(R-CNN)使用卷积神经网络(CNN)来提取图像特征,相对于传统方法在精度和速度上取得巨大突破,在PSCAL VOC 2012[2]数据集上平均检测精度达到53.3%。于是,如何构建CNN以产生更有表征能力的特征成为深度学习目标检测算法的重要发展方向。SPPNet[3]、Fast R-CNN[4]、Faster R-CNN[5]等基于R-CNN的算法均在单个输入尺度上计算最顶层特征图来预测候选边界,但由于最顶层特征具有固定尺度的接受场,图像中与接受场尺度相差较大的目标的检测误差较大。尤其是对一些小尺度目标来说,最顶层的特征层甚至忽略了其特征信息。2016年Liu等[6]提出了SSD(Single Shot MultiBox Detector)算法,采用一种多尺度预测的思想,在多个不同深度的特征层上同时来预测候选边界,以适应图像中不同尺度的目标。此方法兼顾了感受野和接受场对目标尺度的适应性,不过其在不同的特征层上独立进行预测,忽视了深层特征对浅层特征的辅助作用。为此,众多学者们都对网络结构进行改进来融合不同深度的特征层。Lin等[7]提出了特征金字塔网络(FPN),其利用深度卷积网络固有的多尺度、多层次特征建立自上而下横向连接的结构,从而构建出更具表征能力的高级语义特征图。目前较为先进的检测网络均采用了FPN结构,如YOLOV3[8],RetinaNet[9],RefineDet[10]。2017年Fu等[11]提出的DSSD(Deconvolutional Single Shot Detector)采用了FPN的思想,并把SSD的基准网络从VGG(Visual Geometry Group)换成了Resnet-101,增强了特征提取能力,然后使用反卷积层减少了深层特征图上采样的结构损失,最终提升了目标检测精度(尤其是小物体),但是其速度下降了很多。Li等[12]提出的FSSD(Feature Fusion Single Shot Multibox Detector)先将VGG16[13]顶层的三个特征提取层进行融合后,再产生6个额外特征层,最后进行回归,其在保证SSD速度的条件下提升了精确度。Jeong等[14]提出的RSSD(Rainbow Single Shot Detector)利用池化和反卷积结构建立了双向融合结构,解决了一个目标匹配到多框的问题同时提升了检测精度。2019年, Zhao等[15]提出的M2Det在FPN的基础上建立更深的TUM(Thinned U-shape Module)结构,在VGG16基础特征图上并联了三路TUM结构分别来提取浅层特征、中层特征及深层特征,其精度在COCO(Common Objects in COntext)数据集上取得了极大提升。Liu等[16]在FSSD的基础上建立了多任务检测算法,结合场景信息特征进行融合,提升了空对地目标的检测。
虽然这些借鉴FPN特征融合思想的算法取得了较好的效果,但很少有学者对特征融合时深层信息上采样产生的结构误差进行研究。为此,本文针对FPN融合结构进行改进,在不同深度的特征层之间建立一条自上而下的记忆链,将深层的特征信息更有效地保留下来,同时结合长短时记忆(LSTM)网络[17]的门控思想,利用不同深度的特征信息对记忆链上的结构误差进行过滤,对有效特征进行融合以产生表征能力更强的高级语义特征图。在SSD算法框架对改进的结构进行验证,提出一种具有选择性和记忆性的网络结构——MSSD(Memory SSD),并在VOC2007数据集上进行验证。实验结果显示,本改进算法在FPS(Frames Per Second)下降有限的情况下,在精度上相比传统的FPN结构有了较大提升,输入300 pixel×300 pixel图像时,平均检测精度达到79.0%。
2 改进的FPN算法
传统的FPN算法如
式中:
FPN在融合不同深度的特征层时采用直接相加的做法,然而经过上采样后的深层特征图空间结构信息受损,必然会产生噪声。一方面由于深层特征层拥有更大的感受野,其特征包含大量的高级语义信息,因此当深层特征被噪声污染时,其对浅层特征中的位置信息必然造成负面干扰,影响目标检测。同时,深层特征包含的部分全局信息对浅层的小区域信息来说并不总有正面影响,当全局信息中包含一类以上目标时,必然仅对其中的某一类目标的定位有辅助作用。随着其自上而下融合,噪声又被进一步累加,即使FPN在不同层进行有监督的训练,仍然不可避免地对浅层特征图的细粒度产生影响。另一方面,FPN在自上而下的融合过程中不相邻的特征层之间信息传递能力较低。在经过多层融合后,与当前层相邻较远的特征层的影响基本消失,这些特征层的辅助作用便被忽略。因此,本研究结合LSTM的记忆和筛选能力,对FPN进行改进。
改进的网络结构如
反卷积融合单元如
所示,式中,
记忆和滤波通道的结构如
式中:
式中,Sigmoid和Tanh为激活函数。
3 MSSD网络
为验证改进的FPN网络的有效性,以SSD网络为基础,提出MSSD网络。MSSD算法是在SSD算法的基础上加入改进的FPN结构,基础网络依旧沿用VGG16。而后,在其中4个附加层上建立记忆和滤波通道。MSSD的网络结构如
3.1 基础特征提取网络
MSSD的基础特征提取网络沿用VGG16,并与传统SSD网络一样在Conv4_3层之后增加了6个额外的特征层,在不同感受野和接受场对目标进行特征的提取。也在ResNet101[19]上的同尺度的特征层上进行测试,对比结果显示其在精度上有少量提升,但是FPS大幅下降。虽然ResNet对图像的提取能力更强,但其网络结构更深,复杂度更高,综合考虑后,依旧采用VGG16进行特征提取。
3.2 Fusion block及记忆和滤波通道
该结构即改进的FPN,Fusion block如(3)式所示。传统的FPN在融合当前层特征时采用1×1的卷积层进行降维处理,而后与上层网络经过双线性插值后相加。而Fusion block为提升信息的利用率,去除了1×1的卷积层,相应地为保持维度一致,利用反卷积对上层网络进行上采样。相比于双线性插值来说,反卷积是网络通过训练习得的,文献[ 20]也指出通过反卷积后进行融合可以得到较好的细节,获得尽可能强的语义信息。本网络3组反卷积的参数输入通道、输出通道、卷积核尺度和步长分别为[256,512,2,2]、[512,1024,1,2]和[1024,512,2,3]。记忆和滤波通道结构是结合LSTM网络提出的。LSTM网络在长序列依赖问题上提供了一个有效的解决方案,而在CNN中,随着网络的加深,特征图的感受野增加,特征也从细节敏感变到语义敏感。整个过程可以看作为视角上升的过程,所有特征层可以看作为一组更加复杂的序列信息。本网络中Conv10_2和Pool11两层由于尺寸较小,上采样重建难度较大,夹杂噪声较多,仅在Conv4_3、Conv7、Conv8_2和Conv9_2这4个特征层上建立横向链接。为匹配SSD网络的接受域,最终得到的Module1、Module2和Module3特征层的尺度和维度与Conv4_3、Conv7和Conv8_2保持一致。
3.3 锚点(Anchors)
传统的SSD网络在每个特征层的锚点上生成4~6个默认框(Default Boxes)。在本网络中,增加了锚点的覆盖度同时兼顾网络的复杂度,在每个特征层的锚点上生成同样数目的默认框,其比例参照文献[ 9],在每个尺度的特征层上设置3个横纵比[1/2,1,2],每个横纵比分为[20,21/3]两个级别。经计算,对于300 pixel×300 pixel的输入图像,产生的默认框覆盖的区域范围为30 pixel×30 pixel到330 pixel×330 pixel,满足覆盖所有图像的目标。采用文献[ 6]的匹配方案将真实框(Ground Truth Boxes)匹配到默认框,交并比(IOU)设置为0.5。边框回归的计算方式为计算边界框(Bounding Boxes)与匹配到目标的默认框的长,宽和中心位置4个参数的偏移度。
3.4 模型的训练
在模型训练过程中,首先对数据进行增广处理。对训练集随机进行水平翻转,尺度变化,亮度变化和旋转变化,增加网络的稳健性。训练的损失函数同文献[ 6],位置损失采用smooth L1,分类损失采用Log loss,并采用难样本挖掘(Hard Negative Mining)对正负样本进行平衡。优化器采用传统的随机梯度下降法(SGDR),学习率设置为0.001,动量值为0.9。主干网络VGG16采用在ImageNet上的预训练模型,其余卷积层采用均值为0、方差为0.01的高斯权重填充,偏执值初始化为0。训练在1个GPU上进行,批次设为32,共进行140000批次的训练。
4 实验
实验在Ubuntu16.04系统的Pytorch框架下运行,并使用CUDA8.0和cuDNN5.0来加速训练。计算机搭载的CPU为Corei7-8700k,显卡为NVIDIA GTX1080Ti,内存为32 G。网络的性能通过平均精度和检测速度(即FPS)来测试。在PASCAL VOC2007和PASCAL VOC2012的训练集上对MSSD网络进行训练,训练集包含16551幅图像,20类目标。在PASCAL VOC2007的测试集上对网络进行测试,其中测试集包含4952幅图像。
4.1 算法有效性研究
为验证改进结构的有效性,设置了若干组对比实验。其中实验的图像输入尺寸统一设置为300 pixel×300 pixel,输出的检测框与真实框的IOU阈值统一为0.5,FPS为计算机在空载状态时在NVIDIA GTX1080Ti上测得。
4.1.1 与FPN结构对比
在MSSD网络的基础上将Conv4_3、Conv7、Conv8_2和Conv9_2这4个特征层的增强方式改为FPN,其中横向链接的1×1卷积层的通道数同文献[
8]的FPN结构,设置为256。将此FPN-SSD结构与MSSD网络进行对比。MSSD选择在Conv4_3、Conv7、Conv8_2和Conv9_2这4个特征层上进行特征增强,这里设置同时在6个特征层上进行增强对比实验,如
表 1. 加入FPN结构的SSD网络与MSSD网络的性能对比
Table 1. Comparison between SSD network with FPN structure and MSSD network
|
4.1.2 特征融合结构
MSSD的特征融合结构相比FPN去除了1×1的卷积层,并将双线性插值的上采样改为反卷积,特征融合采用相加的方式(Sum)。为验证该改进的有效性,保留其他网络结构,分别测试是否去除1×1的卷积层和是否采用反卷积的不同情况,并与原始网络进行对比,如
表 2. 融合结构的改进效果对比
Table 2. Comparison of improved effects of fusion structure
|
4.1.3 记忆和滤波通道
本结构是MSSD网络的核心,该结构主要包含三个门结构。本部分分别对三个门结构的有效性作对比实验,如
表 3. 记忆和滤波通道的有效性分析
Table 3. Analysis of effectiveness of memory and filter channels
|
4.1.4 基础特征提取网络
MSSD提出的特征提取网络采用了VGG16。而相比于ResNet来说,VGG16的特征提取能力明显不足,因此将特征提取网络改为ResNet101进行对比。采取文献[
8]的方法,在ResNet101的第3~5个block上建立增强结构,三个特征层分别为Conv3_12、Conv4_69和Conv5_9。对于增强结构,对比FPN和本研究的改进FPN结构,结果如
表 4. 改变基础网络性能对比
Table 4. Performance comparison of different basic networks
|
4.2 算法性能研究
将所提算法与其他先进的深度学习目标检测算法进行比较,如
表 5. 各类先进深度学习算法在VOC2007数据集上精度对比
Table 5. Accuracy comparison of various advanced deep learning algorithms on VOC2007 dataset
|
表 6. 各类基于SSD的改进算法的测试结果对比
Table 6. Comparison of test results of various improved algorithms based on SSD
|
表 7. SSD算法和MSSD算法对小目标的检测精度
Table 7. Detection accuracy of small targets by SSD algorithm and MSSD algorithm
|
MSSD算法的部分可视化结果如
图 5. SSD算法和MSSD算法的可视化对比。(a)(c)(e)(g) SSD算法;(b)(d)(f)(h) MSSD算法
Fig. 5. Visual comparison of SSD algorithm and MSSD algorithm. (a)(c)(e)(g) SSD algorithm; (b)(d)(f)(h) MSSD algorithm
5 结论
分析了传统的FPN在特征融合过程中存在的不足,为增强不同深度特征的融合效果,结合LSTM提出了一种多门控的记忆滤波结构。为验证改进的有效性,在SSD网络的框架上结合改进FPN提出了MSSD网络。在Pascal VOC 2007数据集上进行测试,证明了本改进的有效性。并与其他先进的深度学习目标检测算法对比,结果显示,所提算法具有更好的效果,为深度学习目标检测方向的研究者们提供了一种更有效的特征融合算法。
[1] GirshickR, DonahueJ, DarrellT, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition(CVPR), June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 580- 587.
[2] Everingham M. Eslami S M A, van Gool L, et al. The PASCAL visual object classes challenge: a retrospective[J]. International Journal of Computer Vision, 2015, 111(1): 98-136.
[4] GirshickR. Fast R-CNN[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 1440- 1448.
[6] LiuW, AnguelovD, ErhanD, et al. SSD: single shot MultiBox detector[M] ∥Leibe B, Matas J, Sebe N, et al. Lecture notes in computer science. Cham: Springer, 2016, 9905: 21- 37.
[7] Lin TY, DollarP, GirshickR, et al. Feature pyramid networks for object detection[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR), July 21-26, 2017, Honolulu, HI. New York: IEEE, 2017: 936- 944.
[8] RedmonJ, Farhadi A. YOLOv3: an incremental improvement[J/OL]. ( 2018-04-08)[2019-01-30]. https:∥arxiv.org/abs/1804. 02767.
[9] Lin TY, GoyalP, GirshickR, et al. Focal loss for dense object detection[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 2999- 3007.
[10] Zhang SF, Wen LY, BianX, et al. Single-shot refinement neural network for object detection[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR), June 18-23, 2018, Salt Lake City. New York: IEEE, 2018: 4203- 4212.
[11] Fu CY, LiuW, RangaA, et al. DSSD: deconvolutional single shot detector[J/OL]. ( 2017-01-23)[2019-01-30]. https:∥arxiv.org/abs/1701. 06659.
[12] Li ZX, Zhou F Q. FSSD: feature fusion single shot multibox detector[J/OL]. ( 2018-05-17)[2019-01-30]. https:∥arxiv.org/abs/1712. 00960.
[13] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[J/OL]. ( 2015-04-10)[2019-02-02]. https:∥arxiv.org/abs/1409. 1556.
[14] JeongJ, ParkH, Kwak N. Enhancement of SSD by concatenating feature maps for object detection[J/OL]. ( 2017-05-26)[2019-02-01]. https:∥arxiv.org/abs/1705. 09587.
[15] Zhao QJ, ShengT, Wang YT, et al. M2Det: a single-shot object detector based on multi-level feature pyramid network[J/OL]. ( 2019-01-06)[2019-02-01]. https:∥arxiv.org/abs/1705. 09587.
[16] 刘星, 陈坚, 杨东方, 等. 场景耦合的空对地多任务遥感影像智能检测算法[J]. 光学学报, 2018, 38(12): 1215008.
[17] GravesA. Supervised sequence labelling with recurrent neural networks: long short-term memory[M]. Berlin, Heidelberg: Springer, 2012: 37- 45.
[18] Cai ZW, Fan QF, Feris RS, et al. A unified multi-scale deep convolutional neural network for fast object detection[M] ∥Leibe B, Matas J, Sebe N, et al. Lecture notes in computer science. Cham: Springer, 2016, 9908: 354- 370.
[19] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[22] DaiJ, LiY, HeK, et al. R-FCN: object detection via region-based fully convolutional networks[C]∥Proceedings of the 30th International Conference on Neural Information Processing Systems, December 5-10, 2016, Barcelona, Spain. USA: Curran Associates Inc., 2016: 379- 387.
[23] BellS, Zitnick CL, BalaK, et al. Inside-outside net: detecting objects in context with skip pooling and recurrent neural networks[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 2874- 2883.
[24] GidarisS, KomodakisN. Object detection via a multi-region and semantic segmentation-aware CNN model[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 1134- 1142.
[25] Xu ML, Cui LS, LüP, et al. MDSSD: multi-scale deconvolutional single shot detector for small objects[J/OL]. ( 2018-08-19)[2019-02-02]. https:∥arxiv.org/abs/1805. 07009.
[26] Lin TY, MaireM, BelongieS, et al. Microsoft COCO: common objects in context[M] ∥Fleet D, Pajdla T, Schiele B, et al. Lecture notes in computer science. Cham: Springer, 2014, 8693: 740- 755.
Article Outline
赵彤, 刘洁瑜, 沈强. 一种改进的多门控特征金字塔网络[J]. 光学学报, 2019, 39(8): 0815005. Tong Zhao, Jieyu Liu, Qiang Shen. An Improved Multi-Gate Feature Pyramid Network[J]. Acta Optica Sinica, 2019, 39(8): 0815005.