基于全卷积网络的X光图像违禁物品检测方法

2021-11-20 01:57:10李舒婷姜永峰
计算机工程与设计 2021年11期
关键词:违禁品锚框X光

李舒婷,姜永峰,张 良+

(1.中国民航大学 电子信息与自动化学院,天津 300300;2.浙江省温州市公安局 情报信息支队,浙江 温州 325000)

0 引 言

在机场安检通道中,行李安检仪输出的图像通常拥挤杂乱、不同层次的物品相互重叠,使得人工判图耗时长且存在误判风险,所以利用计算机视觉领域中的图像检测技术实现更高效的安检X光图像违禁品检测。

在文献[1]中,Samet Akcay等利用卷积神经网络解决X光图像中违禁品的分类问题,将网络中的特征提取与词袋模型结合后,通过迁移学习微调实现图像检测。在文献[2]中,Domingo Mery等使用近年来提出的多种目标检测算法对图像进行深度特征提取,对比得到的检测准确率最高可达95%,但这种方法仅能判断图像中是否含有违禁品,不能准确判断目标在X光图像中的位置。在文献[3]中利用Faster R-CNN[4]、R-FCN[5]、YOLOv2[6]等变型的多种检测算法,验证了这些算法可以更好地应对摆放杂乱的安检X光图像中的检测任务,但导致部分检测的分类质量有所下降。

因此,本文以全卷积网络为基础框架,通过多尺度特征融合各层级的方式,实现对不同大小目标的特征分离,结合改进的损失函数优化算法模型。所提方法在应用于实际安检X光图像的过程中,验证了算法的可行性,为智能安检判图提供思路。

1 算法设计基础

1.1 X光图像中违禁品的表示方法

X光射线在穿透行李内不同密度的物品时会不同程度地衰减,最终在探测器上投影出大致的形状,重叠物品表示为复合影像,并依据黄、绿、黑等颜色体现物品类别。

图1左侧是目前主流算法的检测过程,通过将输入X光图像上的多个位置作为锚框参考,对目标边界框进行回归。但密集的预测锚框导致了大量的损失计算和内存消耗,在训练过程中使得正负样本极不均衡。图1右侧为本文算法的检测过程,通过直接在每个空间位置点上预测一个4D向量和一个类别,实现更加快捷的无锚框检测。

图1 X光图像中违禁品的表示方法

假设某点 (x,y) 落在违禁品边界框的区域内,则视为正样本,得到一个4D实向量t*=(l*,t*,r*,b*) 作为回归目标。否则为负样本,则表示目标回归的类标签k的值为零,属于背景类。若该点落在多个边界框内,则被认为是模糊样本,根据最小面积优先选取边界框作为回归目标。

因为网络得到了尽可能多的前景数据训练回归目标,所以优于只能通过提高IoU阈值作为正样本的基于锚框检测方法。当点 (x,y) 对应的回归目标表示为B=(x0,y0,x1,y1,k) 时,回归向量满足

(1)

1.2 全卷积网络

全卷积网络(fully convolutional networks,FCN[7])首先输入任意尺寸的图像,类似于CNN的结构,将网络中的全连接层替换成一个个卷积层,最后利用反卷积对特征图进行上采样,使它恢复到与输入图像相同的尺寸并逐像素检测。如图2所示,在上面一行CNN中,前5层是卷积层,第6、7层是长度为4096的一维向量,输出的第8层是一个长度为1000的一维向量,分别对应1000个类别的概率。而下面的一行是FCN,后面3层结构为卷积层,输出对应的通道数、宽、高分别为(4096,7,7)、(4096,1,1)、(1000,1,1)。因为FCN中所有的特征层都是卷积层,故称为全卷积网络。

图2 全卷积网络实现的语义分割任务

FCN在场景深度估计的文献[8,9]中和语义分割的文献[10,11]中均取得了巨大的成功,目前的学术研究也正在尝试将其用于目标检测领域。如在文献[12]中DenseBox利用FCN判断像素是否在某个物体的中心点附近,并结合多任务学习和定位进一步提高目标检测的准确性。在文献[13]中UnitBox基于FCN进行图像分割,提出一种新型框架进行人脸检测。而在文献[14,15]中CornerNet和CenterNet基于关键点进行目标检测,通过独立预测框左上角和右下角的位置将两幅预测图进行联合嵌入,最终获得边界框。

但基于FCN的检测方法目前主要还是用于特殊场景下,获取全局信息的能力较弱且难以组联同一检测目标的关键点,在具有高度重叠目标的通用检测任务上效果一般。因此,针对安检通道中X光图像的特点,使用FCN优化网络结构提升违禁物品检测的准确率。

2 基于FCN改进的X光图像中违禁品检测方法

2.1 网络结构

图3为本文提出的检测算法,双向FCN的整体网络构架。X光图像输入网络后,首先将逐个像素进行特征提取。经过多层卷积和池化后,自底向上产生C1、C2、C3、C4、C5卷积层。深层特征图通过双向特征金字塔进行特征融合后,产生P3L、P3R、P4L、P4R、P5L、P5R(Pi∈RH×W×K表示第i层特征图)降低漏检率,解决了重叠物体引发的歧义,P3~P7对应的步长(相对于原图的缩放比例)分别是8、16、32、64、128。之后P3~P7共享检测头,输出端分别添加分类及回归子网络。

图3 双向FCN的网络框架

(2)

2.2 多尺度预测

2.2.1 特征金字塔网络

通常的物体检测算法,无论是单阶段检测还是双阶段检测,通常都是在骨干网络的最后一个层直接输出检测头做模型训练。若网络最后一层的步长是32,则输出特征图的分辨率只有输入的1/32。致使图像模糊,不利于准确检测,因此一般会去掉最后一层的最大池化层(Max Pooling)或者将卷积层步长改小。

这种检测算法显然无法同时有效表征各个尺度的物体,因此利用深度卷积神经网络搭建多层级的金字塔结构,使用一种自上而下的侧边连接在各个尺度构建特征图,这种结构称为特征金字塔网络(feature parymid network,FPN)[16]。目前主流的物体检测模型都是自上而下单向融合的FPN,如常见的Faster R-CNN、Mask R-CNN、RetinaNet和Cascade R-CNN[17]等。

PANet[18]是第一个提出从下向上的二次融合模型,证明了双向融合的有效性。模型整体上可以看作是在Mask R-CNN上改进,充分利用网络浅层特征融合得到更加精确的分割结果。而PANet的双向融合较为简单并不具有实际应用价值。

因此本文在FPN的研究上更进一步,设计双向并行的多尺度预测机制,将浅层特征和深层特征双向融合搭建侧金字塔,提高检测精度。

2.2.2 左侧特征金字塔

分开来说,图4为左侧FPN,把更抽象、语义更强的高层特征图P(i+1)L通过最邻近元法进行上采样,生成粗粒度特征图。对应的低一级卷积层Ci通过1×1的卷积计算降低通道数,但仍保持与第i层特征图相同的尺寸。将其与P(i+1)L生成的上采样图像横向连接,获得更多细粒度信息的特征层PiL。

图4 左侧FPN的融合模块

因此左侧FPN提高了特征映射的分辨率,可以获得更多关于小目标的图像数据。C1、C2由于尺寸过大且语义信息不足,没有放入特征融合中。由此可得左侧FPN的表达式为

(3)

2.2.3 右侧特征金字塔

如图5所示,为右侧FPN的具体结构,通过对特征增强细粒度表达提取高判别性能的特征,保存更多的浅层定位信息。结构自下而上进行特征融合,浅层特征经过骨干网络的横向连接通过1×1的卷积计算降低通道数。

图5 右侧FPN的融合模块

低一级的特征图P(i-1)R通过步长为2的下采样传递到顶层,最后两者融合后通过3×3的卷积层消除混叠效应。因此最后生成的特征图P3R、P4R、P5R, 对应卷积层的空间尺寸大小也相同。值得注意的是,这里的P3L和P3R表示不同的特征图,P5L和P5R也表示不同的特征图。右侧FPN的表达式为

(4)

双向FPN模块将尺寸不同的物体分配到对应的层级上,P5L-P3L自顶向底将深层的信息传递到浅层,可以学到更多的语义信息。P3R-P5R自底向顶将浅层的信息传递到深层,通过更高的分辨率学到目标的细节信息。综合局部信息和全局信息,使得不同尺度下的特征都有丰富的语义信息和位置信息,最终对8个特征图逐像素回归。

与基于锚框的检测不同,双向FPN直接对限制了边界框回归的范围。设di表示第i层特征需要返回的最大距离,d2~d7的取值分别为0、64、128、256、512以及∞,则每层满足

mi-1≤max(l*,t*,r*,b*)≤mi

(5)

若超出这个范围则被设置为负样本,不再需要返回边界框。通过限定回归最大距离分离不同特征层的回归目标,可以确保对象始终完整地处于各特征层的接受域内,减少了负样本参与回归的计算量。刀和枪等多种违禁品时常发生遮掩,但通过特征金字塔的双向逐级融合可以很大程度缓解目标重叠的问题,进一步降低了违禁品检测的漏检率。

2.3 损失函数

如图6所示,数据经过双向FPN预测后输入共享检测头,连接4个卷积层,分别进行分类和回归计算。分类分支预测目标在每个位置上个类别的概率,在回归分支预测目标在每一个位置上的偏移量。但大量偏离目标边框中心点很远的那些预测框,会导致大量低效率的训练和计算占用内存。从IoU Loss函数的角度来说,当预测框和目标边框在水平或垂直方向上相交时,IoU计算的值仍没有比在其它方向上有明显增加,导致对这两个方向上的惩罚不够。因此无法给出优化方向,收敛速度减慢。在基于锚框检测方法的损失计算中,DIoU Loss[19]通过合并预测边框和目标边框之间的标准化距离,可以使预测框的中心点更大程度接近目标边框,避免产生过大的框体。

图6 违禁品生成标注的过程

因此本文提出在回归分支IoU Loss的基础上,也引入一个惩罚项进行损失函数计算。这个惩罚项可以达到对于不同距离、方向和面积的预测框都做到高质量回归的效果。具体来说,用ΔT表示该像素点描绘的预测边框的对角线交点,与距离该点负责的目标边框的对角线交点的距离比值。该惩罚项ΔT通过抑制低质量的边界框来最小化损失函数,使模型在训练时达到快速收敛,回归更加准确。经实验可得,在将ΔT参与衡量的损失函数TIoU引入到(non-maximum suppression,NMS)中,替换原本的IoU消除冗余,表明在目标遮挡的检测情况下,也能显著提高后抑制项的鲁棒性。t=(l,t,r,b) 表示左、上、右、下4个边界框与预测该边框的像素点之间的距离,t*=(l*,t*,r*,b*) 表示该点负责的目标对象真值边框与该像素点之间的距离,则ΔT的表达如式(6)所示

(6)

分类分支输出一个W×H×K大小的特征图训练k个二值分类器,对应真值是图6中的可视区域。针对单阶段检测中正负样本比例严重不平衡的问题,该分支使用Focal Loss[20]作为损失函数,在交叉熵函数的前面增加前置因子γ降低大量简单负样本在训练中所占的权重。通过更关注于困难的、错分的样本,使得整体的损失函数值变小。

预测推理时,将所有分支的Loss进行求和,选择结果最小的特征层学习实例,训练时根据学习的特征进行更新。给定输入图像进行前向推理时,通过网络前向传播得到特征图Fi每一个位置上 (x,y) 的分类概率P以及回归预测向量t。 如果P≥0.05, 则作为正样本,然后通过式(1)获得预测值。最合适的特征金字塔层会自然地输出高置信分数,因此不需要进行特征更新。令Npos表示每次训练过程中正样本的个数,则在进行计算求和时,整体的损失函数满足式(7)

(7)

3 实验结果与对比分析

3.1 实验数据集

本实验数据集来源于民用航空机场中安检通道采集的X光图像,通过实验室同组人员共同标注制作的安检X光图像数据集,共计8718张X光图像。

如图7所示,该数据集主要包含5类违禁品,分别为枪、刀、扳手、镊子和剪刀等,并对每张图像标注了违禁品的边框位置和类别。先将手工标注的X光数据集改为coco数据集的存放格式,再根据image下的图片和标注下面xml文件,把每个图片的标签重新整合成train和val的两个json文件。

图7 违禁品的种类分布

在消融实验(ablation study)中,选择该数据集的60%作为训练集,40%作为验证集。通过将本文方法与基于锚框的RetinaNet方法,以及各文献进行对比,以此验证本文方法的实用性。

3.2 评价指标

如前文所述,针对X光图像中违禁物品检测的主要问题是尽量降低行李漏检的概率和解决重叠物品的难识别障碍。为评估本实验图像的检测结果,采用的评价指标为平均漏检率和平均精度。

(8)

平均精度(average precision,AP)作为目标检测另一重要的评价指标,表示每张图片上的含有k个类别和所有TIoU阈值下的精度的平均值。检测器预测的类别和位置效果越好,AP值越高。AP50、AP75分别指的是在TIoU的阈值在大于0.5、大于0.75时的平均精度。数值越高,越难达到检测效果。则平均精度的计算公式为

(9)

3.3 消融实验

实验系统配置包括处理器Inter Xeon(R)Silver 4110CPU@2.10 GHz的工作站,两块NVIDIA GeForce GTX 1080Ti的GPU显卡,在Ubuntu 16.04操作系统的平台上,软件环境为Pytorch深度学习框架和Python编程语言。

在消融实验中,为了与基于锚框的检测器同级平等比较,以验证本文所提的方法可以作为一个强大而简单的替代方案,所以实验均设置与 RetinaNet相同的超参数。在用自制数据集训练算法的初始阶段时,使用更快更简单的ResNet-50[21]作为骨干网络。并设置batch_size=4,初始学习率为0.01,在迭代20 K和28 K时的学习率分别衰减为0.001和0.0001。

所有的消融实验只训练30 k迭代(epoch=20),是完整实验迭代次数的1/3。在ImageNet上预先训练的权值初始化主干网络,单张输入X光图像通过调整大小使得其短边为800,长边小于或等于1333,采用随机梯度下降法(stochastic gradient descent,SGD)进行优化。

3.3.1 有无锚框的消融实验

如表1所示,在同样网络深度的无锚框检测器双向FCN中,实验可以获得56.2%的AP。而在搭建同样参数的基于锚框的RetinaNet中,进行实验后获得只有55.3%的AP。可见基于本文提出的无锚框检测方法远远优于有锚框的检测方法。在基于锚框检测的卷积神经网络中,网络过深(例如步长为32的特征层)导致了正负样本比例严重失衡,致使准确率下降,只能通过降低IoU的阈值在一定程度上得到补偿。

表1 基于锚框的RetinaNet和基于无锚框的双向FCN

类似地,在将双向FCN去掉一侧FPN的情况下,即设置与RetinaNet相同的骨干网络和特征融合方式后,本文所提方法依旧比基于锚框的检测方法高出0.7%。双向FCN因为没有锚框,所以对比每个位置上的单个像素点,少了9倍的候选框数量,显存占用也只有一半。本消融实验验证了双向FCN实现的无锚框网络的召回率比基于锚框的同类网络更好。

3.3.2 有无多尺度预测的消融实验

如表2所示,本组消融实验通过控制网络经过不同程度的特征融合,验证双向特征金字塔的存在会带来检测性能的显著提升。

表2 多尺度预测的不同方法对比

在基于FCN的检测器中,目标边框重叠会在训练过程中难以判断该点应该回归到重叠区域内的哪个边界框,导致检测性能大幅下降。如表第二行所示是不使用多尺度预测的FCN网络,平均精度较低。

第三行消融实验添加了单侧特征金字塔,采用左侧特征金字塔自顶至底融合,对浅层语义进行特征增强。在输入大小为1024×800的图像时,最小的检测出目标大小为16×13,降低了微小目标的检测难度,使得小目标的AP显著提高。

第四行为添加了双向特征金字塔的网络,因为绝大多数的重叠目标被分配到了不同的特征层进行检测,使得AP不断提高。相比于单侧特征金字塔,MOR也有明显降低,因此符合投入应用安检通道场景中的实际要求。

在计算检测边框来自于模糊位置的数量时发现,只有2.3%的边界框是由模糊位置产生的。同时考虑到不同类别之间的重叠数量,比例降低到1.5%。因此,本消融实验进一步验证了违禁品的遮挡问题一定程度上可以通过双向FPN解决。

3.3.3 有无改进损失函数的消融实验

如表3所示,通过控制网络在不同的损失函数下计算,验证了+TIoU的AP有了明显的提升。除了检测准确度外,+TIoU算法的另外一个重要性能指标,检测速度的评价指标,也有小幅提高。

表3 回归损失函数

从图8可以看到,3个损失函数在迭代过程中的衰减曲线。GIoU仍然严重依赖IoU,因此很难收敛。TIoU直接最小化两个目标框的距离明显缩短推理时间,相比GIoU收敛快得多。

图8 回归损失函数的衰减曲线

3.4 本方法和研究现状的对比

表4展示了本文所提方法双向FCN与目前双阶段和单阶段的最前沿的检测算法(state-of-the-art,SOTA)在X光数据集上的实验结果对比。双向FCN选择训练90 k迭代的完整实验,学习率在60 K和80 K次迭代时减小10倍,对比同量级的双阶段检测器Faster R-CNN,仅一个指标略低0.1%。同时保证了网络检测的实时性要求,每秒检测图片数量(frame per second,FPS)相比于双阶段的算法Faster R-CNN明显提高。对比同级的单阶段检测器RetinaNet,本方法也在较快的检测速度基础上使AP提高了两个百分点。

表4 双向FCN与SOTA检测方法比较

4 结束语

针对传统CNN检测违禁品准确度低的问题,本文提出了一阶段检测的双向FCN算法。该算法基于FCN进行无锚框的逐像素检测,节省了所有与锚框相关的计算,避免了基于锚框检测带来的弊端。在特征融合阶段加入了双向特征金字塔,一定程度上缓解了目标重叠的影响,同时降低了不同大小目标的漏检率显著提高了检测的准确性。通过改进损失函数加快了网络训练模型,满足检测实时性要求。该算法大检测的安检图像输出结果如图9所示,表示了违禁品的类别和位置。实验结果表明,和目前流行检测算法(包括Faster R-CNN、YOLO和RetinaNet)相比,所提设计结构更加简洁,充分验证了双向FCN在X光图像违禁物品检测中的实用性。

图9 X光图像违禁物品的检测结果

猜你喜欢
违禁品锚框X光
刑事涉案财物先行没收程序探析
法制博览(2023年9期)2023-10-05 15:09:06
基于YOLOv3锚框优化的侧扫声呐图像目标检测
信号处理(2022年11期)2022-12-26 13:22:06
锚框策略匹配的SSD飞机遥感图像目标检测
基于SSD算法的轻量化仪器表盘检测算法*
基于GA-RoI Transformer的遥感图像任意方向目标检测
仿生武器大揭秘
论盗窃违禁品行为的定性与量刑
给动物拍张X光片
人眼X光
快乐语文(2019年9期)2019-06-22 10:00:38
还在喂奶,能照X光吗?
妈妈宝宝(2017年2期)2017-02-21 01:21:28