丁靜文,陳樹越,陸貴榮
(常州大學(xué) 信息科學(xué)與工程學(xué)院,江蘇 常州 213164)(*通信作者電子郵箱csyue2000@163.com)
X射線安檢掃描儀在汽車站等地的安全檢查中起著非常重要的作用[1-2]。然而,檢查過程需要安檢人員輔助檢查,在危險(xiǎn)品與其他物品重疊或被其他物品遮擋時(shí),人眼不易觀察出,而且安檢員長(zhǎng)時(shí)間工作,容易引起視覺疲勞,導(dǎo)致檢測(cè)的準(zhǔn)確性下降,從而進(jìn)一步影響到公共安全。因此,如何提高危險(xiǎn)品檢測(cè)性能對(duì)安檢運(yùn)行的可靠性具有重要意義。
針對(duì)行李安檢時(shí)X光圖像中危險(xiǎn)品檢測(cè)出現(xiàn)重疊或被遮擋的問題,文獻(xiàn)[3]提出采用仿射變換和交叉溶解相結(jié)合的手段產(chǎn)生中間過程圖像序列,模擬圖像圍繞轉(zhuǎn)動(dòng)軸轉(zhuǎn)動(dòng),但是交叉溶解技術(shù)會(huì)使中間圖像有一定程度的失真,影響視覺效果;文獻(xiàn)[4]提出一種改進(jìn)的多視角X射線圖像分析方法,先假設(shè)區(qū)域的匹配關(guān)系,通過三維直角坐標(biāo)系構(gòu)造物體在第三視角下的整體輪廓,再用反投影重建得到的輪廓進(jìn)行結(jié)果驗(yàn)證,但是只適用于簡(jiǎn)單規(guī)則的重疊物體檢測(cè)問題,對(duì)復(fù)雜背景的重疊物體檢測(cè)效果不好。文獻(xiàn)[5]提出自適應(yīng)隱式形狀模型(Adapted Implicit Shape Model, AISM),從單視角自動(dòng)檢測(cè)危險(xiǎn)品,使用尺度不變特征變換(Scale Invariant Feature Transform, SIFT)方法提取目標(biāo)特征點(diǎn)來獲取目標(biāo)描述符,從而構(gòu)建目標(biāo)的AISM,通過目標(biāo)描述符符合AISM的匹配結(jié)果來檢測(cè)危險(xiǎn)品。但是從不同視角獲取的X光圖像有所不同,有些危險(xiǎn)品的姿勢(shì)難以分辨,從而影響檢測(cè)的準(zhǔn)確性。因此,在自適應(yīng)隱式形狀模型[5]的基礎(chǔ)上,文獻(xiàn)[6]又提出主動(dòng)視覺方法,使用Q學(xué)習(xí)(Q-Learning, QL)算法估計(jì)危險(xiǎn)品的下一最佳視角,在機(jī)械手將包裹旋轉(zhuǎn)到估計(jì)角度后,再次進(jìn)行單視角檢測(cè)。為了進(jìn)一步減少危險(xiǎn)品檢測(cè)時(shí)間和提高檢測(cè)的性能,本文在該方法的基礎(chǔ)上對(duì)下一個(gè)最佳視角部分提出采用基于狀態(tài)回溯的啟發(fā)式Q學(xué)習(xí)(Heuristically Accelerated State Backtracking Q-Learning, HASB-QL)算法[7]。實(shí)驗(yàn)結(jié)果表明,所提出的改進(jìn)的主動(dòng)視覺方法能夠提高檢測(cè)的性能和速度。
本文采用的主動(dòng)視覺檢測(cè)流程如圖1所示。首先利用自適應(yīng)隱式形狀模型[5]對(duì)危險(xiǎn)品進(jìn)行單視角檢測(cè),然后對(duì)危險(xiǎn)品的姿勢(shì)作出估計(jì),并估計(jì)下一最佳視角,當(dāng)危險(xiǎn)品被旋轉(zhuǎn)到估計(jì)角度,再次進(jìn)行單視角檢測(cè),當(dāng)視角個(gè)數(shù)多于一個(gè)時(shí),對(duì)危險(xiǎn)品進(jìn)行誤報(bào)消除。
圖1 主動(dòng)視覺檢測(cè)流程
Fig. 1 Flow chart of active vision inspection
X光主動(dòng)視覺安檢結(jié)構(gòu)如圖2所示,由X射線探測(cè)器、X射線發(fā)射管、機(jī)械手(ABB-Flexpicker)和鉛室隔離系統(tǒng)組成。包裹通過傳送帶進(jìn)入鉛室隔離系統(tǒng),機(jī)械手將其握住,經(jīng)過X射線照射投影到探測(cè)器平面,從而獲取它的X光圖像。主動(dòng)視覺即為通過估計(jì)最佳角度使機(jī)械手將包裹從實(shí)際位置旋轉(zhuǎn)到能夠識(shí)別目標(biāo)危險(xiǎn)品的一個(gè)新的位置。
圖2 X光主動(dòng)視覺安檢結(jié)構(gòu)Fig. 2 Structure of X-ray security inspection using active vision
(1)
式中,d是衡量姿勢(shì)k的一組SIFT描述符和被檢測(cè)危險(xiǎn)品的SIFT描述符[8]之間差異的一個(gè)度量。在未檢測(cè)到的情況下,姿勢(shì)估計(jì)算法提供默認(rèn)姿勢(shì),即k為0(如圖3所示)。如果危險(xiǎn)品在好的姿勢(shì)被檢測(cè)到,則不需要額外的視角用于檢查;否則,將使用強(qiáng)化學(xué)習(xí)算法對(duì)危險(xiǎn)品進(jìn)行下一個(gè)最佳視角估計(jì)。
下一個(gè)最佳視角的估計(jì)是以Q-Learning算法為基礎(chǔ)尋找最佳視角路徑。改進(jìn)的算法是采用基于狀態(tài)回溯的啟發(fā)式Q學(xué)習(xí)算法[7],該算法用于機(jī)器人路徑尋優(yōu),在學(xué)習(xí)過程中利用狀態(tài)回溯優(yōu)化啟發(fā)函數(shù),能夠加快Q學(xué)習(xí)的收斂。
圖3 剃刀刀片的訓(xùn)練圖像(β=0°)及姿勢(shì)所對(duì)應(yīng)的狀態(tài)Fig. 3 Training images of razor blade (β=0°) and states corresponding to poses
1.2.1 Q-Learning算法
該算法的主要思想是利用Q矩陣學(xué)習(xí)最佳動(dòng)作選擇以找到下一個(gè)最佳視角。Q函數(shù)是定義在狀態(tài)s下選擇動(dòng)作a所獲得的折扣累積獎(jiǎng)賞和,反映智能體對(duì)環(huán)境的認(rèn)識(shí)和知識(shí)積累的過程[9-10]。Q值函數(shù)迭代公式如下:
(2)
當(dāng)學(xué)習(xí)率α=1時(shí),式(2)可以簡(jiǎn)化為:
(3)
1.2.2 基于狀態(tài)回溯的改進(jìn)算法
在Q-Learning算法的基礎(chǔ)上,基于狀態(tài)回溯的改進(jìn)算法引入一個(gè)代價(jià)函數(shù)和啟發(fā)函數(shù),在狀態(tài)回溯過程中比較重復(fù)動(dòng)作的選擇策略。代價(jià)函數(shù)描述當(dāng)前狀態(tài)到目標(biāo)狀態(tài)的總代價(jià),結(jié)合累積獎(jiǎng)賞和代價(jià)消耗描述重復(fù)狀態(tài)某個(gè)動(dòng)作的重要性,通過加入啟發(fā)函數(shù)來加快收斂速度,且啟發(fā)函數(shù)具有收斂性和穩(wěn)定性[11]。將機(jī)械手視作為智能體,它與環(huán)境的交互過程,實(shí)際上是一系列狀態(tài)轉(zhuǎn)移過程[12]。訓(xùn)練過的Q矩陣如表1所示,首先根據(jù)表1設(shè)計(jì)一個(gè)狀態(tài)轉(zhuǎn)移表,如表2所示,用來記錄機(jī)械手的所有狀態(tài)轉(zhuǎn)移及相應(yīng)的動(dòng)作,并記錄每次轉(zhuǎn)移時(shí)的代價(jià)(ω(st,st+1)≥0)。給每個(gè)狀態(tài)賦予一個(gè)10~100的隨機(jī)數(shù),代價(jià)的值設(shè)置為兩個(gè)狀態(tài)的隨機(jī)數(shù)之差。
表1 訓(xùn)練過的Q矩陣Tab.1 Learned Q matrix
針對(duì)表2再定義一個(gè)函數(shù)PL:S×A→R*,R*為大于等于0的實(shí)數(shù)集合。pl(st,at)表示從狀態(tài)st到目標(biāo)狀態(tài)(GP)的總代價(jià)。
啟發(fā)式Q學(xué)習(xí)的動(dòng)作選擇策略為:
(4)
式中:p,q∈ [0,1],p為探索-利用平衡策略的參數(shù);arandom是當(dāng)前動(dòng)作集中的一個(gè)隨機(jī)動(dòng)作。
結(jié)合強(qiáng)化學(xué)習(xí)的迭代過程,得到函數(shù)PL的更新:
(5)
式中,ω(sk,sk+1)表示從狀態(tài)sk轉(zhuǎn)移到另一個(gè)狀態(tài)sk+1的代價(jià),ω(sk,sk+1)≥0。
表2 狀態(tài)轉(zhuǎn)移表Tab. 2 State transitionTable
結(jié)合Q學(xué)習(xí)算法,相應(yīng)的啟發(fā)函數(shù)H的更新:
H(st,at)=
(6)
步驟1 將Q矩陣初始化為零矩陣,并初始化pl(s,a),設(shè)置狀態(tài)轉(zhuǎn)移表;
步驟2 for循環(huán)(對(duì)每個(gè)episode)
步驟3 隨機(jī)選擇一個(gè)狀態(tài)s0;
步驟4 while循環(huán)(當(dāng)前狀態(tài)不為目標(biāo)狀態(tài)時(shí))
步驟5 根據(jù)式(4)選擇當(dāng)前動(dòng)作a,將狀態(tài)動(dòng)作對(duì)(s,a)
加入到狀態(tài)轉(zhuǎn)移表;
步驟6 執(zhí)行選擇的動(dòng)作,達(dá)到新的狀態(tài)s′,確定及時(shí)獎(jiǎng)賞
r(s,a);
步驟7 根據(jù)式(6)更新函數(shù)Ht(s,a)的值;
步驟8 根據(jù)式(2)對(duì)步驟6的狀態(tài)動(dòng)作對(duì)的Q值進(jìn)行更
新;若新的狀態(tài)s′不是目標(biāo)狀態(tài)則轉(zhuǎn)步驟5,否
則轉(zhuǎn)步驟9。
步驟9 根據(jù)式(5)更新修正概率函數(shù)PL;
步驟10 End
步驟11 End
利用訓(xùn)練過的Q矩陣,如表1所示,可找出一條從任意狀態(tài)s0出發(fā)到達(dá)目標(biāo)狀態(tài)的路徑,具體步驟如下:
步驟1 令當(dāng)前狀態(tài)s:=s0;
步驟2 根據(jù)表1和表2確定動(dòng)作a,它滿足Q(s,a)=
步驟3 令當(dāng)前狀態(tài)s:=s′(s′表示動(dòng)作a對(duì)應(yīng)的下一個(gè)狀態(tài));
步驟4 重復(fù)執(zhí)行步驟2和3直到s成為目標(biāo)狀態(tài)。
在檢測(cè)危險(xiǎn)品時(shí),多于一個(gè)視角的情況下,通過幾何模型建立多視角約束[6]以消除誤報(bào)(假陽性)。如果有兩個(gè)視角被檢測(cè),則被驗(yàn)證是否滿足極線約束[13];如果有三個(gè)以上的視角被檢測(cè),則被驗(yàn)證是否滿足三焦距約束[13]。因此,若不滿足多視角約束,則被視為誤報(bào),并且將被消除。
檢測(cè)邊界盒(BBdt)和標(biāo)簽邊界盒(BBgt)之間的重疊部分的歸一化面積a0如下所示:
a0=area(BBdt∩BBgt)/area(BBdt∪BBgt)
(7)
式中:BBdt∩BBgt是檢測(cè)邊界盒和標(biāo)簽邊界盒的交集;BBdt∪BBgt是它們的并集。手槍檢測(cè)結(jié)果及交并集如圖4所示,經(jīng)計(jì)算a0=0.34??稍O(shè)定閾值θ來判斷是否已檢測(cè)到危險(xiǎn)物品,即當(dāng)a0>θ時(shí)則檢測(cè)結(jié)果為真陽性,否則為假陽性。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn)θ可取值為0.3,即圖4中檢測(cè)出了手槍。
圖4 手槍的檢測(cè)結(jié)果及對(duì)應(yīng)的交并集Fig. 4 Detection results of handguns and corresponding intersection and union
本文方法的危險(xiǎn)品檢測(cè)性能采用召回率Re、精確率Pr和F1值作為評(píng)價(jià)指標(biāo),F1值可以理解為召回率和精確率之間的加權(quán)平均值。計(jì)算式如下:
(8)
式中:TP是真陽性的數(shù)量;FP是假陽性的數(shù)量;NP是被檢測(cè)的總數(shù)量。
實(shí)驗(yàn)數(shù)據(jù)來源于智利天主教大學(xué)計(jì)算機(jī)科學(xué)系機(jī)器智能組提供的X光圖像公共數(shù)據(jù)集,被稱為GDXray數(shù)據(jù)集[14],從其中的Baggage類別中挑選實(shí)驗(yàn)需要的X光訓(xùn)練和測(cè)試圖像。實(shí)驗(yàn)對(duì)象為手槍和剃刀刀片,它們不同角度的X光訓(xùn)練圖像數(shù)量分別為200張和100張;用于測(cè)試手槍的兩袋包裹(內(nèi)含手槍和其他物品),每個(gè)包通過機(jī)械手(ABB-Flexpicker)圍繞Z軸每2°旋轉(zhuǎn)一次,共旋轉(zhuǎn)180次,分別得到180張X光測(cè)試圖像;用于測(cè)試剃刀刀片的兩個(gè)包旋轉(zhuǎn)方法一致,也分別得到180張X光測(cè)試圖像。
2.3.1 檢測(cè)性能分析
1)剃刀刀片的檢測(cè)。
檢測(cè)剃刀刀片(兩袋包裹)的實(shí)驗(yàn)結(jié)果如表3所示,給出真陽性的數(shù)量TP和假陽性的數(shù)量FP,并計(jì)算出召回率Re和精確率Pr。
表3 檢測(cè)剃刀刀片的實(shí)驗(yàn)結(jié)果Tab. 3 Experimental results of detecting razor blades
剃刀刀片檢測(cè)方法的實(shí)驗(yàn)結(jié)果對(duì)比如表4所示。由表4可以看出,閾值相同時(shí),所提出的基于HASB-QL算法的主動(dòng)視覺方法(HASB-QL-active(G))與其他方法相比,精確率、召回率和F1值均有所提高。AISM只從單視角檢測(cè),不使用多視角策略和幾何約束,召回率和精確率分別為32.50%和47.50%,F(xiàn)1值只有38.59%;在使用幾何約束的情況下,將主動(dòng)視覺方法的下一個(gè)最佳視角估計(jì)部分使用隨機(jī)估計(jì)器,如果剃刀刀片沒有在好的姿勢(shì)被檢測(cè)到,則隨機(jī)估計(jì)器將隨機(jī)輸出一個(gè)旋轉(zhuǎn)角度,結(jié)果R-active(G)的F1值為75.32%;以Q-Learning為基礎(chǔ)的主動(dòng)視覺(Q-active(G))與R-active(G)相比,F(xiàn)1值提高了19.24%(精確率為100%,召回率為81.50%);Q-active與Q-active(G)相比,沒有使用幾何約束進(jìn)行誤報(bào)消除,F(xiàn)1值降低了39.63%(精確率為55.50%,召回率為53.00%),因此使用幾何約束能夠提高召回率和精確率;HASB-QL-active(G)與Q-active(G)相比,F(xiàn)1值提高了2.51%(精確率為100%,召回率提高了4.64%),因此采用基于HASB-QL算法進(jìn)行下一個(gè)最佳視角估計(jì),并進(jìn)行誤報(bào)消除,能夠有效提高剃刀刀片的檢測(cè)性能。
表4 剃刀刀片檢測(cè)方法的實(shí)驗(yàn)結(jié)果對(duì)比Tab. 4 Experimental result comparison of razor blade detection methods
HASB-QL-active(G)檢測(cè)剃刀刀片的步驟如圖5所示。圖5(a)是采集的X光測(cè)試圖像;圖5(b)是對(duì)測(cè)試圖像進(jìn)行單視角(AISM)檢測(cè);圖5(c)是對(duì)姿勢(shì)和下一最佳視角作出估計(jì),根據(jù)圖3中姿勢(shì)所對(duì)應(yīng)的狀態(tài)可知,pose0表示未檢測(cè)到;使用改進(jìn)的Q學(xué)習(xí)算法對(duì)下一個(gè)最佳視角估計(jì),機(jī)械手將包裹圍繞Z軸旋轉(zhuǎn)60°,得到圖5(d)的測(cè)試圖像;圖5(e)是對(duì)圖5(d)中的圖像進(jìn)行單視角檢測(cè);圖5(f)得到好的姿勢(shì)(pose7),并利用誤報(bào)消除算法驗(yàn)證是否滿足極線約束[13]。根據(jù)式(10)計(jì)算出重疊部分的歸一化面積a0=0.584 0>0.3,實(shí)驗(yàn)結(jié)果為檢測(cè)到剃刀刀片。
圖5 使用改進(jìn)的主動(dòng)視覺方法檢測(cè)剃刀刀片的步驟Fig. 5 Steps of detecting razor blades by using improved active vision method
2)手槍的檢測(cè)。
在手槍的檢測(cè)中,由于手槍形狀的不規(guī)則,沒有使用幾何約束進(jìn)行誤報(bào)消除。檢測(cè)手槍(兩袋包裹)的實(shí)驗(yàn)結(jié)果如表5所示,給出真陽性的數(shù)量(TP)和假陽性的數(shù)量(FP),并計(jì)算出召回率(Re)和精確率(Pr)。
表5 檢測(cè)手槍的實(shí)驗(yàn)結(jié)果Tab. 5 Experimental results of detecting handguns
手槍檢測(cè)方法的實(shí)驗(yàn)結(jié)果對(duì)比如表6所示。由表6可以看出,閾值相同時(shí),所提出的基于HASB-QL算法的主動(dòng)視覺方法(HASB-QL-active)與其他方法相比,召回率、精確率和F1值均有所提高。AISM只從單視角檢測(cè),不使用多視角策略和幾何約束,檢測(cè)性能非常低,F(xiàn)1值只有23.71%(精確率為33.00%,召回率為 18.50%);在主動(dòng)視覺方法的下一個(gè)最佳視角估計(jì)部分使用隨機(jī)估計(jì)器,如果手槍沒有在好的姿勢(shì)被檢測(cè)到,則隨機(jī)估計(jì)器將隨機(jī)輸出一個(gè)旋轉(zhuǎn)角度,結(jié)果R-active的F1值只有46.16%;以Q-Learning為基礎(chǔ)的主動(dòng)視覺方法(Q-active)與R-active相比,F(xiàn)1值提高了59.53%(精確率為82.50%,召回率為66.50%);改進(jìn)的方法HASB-QL-active與Q-active相比,F(xiàn)1值提高了9.60%(精確率提高了9.81%,召回率提高了9.44%),因此采用基于HASB-QL算法進(jìn)行下一個(gè)最佳視角估計(jì),能夠有效提高手槍的檢測(cè)性能。
表6 手槍檢測(cè)方法的實(shí)驗(yàn)結(jié)果對(duì)比Tab. 6 Experimental result comparison of handgun detection methods
HASB-QL-active檢測(cè)手槍的步驟如圖6所示。圖6(a)是采集的X光測(cè)試圖像;圖6(b)是對(duì)測(cè)試圖像進(jìn)行單視角(AISM)檢測(cè);圖6(c)是對(duì)姿勢(shì)和下一最佳視角作出估計(jì),根據(jù)圖3中姿勢(shì)所對(duì)應(yīng)的狀態(tài)可知,pose15為不好的姿勢(shì);使用改進(jìn)的Q學(xué)習(xí)算法對(duì)下一個(gè)最佳視角估計(jì),機(jī)械手將包裹圍繞Z軸逆時(shí)針旋轉(zhuǎn)60°,得到圖6(d)的測(cè)試圖像;圖6(e)是對(duì)圖6(d)中的圖像進(jìn)行單視角(AISM)檢測(cè),圖6(f)得到好的姿勢(shì)(pose18)。并根據(jù)式(10)計(jì)算出重疊部分的歸一化面積a0=0.414 4>0.3,實(shí)驗(yàn)結(jié)果為檢測(cè)到手槍。
2.3.2 檢測(cè)耗時(shí)分析
實(shí)驗(yàn)環(huán)境為Matlab R2015a,計(jì)算機(jī)配置為Intel Core i3-4170 CPU 3.70 GHz,4 GB RAM。檢測(cè)手槍和剃刀刀片的四種方法的平均耗時(shí)和速度提高率如表7所示。由表7可以看出,AISM雖然耗時(shí)比較少,但是檢測(cè)的精確率和召回率比較低,其他三種方法是以此方法為基礎(chǔ)的;HASB-QL-active(或HASB-QL-active(G))與R-active(或R-active(G))和Q-active(或Q-active(G))相比,平均耗時(shí)明顯少一些。
在速度提高率上,HASB-QL-active(或HASB-QL-active(G))只與Q-active(或Q-active(G))方法作了對(duì)比。速度提高率的計(jì)算方式為:
速度提高率=(Q-active(或Q-active(G))平均耗時(shí)-
HASB-QL-active(或HASB-QL-active(G))平均耗時(shí))/
Q-active(或Q-active(G))平均耗時(shí)×100%
圖6 使用改進(jìn)的主動(dòng)視覺方法檢測(cè)手槍的步驟Fig. 6 Steps of detecting handguns by using improved active vision method
由表7中可以看出,檢測(cè)手槍的HASB-QL-active的運(yùn)算速度與Q-active相比提高了12.45%;檢測(cè)剃刀刀片的HASB-QL-active(G)的運(yùn)算速度與Q-active(G)相比提高了17.39%。因此,改進(jìn)的方法可以提高整體運(yùn)算速度,節(jié)省時(shí)間。
表7 檢測(cè)手槍和剃刀刀片的四種方法平均耗時(shí)和速度提高率Tab. 7 Average time-consuming and speed-increasing rate of four methods for detecting pistols and razor blades
本文提出的改進(jìn)的主動(dòng)視覺方法,采用基于狀態(tài)回溯的啟發(fā)式Q學(xué)習(xí)算法,對(duì)Q-Learning算法在下一個(gè)最佳視角估計(jì)上作出改進(jìn),其中的啟發(fā)函數(shù)在強(qiáng)調(diào)動(dòng)作重要性以加快收斂速度的同時(shí),基于代價(jià)函數(shù)計(jì)算動(dòng)作選擇的代價(jià)以減少不必要的搜索,從而平穩(wěn)地提高學(xué)習(xí)效率。實(shí)驗(yàn)結(jié)果表明:相比于AISM、R-active(或R-active(G))和Q-active(或Q-active(G))方法,所提的HASB-QL-active(或HASB-QL-active(G))能夠加快學(xué)習(xí)速度,在節(jié)省時(shí)間的同時(shí),提高了危險(xiǎn)品檢測(cè)性能。所提方法在參數(shù)選擇上未考慮X光圖像采集設(shè)備的差異性及環(huán)境的不確定性等因素,譬如根據(jù)所設(shè)定閾值θ來判斷是否已檢測(cè)到危險(xiǎn)品,一般情況下閾值θ可選擇在0.2~0.4范圍內(nèi),需在實(shí)驗(yàn)中進(jìn)行調(diào)節(jié)。接下來的研究工作是對(duì)不規(guī)則形狀的危險(xiǎn)品(如手槍)檢測(cè)進(jìn)一步研究,使之能夠進(jìn)行誤報(bào)消除,從而提高不規(guī)則危險(xiǎn)品的檢測(cè)性能。