?

基于Q學習算法的X光主動視覺安檢方法

2019-01-07 12:16丁靜文陳樹越陸貴榮
計算機應用 2018年12期
關鍵詞:剃刀危險品X光

丁靜文,陳樹越,陸貴榮

(常州大學 信息科學與工程學院,江蘇 常州 213164)(*通信作者電子郵箱csyue2000@163.com)

0 引言

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 X光主動視覺安檢方法

本文采用的主動視覺檢測流程如圖1所示。首先利用自適應隱式形狀模型[5]對危險品進行單視角檢測,然后對危險品的姿勢作出估計,并估計下一最佳視角,當危險品被旋轉到估計角度,再次進行單視角檢測,當視角個數多于一個時,對危險品進行誤報消除。

圖1 主動視覺檢測流程

Fig. 1 Flow chart of active vision inspection

1.1 X光主動視覺安檢結構

X光主動視覺安檢結構如圖2所示,由X射線探測器、X射線發射管、機械手(ABB-Flexpicker)和鉛室隔離系統組成。包裹通過傳送帶進入鉛室隔離系統,機械手將其握住,經過X射線照射投影到探測器平面,從而獲取它的X光圖像。主動視覺即為通過估計最佳角度使機械手將包裹從實際位置旋轉到能夠識別目標危險品的一個新的位置。

圖2 X光主動視覺安檢結構Fig. 2 Structure of X-ray security inspection using active vision

1.2 姿勢與最佳視角估計

(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成為目標狀態。

1.3 誤報消除

在檢測危險品時,多于一個視角的情況下,通過幾何模型建立多視角約束[6]以消除誤報(假陽性)。如果有兩個視角被檢測,則被驗證是否滿足極線約束[13];如果有三個以上的視角被檢測,則被驗證是否滿足三焦距約束[13]。因此,若不滿足多視角約束,則被視為誤報,并且將被消除。

2 實驗結果及分析

2.1 評價指標

檢測邊界盒(BBdt)和標簽邊界盒(BBgt)之間的重疊部分的歸一化面積a0如下所示:

a0=area(BBdt∩BBgt)/area(BBdt∪BBgt)

(7)

式中:BBdt∩BBgt是檢測邊界盒和標簽邊界盒的交集;BBdt∪BBgt是它們的并集。手槍檢測結果及交并集如圖4所示,經計算a0=0.34??稍O定閾值θ來判斷是否已檢測到危險物品,即當a0>θ時則檢測結果為真陽性,否則為假陽性。經實驗發現θ可取值為0.3,即圖4中檢測出了手槍。

圖4 手槍的檢測結果及對應的交并集Fig. 4 Detection results of handguns and corresponding intersection and union

本文方法的危險品檢測性能采用召回率Re、精確率Pr和F1值作為評價指標,F1值可以理解為召回率和精確率之間的加權平均值。計算式如下:

(8)

式中:TP是真陽性的數量;FP是假陽性的數量;NP是被檢測的總數量。

2.2 實驗數據集

實驗數據來源于智利天主教大學計算機科學系機器智能組提供的X光圖像公共數據集,被稱為GDXray數據集[14],從其中的Baggage類別中挑選實驗需要的X光訓練和測試圖像。實驗對象為手槍和剃刀刀片,它們不同角度的X光訓練圖像數量分別為200張和100張;用于測試手槍的兩袋包裹(內含手槍和其他物品),每個包通過機械手(ABB-Flexpicker)圍繞Z軸每2°旋轉一次,共旋轉180次,分別得到180張X光測試圖像;用于測試剃刀刀片的兩個包旋轉方法一致,也分別得到180張X光測試圖像。

2.3 結果分析

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

3 結語

本文提出的改進的主動視覺方法,采用基于狀態回溯的啟發式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范圍內,需在實驗中進行調節。接下來的研究工作是對不規則形狀的危險品(如手槍)檢測進一步研究,使之能夠進行誤報消除,從而提高不規則危險品的檢測性能。

猜你喜歡
剃刀危險品X光
記憶X光機(下)
記憶X光機(上)
仿生武器大揭秘
奧卡姆剃刀
X光眼鏡的神秘歷史
全地形盛宴2015北極星中國首屆剃刀大會
王者降臨試駕北極星剃刀Turbo
是誰讓危險品企業埋伏居民區?
一種新型危險品液罐車安全閥
磨剃刀
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合