基于卷积神经网络的X射线图像危险液体识别

2023-04-27 04:05张然汤全武李明源刘东昌解波
电脑知识与技术 2023年8期
关键词:图像识别

张然 汤全武 李明源 刘东昌 解波

关键词: 安检;危险液体;X射线图像;改进的卷积神经网络;图像识别

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)08-0029-05

0 引言

公共场所与交通工具的安检中,液体安检一直是较为困难的安检内容。大多数安检关卡,在发现包裹中有液体物质时,还需要打开包裹对液体进行单独检查、耗时耗力,效率低下。南迪娜等人[1]对42种危险液体使用785nm激光器的拉曼光谱仪建立检测光谱,使用线性判别分析模型区分出水、汽油、其他有毒液体;张涛等人[2]使用拉曼光谱定性定量分析了两种或三种危险液体混合物的各成分及含量;王君玲等人[3]通过实验研究表明,两个毛细管X光半透镜组成的准直系统,能显著地提高光源的X射线利用效率,提高散射能谱的分辨率等;胡紫薇等人[4]提出了一种理想状态下基于双能X射线安检机的液体识别方法,解决了难以提取有效原子序数实现液体分类识别的问题;钟煜等人[5]固定散射角θ,采用连续波长的X射线对3类纯液体物质(伯醇、苯同系物与氯代甲烷)进行了能量色散X射线散射实验,能量色散X射线散射方法有可能作为非破坏性、非接触式检测与识别隐藏液体物质的有效手段;但是在实际应用中,还存在一些现实问题,例如,拉曼光谱仪检测需要单独取出液体进行检测,过程步骤较为烦琐;毛细管X光半透镜对液体体积变化敏感,还需要结合因子分析等数据处理算法,较为烦琐,影响处理速度;基于双能X射线安检机的液体识别方法并未给出算法的处理时间,对于厚度不均匀的容器可能出现误检和漏检情况;能量色散X射线散射方法还需要建立目标液体X射线散射特征数据库等问题。

卷积神经网络(Convolutional Neural Network,CNN)是深度学习的重要算法之一,在图像处理和模式识别方面发挥了重要作用[6-7]。本文首先对92 号汽油、甲醇与硝基甲烷混合液、75%酒精、食用油、水共5种液体分别用玻璃、金属、塑料、陶瓷共4种容器盛装后进行X射线图像获取,对样本图像进行旋转、镜像、平移等操作增强样本平衡性、现实性,再对样本图像分割、前景获取等处理后,试图通过6类特征值的支持向量机(Support Vector Machine,SVM)网络、改进的32特征图像的基础型卷积神经网络、改进的2048特征图像的ResNet-50网络来实现在现有X射线安检技术条件下的危险液体准确、快速识别。

1 实验数据

1.1 实验材料

实验用5种液体:92号汽油、甲醇与30%硝基甲烷混合液、75%酒精、食用油、水的原始样本各400份(模型识别按训练集和预测集3:1分配,即每种液体训练集300份样本,预测集100份样本),分别用玻璃、金属、塑料、陶瓷共4种容器盛装,容量均为500mL,进行X射线图像获取实验。

1.2 实验设备及其参数

实验采用深圳市天和时代电子设备有限公司生产的安天下牌X射线安检机,型号为AT6550,分辨力为直径0.0787 mm金属线,空间分辨力为水平:直径1.0 mm,垂直:直径1.0 mm,穿透分辨力为直径0.254mm,穿透力为34 mm钢板,单次检查剂量小于1μGy,射线束方向为底照式,管电流为0.4~1.2 mA(可调),管电压为100~160 kV(可调),射线束发散角为80°,X射线传感器为L形光电二极管阵列探测器(多能量)。

1.3 图像采集与数据获取

将每个样本依次经过X射线安检机并获取样本高、低能X射线图像[8]各8000张(每种液体样本400×5种液体×4种容器),原始图像均为大小1024×640像素,水平和垂直分辨率为96 DPI,位深度为RGB格式24位彩色图像,图1为部分样本X射线图像。

1.4 图像预处理

通过上述X射线原始图片可知,图片中目标物体较小,背景所占面积较大,需进行图像分割,通过基于梯度的分水岭分割[9]、多尺度扩张卷积网络分割[10]、随机分形搜索(SFS) 算法分割[11]、自适应多重欧氏距离变换的分水岭粘连颗粒分割[12]、RGB颜色空间的彩色图像分割[13]、基于超像素的快速聚类图像分割[14]等多种分割方法的分割效果和处理时间比较,最终选用基于RGB三原色分解的二值图像分割算法进行图像分割,分割后的样本图像均为大小94×131像素,水平和垂直分辨率为96 DPI,位深度为RGB格式24位彩色图像,分割后的部分样本图像如图2所示。同时,由于SVM神经网络建模需要,对所有分割后的样本图像进行特征值提取[15-16],获取了均值、标准偏差、平滑度、三階矩、一致性、熵共6类特征值,如表1所示,并组成特征向量,为输入模型进行识别做准备。

2 模型建立

2.1 模型运行环境

基于Matlab R2018a平台进行3种神经网络的训练与测试。硬件环境:Intel(R)Core(TM)i7 -10750CPU@2.60GHz处理器,8GB内存,NVIDIA GeForce GTX 1660Ti。GPU 软件环境:Windows10 64bit 系统,CUDA10.0,CUDNN7.4。

2.2 SVM 神经网络

2.2.1 模型原理

支持向量机(SVM)[17]像多层感知器网络和径向基函数网络一样,可用于模式分类和非线性回归。SVM不利用问题的领域内部问题,但在模式分类问题上支持向量机能提供好的泛化性能,这个属性是支持向量机特有的。它具有出色的小样本学习性能和良好的泛化性能,与传统人工神经网络法相比,它具有在小样本下高精度逼近函数的能力,并且可以避免维数灾难,具有一定的工程实用价值。

2.2.2 SVM 模型建立

本文选用均值、标准偏差、平滑度、三阶矩、一致性、熵,六个描绘子组成的向量作为样本的特征向量,输入SVM模型。本文选取libsvm3.24版工具箱实现SVM神经网络。libsvm工具箱主要函数是svmtrain和svmpredict。

2.2.3 SVM 模型参数优化

此处的参数优化主要为SVMtrain(训练函数)CMD中的参数c和g,依据是SVM建立的分类超平面作为决策曲面,不同类别之间的隔离边缘最大化,即SVMtrain(训练函数)得到的model网络不同类别边缘最大化。

通过循环迭代model网络22次,最终得到参数c和g最优值均为32。

2.3 卷积神经网络

2.3.1 模型原理

卷积神经网络(CNN或ConvNet) [18-21]是最常用的深度神经网络类型之一。CNN使用二维卷积层,通过输入数据学习特征,使此架构非常适合用来处理诸如图像数据等数据。

CNN无须手动提取特征,它通过数十或数百个隐藏层提取圖像的不同特征,每个隐藏层都增加了所学习图像特征的丰富程度[22-24]。第一个隐藏层学习如何检测边缘,而最后一个隐藏层学习如何检测更复杂的形状。这种自动化的特征提取使深度学习模型能够为诸如对象分类等计算机视觉任务提供高精确度。

2.3.2 基础型卷积神经网络模型建立

本文使用两种卷积神经网络建立模型,一种为基础型卷积神经网络,另一种为Resnet-50卷积神经网络。

基础型卷积神经网络基本架构为:conv1 (8)→pool1→ conv2 (16)→pool2→conv3 (32)→fc4 (20)→softmax。

本文使用改进的32特征图像的基础型卷积神经网络,在保证特征图像能充分反映5种液体X射线图像微小差别的同时,精简了卷积层过多带来的信息冗余和时间增加,最后全连接层输出为20,对应于20个类(5种液体分别盛装在4种容器内,共20类)。

2.3.3 ResNet-50卷积神经网络模型建立

ResNet是ILSVRC2015的冠军。ResNet最大的贡献在于解决了深层网络难以训练的问题(反向传播梯度弥散),ResNet网络之所以能够训练下去主要得益于residual block(残差模块)的使用。

使用改进的2048特征图像的ResNet-50卷积神经网络建立模型,通过迁移学习来重新训练卷积神经网络以对新图像集进行分类,针对不同种类液体图像差别细微的问题,新增4层卷积层来增强5种液体在4种容器中的X射线图像微小差别。

网络卷积层会提取最后一个可学习层和最终分类层,用来对输入图像进行分类的图像特征。将全连接层替换为新的全连接层,其中输出数量等于新数据集中类的数量,本实验中为5种液体分别盛装在4种容器中,共20类。

3 结果

分析本文利用测试精度(Test Accuracy),训练损失(Loss)和耗时(Time Elapsed)[25]3个指标评估一个网络的识别效果。测试精度指模型在测试集上输出正确结果的比率,计算公式如式(1)所示。

3.1 SVM 神经网络的识别结果与分析

五种液体(部分样本)分别盛装在四种容器(共20个分类)中的SVM识别模型结果如图3,具体识别情况见表2。

在图3中,空心圆表示实际类别标签,实心星号表示预测集类别标签,横坐标表示预测集样本数量,纵坐标表示类别,1~5依次为玻璃容器盛装的92号汽油、甲醇与30%硝基甲烷混合液、75%酒精、食用油、水,6~10为金属容器盛装的同样顺序五类液体,11~15为塑料容器盛装的五类液体,16~20为陶瓷容器盛装的五类液体,由图5可知,SVM模型把预测集金属容器盛装的75%酒精全部错误识别为甲醇与硝基甲烷混合液,把陶瓷容器盛装的92号汽油全部错误识别为食用油。由表2可知,SVM模型通过小样本训练后,预测集总体识别正确率为90%。

3.2 基础型卷积神经网络的识别结果与分析

五种液体分别盛装在四种容器(共20个分类)中的基础型卷积神经网络识别模型结果如图4。

图4中浅色线为训练集识别正确率和损失数,深色线为被平滑的训练集识别正确率和损失数,黑色虚线为预测集识别正确率和损失数,由图4可知,训练集和预测集识别正确率(图4的上半部分)在第50次、100次和184次迭代后逐步提升,综合考虑时间消耗和实际效果,将本实验的迭代次数设定为184,训练集最终识别正确率为97.6%,预测集最终识别正确率为97.2%。训练集和预测集损失值(图4的下半部分)在第50次、100次和184次迭代后逐步下降,训练集和预测集最终损失值均在0.1以下。

3.3 ResNet-50卷积神经网络的识别结果与分析

五种液体分别盛装在四种容器(共20个分类)中的ResNet-50卷积神经网络识别模型结果如表3。

结合表3,多次测试发现预测集识别正确率在第50次、100次和250次迭代后逐步提升,迭代250次后图像识别正确率趋于稳定,预测集平均正确率为99.2%,损失值从开始到最后(迭代640次)一直在下降,最终损失值为0.6357。

3.4 三种神经网络模型训练和预测耗时比较

三种神经网络模型识别耗时比较如表4所示。由表4可知,模型在本实验的软硬件环境下,SVM网络检测400份样本(每种液体20个样本×5种液体×4种容器)的耗时为2.31秒,平均单个样本耗时0.0057秒,基础型卷积神经网络检测8 000份样本(每种液体400个样本×5种液体×4种容器)的耗时为14秒,平均单个样本耗时0.0017 秒,ResNet-50 神经网络检测8000份样本(每种液体400个样本×5种液体×4种容器)的耗时为237秒,平均单个样本耗时0.0296秒。

4 结论

本文认为未来可对以下两个方面继续进行研究:1) 实际中,液体均盛放于某种容器内,得到的X射线图像均为有容器壁叠加的图像,如何更好地去除容器壁的影响,可进一步研究;2) 三种模型识别过程中,均出现部分75%酒精液体错误识别为甲醇与硝基甲烷混合液,部分92号汽油错误识别为食用油,需要作进一步的研究。

总之,在本文描述的条件下,得出了以下3个结论:1) SVM网络预测集的识别正确率为90%,基础型卷积神经网络预测集的识别正确率为97.2%,ResNet-50卷积神经网络预测集的识别正确率为99.2%;2) 模型在本实验的软硬件环境下,SVM网络的单个样本检测耗时为0.0057秒,基础型卷积神经网络的单个样本检测耗时为0.0017秒,ResNet-50神经网络的单个样本检测耗时为0.0296秒;3.在本实验条件下,综合耗时、识别准确率、训练损失3个维度,基础型卷积神经网络为最优液体X射线图像识别模型。

猜你喜欢
图像识别
支持向量机的舰船图像识别与分类技术
浅谈图像识别技术在打击绿通假证逃费中的应用
基于图像识别和多感知融合的列车自动防护方案
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
一种基于TuriCreate和OpenCV的实时图像识别系统设计
基于图像识别的田间玉米秆识别系统设计与实现
浅谈模式识别在图像识别中的应用