基于跨层网络的危险物品X射线自动识别
2020-12-29郭鹏程张文琪李毅红
郭鹏程, 张文琪, 李毅红
(1.山西省科学技术厅信息中心, 太原 030051; 2.中北大学, 信息探测与处理山西省重点实验室, 太原 030051)
为了保证机场、地铁站及其他人流众多的公共场所安全,行李物品X射线检测是必要的支撑手段之一。目前的行李安检是基于X射线扫描成像,通过人眼判断,实现危险品的检测与识别。但是危险物经常被有意或无意的存在变形、遮挡等问题,并且在高峰时期物体的通过频率大幅度提高,这使得人眼检测变得更加困难[1]。检测人员必须在极短的时间内确定是否存在危险物,这给检测人员的安全检查带来了巨大挑战。
早期对于危险物的自动检测通常基于传统的计算机视觉方法。往往通过采用不同的特征算法提取特征学习,最后实现目标的识别检测,其所涉及的过程通常包括:①图像的采集和预处理,常见的图像预处理方法有高斯滤波、均值滤波等;②传统算法提取图像的特征信息,把处理之后的图像利用特征提取算法提取特征信息,常见的特征提取算法包括尽度不变特征变换(SIFT)特征提取算法、方向梯度直方图(HOG)特征提取算法、哈雾(Haar)特征提取算子等,不同的算法对不同的图像特征具有不同的适应性[2];③训练分类器并识别[3]。通过训练学习特征信息实现目标的识别。常见的分类器包括支持向量机(SVM)、K-近邻(KNN)和随机森林等。Zhang等[4]提出的SIFT关键点结合视觉词袋,将提取的特征量化为视觉词袋,最后利用随机森林分类器训练每个类。Riffo等[5]提出改进后的隐式形状模型(ISM)方法;Mery等[6]提出的利用主动视觉用于检测危险物,自动估计下一个视图实现检测。李盛阳等[7]提出了采用基于Hough变换的方法进行识别;苏冰山等[8]采用多种特征提取方式提取到多种特征,包括直方图特征、共生矩阵特征、Tamura特征等,将多种特征相结合用于危险物的分类识别。以上的传统的识别方法虽然取得了一定的效果,但是由于危险物的种类繁多,特征之间的相似性也很高,这使得传统的识别方法更加困难。江铁等[9]对比分析了不同的特征提取算法性能,比较了各种特征提取算法在不同场景下的适用性不同,发现其鲁棒性不高。深度学习的出现为特征的提取提供了新的思路。
深度学习的出现使得算机视觉领域取得了突破性的进步。特别是在目标检测和分割领域,深度学习识别的准确性最高可达到99.55%[10],甚至超过人眼。与传统特征提取算法相比,深度学习对于每个特定的类别,网络可以自动学习不同类别的特征信息,从而为每个类别提供最具描述性和区分度的特征[11],其在每个卷积层中都有多个不同的卷积核。通过卷积运算可以捕获图像的局部、细节和边缘信息,将特征信息通过包含多层卷积层的网络结构,经过多层卷积学习后,卷积神经网络学习到的特征更加抽象和具有差异化,对目标对象的识别具有更好的效果,因此具有很强的适用性。深度学习的出色表现依赖于需要学习每种危险物品特征,但是危险物的种类多种多样,每种危险物都需要大量带标签的数据集,这在行李安检领域不易实现。为了充分提取数据特征,使其在小样本检测领域具有更好的适应性,提出了跨连接网络的思想。李勇等[12]提出了跨连接LeNet-5的面部识别,杨剑等[13]提出了改进型残差网络等,这些方法取得了很好的检测效果。
为了提高危险品检测的准确率和鲁棒性,采用跨层网络对Faster-RCNN目标检测网络架构进行了改进,在原有目标检测性能的基础上。通过跨层连接丰富特征信息,使其在较小的训练数据集上取得更鲁棒的检测效果。
1 Faster-RCNN
1.1 检测网络
Faster-RCNN检测网络将目标检测分为了四步:特征提取、RPN(region proposal network)进行边框修正、ROIpooling(池化层)整合特征信息、全连接层识别定位。首先对输入为任意尺寸大小的数据缩放到固定尺寸,然后通过共享卷积层提取特征信息,共享卷积层的输出和输入到区域提议网络(RPN)中,得到区域建议,完成目标定位[14]。RPN的区域建议作为输入与共享卷积层的输出特性相结合,并输入到后续的ROIpooling层。ROIpooling层使用最大值池化将特征转换为具有固定长度输出的小特征映射[15]。接着将其传递给两个全连接层,最后通过分类器进行分类,得到分类概率,对边框进行边框回归以获得用于对象识别和目标定位的准确边界框信息。图1为输入图片的处理过程,图2为卷积提取之后的特征图片[16]。
图1 数据的处理Fig.1 Data processing
图2 卷积特征可视化Fig.2 Convolution feature visualization
1.2 RPN
RPN在Faster-RCNN中用于生成目标检测框,如图3所示,其与传统的滑窗和选择搜索算法相比更加高效。共享卷积层的输出输入到RPN中时,首先通过一个3×3像素的卷积层,其每个特征点融合了周围3×3的空间信息,之后对每个特征点生成9个固定大小的初始检测框,将其称为锚。锚的大小是固定的。它包含3个尺度(128、256、512)和3个宽高比(1∶1、1∶2、2∶1)。每个图像有大约6 000个锚点用于生成计算。锚点通过Softmax分类得到前景的锚点和区域得分,通过初始检测框与实际框进行对比,通过边框回归,修正生成新的检测框。之后对修正后的检测框使用非最大抑制(NMS)[17]。计算公式为
Iou=(A∩B)/(A∪B)
(1)
图3 Faster-RCNN目标检测框架Fig.3 Faster-RCNN target detection framework
式(1)中:A为实际的目标框;B为修正后的检测框;将其阈值设置为Iou=0.7。这导致每个图像大约生成2 000个建议区域。根据非极大值抑制(NMS)后的前景分类得分,前景锚点从大到小排序,前300个被提取为主导输入。最后输入后续的ROI pooling层。
RPN的损失函数由分类损失(Lcls)和边界框损失(Lreg)组成。因此图像的损失函数定义为
(2)
图4 基于跨层网络的Faster-RCNN框架Fig.4 Based on the cross-layer network of the Faster-RCNN framework
2 基于跨层网络的Faster-RCNN
Faster-RCNN目标检测框架具有较低的特征利用率,它通常仅使用最后一层的输出特征映射进行分类识别。难以有效地利用底层的特征来构建更好的分类器。改进后的跨层网络的输出结合了其他网络层的输出特征,特征信息更加丰富,可以获得更好的检测结果。
2.1 跨层网络
在网络结构中,经过多层卷积和池化操作之后,较小的特征信息可能会被丢失。而跨层连接可以丰富特征信息并提高性能准确性。例如ResNet旨在解决梯度消失问题并降低训练难度[19]。DenseNet每层的输入包含来自所在模块先前所有层的信息,虽然增加了特征的利用率,但消耗了大量内存[20]。
设计的跨层网络特征提取在共享卷积层部分,因此跨层实现在共享卷积层部分。训练数据首先通过一个卷积层(conv 1)和池化层(pooling 1),提取事物的浅层特征,然后将其作为共享特征部分。共享特征具有保存完好的边缘特征信息和细节特征信息。共享特征输出的一个分支将继续输入随后的卷积神经网络以提取深层特征[21]。网络框架如图4所示,另一个分支直接将先前提取的共享部分输入到最后提取的深度层特征中。这些特征结合了浅层细节特征和深层特征,并且具有良好的识别性。
当对通过跨层连接提取的特征进行特征合并时,它增加了每个卷积层下的信息量,使信息更丰富,但图像本身的通道数并没有改变,只是在每个维度中的信息量增加。在共享卷积层部分中,输入图像的大小被调整为固定大小。在特征提取操作之后,由浅层卷积提取的特征和由深层卷积提取的特征不完全匹配。因此在实验中添加了卷积核大小为1×1像素的卷积层,改变卷积层的步长和卷积核的个数以实现维度的匹配。
2.2 网络训练
在网络训练期间,区域生成网络(RPN)和改进的跨层共享卷积层部分在训练期间合并到一个网络中。 在每次隧相梯下降(SGD)迭代中,前向传输更新网络的权重和偏移。训练开始随机初始化权重和偏移,然后网络执行迭代训练以计算其实际输出。在前向传播完成后,优化目标函数并使用反向传播算法计算反馈。通过梯度下降法更新参数值,进行迭代训练[22]。
3 实验和结果
选择Keras作为开发平台,使用英特尔酷睿i7-6700K处理器和NVIDIA GTX1080显卡,由于没有公共安检机危险物的数据集。通过双能安检机收集训练和测试数据,生成网络模型,最后与其他网络的性能进行对比分析。
3.1 数据集
采用BVE-8065双能安检机采集数据构建训练数据集。其中图片的大小为580×380 pixel。通过旋转获取不同角度下的包含危险品的行李箱数据。数据集中共有600张图像,共包含1 384个标记框。随机翻转扩展后数据量变为为900张。随机选择300张作为测试数据集,其余为训练数据集。在训练中每迭代100次,随机选取数据集中的150张进行实时检测,并获得实时检测精度。构建的数据集中共包含9种危险物。图5包括瑞士军刀(RSD)、美工刀(MGD)、组合刀(ZHD)、步枪(BQ)、菜刀(CD)、水果刀(SGD)、钥匙刀(YSD)、手枪(SQ)和柴刀(CHD)。
3.2 网络参数设置
在网络设计中,输入图像的大小调整为224×224像素,然后在conv 1和pooling 1之后提取浅特征。输出尺寸为96×55×55 pixel,conv 5中提取的深层特征尺寸为512×14×14 pixel,但是二者的通道数和尺寸完全不同。因此添加1×1卷积(conv 6)并设置其步长为4pixel,来实现特征的融合。每个网络层的具体参数设置如表1所示。
图5 训练数据集Fig.5 Training data set
改进的跨层网络的迭代次数设置为20 000次。优化器选择SGD(随机梯度下降),初始学习率为lr=0.000 01,检测帧阈值Tthres=0.7,训练采用端到端的训练模式。此外损失函数主要由分类损失和目标框回归损失两部分组成。每迭代1 000次输出训练精度和损失。在训练过程中发现:跨层网络训练的损失比普通网络下降更快。
3.3 实验分析
从以下三个方面:①网络输出特征可视化对比;②网络模型在不同情况下的检测结果;③不同网络结构的训练性能对比分析跨层网络的性能。
3.3.1 特征对比
在经过多层卷积层提取特征信息之后,将特征信息可视化输出,对比图6(a)、图6(b)可知,图6(b)融合浅层的基础特征后提取的特征信息更加丰富。表明跨层网络可以有效提高获取的特征信息,提高目标识别的准确性。
表1 网络结构参数Table 1 Network structure parameters
图6 输出特征图可视化Fig.6 Output feature map visualization
3.3.2 网络性能分析
在对网络的性能进行分析时,使用与跨层网络相同的网络超参数来训练基础的Faster-rcnn,两者在共享卷积层中不同,跨层网络结构共享卷积层结构为6个卷积层和2个池化层,基础网络结构共享卷积层结构为5个卷积层和2个池化层。选择不同角度和不同场景下的图片作为测试数据。然后以基础网络的训练结果作为基准,检测跨层网络是否具有更好的检测性能。输出结果为准确度,单位为%。具体检测如图7所示,其中图7(a)、图7(c)为基础网络检测结果,图7(b)、图7(d)为跨层网络检测结果。
图7 网络性能对比Fig.7 Network performance comparison
对于手枪(SQ)、步枪(BQ)和菜刀(CD)等大型危险物,与基础网络相比跨层网络也具有良好的检测性能,检测准确率达到90%以上。对于小型物体,如组合刀(ZHD)、钥匙刀(YSD)、瑞士军刀(RSD)跨层网络识别准确率可以达到85.7%,明显优于基础网络的识别精度80.5%,因此识别精度更高。特别是刀尖(DJ),由于其所占部分在整体图片中的部分较小,在基础网络中其识别准确率很低,跨层网络却仍具有一定的识别精度,识别准确率达到75%。
乘客在行李中携带危险物时,往往会存在遮挡的问题。所以在行李箱中放了很多电缆,模拟检测在缠绕电缆的干扰对于危险物识别的影响,实验表明:同一对象在被遮挡时仍具有较高的识别率,总体数据的识别准确率达到80%左右,对于较小的目标仍然有很好地识别效果。单个物体的预测概率维持在85%以上,高于阈值0.7。此时的跨层网络模型仍具有一定的刀尖检测能力(图8)。
图8 干扰下的检测效果Fig.8 Detection effect under interference
最后,模拟了正常的行李箱通过安检机的情况,其中行李箱中包含充电器、雨伞、杯子、固体化妆品、鞋子、帽子和其他常用物品。采集了不同物体摆放下的行李箱图片100张。与图8相比,在添加遮挡之后图像的颜色加深,并且信息更复杂。但仍具有良好的检测效果,总体的检测精度为83.5%,高于78.9%的基础网络检测精度。其他具体的数据比较如表2所示,表明该模型具有良好的鲁棒性(图9)。
3.3.3 性能对比
对比分析了Faster-RCNN的共享卷积层部分采用不同的结构对整个对象检测框架的影响。包括基础网络(5个卷积层+2个池化层)、跨层网络(6个卷积层+2个池层)和VGG网络(13个卷积层+4个池化层)。从训练时间、检测精度、检测时间、训练方式四个方面进行比较分析。与基础网络相比,跨层网络在耗时上没有明显差异。检测精度提高了5%左右。由于卷积层数量较多,VGG网络比前两个消耗的时间要多得多。但是检测精度与跨层网络的检测精度基本相同。比较结果如表2所示。
图9 现实场景下的检测效果Fig.9 Detection effect in real-life scenarios
表2 网络结构性能对比Table 2 Network structure performance comparison
4 结论
针对当前危险物通过安检系统时人眼识别存在的漏检和误检问题,基于深度学习在物体检测和识别领域的良好结果,采用跨层网络改进了现有的Faster-RCNN网络架构,提出了基于跨层网络的危险品X射线图像自动识别方法。浅层特征信息通过跨层连接到深层,使深层网络融合了多层次的特征信息,有效避免了数据样本量小带来的训练梯度消失问题,保证了危险品目标检出率。在构建危险品数据库的基础上,通过训练构建了跨层网络模型,并通过实际数据进行验证。对比基础网络、跨层网络和VGG(Visual Geometry Group)网络的检测结果,论文提出的方法检测精度相当于更深层的VGG网络,但是单幅检测时间最少,检测效率高。从而说明论文通过跨层网络改进的Faster-rcnn网络更具针对性,网络收敛更快,性能也更加出色,对于行李包安检系统自动识别具有重要意义。