基于改进Faster RCNN 算法的X 光违禁物品检测

2023-08-24 06:48杜倩倩赖重远
智能计算机与应用 2023年7期
关键词:骨干损失函数

杜倩倩, 王 芳, 赖重远

(江汉大学人工智能学院, 武汉 430056)

0 引 言

随着社会经济的迅速发展,国内外的交通量出现迅猛增长,因此公共交通,如地铁、高铁等人群密度也在增加,安全检查在保护公共安全方面是必不可缺的一部分。 为了确保交通和边境安全,在机场、铁路和地铁站等公共交通和边境安检中,常会利用X 射线安检机对旅客的行李进行检测。 通常,旅客携带的行李、背包经过X 射线扫描仪进行扫描并生成复杂的X 射线图像,而后经由人工查看X 射线图像以识别行李或包裹中的违禁物品,并在需要时对其做特殊处理。 但行李中物品种类繁多,生成的X射线图像较为复杂,这就需要安检人员在短时间内迅速识别并筛选出可疑行李,这是一项单一枯燥、却极为重要的工作。 因此,研究出能够快速准确地识别出行李中违禁品、提高行李安检效率的智能安检方法迫在眉睫。

1 X 光违禁物品检测研究现状

随着深度学习技术的不断发展,近年来,基于深度学习方法的X 光违禁物品检测算法研究成为热点,主要研究工作分为有监督的方法、半监督和非监督的方法。

在有监督的方法检测方面,Akçay 等学者[1]引入了GoogleNet[2](在迁移学习模式下)来检测行李在X 射线图像中的违禁物品。 Jaccard 等学者[3]使用VGG-19[4]在对数转换(log-transformed)扫描中来检测可疑物品。 Zhao 等学者[5]提出使用GANs来提高自定义网络对行李违禁品检测的分类性能。此外,研究人员还使用one-stage 和two-stage 检测框架及Attention 机制[6]来识别和定位违禁物品。Gaus 等学者[7]测量了Faster R-CNN[8]、Mask RCNN[9]和RetinaNet[10]在不同X 射线扫描仪之间的可转移性,以检测违禁物品。

基于正常物品与可疑物品之间的类不平衡,Miao 等学者[11]提出了类平衡层次细化(CHR)模型,提出了面向架构的类不平衡问题解决方法。 其他方法提出了轮廓驱动的物体检测器,如级联结构张量(CST)[12]和双张量发射检测器(DTSD)[13]。同样,Wei 等学者[14]开发了去遮挡注意力模块(DOAM),这是一种即插即用的模块,可以与传统的物体检测器结合,以提高其筛查违禁物品的能力。此后,Tao 等学者[15]又提出一个即插即用的模块-横向抑制模块(LIM),该模块受神经生物学横向抑制机制的启发,消除了嘈杂的相邻区域对潜在候选对象区域的影响,并通过增强操作来激活对象区域的边界,以提高检测精度。

对于半监督和非监督的方法:Akçay 等学者通过研发GANomaly[16]开创了这一领域,这是一种基于普通安全X 射线扫描训练的编码器-解码器-编码器-驱动的对抗性框架。 训练后,GANomaly 通过其内置的鉴别器,从异常测试扫描中识别出可疑行李,将其视为异常。 随后, 又提出了 Skip -GANomaly[17]方法,作为GANomaly 的改进版本,利用带有跳跃连接(skip-connections)和对抗性学习的编码器-解码器检测可疑行李。

当前大多数检测框架是基于监督学习的,需要大量注释良好的训练数据才能在推理阶段表现良好。 然而,由于日常生活中违禁物品数量样本较少,因此,获取一个大规模的、注释良好的数据集往往是不切实际的。 此外,重新训练、微调正在使用的检测框架以识别新型违禁品过程效率低下,可能会导致检测性能下降。 尽管最近利用元迁移学习(metatransfer-learning MLT)[18]来降低不同扫描仪间的差异性并提高违禁物品检测框架的通用性,但这些检测框架仍然需要对不同的数据集进行微调,才能实现良好的性能。

2 改进的Faster RCNN 算法

针对X 光违禁图像检测,本文以Faster RCNN为基础算法,结合特征金字塔网络(Feature Pyramid Network,FPN[19])、ResNeXt[20]骨干网络和CIoU[21]损失函数改进该算法,提高检测精度。

2.1 改进的Faster RCNN 网络结构

Faster RCNN 是目标检测的经典算法,其中最重要的为区域预测网络(Region Proposal Network,RPN)。 RPN 的核心思想是构建一个小的全卷积网络,对于任意大小的图片,输出潜在物体候选框(Regions of Interest,ROI)的具体位置以及该ROI 是否为物体。 在Faster RCNN 算法中,图像首先经过卷积网络提取图像特征,而后将输出的特征层输入至RPN 网络,生成建议框(Proposals);结合建议框和提取的图像特征输入至ROI Pooling 层(Regions of Interest Pooling)得到固定大小的特征层,之后进行分类和回归。

本文中将ResNeXt101 替换原来的VGG16 作为新的骨干网络,在图像经过骨干网络提取特征后输入到FPN 中,得到新的特征层。 将新的特征层输入至RPN 网络中生成建议框,后续步骤与Faster RCNN 相同,输出检测结果。 改进后的Faster RCNN网络结构如图1 所示。

图1 基于FPN-ResNeXt 的Faster RCNN 网络模型Fig. 1 Faster RCNN network model based on FPN-ResNeXt

2.2 ResNeXt 骨干网络

骨干网络是目标检测算法的核心部分,用来提取图像的特征,对后续的检测效果起到至关重要的作用。 为更好地提取图像特征需要增加骨干网络的深度或者网络的宽度,但这种方法同时也会增加网络复杂度和参数量。 而ResNeXt 骨干网络是利用分组卷积和残差块构建的网络,既提升了网络性能,又没有增加网络复杂性。

ResNeXt 是一个简单、高模块化的网络体系结构,该结构是一个同构、多分支的结构,且引入了除深度、维度之外的新的超参数—“基数”(分支个数),如图2 所示。 ResNeXt 网络与ResNet 网络相似,只是ResNeXt 网络用32 个独立分支结构替换了ResNet 网络中的3 层卷积块,这32 个独立分支对输入图像同时进行卷积操作,再将32 个分支结构的结果相加。 ResNeXt 网络是残差结构,因此,32 个分支结构单位相加后的结果需再与起始输入的特征单位相加得到最终ResNeXt 网络的提取结果。 ResNeXt网络在不明显增加参数量的同时提高模型提取的准确率,且由于分支结构相同,减少了超参数,也便于模型移植。

图2 ResNeXt 构建块示意图Fig. 2 Schematic diagram of ResNeXt building block

2.3 特征金字塔网络

特征金字塔网络(FPN)是目标检测网络中的一个基本组成部分,用于检测不同尺度下的目标。 一般来说,X 光扫描的行李物品中大小物品都会存在,若不考虑物体的尺度大小,将会误检或漏检一些违禁物品,而漏检的这些违禁物品一旦被带入地铁或飞机中,对乘客的伤害有可能是致命的。 因此,引入FPN 网络进行检测、识别不同尺度的违禁物品是非常必要的。

在提取图像特征过程中,低卷积层的特征层由于下采样次数较少,因此有更高的分辨率,对待检测目标的定位更加准确。 高卷积层的特征层下采样次数较多,有更高级别的语义信息,但也可能丢失掉小目标的特征信息。 而FPN 网络设计了一种自顶向下、带有侧向连接的层次结构来构建各个尺度的高层语义特征,将不同尺度的特征层连接起来。 这样使得特征层既保留较小目标的特征,又有高级别的语义信息,更好地处理目标检测中多尺度变化的问题。 本文在ResNeXt101 中引入FPN 网络,在不同特征层上检测不同尺度的X 光违禁物品,提高检测精度。 FPN 结构图如图3 所示。

图3 FPN 网络结构示意图Fig. 3 FPN network structure diagram

2.4 CIoU 损失函数

CIoU损失函数考虑到了预测框与真实框的3个方面,分别是重叠面积、中心点距离和长宽比。 预测框与真实框的对比如图4 所示。 在图4 中,蓝色部分为真实框,绿色部分为预测框,紫色部分为预测框和真实框的最小外接矩形,橘色部分为理想预测框。 当损失函数只考虑预测框与真实框的重叠面积时,则会出现图4 中(a)的情况,图4(a)和图4(d)与真实框的重叠面积相等,但图4(d)才是理想的预测框,因此需要做更进一步的分析。

图4 预测框与真实框对比图Fig. 4 Comparison diagram of prediction box and real box

若损失函数考虑预测框与真实框的中心点距离,首先,会出现图4 中(b)的情况,在中心点距离D不变的情况下预测框可能会被错误放大,对角线C不变的情况下损失值并不会发生变化,但很明显预测框非常不精准。 其次,即便不出现图4(b)的情况,也可能会出现图4(c)的类似情况。 与图4(d)做对比时,图4(c)中重叠面积、中心点距离均与图4(d)相同,但存在长宽不一致的情况。 综上所述,CIoU损失函数更适合实际目标检测的情况。

通过考虑重叠面积、归一化中心点距离和长宽比三个几何因素,CIoU损失函数可以定义为:

其中,IoU为交并比;b与bgt分别为预测框和真实框的中心点;ρ2(b,bgt) 为欧式距离;C为最小外接框的对角线距离(见图4(b));α为权重系数;ν用来衡量长宽比。α和ν的公式如下:

3 数据集

在X 光违禁物品检测中,数据集的质量是一个很重要的问题。 本文采用的是OPIXray 数据集,数据集中每个违禁物品都由专业的机场安检人员进行标注,注释方式与Pascal VOC 数据集类似。 且为了适应实际安检情况,OPIXray 数据集中还涉及了被遮挡的、目标较小的和样本少的违禁物品。 数据集将被遮挡的违禁物品分为3 类,分别是:轻微或无遮挡(Occlusion Level1 - OL1)、 半遮挡(Occlusion Level2-OL2)和完全遮挡(Occlusion Level3-OL3),遮挡情况如图5 所示。

图5 各级别遮挡示例图片Fig. 5 Sample pictures with different levels of occlusion

该数据集共包含8 885 张X 射线图像,5 类生活中常用刀具,即折叠刀(Folding Knife)、直刀(Straight Knife)、剪刀(Scissor)、美工刀(Utility Knife)和多功能刀(Multi-tool Knife)。 某些图像中包含多个违禁物品,并且每个违禁物品都带有边界框标注。 所有图像均以JPG 格式存储,分辨率为1 225∗954。 数据集划分为训练集和测试集,比例约为4:1。 根据本次研究统计可知,大约有35 个样本(训练集中30 个,测试集中5 个)包含1 个以上的违禁物品。 具体数据集类别数量分布、训练集和测试集图片数量分布见表1。

表1 OPIXray 数据集的类别分布Tab. 1 The category distribution of OPIXray datasets

4 实验结果

4.1 实验环境

本文的实验环境是基于Ubuntu16.04 操作系统,4 块内存为8 G 的1070ti 显卡。 实验基于Pytorch 深度学习框架,采用SGD 优化器对模型进行优化,初始学习率设为0.005,权重衰减率为0.001,训练迭代次数约为64 000 次。

4.2 评估指标

评估指标是评价一个模型好坏的重要依据,在目标检测领域最常用的评估指标为平均精度-mAP(mean Average Precision),mAP是各类别平均精度AP(Average Precision)的平均值,AP是以精准率P(Precision)为纵轴,召回率R(Recall)为横轴的P -R曲线的面积。 其公式如下:

其中,TP为被预测为正类的正样本;FP为被预测为正类的负样本;FN为被预测为负类的负样本。

根据P - R曲线的面积计算得出各类AP的值(AP1,AP2,…,APn),再取其平均值得出mAP值,mAP的公式如下:

4.3 实验数据分析

4.3.1 不同目标检测网络的实验结果对比

在训练相同迭代次数后,将改进后的Faster RCNN 与当前主流的、 较新的目标检测算法RetinaNet、YOLOv5 及YOLOX[22]等做对比,实验结果见表2。

表2 不同目标检测算法实验结果对比Tab. 2 Comparison of experimental results of different target detection frameworks

根据表2 可以看到,改进的Faster RCNN 比原算法的mAP提高了12.4%,从单个类别来看,在5类刀具中直刀的提升幅度最大、较原算法AP提升了30.4%,折叠刀、美工刀和多功能刀则分别提高了10.7%、8.5%和10.4%;由于剪刀形状特殊、比较容易识别,因此检测精度较高,相较于原算法AP值提升了1.5%。与当下最流行的目标检测算法YOLOv5、YOLOX 对比来看,mAP分别提高了2%和2.2%。其中,直刀、剪刀和美工刀的AP 值均为其他目标检测算法中最优的,但折叠刀、多功能刀的AP值分别稍低于YOLOv5 和YOLOv3。 综上所述,可见本文改进Faster RCNN 算法的有效性。

4.3.2 不同骨干网络的实验结果对比

在目标检测算法中,骨干网络首先要提取目标的特征,因此骨干网络属于核心组件。 以FPN 做基础改进,采用迁移学习,使用骨干网络的预训练模型来减少训练时长。 使用不同的骨干网络ResNet50、ResNeXt101 等对Faster RCNN 进行改进实验,且对比不同骨干网络或相同骨干网络的不同深度进行实验,实验结果见表3。

表3 不同骨干网络实验结果对比Tab. 3 Comparison of experimental results of different backbone networks

由表3 可知,以ResNeXt101 作为骨干网络时的mAP值及各类别的AP值相较于其他骨干网络表现都是最好的。 对于不同深度的ResNet 骨干网络,ResNet101 的mAP值比ResNet50 提升了1%。 以FPN 作为基础改进,ResNeXt101 做骨干网络相较于原算法(VGG16) 的mAP值提升了 12. 1%。ResNeXt101 比ResNet101 的mAP值提升2.4%。 单个类别来看,与不同目标检测算法实验对比相似,直刀的AP值提升了4.6%,提升幅度较高;美工刀的提升幅度较低,为0.2%;折叠刀、剪刀、多功能刀的提升幅度分别为3.9%、1.5%和2.3%。

4.3.3 不同损失函数的实验结果对比

不同的损失函数对网络模型的性能也有影响,在以FPN 做基础改进,采用ResNeXt101 作为骨干网络后,采用SmoothL1、CIoU、DIoU等不同的损失函数做对比试验,实验结果见表4。

表4 不同损失函数实验结果对比Tab. 4 Comparison of experimental results of different loss functions

由表4 的结果分析可知,CIoU损失函数mAP值相较于SmoothL1、DIoU等损失函数有小幅提升。从mAP值来看,CIoU比原本的SmoothL1 的值高0.3%;DIoU和IoU的值相等,低于CIoU的值0.5%,可得采用CIoU损失函数是有效的。 从单个类别来看,每个损失函数在某一类上都有表现最好的AP值,CIoU损失函数在直刀上表现较好,其他类别刀具稍低于其他损失函数。

4.3.4 检测效果对比

对改进的Faster RCNN 算法检测效果进行可视化,将原算法、改进后的算法以及真实情况进行对比,对比结果如图6 所示。 图6(a)~(c)中,从左到右分别是:折叠刀、直刀、剪刀、美工刀、多功能刀。

图6 检测结果可视化对比图Fig. 6 Visual comparison diagram of test results

从图6 可以看出,改进的Faster RCNN 算法检测的可视化效果高于原Faster RCNN 算法。 改进后算法的检测框更接近于真实框,且原算法在检测美工刀时还存在误检情况,改进算法的检测精度均高于原算法。

5 结束语

本文加入FPN 网络改进了主流目标检测算法Faster RCNN,以进行多尺度的目标在不同特征层进行分类和回归;采用ResNeXt101 作为骨干网络,提高对X 光下违禁物品的特征提取能力;使用CIoU作为新的损失函数,提升检测效果。 最后,经过多轮实验对比,结果表明,改进后的Faster RCNN 比原Faster RCNN 算法mAP值提升12.4%。 但是,本文算法的直刀检测效果偏低于其他类别刀具,应根据此类刀具在X 光下的图像特性对算法做出相对应的改进,提高对直刀的检测效果。

猜你喜欢
骨干损失函数
二次函数
第3讲 “函数”复习精讲
胖胖损失了多少元
二次函数
函数备考精讲
核心研发骨干均16年以上!创美克在产品研发上再发力
玉米抽穗前倒伏怎么办?怎么减少损失?
骨干风采展示
一般自由碰撞的最大动能损失
损失