基于改进SSD的X光图像管制刀具检测与识别 下载: 1060次
1 引言
目前,X射线安检技术的非接触式安检设备是应用最广泛的工具,被大量应用于物流领域,以及交通枢纽和一些人员较为密集的公共场所。精准的管制物品自动检测技术是安检领域一个主要的研究方向。现有的基于深度学习的目标检测算法存在对小目标误检、漏检等问题[1],整体检测效果不佳。近年来基于卷积神经网络的算法被广泛应用[2],目前在深度学习目标检测领域主要有基于区域建议的两阶段系列算法(R-CNN[3]、Fast RCNN[4]、Faster RCNN[5]、R-FCN[6]、FPN[7])和基于回归问题的单阶段系列算法[YOLO(You Only Look Once)[8]、SSD(Single Shot Multibox Detector)]。SSD算法较其他算法有良好的性能,检测精度和速度平衡,鲁棒性较强,在小目标检测领域应用较为成熟,但也有不足之处。为提高SSD算法对安检图像管制刀具小目标的检测精度,需对传统SSD算法进行改进。
本文针对X光图像管制刀具检测与识别主要完成了以下三个方面的工作:
1) 基于原始SSD算法,采用ResNet34网络替换SSD的VGG16基础网络,对ResNet34基础网络后三层作卷积并进行轻量级网络融合,形成新的三层特征图,较好地解决了网络退化问题和梯度消失问题,改善了SSD在小目标检测上的缺陷;
2) 将SSD-ResNet34网络部分扩展层作反卷积,形成新的高层网络,设计新高层网络与新低层网络跳跃连接的融合模块,有效提高了SSD模型对小目标的检测性能;
3) 采集各类管制刀具的X光图像照片,并进行人工标注,制作管制刀具的专用数据集Specialized Data set for Controlled Knife(SDCK)。
2 理论基础
2.1 问题分析
在X光图像管制刀具检测识别应用中,由于X光图像管制刀具数据集中刀具图像相对于正常的摄影图像分辨率低、水果刀等小目标在原图中的尺寸较小,故原始图像经神经网络下采样处理会导致小目标特征图尺寸大小基本为个位数像素,分类网络对小目标的分类效果较差。X光图像管制刀具数据集中小目标图像经大小调整后宽高分布被急剧挤压,宽高比分布极不均匀,导致检测网络中不同宽高比的候选框均无法有效接近真实值,小目标特征感受野的映射图将可能大于小目标在原始图像中的尺寸,检测效果不佳。在X光图像数据集中,复杂的无关行李属于背景,网络模型在检测小目标时会受到过多背景噪声的影响,网络模型对小目标的检测精度较低。传统SSD算法在检测小目标时使用低层特征图,低层特征图因感受野小以及语义信息低等导致对小目标特征提取不充分,训练阶段经过层层池化导致小目标特征消失,故传统SSD 算法达不到小目标检测精度的要求。
2.2 构建数据集
本文所用的检测数据集采集自高铁X射线安检机,将实际采集数据图片与摆拍数据图片相融合,构成了一定量的安检管制刀具图片库。对采集到的数据集图像采用旋转、水平翻转等方法进行扩充,共得到6872张照片。利用labelme数据集标注工具对所得图像进行人工分类和标注。对采集得到的X光图像管制刀具图片进行标注时,将图片中所有管制刀具尽可能全部标记,如果图像内的管制刀具边界不全或不清晰,则放弃对该样本的标记。采用统一标准对各类管制刀具目标进行标记,确保所标记的外接矩形框和样本的类别信息准确无误。构建的数据集格式与PASCAL VOC2007 形式一致,利用 XML 存储每一张图像中对应目标的位置和类别信息。
数据集包括7种类别的危险刀具物品:菜刀(kitchen knife)、水果刀(fruit knife)、单刃长刀(hacking knif)、匕首(dagger)、剪刀(scissor)、扳手(spanner)、小刀片(little knife)。为防止网络过拟合,在实际采集过程中训练样本采取人为增加的方式,
2.3 深度残差网络
在训练深度学习网络模型时,随着训练神经网络深度的加深,模型准确率达到饱和,随后网络深度继续增加,模型准确率开始下降。深度学习在神经网络深度变化过程中遇到的问题主要有梯度消失和梯度爆炸。传统数据初始化和正则化虽然解决了梯度消失的问题,但网络性能产生退化现象。而残差网络不仅解决了退化和梯度消失问题,还提升了网络性能。残差网络结构模块,可以很大程度地加深网络结构,且最终的分类效果较好。残差网络结构模块如
在
在网络学习达到较饱和准确率,即F(x)=0时,学习目标转化为恒等映射的学习,残差网络输出变为F(x)=F(x)-x。训练网络时残差结果接近于0,使得较深网络训练能够确保准确率不降低。残差网络这种跳跃式结构模块,可以将某一层的输出跨越几层后直接作为后面某一层的输入,较好地解决了堆叠多层网络时梯度下降及网络性能退化的问题。
3 改进SSD算法及网络学习
针对原始SSD算法对X光图像管制刀具等小目标检测精度不高、网络存在性能退化等问题,对传统SSD算法进行改进:改进基础网络,优化侯框的回归和分类任务;对低层和高层不同特征图进行多尺度特征融合,提高模型对小目标检测的性能。
3.1 改进基础网络
在目标检测算法网络中分类网络的性能对其性能有重大影响,分类网络去掉全连接层和损失层就是基础网络部分。为验证常见基础分类网络的性能,基于Caffe[9]框架在ImageNet2012数据集上对DenseNet[10]、VGGNet[11]、MobileNetv2[12]、ShuffleNet[13]和ResNet[14]各个网络进行测试,结果如
表 1. 各个网络性能测试结果
Table 1. Results of each network performance test
|
从
对基础网络ResNet34的Conv3_x、Conv4_x、Conv5_x进行卷积处理,生成新的特征层,分别记为Conv3_x_0、Conv4_x_0、Conv5_x_0,新的特征层比原始特征层语义信息更丰富,更好地保留了原始特征图的边缘信息,且新的特征层维数不超过原始特征层维数[15]。然后将Conv3_x和Conv3_x_0、Conv4_x和Conv4_x_0、Conv5_x和Conv5_x_0按
3.2 改进拓展层构建新的网络模型
借鉴DSSD网络和MFDSSD网络[16]的思想,改进算法网络结构,如
本文算法与DSSD和MFDSSD算法相比,优点在于本文改进算法模型的基础分类网络为ResNet34, ResNet34相比DSSD网络中基础分类网络ResNet101,网络深度较浅,故改进后模型的复杂度降低,实时性更高。且本文改进算法对基础分类网络ResNet34后三层作相同卷积处理后,与原来特征层两两进行轻量级特征融合,得到新的3层特征图,使得基础网络对小目标提取的特征信息更加丰富,然后再与反卷积模块的高层特征图进行3个跳跃连接的特征融合。改进后网络模型复杂度较低,通过低层和高层网络之间的跳跃式特征融合模式,使得模型进一步提升小目标的检测性能。由
3.3 网络学习策略
在训练网络模型时建立真实标签和默认框的对应关系,从默认框中选择真实标签。首先将每个真实标签框与默认框中Jaccard overlap[17-18]值最高的默认框相匹配,确保每个真实标签框有一个匹配的默认框,然后将默认框与真实标签框中Jaccard overlap重叠度高于阈值为0.5的默认框相匹配,这样就使得网络对多个重叠的默认框的预测置信度较高,而不是只选择重叠度最大的一个。Jaccard overlap的表达式为
式中:A,B分别表示某种集合。
定位损失是预测框(l)和真实框(g)之间的Smooth L1损失,通过回归到默认框(d)相对于真实框中心(cx,cy)和宽(w)高(h)的偏移量来表达,表达式为
式中:Pos为正样本;
总的损失函数为分类损失(Conf loss,Lconf)和定位损失(Loc loss)的加权平均,表达式为
式中:f为指示函数;c为置信度。
4 实验与分析
4.1 实验环境和参数配置
本文的实验过程都在Linux PC端上进行,训练模型和测试算法性能所使用的具体硬件和软件环境如
表 2. 实验环境配置
Table 2. Experimental environment configuration
|
训练模型的初始学习率(learning rate)设置为0.001,迭代次数达到40000次后更改为0.0001,继续迭代40000次以后模型训练结束。在Tensorflow架构上进行模型训练,每间隔20000次进行一次测试,优化器动量(momentum)和权重衰减率(weight decay)分别设置为0.9000和0.0005,批大小(batch size)设置为 64,采用随机梯度下降法(SGD)优化参数。
4.2 方法对比分析
4.2.1 性能评估指标
目前通常使用均值平均精度(mAP)和检测速度(帧每秒,frame·s-1)来评价目标检测算法的性能。均值平均精度(mAP)由准确率Pprecision和召回率Rrecall构成,表达式为
式中:TP表示真正类,即模型预测为正的正样本;FP表示真负类,即模型预测为负的负样本;FN表示假负类,即模型预测为正的负样本。
在目标检测算法中每个类别都可以得到准确率-召回率曲线(P-R曲线),曲线与横坐标轴围成的面积就是平均精度(AP)值,求所有类别的AP的平均值,就是mAP值。为评价本文改进SSD算法的综合性能,在经典数据集PASCAL VOC(2007+2012)和X光管制刀具自制数据集SDCK上对改进SSD进行训练和评估。其中VOC数据集中目标检测数据集含有20类目标图像,X光管制刀具自制数据集SDCK数据集中含有7类刀具,均以IOU(Intersection over Union)大于0.5为阈值评估得分。
4.2.2 检测精度对比
为验证本文改进的SSD算法性能,选择原始SSD算法、DSSD算法、MFDSSD算法和本文算法在SDCK管制刀具数据集上进行了4组测试,如
表 3. 各算法在SDCK数据集上的mAP
Table 3. mAP of each algorithm on SDCK dataset unit: %
|
本文改进的SSD检测算法在SDCK管制刀具数据上相比经典的SSD算法精度提高2.8个百分点,且优于MFSSD和DSSD算法。本文算法利用残差网络ResNet34代替原VGG16作为SSD的基础网络,构建残差SSD检测器模型,在此基础上对ResNet34基础网络后三层作卷积并进行轻量级网络融合形成新的三层特征图,将SSD-ResNet34网络部分扩展层作反卷积形成新的高层网络,设计新高层网络与新低层网络跳跃连接的融合模块,在SDCK管制刀具上的检测精度比MFDSSD算法提高2.1个百分点,可见本文改进的算法在一定程度上改善了对管制刀具小目标的检测性能。原始SSD算法在SDCK管制刀具数据集的上的mAP如
表 4. SSD算法在SDCK管制刀具数据集的上的mAP
Table 4. mAP of SSD algorithm on SDCK controlled tool dataset unit: %
|
为验证本文改进算法的综合性能,接着在VOC2007+2012通用数据集上进行实验测试,测试结果如
表 5. 各算法在VOC2007+2012数据集上的mAP
Table 5. mAP of each algorithm on VOC2007+2012 dataset
|
1) 本文改进算法的检测精度得到一定程度的提升,这说明本文改进方法的可行性较好;
2) 与传统SSD算法训练效果相比,本文改进算法的检测精度提高1.7个百分点,可见本文改进算法对VOC2007+2012通用数据集中普通物体的检测也有较好的性能体现;
3) 与DSSD算法相比,本文改进算法的检测精度提高0.2个百分点,本文改进算法在网络复杂度大大降低的基础上依然能够保持良好检测精度,检测速度优于DSSD,更加满足实际应用中的实时性要求;
4) 与MFDSSD算法相比,本文改进算法在通用数据集上的检测精度比MFDSSD算法高0.5个百分点,本文改进算法利用基础网络对小目标提取的特征信息更加丰富,网络产生的多尺度特征图共有8个尺寸,MFDSSD有7个,所以本文改进算法对小目标的检测精度稍优于MFDSSD。
4.2.3 检测速度对比
为测试本文改进SSD算法的检测速度,选择SSD算法、DSSD算法、MFDSSD算法,搭载两台NVIDIA RTX2080ti的GPU服务器在SDCK管制刀具数据集上进行测试,得到每个算法的检测速度(帧每秒,frame·s-1),各个算法与本文算法的检测速度对比如
表 3. 各算法在SDCK数据集上的mAP
Table 3. mAP of each algorithm on SDCK dataset unit: %
|
从
为验证用ResNet34替换VGG16和采用不同尺度高低层特征融合方式两种方法对原始SSD算法的改进是否有效,在SDCK管制刀具数据集上对本文改进算法的两个步骤进行分步测试,测试每个步骤的mAP 如
表 4. SSD算法在SDCK管制刀具数据集的上的mAP
Table 4. mAP of SSD algorithm on SDCK controlled tool dataset unit: %
|
由
本文改进的SSD综合提高了对安检图片中管制刀具小目标的检测能力,且算法精度高,鲁棒性好。实验中部分检测结果如
5 结论
为进一步提高安检管制刀具中小目标的检测精度,改进原始SSD算法,完善了算法性能。采用ResNet34网络代替原VGG16作为SSD的基础网络,构建残差SSD模型,使得基础网络对小目标提取的特征信息更加丰富;再将SSD-ResNet34网络部分扩展层作反卷积形成新的高层网络,设计新高层网络与新低层网络跳跃连接的融合模块;改进后的模型利用多尺度多样化的特征图进行分类和回归任务,实验结果表明所提方法有效提高了对小目标的检测精度,且实时性好,能够满足实际安检需求。在下一步的研究中,将对数据集进行再度扩增,改进生成框预测阶段,减小生成框预测阶段的计算量,采用较小的卷积核和更窄的网络结构降低网络复杂度,提高算法的检测速度。
[1] LiuW, AnguelovD, ErhanD, et al.SSD: single shot MultiBox detector[M] ∥Computer Vision-ECCV 2016. Cham: Springer International Publishing, 2016: 21- 37.
[2] 张红颖, 王赛男, 胡文博. 改进的基于卷积神经网络的人数估计方法[J]. 激光与光电子学进展, 2018, 55(12): 121503.
[3] GirshickR, DonahueJ, DrrellT, et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥Proceedings of 2014 IEEE International Conference Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA.New York: IEEE Press, 2014: 580- 587.
[4] GirshickR. Fast R-CNN[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile.New York: IEEE Press, 2015: 1440- 1448.
[5] Ren S Q, He K M, 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.
[6] Dai JF, LiY, He KM, et al. ( 2016-05-20)[2020-08-15]. https:∥arxiv.org/abs/1605. 06409.
[7] Lin TY, DollárP, 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, USA.New York: IEEE Press, 2017: 936- 944.
[8] RedmonJ, DivvalaS, GirshickR, et al.You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE Press, 2016: 779- 788.
[9] JeongJ, ParkH, Kwak N. Enhancement of SSD by concatenating feature maps for object detection[EB/OL]. ( 2017-05-26)[2020-08-15]. https:∥arxiv.org/abs/1705. 09587.
[10] Fu CY, LiuW, RangaA, et al. ( 2017-01-23)[2020-08-15]. https:∥arxiv.org/abs/1701. 06659.
[12] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. ( 2015-04-10)[2018-11-25]. https:∥arxiv.org/abs/1409.1556v6.
[13] Jia YQ, ShelhamerE, DonahueJ, et al.Caffe: convolutional architecture for fast feature embedding[C]∥Proceedings of the ACM International Conference on Multimedia-MM'14, November 3-7, 2014. Orlando, Florida, USA. New York: ACM Press, 2014: 675- 678.
[14] 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 Press, 2016: 770- 778.
[16] 赵亚男, 吴黎明, 陈琦. 基于多尺度融合SSD的小目标检测算法[J]. 计算机工程, 2020, 46(1): 247-254.
Zhao Y N, Wu L M, Chen Q. Small object detection algorithm based on multi-scale fusion SSD[J]. Computer Engineering, 2020, 46(1): 247-254.
[17] ErhanD, SzegedyC, ToshevA, et al.Scalable object detection using deep neural networks[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA.New York: IEEE Press, 2014: 2155- 2162.
[18] SzegedyC, ReedS, ErhanD, et al., high-quality objectdetection[EB/OL]. ( 2014-12-03)[2020-08-15]. https:∥arxiv.org/abs/1412. 1441.
[19] 吉祥凌, 吴军, 易见兵, 等. 基于深度学习的管制物品自动检测算法研究[J]. 激光与光电子学进展, 2019, 56(18): 180402.
Article Outline
郭瑞鸿, 张莉, 杨莹, 曹洋, 孟俊熙. 基于改进SSD的X光图像管制刀具检测与识别[J]. 激光与光电子学进展, 2021, 58(4): 0404001. Ruihong Guo, Li Zhang, Ying Yang, Yang Cao, Junxi Meng. X-Ray Image Controlled Knife Detection and Recognition Based on Improved SSD[J]. Laser & Optoelectronics Progress, 2021, 58(4): 0404001.