时间:2024-05-04
丁静文,陈树越,陆贵荣
(常州大学 信息科学与工程学院,江苏 常州 213164)(*通信作者电子邮箱csyue2000@163.com)
X射线安检扫描仪在汽车站等地的安全检查中起着非常重要的作用[1-2]。然而,检查过程需要安检人员辅助检查,在危险品与其他物品重叠或被其他物品遮挡时,人眼不易观察出,而且安检员长时间工作,容易引起视觉疲劳,导致检测的准确性下降,从而进一步影响到公共安全。因此,如何提高危险品检测性能对安检运行的可靠性具有重要意义。
针对行李安检时X光图像中危险品检测出现重叠或被遮挡的问题,文献[3]提出采用仿射变换和交叉溶解相结合的手段产生中间过程图像序列,模拟图像围绕转动轴转动,但是交叉溶解技术会使中间图像有一定程度的失真,影响视觉效果;文献[4]提出一种改进的多视角X射线图像分析方法,先假设区域的匹配关系,通过三维直角坐标系构造物体在第三视角下的整体轮廓,再用反投影重建得到的轮廓进行结果验证,但是只适用于简单规则的重叠物体检测问题,对复杂背景的重叠物体检测效果不好。文献[5]提出自适应隐式形状模型(Adapted Implicit Shape Model, AISM),从单视角自动检测危险品,使用尺度不变特征变换(Scale Invariant Feature Transform, SIFT)方法提取目标特征点来获取目标描述符,从而构建目标的AISM,通过目标描述符符合AISM的匹配结果来检测危险品。但是从不同视角获取的X光图像有所不同,有些危险品的姿势难以分辨,从而影响检测的准确性。因此,在自适应隐式形状模型[5]的基础上,文献[6]又提出主动视觉方法,使用Q学习(Q-Learning, QL)算法估计危险品的下一最佳视角,在机械手将包裹旋转到估计角度后,再次进行单视角检测。为了进一步减少危险品检测时间和提高检测的性能,本文在该方法的基础上对下一个最佳视角部分提出采用基于状态回溯的启发式Q学习(Heuristically Accelerated State Backtracking Q-Learning, HASB-QL)算法[7]。实验结果表明,所提出的改进的主动视觉方法能够提高检测的性能和速度。
本文采用的主动视觉检测流程如图1所示。首先利用自适应隐式形状模型[5]对危险品进行单视角检测,然后对危险品的姿势作出估计,并估计下一最佳视角,当危险品被旋转到估计角度,再次进行单视角检测,当视角个数多于一个时,对危险品进行误报消除。
图1 主动视觉检测流程
Fig. 1 Flow chart of active vision inspection
X光主动视觉安检结构如图2所示,由X射线探测器、X射线发射管、机械手(ABB-Flexpicker)和铅室隔离系统组成。包裹通过传送带进入铅室隔离系统,机械手将其握住,经过X射线照射投影到探测器平面,从而获取它的X光图像。主动视觉即为通过估计最佳角度使机械手将包裹从实际位置旋转到能够识别目标危险品的一个新的位置。
图2 X光主动视觉安检结构Fig. 2 Structure of X-ray security inspection using active vision
(1)
式中,d是衡量姿势k的一组SIFT描述符和被检测危险品的SIFT描述符[8]之间差异的一个度量。在未检测到的情况下,姿势估计算法提供默认姿势,即k为0(如图3所示)。如果危险品在好的姿势被检测到,则不需要额外的视角用于检查;否则,将使用强化学习算法对危险品进行下一个最佳视角估计。
下一个最佳视角的估计是以Q-Learning算法为基础寻找最佳视角路径。改进的算法是采用基于状态回溯的启发式Q学习算法[7],该算法用于机器人路径寻优,在学习过程中利用状态回溯优化启发函数,能够加快Q学习的收敛。
图3 剃刀刀片的训练图像(β=0°)及姿势所对应的状态Fig. 3 Training images of razor blade (β=0°) and states corresponding to poses
1.2.1 Q-Learning算法
该算法的主要思想是利用Q矩阵学习最佳动作选择以找到下一个最佳视角。Q函数是定义在状态s下选择动作a所获得的折扣累积奖赏和,反映智能体对环境的认识和知识积累的过程[9-10]。Q值函数迭代公式如下:
(2)
当学习率α=1时,式(2)可以简化为:
(3)
1.2.2 基于状态回溯的改进算法
在Q-Learning算法的基础上,基于状态回溯的改进算法引入一个代价函数和启发函数,在状态回溯过程中比较重复动作的选择策略。代价函数描述当前状态到目标状态的总代价,结合累积奖赏和代价消耗描述重复状态某个动作的重要性,通过加入启发函数来加快收敛速度,且启发函数具有收敛性和稳定性[11]。将机械手视作为智能体,它与环境的交互过程,实际上是一系列状态转移过程[12]。训练过的Q矩阵如表1所示,首先根据表1设计一个状态转移表,如表2所示,用来记录机械手的所有状态转移及相应的动作,并记录每次转移时的代价(ω(st,st+1)≥0)。给每个状态赋予一个10~100的随机数,代价的值设置为两个状态的随机数之差。
表1 训练过的Q矩阵Tab.1 Learned Q matrix
针对表2再定义一个函数PL:S×A→R*,R*为大于等于0的实数集合。pl(st,at)表示从状态st到目标状态(GP)的总代价。
启发式Q学习的动作选择策略为:
(4)
式中:p,q∈ [0,1],p为探索-利用平衡策略的参数;arandom是当前动作集中的一个随机动作。
结合强化学习的迭代过程,得到函数PL的更新:
(5)
式中,ω(sk,sk+1)表示从状态sk转移到另一个状态sk+1的代价,ω(sk,sk+1)≥0。
表2 状态转移表Tab. 2 State transitionTable
结合Q学习算法,相应的启发函数H的更新:
H(st,at)=
(6)
步骤1 将Q矩阵初始化为零矩阵,并初始化pl(s,a),设置状态转移表;
步骤2 for循环(对每个episode)
步骤3 随机选择一个状态s0;
步骤4 while循环(当前状态不为目标状态时)
步骤5 根据式(4)选择当前动作a,将状态动作对(s,a)
加入到状态转移表;
步骤6 执行选择的动作,达到新的状态s′,确定及时奖赏
r(s,a);
步骤7 根据式(6)更新函数Ht(s,a)的值;
步骤8 根据式(2)对步骤6的状态动作对的Q值进行更
新;若新的状态s′不是目标状态则转步骤5,否
则转步骤9。
步骤9 根据式(5)更新修正概率函数PL;
步骤10 End
步骤11 End
利用训练过的Q矩阵,如表1所示,可找出一条从任意状态s0出发到达目标状态的路径,具体步骤如下:
步骤1 令当前状态s:=s0;
步骤2 根据表1和表2确定动作a,它满足Q(s,a)=
步骤3 令当前状态s:=s′(s′表示动作a对应的下一个状态);
步骤4 重复执行步骤2和3直到s成为目标状态。
在检测危险品时,多于一个视角的情况下,通过几何模型建立多视角约束[6]以消除误报(假阳性)。如果有两个视角被检测,则被验证是否满足极线约束[13];如果有三个以上的视角被检测,则被验证是否满足三焦距约束[13]。因此,若不满足多视角约束,则被视为误报,并且将被消除。
检测边界盒(BBdt)和标签边界盒(BBgt)之间的重叠部分的归一化面积a0如下所示:
a0=area(BBdt∩BBgt)/area(BBdt∪BBgt)
(7)
式中:BBdt∩BBgt是检测边界盒和标签边界盒的交集;BBdt∪BBgt是它们的并集。手枪检测结果及交并集如图4所示,经计算a0=0.34。可设定阈值θ来判断是否已检测到危险物品,即当a0>θ时则检测结果为真阳性,否则为假阳性。经实验发现θ可取值为0.3,即图4中检测出了手枪。
图4 手枪的检测结果及对应的交并集Fig. 4 Detection results of handguns and corresponding intersection and union
本文方法的危险品检测性能采用召回率Re、精确率Pr和F1值作为评价指标,F1值可以理解为召回率和精确率之间的加权平均值。计算式如下:
(8)
式中:TP是真阳性的数量;FP是假阳性的数量;NP是被检测的总数量。
实验数据来源于智利天主教大学计算机科学系机器智能组提供的X光图像公共数据集,被称为GDXray数据集[14],从其中的Baggage类别中挑选实验需要的X光训练和测试图像。实验对象为手枪和剃刀刀片,它们不同角度的X光训练图像数量分别为200张和100张;用于测试手枪的两袋包裹(内含手枪和其他物品),每个包通过机械手(ABB-Flexpicker)围绕Z轴每2°旋转一次,共旋转180次,分别得到180张X光测试图像;用于测试剃刀刀片的两个包旋转方法一致,也分别得到180张X光测试图像。
2.3.1 检测性能分析
1)剃刀刀片的检测。
检测剃刀刀片(两袋包裹)的实验结果如表3所示,给出真阳性的数量TP和假阳性的数量FP,并计算出召回率Re和精确率Pr。
表3 检测剃刀刀片的实验结果Tab. 3 Experimental results of detecting razor blades
剃刀刀片检测方法的实验结果对比如表4所示。由表4可以看出,阈值相同时,所提出的基于HASB-QL算法的主动视觉方法(HASB-QL-active(G))与其他方法相比,精确率、召回率和F1值均有所提高。AISM只从单视角检测,不使用多视角策略和几何约束,召回率和精确率分别为32.50%和47.50%,F1值只有38.59%;在使用几何约束的情况下,将主动视觉方法的下一个最佳视角估计部分使用随机估计器,如果剃刀刀片没有在好的姿势被检测到,则随机估计器将随机输出一个旋转角度,结果R-active(G)的F1值为75.32%;以Q-Learning为基础的主动视觉(Q-active(G))与R-active(G)相比,F1值提高了19.24%(精确率为100%,召回率为81.50%);Q-active与Q-active(G)相比,没有使用几何约束进行误报消除,F1值降低了39.63%(精确率为55.50%,召回率为53.00%),因此使用几何约束能够提高召回率和精确率;HASB-QL-active(G)与Q-active(G)相比,F1值提高了2.51%(精确率为100%,召回率提高了4.64%),因此采用基于HASB-QL算法进行下一个最佳视角估计,并进行误报消除,能够有效提高剃刀刀片的检测性能。
表4 剃刀刀片检测方法的实验结果对比Tab. 4 Experimental result comparison of razor blade detection methods
HASB-QL-active(G)检测剃刀刀片的步骤如图5所示。图5(a)是采集的X光测试图像;图5(b)是对测试图像进行单视角(AISM)检测;图5(c)是对姿势和下一最佳视角作出估计,根据图3中姿势所对应的状态可知,pose0表示未检测到;使用改进的Q学习算法对下一个最佳视角估计,机械手将包裹围绕Z轴旋转60°,得到图5(d)的测试图像;图5(e)是对图5(d)中的图像进行单视角检测;图5(f)得到好的姿势(pose7),并利用误报消除算法验证是否满足极线约束[13]。根据式(10)计算出重叠部分的归一化面积a0=0.584 0>0.3,实验结果为检测到剃刀刀片。
图5 使用改进的主动视觉方法检测剃刀刀片的步骤Fig. 5 Steps of detecting razor blades by using improved active vision method
2)手枪的检测。
在手枪的检测中,由于手枪形状的不规则,没有使用几何约束进行误报消除。检测手枪(两袋包裹)的实验结果如表5所示,给出真阳性的数量(TP)和假阳性的数量(FP),并计算出召回率(Re)和精确率(Pr)。
表5 检测手枪的实验结果Tab. 5 Experimental results of detecting handguns
手枪检测方法的实验结果对比如表6所示。由表6可以看出,阈值相同时,所提出的基于HASB-QL算法的主动视觉方法(HASB-QL-active)与其他方法相比,召回率、精确率和F1值均有所提高。AISM只从单视角检测,不使用多视角策略和几何约束,检测性能非常低,F1值只有23.71%(精确率为33.00%,召回率为 18.50%);在主动视觉方法的下一个最佳视角估计部分使用随机估计器,如果手枪没有在好的姿势被检测到,则随机估计器将随机输出一个旋转角度,结果R-active的F1值只有46.16%;以Q-Learning为基础的主动视觉方法(Q-active)与R-active相比,F1值提高了59.53%(精确率为82.50%,召回率为66.50%);改进的方法HASB-QL-active与Q-active相比,F1值提高了9.60%(精确率提高了9.81%,召回率提高了9.44%),因此采用基于HASB-QL算法进行下一个最佳视角估计,能够有效提高手枪的检测性能。
表6 手枪检测方法的实验结果对比Tab. 6 Experimental result comparison of handgun detection methods
HASB-QL-active检测手枪的步骤如图6所示。图6(a)是采集的X光测试图像;图6(b)是对测试图像进行单视角(AISM)检测;图6(c)是对姿势和下一最佳视角作出估计,根据图3中姿势所对应的状态可知,pose15为不好的姿势;使用改进的Q学习算法对下一个最佳视角估计,机械手将包裹围绕Z轴逆时针旋转60°,得到图6(d)的测试图像;图6(e)是对图6(d)中的图像进行单视角(AISM)检测,图6(f)得到好的姿势(pose18)。并根据式(10)计算出重叠部分的归一化面积a0=0.414 4>0.3,实验结果为检测到手枪。
2.3.2 检测耗时分析
实验环境为Matlab R2015a,计算机配置为Intel Core i3-4170 CPU 3.70 GHz,4 GB RAM。检测手枪和剃刀刀片的四种方法的平均耗时和速度提高率如表7所示。由表7可以看出,AISM虽然耗时比较少,但是检测的精确率和召回率比较低,其他三种方法是以此方法为基础的;HASB-QL-active(或HASB-QL-active(G))与R-active(或R-active(G))和Q-active(或Q-active(G))相比,平均耗时明显少一些。
在速度提高率上,HASB-QL-active(或HASB-QL-active(G))只与Q-active(或Q-active(G))方法作了对比。速度提高率的计算方式为:
速度提高率=(Q-active(或Q-active(G))平均耗时-
HASB-QL-active(或HASB-QL-active(G))平均耗时)/
Q-active(或Q-active(G))平均耗时×100%
图6 使用改进的主动视觉方法检测手枪的步骤Fig. 6 Steps of detecting handguns by using improved active vision method
由表7中可以看出,检测手枪的HASB-QL-active的运算速度与Q-active相比提高了12.45%;检测剃刀刀片的HASB-QL-active(G)的运算速度与Q-active(G)相比提高了17.39%。因此,改进的方法可以提高整体运算速度,节省时间。
表7 检测手枪和剃刀刀片的四种方法平均耗时和速度提高率Tab. 7 Average time-consuming and speed-increasing rate of four methods for detecting pistols and razor blades
本文提出的改进的主动视觉方法,采用基于状态回溯的启发式Q学习算法,对Q-Learning算法在下一个最佳视角估计上作出改进,其中的启发函数在强调动作重要性以加快收敛速度的同时,基于代价函数计算动作选择的代价以减少不必要的搜索,从而平稳地提高学习效率。实验结果表明:相比于AISM、R-active(或R-active(G))和Q-active(或Q-active(G))方法,所提的HASB-QL-active(或HASB-QL-active(G))能够加快学习速度,在节省时间的同时,提高了危险品检测性能。所提方法在参数选择上未考虑X光图像采集设备的差异性及环境的不确定性等因素,譬如根据所设定阈值θ来判断是否已检测到危险品,一般情况下阈值θ可选择在0.2~0.4范围内,需在实验中进行调节。接下来的研究工作是对不规则形状的危险品(如手枪)检测进一步研究,使之能够进行误报消除,从而提高不规则危险品的检测性能。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!