基于双能X射线的液体危险品识别分类方法
2020-10-12胡紫薇陈奕杰
胡紫薇,项 安,陈奕杰
(同济大学 电子与信息工程学院, 上海 201804)
近年来,机场、地铁、车站等区域对于液体危险品的安全检查越来越重视,由于这些区域人口密集,一旦被不法分子利用将产生难以预料的后果。然而,实际的液体一般是多种液体的混合物,混合物的配比不同,容器的形状、材料、在安检机中的位置不同均会导致识别结果精度偏低,误报率和漏报率较高。
现阶段利用X射线安检技术对固体爆炸物的识别技术取得了极大的突破。SAMET等[1]提出了利用X射线安检设备,基于深度神经网络对行李的X射线图像进行特征提取后实现分类,成功检测出手枪、管制刀具等危险物品;ANDRE等[2]提出了利用双能量CT安检设备,基于三维模型重构计算行李中任何区域的原子序数和密度信息,实现物质分类,识别诸如金属、毒品、爆炸物等危险品。
对于固体危险品的检测方法已日渐完善,识别准确率非常高,但是在液体危险品检测方向上还存在着诸多问题。Optosecurity公司提出了通过知识库去除传送带和玻璃壁的影响,基于数学模型计算有效路径对液体进行识别[3],但是由于容器形状不一,在行李中的位置难确定,容器材料与厚度对识别结果的影响,检测结果并不精确。李文博[4]提出在静态条件下对危险液体进行区分,该方法仅针对静态放置被检品,且未提出去除容器影响的方案;王宇石等[5]提出MMA算法可对圆形或椭圆形容器盛放的高密度危险液体实现识别,但需要多个光源来实现高识别率;查艳丽[6]在此基础上提出对液体容器材料的识别算法,为实现液体检测去除容器影响提供了一定的借鉴。
笔者利用现有双能X射线安检机,基于图像深度学习,提出了一种去除容器壁厚的数学模型,计算容器吸收系数,并利用图像处理方法获得精准的容器定位,采用支持向量机和逻辑回归模型实现R值分类,完成对液体危险品的识别,此方法能够提升安检效率与识别精度。
1 双能X射线危险液体识别方法原理
1.1 X射线安检机结构与原理
双能X射线安检机主要由射线源和阵列探测器组成。由一列探测器收集线性的扇形X射线穿透物体后的衰减信号组成单个列阵,经由传送带及采集率匹配得到行程矩阵数据信息,处理后由灰度信息形成伪图像。由于被检测物体的密度与厚度不同,形成图像的灰度值也不同。对于单能系统,只能通过图像中物体形状来判断。而对于双能系统,则可以利用高低能数据图像得到R值,从而计算得到物质的有效原子序数Zeff的信息,实现物质鉴别。
1.2 双能X射线物质的分类原理
假定入射X射线束能量为I0,通过厚度为H的物质后其衰减为I。经过简化后,其关系表现为Beer-Lambert定律[7]
(1)
式中:μm()为坐标为处物质的质量吸收系数;ρ()为物质的密度。
对式(1)进行变换得到X射线透视成像公式为
(2)
式中:L为射线穿透的有效长度。
将X射线透过混合物等效为通过N份均匀的不同物质(见图1),那么式(2)可以表示为
图1 双能X射线安检机结构示意
(3)
根据式(3)可以发现X射线穿透物质的吸收强度由物体长度和透射厚度决定。
X射线穿透物质等效示意如图2所示,高低能图像的物质厚度相抵消。可以得到R值计算公式如式(4)所示。
图2 X射线穿透物质的等效示意
(4)
这种方法即目前安检机区分有机物、无机物和混合物的方法[8]。
通过高低能数据得到被检液体等效的R值之后,根据式(5)得到有效原子序数Zeff,从而完成对液体的识别。
Zeff=a·exp(α·R)+b·exp(β·R)
(5)
式中:a=-6.596X105,b=4.685,α=-9.815,β=0.678 3。这4个常数的取值为经验值。
1.3 去除容器壁厚的数学模型
根据式(4)和式(5),可以得到X射线安检机检测危险品是通过高低能数据得到等效的R值,或者通过拟合曲线得到有效原子序数Zeff,实现物质分类的[9-13]。但是,这种方法在检测液体危险品时需要经过一定的改进。因为液体一般被盛放于容器中,容器的材料、壁厚等对高低能数据的影响将会直接影响到对液体物质的分类。所以,提出如下的一种理想状态下的算法模型,尽可能剔除容器的干扰,得到液体的高低能数据与R值。
假定不考虑空气、传动带等因素的影响,将容器壁假定为均一、厚度相等的材料,将容器中的待检测液体也视为均匀的。基于以上的理想化假设,可以将整个待检测物体的吸收强度等效为
A=μbottleLbottle+μliquidLliquid
(6)
式中:A为吸收强度;μbottle为容器的吸收系数;Lbottle为射线穿过容器的有效长度;μliquid为液体的吸收系数;Lliquid为射线穿过液体的有效长度。
只要能够求得μbottle,Lbottle的值,即可得到液体的相关参数并实现识别。
对于X射线源发出的一条X射线,其在穿过容器壁后,通过待检测液体,再穿过容器壁到达直线上的阵列探测器接收点。此种理想状态下的数学模型如图3所示。
图3 理想状态下的数学模型
对于射线源发出的两条射线S1与S2,在分别经过有效长度为L1与L2的物质吸收后被探测器接收。通过分析最终的成像信息,可以推算得到S1与S2对应的探测的实际位置(x1,y1),(x2,y2)。
假定X射线源处正上方的传送带为坐标轴原点,那么对于S1和S2分别有
(7)
(8)
(9)
(10)
将式(9)与式(10)代入式(7)与式(8),化简得到
AS1cosα1=2dμbottle+μliquidHliquid,S1
(11)
AS2cosα2=2dμbottle+μliquidHliquid,S2
(12)
式中:Hliquid,S1,Hliquid,S2为射线穿过液体的有效长度在垂直方向上的投影。
由于传送带的运动与惯性的存在,一般情况下,Hliquid,S1≠Hliquid,S2。
对式(11)与式(12)进行差分得到
AS1cosα1-AS2cosα2=μliquidΔHliquid
(13)
由式(13)可以发现,通过差分可以消除容器壁对液体R值的影响。对高低能图像同时进行差分处理,后通过高低能数据相除可以得到理想状态下液体R值的求解方法为
(14)
根据式(14)即可得到液体R值,再根据式(5)可得到液体的有效原子序数,实现对危险液体的识别分类。
2 液体容器的X射线数学图像定位方法
2.1 基本图像处理
2.1.1 图像噪声分析与平滑处理
在X射线穿透被检测液体的过程中,会存在暗电流产生的噪声、探测器之间相互接收产生的噪声、系统的噪声等干扰。若不对噪声进行前期处理,会影响容器定位的效果。
对于暗电流产生的噪声,采集射线源关闭时的图像,对其进行列均值处理,得到的值可以近似认为是每个探测点的暗电流数据。在通过被检测液体时,将得到的双能图像减去暗电流数据,即可排除暗电流噪声的干扰[14]。对于其他噪声,可采用中值滤波的方法滤除。
2.1.2 图像二值化处理
图像二值化处理是为了减少图像的冗余信息,对图像进行轮廓清晰化处理而进行的步骤。二值化处理的基本原理是设定一个阈值,将高于该阈值的像素点设为1,小于该阈值的像素点设为0,从而达到过滤不相干信息,突出所需被检物轮廓的目的。
在危险液体检测中,一般方法的处理结果显示仍有较多的不相干背景残留,无法得到较好的容器轮廓。在上述理论基础上,笔者提出一种基于R值的图像二值化处理方法,以尽可能多地滤除背景的影响。
基于R值的二值化处理方法为:首先,在不放置任何待检测物的状态下,得到“亮场图片”数据,对其进行列均值处理后,以得到的数值作为每个探测点的满载数据。然后,通过盛有被测液体的容器,得到被测物的高低能图像数据,根据式(4)将其分别除以对应的满载数据后,进行对数变换再相除可以得到R值图像。通过选取合适的R值可以突出液体容器的信息,剔除其他不相关信息。
基于R值的二值化处理结果如图4所示,通过对图4的分析可以发现,基于R值的二值化算法能够有效地滤除与液体容器无关的信息(如尺子等),保留所需物体信息。
图4 基于R值的二值化处理结果
2.1.3 图像形态学处理
基于R值的二值化处理虽然能够有效地剔除无关信息,得到液体容器信息,但是也导致了图像出现缺失和存在多余点,甚至部分图像未能连接在一起。为了更好地实现容器定位,在图像二值化后进行形态学处理,以减小空隙和去除多余信息点。对二值化处理后的图像迭代4次腐蚀操作,再迭代4次膨胀操作,最后进行融合操作,能够保留较多的有用信息,并去除不必要的信息。
2.2 液体容器定位
一般的图像识别问题中,通常采用如图5(a)所示的边界矩形框实现目标物体的查找,但是对于液体识别来说,其无法实现等厚度截面下的分析,所以采用如图5(b)所示的最小外接矩形的方法实现容器定位。
图5 矩形框方案示意
在简单场景下进行试验可以发现,最小外接矩形的方案对经过二值化和形态学处理后的液体容器的定位准确性较高(见图6)。
图6 简单场景下最小外接矩形试验方案
3 液体R值的分类算法研究
在基于去除容器壁厚的数学模型方法进行处理后,不同液体的R值仍存在交叉,需要对其采用逻辑回归模型与支持向量机模型进行分类。
3.1 分类算法实现流程
对于分类模型,为了避免参数在训练过程中过拟合的现象,在训练过程中会随机选取80%的数据作为训练集,20%的数据作为验证集。在训练逻辑回归模型上,首先在训练集上训练迭代几次,得到一个模型参数,再通过得到的模型参数对验证集进行判别,并将判别结果反馈给模型,模型通过梯度下降的方法对参数进行迭代优化。执行以上步骤多次,得到一个较为理想的模型参数作为逻辑回归的参数值。对于支持向量机,因为模型是基于数学方法求解的唯一值,因此不需要进行梯度下降的方法优化。但为了能够与逻辑回归模型训练的结果进行比对,因此在选取数据中,选取同等训练数据值优化支持向量机。
图7为逻辑回归模型、线性SVM(支持向量机)以及非线性SVM在两个γ值(支持向量机选择高斯核函数作为内核的一个参数)下,二维数据(低能数据、R值)的分类结果。由图7可以直观地看出,支持向量机的分类效果在本该试验采集的样本内比逻辑回归模型的效果更好,且对于非线性模型进行非线性描述有更好的显示结果。
图7 分类模型可视化结果
3.2 分类算法评估
危险液体识别事件是一个二分类问题,其检测结果存在4种情况,即TP(True Positive),FP(False Positive),FN(False Negative),TN(True Negative)。TP是指将危险液体正确识别;FP是指将危险液体错误识别为非危险液体;FN是将非危险液体错误识别为危险液体;TN是正确识别非危险液体。假定危险液体判定为1,非危险液体判定为0,该4种情况如表1所示。
表1 二分类问题判定情况
表中FN为误报情况,FP为漏报情况。查准率=TP/(TP+FP),代表在所有判定为1的样本中实际为1的正确率。查全率=TP/(TP+FN),代表所有实际为1的样本中被判定为1的正确率。
通过查准率和查全率可以得到PR曲线(查准率-查全率曲线),查准率与查全率一般呈负相关,即一个指标高时另一个指标偏低。所以,根据PR曲线包围的面积大小可以定性判断结果的准确性。定义该面积为AP,AP越大,表明判定准确率越高。如图8所示,逻辑回归模型的AP值小于支持向量机。
图8 不同模型PR曲线对比
ROC曲线(Receiver Operating Characteristic Curve,接收者操作特征曲线)利用混淆矩阵派生假正率和真正率两个度量,并用这两个度量作为横纵坐标,生成ROC空间。其中,ROC曲线下方面积值为分类模型的AUC(ROC曲线下的面积)值。在模型评比中,通常利用AUC作为衡量分类器性能的度量,随机效果对应的AUC值为0.5,若数值小于0.5,需要考虑数据之间清洗以及替换其他模型,AUC值越接近1,就表示对应的分类模型的效果越好。不同模型和ROC曲线如图9所示,逻辑回归模型的AUC值小于支持向量机模型的。
图9 不同模型ROC曲线对比
4 试验验证与分析
液体识别算法流程图如图10所示,在对得到的双能X射线高低能图像进行滤波、二值化、形态学处理后,获取液体容器的最小外接矩形,然后根据高低能数据,利用R值识别算法,对无托盘等遮挡物场景下的危险液体进行识别。设置了两种场景,其识别信息如表2所示。
图10 液体识别算法流程图
表2 无遮挡物场景识别信息
简单场景识别结果如图11所示(自上而下分别为容器1,2,3,4,红色边框表示识别为危险液体)。
图11 简单场景识别结果
对市面上存在的U型探测器和L型探测器分别进行779次和740次采样(总计1 519次采样数据),采用两种模型和R值分类模型进行评估,得到的评估结果如表3所示。
表3 各种分类模型评估结果
根据表3,可以发现支持向量机模型对双能X射线危险液体的识别表现较好,能够实现较高的识别准确度,精确度能够达到80%以上。
5 结语
根据图11可以发现,笔者提出的数学模型可以在一定程度上去除容器壁厚对识别结果的影响,经过中值滤波、二值化、形态学处理后,根据高低能图像能够利用最小外接矩阵得到液体容器的精确定位,从而得到液体的R值的原理,实现了对液体的识别。支持向量机模型和逻辑回归模型均能够利用物体的三维信息(高能、低能、R值)对液体进行特征提取后分类,而支持向量机模型对于文章研究的对象具有更好的分类效果。
然而,去除容器壁厚的方法是在容器壁厚均匀的前提下建立的,对于不均匀壁厚的容器容易出现误检、漏检,而现实中极有可能存在壁厚不均匀的情况,在此方面需要进一步完善模型。另外,由于现实中液体容器所处的环境复杂,其他物体的遮挡对于判别结果的影响也需要作进一步考虑。