Yolo-C:基于单阶段网络的X光图像违禁品检测 下载: 1119次
1 引言
如今,X光安检仪已被广泛应用于世界上大大小小的安检场所。由于X光的透视性和假彩性,在对旅客行李进行安全检查时,不需要行李开箱即可进行检查,这为安检人员提供了便利,同时大大加快了安检速度。然而随着全球化和电子商务的发展,旅客运输量和客货运输量不断增多,安检人员的安检压力越来越大。近年来,有些研究人员将太赫兹技术应用于隐藏违禁品的检测[1],但该技术由于目前无法对违禁品准确标注而未得到广泛的应用。针对该热点问题,人们开始依靠计算机辅助或代替人工检测,以加快过检速度、减轻安检人员的工作压力。
Singh等[2]回顾了信号处理和模式识别在分析安全设备产生的数据和图像方面的应用。Mery等[3]制作了共19407幅X光图像的公共数据集GDXray,包含铸件、焊缝以及行李等5大类安检图像,用于安检人员训练、图像分析和计算机视觉算法研究。Roomi等[4]采用模糊K近邻(Fuzzy KNN)算法识别行李中的手枪,采用图像分割法、应用特征提取方法(包括形状上下文描述符和Zernike矩)从图像中提取感兴趣的物体,最后使用模糊KNN算法判断图像中是否含有手枪。 Kundegorski等[5-6]根据视觉词袋(BOVW)的方法对行李的X光图像进行图像分类,先通过一系列特征点检测器和描述符得到图像中违禁物品的特征,形成“词袋”,再由支持向量机(SVM)和随机森林算法对“词袋”里的特征进行分类。上述的传统特征提取方法,检测精度较低,检测速度慢。
近年来,深度学习越来越受到人们关注,尤其自从AlexNet[7]出现起,卷积神经网络迅猛发展。Jaccard等[8]利用VGG Net[9]对货物的X光图像进行分类,完成了对违禁物品的分类任务,而且根据图像的乘法特性实现了数据增强。但是该算法结构简单,对于复杂背景的X光图像,分类精度大大降低。Akcay 等[10-11]采用迁移学习的方式,探讨了基于AlexNet神经网络的图像分类方法和基于滑动窗口和基于区域的目标检测方法,研究了R-CNN[12]和R-FCN[13]目标检测网络对X光图像进行违禁品筛查的适用性。Cañizares等[14]提出一种形式化的分布式检测框架——FORTIFIER。该方法集成了多种分布式图像检测算法,采用有限状态机(FSM)组成网络框架,用于检测行李中的违禁物品。该网络结构设计复杂,识别违禁品的类别数量受到FSM数量的限制,难以与实际安检场景相结合。
Akcay等[15]考虑到绝大部分安检图像都是正常X光图像(不含有违禁品),即异常图像(含有违禁品)较少,提出一种新的异常检测模型——GANormaly,利用条件生成对抗网络,联合学习高维图像空间的生成和潜在空间的推理,使用大量未含有违禁品的X光图像训练网络模型,然后用异常图像进行异常检测。该网络模型虽然得到较好的实验结果,但实际安检时行李的外观、大小多种多样,且行李内物品随意摆放,网络很难提取到正常图像的特征,从而导致检测结果具有较高的误检率。Gaus等[16] 使用一种双卷积神经网络结构,用于复杂X光图像中的异常检测。该网络先检测图像中可能含有的目标,再经过异常检测模型判断检测结果是否正确。这种目标检测与异常检测相结合的网络虽然检测精度有所提高,但是检测的速度十分缓慢。Miao等[17]基于实际安检场合采集的数据,制作了含有1059231幅X光图像数据集SIXray,并且采用ResNet50[18]骨干网络,针对样本类别数量不均衡的问题提出类分层细化(CHR)算法,实现了对图像的多标签分类。多标签分类任务只能检测出X光图像中是否含有违禁品,不能标出违禁品的位置。
综上所述,考虑到X光图像假彩性、重叠性造成的图像混乱、物体难以检测的问题,本文在单阶段检测网络Yolov3的基础上,结合复合骨干网的思想,提出了Yolo-C目标检测网络,以满足检测准确性和实时性要求。
2 单阶段双网络算法(Yolo-C)
2.1 Yolov3
Yolov3[19]是典型的单阶段检测网络。该网络实现了端对端训练,首先将图像经过DarkNet-53骨干网提取特征,根据类似特征金字塔(FPN)[20]的多尺度思想,将提取的特征分为三个不同尺寸的特征图,实现了对不同大小目标的检测。此外,Yolov3网络根据Faster R-CNN中anchor的思想,通过预先设好的不同形状、尺寸的锚框生成候选框,然后对候选框内的物体进行分类和定位,提高了目标的定位精度,最后对得到的检测框利用非极大值抑制算法除去重复的检测框。由于Yolov3有较高的检测性能且网络结构简单,很多研究人员对其进行了改进和优化。李成跃等[21]对Yolov3进行剪枝,得到轻量化检测网络——DS-YOLO,使得检测速度更快。郭进祥等[22]利用空洞卷积和线性衰减置信度对Yolov3进行优化,提升了网络对小目标检测效果。
2.2 复合骨干网
骨干网络对检测效果来说十分重要,一个好的骨干网可有效提高目标的检测精度。但设计一个好的骨干网并非易事,Liu等[23]利用ResNet101作为基础骨干网,结合FPN和Cascade R-CNN[24]两阶段检测网络,到复合骨干网络——CBNet,该骨干网络将现有的骨干网络进行n层级联,形成具有n个骨干网络的复合骨干网络,其中第n层骨干网被称为引导骨干网(Lead Backbone),第1,2,…,n-1层骨干网被称为辅助骨干网(Assiatant Backbone),通过相邻两个骨干网络跨层或同层的特征级联,向后传递图像特征信息,最后经过引导骨干网将特征信息传递到检测器进行检测。CBNet在目标检测和实例分割领域取得了很好的成果,但是其复杂的网络结构使得检测速度受到极大的限制,仅仅达到5~8 frame·s-1。
2.3 Yolo-C
X光图像不同于自然图像,旅客行李中物品混叠,由于X光具有穿透性质,产生的图像十分混乱。而且违禁物品的类内差异大,增大了检测难度。利用已知的目标检测网络对X光图像提取特征,并不能获得精确的特征信息。针对X光图像的特殊性,为了满足检测的准确性和实时性的要求,笔者根据复合网络的思想,在单阶段检测网络Yolov3的基础上提出单阶段双网络检测模型Yolo-C,网络各层的参数见
表 1. Yolo-C参数
Table 1. Parameters of Yolo-C
|
2.3.1 DarkNet-C
Yolo-C以DarkNet-53作为基础骨干网,提出双层复合骨干网DarkNet-C,DarkNet-53骨干网共53层,使用了类似于ResNet的残差单元,且用卷积层代替池化层进行下采样,实现全卷积网络。DarkNet-C由两个DarkNet-53网络组成,分别为辅助骨干网络DarkNet-A和引导骨干网络DarkNet-L。DarkNet-A各层特征信息分别传送至DarkNet-L对应层的上一层,经过特征级联后向后传播,最后得到能够更好地表征X光图像的特征图。
2.3.2 特征增强模块
考虑到有些体积小的违禁物品如打火机、剪刀、折叠刀等,在X光图像中难以发现,Yolo-C采用多尺度的思想,实现了对不同尺寸目标的检测。为了提升对超小目标的检测性能(美容剪刀、打火机),在图像经过DarkNet-C骨干网后,分别在中、小目标检测通道添加特征增强模块。该模块由6层卷积层组成,首先将低层特征经过步长为1的卷积层,增强了特征的非线性表达能力,然后添加降维卷积层压缩参数量,以确保模型检测速度。对于高层特征,也是先经过降维卷积层,再将融合后的特征经过平滑层,此方式可以消除特征融合造成的混叠效应。
2.3.3 损失函数
图像经过卷积层提取的特征被划分为13×13,26×26和52×52的网格,不同大小的特征对应不同的anchor,每一个网格经过检测单元都可以得到该网格内检测框的位置及类别,然后经过损失函数与真实值做比较,得到边框损失。Yolo-C的损失函数由边框损失Lcoord、置信度损失Lcon和类别损失Lclasses加权得到。损失函数可表示为
式中:(xi,yi)和
首先采用均方误差分别得到边框的中心坐标和尺寸损失,从而求和得到Lcoord。在计算边框尺寸损失时,wi×hi越小,表示检测框的面积越小,与anchor比较发现,检测框与真实框的重叠比率(IoU)也就会越小,故检测框的面积可以用来弱化边界框尺寸对损失值的影响。Lcon和Lclasses可由二值交叉熵的形式计算得到。
2.3.4 网络复杂度分析
神经网络模型的复杂度分为时间复杂度T和空间复杂度Ω。时间复杂度即模型的运算次数,用浮点运算数(FLOPs)衡量,FLOPs值越小,说明计算速度越快。时间复杂度过高会导致模型训练和预测耗费大量时间,其计算表达式为
式中,S表示每个卷积层输出特征图的边长,Q为每个卷积核的边长,D为网络深度,l指神经网络第l个卷积层,Hl为当前卷积层的卷积核数量。空间复杂度由**数量和各层输出特征图两部分组成。其用参数量Params来衡量,它决定了模型的参数数量,模型的参数越多,训练模型所需的数据量就越大,其计算表达式为
表 2. 不同网络复杂度分析
Table 2. Analysis of different network complexity
|
2.3.5 迁移学习
由于X光图像数据较少,Yolo-C采用迁移学习的方法训练网络。使用DarkNet-53骨干网在COCO数据集上训练的权重作为Yolov3-C基础骨干网的预训练权重。其他网络部分采用权重随机初始化的方式,设权重W呈均值μ = 0和方差δ=0.01的高斯分布,偏置b设为0。这种半迁移学习的初始化方法,使网络能够在前期训练过程中更容易得到图像中违禁物品的特征信息。
图 4. 单阶段双网络目标检测算法Yolo-C网络结构图
Fig. 4. Yolo-C network structure of one-stage dual-network object detection algorithm
3 数据集
旅客行李的X光图像涉及旅客的隐私问题,所以公开的X光图像数据集少之又少,该领域研究人员大都是使用自制的X光图像数据集。目前已知的有GDXray数据集和SIXray数据集。Mery等[3]制作的GDXray数据集包含19407幅由单能量安检仪拍摄的X光图像,如
GDXray数据集中的图像呈灰白色,图像中物品单一、重复,且背景简单,拍摄图像的单能量安检仪已被淘汰,故不再对该数据集进行研究。SIXray数据集中的图像是在实际安检场所拍摄的,所采用的双能量安检仪如今仍是主流的货物行李安检仪器,在机场、火车站以及地铁站等广泛使用,故SIXray数据集具有很大的研究价值,满足研究要求。但该数据集是基于图像分类任务制作的,不能直接用于目标检测。所以根据SIXray数据集制作了用于目标检测的数据集SIXray_OD。SIXray_OD数据集是对SIXray数据集中包含违禁品的图像添加位置标签生成的,严格按照COCO数据集的标签格式,利用框图软件手动框出违禁品的位置并标注其类别,最终生成每幅图像的标签文件。SIXray_OD数据集包含枪、刀、钳子、扳手和剪刀5类违禁物品 (含锤子的图像数量太少本文不用于研究)。为了提高模型的泛化能力,通过反转、旋转、平移、亮度以及对比度调节等数据增强方法,将数据集扩大为69744幅X光图像集,包含枪的图像有23488幅、刀12488幅、钳子18128幅、扳手31608幅和剪刀9272幅,最终将SIXray_OD按照4∶1的比例分为训练集和测试集。
4 实验结果
4.1 训练环境
训练网络采用的工作站操作系统为Ubuntu16.04,该系统配置有2块RTX 2080 ti GPU显卡。使用Pytorch深度学习框架,整个网络使用随机梯度下降法(SGD)对网络参数进行优化。网络训练过程中,设置复合骨干网部分的初始学习率为10-3,网络其他部分的初始学习率为10-2,设置权重衰减为10-5,batchsize为16,网络模型经过100轮迭代训练,设置非极大值抑制的阈值为0.5。Yolo-C网络和对照网络训练的对比如
4.2 评估标准
在目标检测中,IoU的定义与计算示意图如
通过设置目标的置信度阈值,得到数组满足条件的精度和召回率。这些精度和召回率组成的精度-召回率曲线(P-R曲线)下的面积就代表训练样本中各类目标的平均精度(AP,XAP),AP的计算公式为
式中:pinterp(R)为P-R曲线的平滑函数,
是指当前R值右侧精度最大的召回率。平均精度均值(mAP,XmAP)则指所有类别的平均精度求和除以类别数目,计算公式为
目标检测网络的检测效果常以平均精度均值作为评估指标。
4.3 消融实验
在SIXray_OD数据集上对Yolo-C进行消融实验,比较Yolo-C和几种典型的目标检测网络,可以发现Yolo-C目标检测网络在X光图像检测领域具有优越性。针对选取的目标检测网络,在相同的训练环境下,设置batchsize为8,训练轮次100轮,对SIXray_OD数据集进行训练与评估。且通过消融实验评估了DarkNet-C和FAB对检测网络的影响,实验结果如
表 3. 在SIXray_OD数据集上对Yolo-C网络进行消融实验
Table 3. Ablation experiments on the Yolo-C network based on SIXray_OD dataset
|
通过对
在不同的骨干网上添加FAB模块训练网络,通过与无FAB模块的相应网络比较,发现FAB模块可以有效提高对小目标的精测精度。
复合骨干网是Yolo-C网络的重要组成部分。将
DarkNet-C骨干网采用两个相同的基础骨干网,能够实现两层基础骨干网的参数共享,利于网络实现实时性检测。且 FAB模块相对于网络的检测速度几乎没有影响。在2块RTX 2080 ti GPU显卡,CUDA 10.1以及batchsize为1的实验环境下进行检测速度的测试,Yolo-C网络在检测性能最佳时,检测速度能够达到40 frame· s-1。为了验证Yolo-C在实际安检环境下的工作效率,笔者采用安天下TH5030型号安检机,模拟实时过检环境。设置安检机传送带的传动速度为0.3 m/s,通过手动放置行李包裹,将得到的X光图像实时传送至网络模型。实验证明,Yolo-C单阶段双网络的检测速度与行李过检速度能够同步、实时、准确地获得过检行李的检测结果。
受到硬件条件的限制,训练网络时,batchsize大小最大只能设为8,若能继续扩大batchsize,则可进一步提高Yolo-C的检测精度。在X光图像检测领域,部分双阶段目标检测网络取得了更好的检测结果,但检测速度约为10 frame·s-1,难以满足旅客过检的实时性要求。此外,由于X光图像的保密性,在SIXray数据集出现之前,研究人员大都使用自制的X光图像数据集,取得了较好的研究成果,但自制的数据集图像的复杂度以及真实性较低,针对真实的过检行李X光图像,并不能体现其算法模型在X光图像检测领域的适用性[9-10]。
4.4 结果展示
为了更加具体地展示Yolo-C网络检测X光图像的效果,笔者对实验3, 5和7的样本检测结果可视化。如
5 结论
提出一种新的目标检测网络Yolo-C,创新地将复合骨干网DarkNet-C和特征增强模块FAB结合。在检测X光图像领域,该网络有效提高了对多类违禁物品的检测精度,同时满足检测的实时性要求。Yolo-C检测网络结合单阶段网络检测速度快和双阶段网络检测精度高的优点,在SIXray_OD数据集上,最终检测结果中mAP达到了73.68%,检测速度为40 frame·s-1,能够出色地完成X光图像中违禁物品的检测。这表明Yolo-C 网络适用于X光图像违禁品检测领域,对公共场所的安全筛查有十分重要的研究价值。
虽然 Yolo-C网络能够出色地完成对SIXray_OD数据集的检测任务,但是面对复杂多变的安检环境,针对重叠物体的检测,X光因其具有穿透作用,易使图像中的物品相互重叠,影响检测精确度。后期需考虑提出一种新的非极大值抑制算法来解决该问题,这将是我们下一步的研究内容。
[1] 李涛, 张良, 何建安, 等. 基于太赫兹技术在线快速识别邮件隐匿危险品[J]. 激光与光电子学进展, 2019, 56(23): 233001.
[5] Kundegorski ME, AkcayS, DevereuxM, et al. On using feature descriptors as visual words for object detection within X-ray baggage security screening[C] //7th International Conference on Imaging for Crime Detection and Prevention (ICDP 2016), Madrid, Spain. London: Institution of Engineering and Technology, 2016: 1- 6.
[8] JaccardN, Rogers TW, Morton EJ, et al. Using deep learning on X-ray images to detect threats[D]. London: University College London, 2016.
[10] AkcayS, Kundegorski ME, DevereuxM, et al.Transfer learning using convolutional neural networks for object classification within X-ray baggage security imagery[C] //2016 IEEE International Conference on Image Processing (ICIP), September 25-28, 2016, Phoenix, AZ, USA.New York: IEEE Press, 2016: 1057- 1061.
[12] 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, June 23-28, 2014, Columbus, OH, USA.New York: IEEE Press, 2014: 580- 587.
[16] Gaus Y FA, BhowmikN, AkçayS, et al. Evaluation of a dual convolutional neural network architecture for object-wise anomaly detection in cluttered X-ray security imagery[C] //2019 International Joint Conference on Neural Networks (IJCNN), July 14-19, 2019, Budapest, Hungary.New York: IEEE Press, 2019: 1- 8.
[17] Miao CJ, Xie LX, WanF, et al.SIXray: a large-scale security inspection X-ray benchmark for prohibited item discovery in overlapping images[C] //2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 15-20, 2019, Long Beach, CA, USA. New York: IEEE Press, 2019: 2114- 2123.
[18] 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.
[20] 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.
[21] 李成跃, 姚剑敏, 林志贤, 等. 基于改进YOLO轻量化网络的目标检测方法[J]. 激光与光电子学进展, 2020, 57(14): 141003.
[22] 郭进祥, 刘立波, 徐峰, 等. 基于YOLO_v3的机场场面飞机检测方法[J]. 激光与光电子学进展, 2019, 56(19): 191003.
[24] Cai ZW, VasconcelosN. Cascade R-CNN: delving into high quality object detection[C] //2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE Press, 2018: 6154- 6162.
Article Outline
郭守向, 张良. Yolo-C:基于单阶段网络的X光图像违禁品检测[J]. 激光与光电子学进展, 2021, 58(8): 0810003. Shouxiang Guo, Liang Zhang. Yolo-C: One-Stage Network for Prohibited Items Detection Within X-Ray Images[J]. Laser & Optoelectronics Progress, 2021, 58(8): 0810003.