王宇石 王曉侃
摘? 要:文章設(shè)計了一種X射線安檢圖像的違禁品自動識別系統(tǒng)。以經(jīng)典的ResNet卷積神經(jīng)網(wǎng)絡(luò)為特征提取骨干網(wǎng)絡(luò),使用特征金字塔網(wǎng)絡(luò)進(jìn)行違禁品目標(biāo)探測;把圖像分成筆記本區(qū)域和非筆記本區(qū)域,分別用不同的網(wǎng)絡(luò)模型進(jìn)行探測,取得了出色的探測效果。并使用網(wǎng)絡(luò)服務(wù)器的模式部署上述算法探測系統(tǒng),使得產(chǎn)生圖像的安檢機系統(tǒng)與算法服務(wù)器既保持彼此獨立又能進(jìn)行穩(wěn)定、實時的通訊,完成探測。
關(guān)鍵詞:X射線;安檢圖像;違禁品;卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號:O434.1? ? ? ?文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)23-0136-03
Abstract. This paper proposes a contraband detection system for X-ray security inspection machines. Based on the classic ResNet convolutional neural networks as backbone networks, we detect contrabands with Feature Pyramid Networks. A better performance is achieved by segmenting an image as notebook area and no-notebook area which are processed separately with different detection models. And the models are deployed in a network server connected with the X-ray security inspection machine which sends X-ray images to the server. Both sides communicate with each other stably in a real time.
Keywords: X-ray; security inspection image; contraband; convolutional neural networks
1 概述
自2014年以來,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)已經(jīng)成為了計算機視覺領(lǐng)域的主流技術(shù),在各個方面都取得性能突破,特別是圖像識別領(lǐng)域已經(jīng)臻于成熟[1-2]。呈現(xiàn)的總體趨勢是網(wǎng)絡(luò)深度不斷加深、卷積也以小型化(1×1/3×3)模板為主[3-4]。
在基于X射線的安全檢查領(lǐng)域(以下簡稱“安檢”),同樣可以通過遷移學(xué)習(xí)的方式,實現(xiàn)對安檢圖像中特定目標(biāo)的識別。安檢圖像的基本原理是利用多能的X射線透射被檢查物品,形成同一穿透位置的多能量X射線的衰減效應(yīng),歸一化成多個灰度值,再基于安檢判讀需求進(jìn)行著色處理形成RGB三基色值。通常有機物成像為桔紅色,無機物或金屬成像為藍(lán)色,介于兩者之間的混合物(有機物/無機物的疊加、或類似玻璃、含鹽液體、電路板等)則為綠色(如圖1(a))。這樣整個被檢查物品就根據(jù)其各部位的材質(zhì)及厚度形成了偽彩色圖像。在本文中,作者基于偽彩色的安檢圖像,進(jìn)行違禁品的識別。
違禁品的識別目標(biāo)定為對公共安全威脅較為直接的槍支、刀具、其他殺傷性器具(例如斧子、鋸、甩棍、彈弓等)。此外由于地鐵、民航領(lǐng)域?qū)τ谝后w也有一定的禁、限要求,所以各類液體也被設(shè)為違禁品目標(biāo),其中壓力罐是所有安檢領(lǐng)域都重點關(guān)注的對象,因其具有高壓下爆炸、易燃的危險。針對安檢圖像的違禁品目標(biāo)識別,已經(jīng)有研究者基于卷積神經(jīng)網(wǎng)絡(luò)展開了相關(guān)工作[5-6],但采用的是層數(shù)較少的網(wǎng)絡(luò),例如AlexNet[1]。
本文包含兩方面的內(nèi)容,一方面是目標(biāo)識別算法,另一方面是系統(tǒng)部署方案。前者是基于CNN提取區(qū)域特征并最終判定區(qū)域的目標(biāo)類別,在實施中分筆記本區(qū)域和非筆記本區(qū)域分別處理;后者則實現(xiàn)的是安檢機與算法服務(wù)器之間的關(guān)聯(lián);兩者將分別在本文的第2、第3節(jié)進(jìn)行介紹。
2 基于卷積神經(jīng)網(wǎng)絡(luò)的違禁品識別
本文的系統(tǒng)中使用了經(jīng)典的Faster架構(gòu)[7]進(jìn)行了違禁品目標(biāo)識別,2.1節(jié)介紹基本的目標(biāo)識別算法,2.2節(jié)利用基本的目標(biāo)識別算法分別處理非筆記本區(qū)域和筆記本區(qū)域。
2.1 基于FPN的違禁品目標(biāo)識別算法
Faster架構(gòu)系列方法的核心思想是兩階段探測:第一階段找到疑似目標(biāo)區(qū)域,第二階段針對這些區(qū)域進(jìn)行進(jìn)一步的區(qū)域細(xì)化和目標(biāo)分類,兩者使用同樣的特征提取骨干神經(jīng)網(wǎng)絡(luò)。該系列方法的經(jīng)典方法是Feature Pyramid Networks(FPN)[8],該方法除了繼承Faster系列的基本框架,在多尺度特征融合方面又更進(jìn)一步。
在經(jīng)典的骨干神經(jīng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)結(jié)構(gòu)是按照尺度進(jìn)行組織的——在某一尺度下,進(jìn)行一系列卷積神經(jīng)網(wǎng)絡(luò)層的疊加,然后進(jìn)行下采樣(通常是2倍),在更高尺度上進(jìn)行類似的卷積神經(jīng)網(wǎng)絡(luò)的疊加。
FPN的總體邏輯架構(gòu)類似一個金字塔(圖2)。在L1~L4每一級金字塔的頂端,產(chǎn)生本尺度的骨干特征圖;從低尺度(例如L1)向高一級尺度的過度過程中,發(fā)生了下采樣;基于各層的骨干特征圖,形成本層的最終特征圖(Fi,i=1~4),F(xiàn)i通常由本層的骨干特征圖連同上一層的Fi+1融合形成,并且F1~F4具有相同的特征維度數(shù)(例如256,即Fi特征圖的每一位置有256維特征)。此種方案融合各個尺度的特征,彼此參考、呼應(yīng)。
以ResNet為例,在Li層金字塔中,由Ni個同構(gòu)的ResNet模塊串接組成。在每個ResNet模塊中,都由1x1卷積、3×3卷積、1×1卷積連續(xù)3層神經(jīng)網(wǎng)絡(luò)組成,并通過Residual結(jié)構(gòu)[2],將本模塊的輸入圖層和第二個1×1卷積輸出圖層合并形成本ResNet模塊的最終輸出。
在每個Fi特征圖層中都會按照Faster的架構(gòu),在各抽樣性的錨點位置先用回歸的方式形成物體區(qū)域(即“區(qū)域建議”網(wǎng)絡(luò)),能夠產(chǎn)生對應(yīng)尺度物體的初步預(yù)測(物體四角的圖像位置)。再基于Fi中物體四角范圍內(nèi)的所有位置的特征進(jìn)行特征濃縮,所得特征輸入到最終的識別網(wǎng)絡(luò),形成目標(biāo)類物體的準(zhǔn)確四角位置及其類別判定結(jié)果。以上兩個階段即為典型的Faster架構(gòu)——將物體搜索和物體識別分兩個階段完成,總體效果更為精準(zhǔn)。
2.2 針對筆記本區(qū)域的違禁品目標(biāo)識別
筆記本區(qū)域是安檢圖像中目標(biāo)檢測的難點,因該區(qū)域不僅密布各種電子部件、顏色濃重具有強干擾性,而且面積較大,導(dǎo)致違禁品目標(biāo)更加難以識別。本文對此采取的辦法是為筆記本的圖像區(qū)域建立一個單獨的FPN識別模型,用于識別掩藏在筆記本下面或附著在筆記本附近的違禁品目標(biāo)。具體識別流程如圖3所示。換句話說,將筆記本區(qū)域作為一個特殊的任務(wù),建立一套適應(yīng)其特點的識別網(wǎng)絡(luò)。這就如同不能用普通圖像的識別模型去直接用于X射線安檢圖像一樣,針對安檢圖像常規(guī)區(qū)域的識別模型,也會不適用于筆記本區(qū)域。
在用標(biāo)準(zhǔn)模型FPN0進(jìn)行識別過程中,筆記本區(qū)域和其余的違禁品(例如刀、槍)一樣被當(dāng)做一種識別目標(biāo)。如果一個圖像中識別到存在筆記本區(qū)域,該區(qū)域會被提取出來作為一個圖像(如圖1(b))再輸入到FPN-Nb模型(筆記本區(qū)域探測)中進(jìn)行探測。得到的探測結(jié)果與FPN0的識別結(jié)果需要進(jìn)行融合、歸并,因為在筆記本區(qū)域邊界處的違禁品目標(biāo),可能存在兩個模型雙重的探測結(jié)果,特別是在提取筆記本圖像時對其四周進(jìn)行了適當(dāng)擴張,以免體積大的違禁品不能被較為完整地一同提取。
為訓(xùn)練識別CNN模型,采集了10萬張訓(xùn)練圖像。但其中并未包含筆記本區(qū)域。為此我們在不包含違禁品的背景包裹圖像中,以隨機選擇的姿態(tài)注入了另行采集的筆記本圖像,又形成2萬張圖像用于訓(xùn)練FPN0。注入方法就是傳統(tǒng)的Threat Image Projection方法[9],該方法概況為如下公式:
其中I0表示X射線的初始能量,A1表示背景圖像中某像素對應(yīng)射線所經(jīng)歷的能量衰減,A2表示筆記本圖像中某像素對應(yīng)射線所經(jīng)歷的能量衰減,最終得到注入筆記本之后的合成的X射線的能量值ITIP。由于現(xiàn)代X射線安檢機都使用雙能量偽彩色圖像,所以同一像素存在兩個能量對應(yīng)的ITIP,并據(jù)此形成新的筆記本區(qū)域偽彩色圖像。而在訓(xùn)練FPN-Nb時,對10萬張采集的訓(xùn)練圖像用同樣的方法隨機注入了筆記本區(qū)域,同樣形成了10萬張訓(xùn)練圖像。
如果兩種區(qū)域同時兼顧訓(xùn)練一個模型,并不會得到最佳的性能,主要的問題是如何平衡筆記本區(qū)域在訓(xùn)練集中所占比重。如果筆記本占比較低(遵循實際應(yīng)用場景的統(tǒng)計比例),則無法形成突出的筆記本區(qū)域識別能力;反之筆記本區(qū)域占比提到足夠高的水平時,又會降低常規(guī)區(qū)域的識別能力。所以按不同模型分別識別,就可以規(guī)避這個問題。由于安檢圖像的識別不具有高實時性的要求(安檢設(shè)備產(chǎn)生圖像的頻率每秒小于1幅),且安全重于效率,所以在1個GPU顯卡上采用雙模型探測完全能滿足現(xiàn)場要求。
3 基于事件機制的算法服務(wù)器調(diào)用
在實現(xiàn)算法的同時,本文將算法工作站同安檢機進(jìn)行了對接,實現(xiàn)了安檢設(shè)備的實時違禁品探測。由于深度學(xué)習(xí)領(lǐng)域普遍采用的是基于Linux操作系統(tǒng)的軟件、算法平臺,而傳統(tǒng)安檢機通常采用基于Windows的軟件系統(tǒng),兩者的兼容是一個問題。一個比較直接的解決方式就是利用網(wǎng)絡(luò)通訊的方式來實現(xiàn)兩者的對接,即深度學(xué)習(xí)算法使用1個Linux平臺進(jìn)行計算服務(wù),而從Windows系統(tǒng)(安檢機軟件)獲得安檢圖像、再返回探測結(jié)果。
在通訊機制的實現(xiàn)過程中,兩種平臺基于socket協(xié)議進(jìn)行消息傳遞。將消息的傳遞和處理視為事件,實現(xiàn)一種基于事件循環(huán)的異步IO機制。所謂事件循環(huán),是指當(dāng)一個事件A的處理陷入停頓、等待,就可以把CPU的使用權(quán)交給別的事件,當(dāng)A的處理獲得條件就會繼續(xù)進(jìn)行。
通過指定Windows系統(tǒng)和Linux系統(tǒng)的IP地址和端口,建立一個可讀寫的IO消息流。對于流兩端的系統(tǒng)來說,如果沒有消息來,就進(jìn)行等待;如果對方有消息發(fā)來,就觸發(fā)對應(yīng)的消息處理函數(shù)執(zhí)行規(guī)定操作。消息的種類可以包括:握手、探測模型初始化、圖像傳送、結(jié)果返回等。
具體的硬件配置是任意支持上述工作模式的平臺均可,在本文中采取的是常規(guī)的GPU顯卡算法服務(wù)器,操作系統(tǒng)是Ubuntu(Liunx的一種)。
4 實驗結(jié)果
為了證明雙模型(非筆記本區(qū)域和筆記本區(qū)域)探測性能的優(yōu)勢,本文在上述10萬張訓(xùn)練圖像的基礎(chǔ)上,使用基于ResNet-101[2]的FPN模型,進(jìn)行模型訓(xùn)練。
安檢圖像并非常規(guī)圖像,其內(nèi)容的單一化、識別的難度都超過普通可見光圖像。換句話說,辨識安檢圖像所需的視覺能力超過了常人(安檢員都經(jīng)過特殊的訓(xùn)練)。在測試集上的實驗結(jié)果(表1)也證明,使用的模型復(fù)雜度高,會帶來探測性能的改進(jìn)。在表1中的性能欄中,左側(cè)數(shù)字為查全率(%),右側(cè)數(shù)字為探測準(zhǔn)確率(%);其中R50表示使用50層的ResNet,R101表示使用101層的ResNet,“+”號兩邊分別表示圖3的PFN0和FPN-Nb所用的CNN特征提取模型。
同時還對比了將筆記本區(qū)域圖像和普通訓(xùn)練圖像混合訓(xùn)練的效果(表1中無加號的“R101”),結(jié)果顯示對于兩種圖像的探測能力都有一定程度的損害,有必要分兩個任務(wù)分別進(jìn)行探測。
在未來的工作中,如何簡化目前的高復(fù)雜度模型,以及如何融合兩種區(qū)域的探測模型,是需要進(jìn)一步研究的優(yōu)化方向。
參考文獻(xiàn):
[1]Krizhevsky A., Sutskever I., Hinton G.. ImageNet Classification with Deep Convolutional Neural Networks[J]. NIPS,2012:1097-1105.
[2]He K., Zhang X., Ren S., et al. Deep Residual Learning for Image Recognition[C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016:770-778.
[3]Szegedy C., Liu W., Jia Y., et al. Going Deeper With Convolutions[C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2015:1-9.
[4]Xie S., Girshick R., Dollar P., et al. Aggregated Residual Transformations for Deep Neural Networks[C]// The IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2017.
[5]Jaccard N., Rogers T. W., Morton E. J., Griffin L. D.. Automated Detection of Smuggled High-risk Security Threats Using Deep Learning[C]// 7th International Conference on Imaging for Crime Detection and Prevention (ICDP),2016.
[6]Akcay S., Kundegorski M. E., Devereux M., et al. Transfer Learning Using Convolutional Neural Networks for Object Classification within X-ray Baggage Security Imagery[C]// The IEEE International Conference on Image Processing (ICIP), 2016.
[7]Ren S., He K., Girshick R., et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015,39(6):1137-1149.
[8]Lin T., Dollar P., Girshick R., et al. Feature Pyramid Networks for Object Detection[C]// The IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2017:2117-2125.
[9]毛宇.安檢機中危險品圖像注入問題的研究[D].東南大學(xué),2016.16-17.