張積存 費繼友 宋雪萍 馮佳偉
關(guān)鍵詞:深度學(xué)習(xí);X光圖像;目標(biāo)檢測;Mask R-CNN;違禁品檢測
快遞物流業(yè)、機(jī)場海關(guān)等行業(yè)貨物,包裹的安全性檢測目前主要使用X光機(jī)人工檢測的方式,由于待檢測物品種類繁多,擺放位置可能出現(xiàn)遮擋,因此對檢測人員能力要求較高,且存在誤檢和漏檢的情況。快遞物流業(yè)的貨物一般分散存放,導(dǎo)致審像人員分散,每人只能對一臺機(jī)器的X光圖像進(jìn)行審核;海關(guān)的X光檢測機(jī)器各自獨立,圖像數(shù)據(jù)格式不統(tǒng)一,導(dǎo)致管理困難。將X光機(jī)產(chǎn)生的圖像進(jìn)行集中管理和審核成為這些行業(yè)較強(qiáng)的需求。
當(dāng)前人工智能技術(shù)快速發(fā)展,基于深度學(xué)習(xí)的圖像識別在計算機(jī)領(lǐng)域越來越成熟,由于它適應(yīng)性強(qiáng)、具有自我學(xué)習(xí)和概括、抗噪聲能力強(qiáng)、編程易實現(xiàn)等優(yōu)點,目前已經(jīng)應(yīng)用到很多業(yè)務(wù)場景并取得了較好的效果。相比之下,對X光圖像的識別存在更多的困難:包裹內(nèi)的物品存在著種類多、背景復(fù)雜、物品相互遮擋等問題。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,對X光圖像進(jìn)行識別在醫(yī)學(xué)領(lǐng)域已經(jīng)有所應(yīng)用,同時,針對X光圖像違禁品檢測的相關(guān)研究也取得了不錯的進(jìn)展,因此,利用深度學(xué)習(xí)技術(shù)代替人工識別的方式,實現(xiàn)X光圖像智能識別、自動預(yù)警成為可能。
1智能審像系統(tǒng)
X光圖片智能審像系統(tǒng)是集X光圖像采集、數(shù)據(jù)匯聚、分析處理、違禁物品自動檢測、數(shù)據(jù)存儲為一體的非侵入式解決方案??蓪Χ喾N類違禁物品如走私品、易爆物品、危險品等進(jìn)行快速檢查,智能識別、并能根據(jù)人工干預(yù)的結(jié)果進(jìn)行機(jī)器學(xué)習(xí),不斷的提高物品檢測的準(zhǔn)確率,最終達(dá)到減少人工參與、提升效率的目的。
1.1審像系統(tǒng)架構(gòu)
審像系統(tǒng)的總體邏輯處理結(jié)構(gòu)如圖1所示,X光機(jī)檢測設(shè)備完成貨物、快件、行郵物品等掃描檢測,生成X光灰度圖片,并將圖片上傳給自動審像系統(tǒng),審像系統(tǒng)使用機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法等方式,對待檢物品的圖像進(jìn)行自動審像。監(jiān)控指揮中心可以實時監(jiān)控各設(shè)備的審像情況,對檢出的危險品及違禁品進(jìn)行處置。
如圖2所示,系統(tǒng)共分為應(yīng)用層,服務(wù)層,大數(shù)據(jù)層,數(shù)據(jù)接人層以及后臺管理五部分。
其中數(shù)據(jù)接人層負(fù)責(zé)X光圖片數(shù)據(jù)的對接,包括對數(shù)據(jù)進(jìn)行采集、匯聚、傳輸、清洗,并將處理后的數(shù)據(jù)存儲到數(shù)據(jù)資源層。
數(shù)據(jù)接人和傳輸使用FTP的方式,數(shù)據(jù)接人層實時監(jiān)測FTP上傳的XMI.文件,對接收到的文件解析清洗,然后將元數(shù)據(jù)和圖片存儲到大數(shù)據(jù)中心。
大數(shù)據(jù)層負(fù)責(zé)存儲原始數(shù)據(jù)和識別后的結(jié)構(gòu)化數(shù)據(jù),以及模型和樣本數(shù)據(jù)。
服務(wù)層提供智能審像服務(wù),包括審像算法,標(biāo)注樣本,訓(xùn)練模型及全文檢索服務(wù)。
應(yīng)用層負(fù)責(zé)檢測結(jié)果展現(xiàn)和用戶交互,包括審像結(jié)果、監(jiān)控告警、綜合查詢、統(tǒng)計分析等。
管理層是運維人員的后臺管理系統(tǒng),包括角色管理,用戶管理,機(jī)構(gòu)管理,日志管理,站點管理,光機(jī)管理及模型管理等。
1.2審像系統(tǒng)特性
X光審像系統(tǒng)在深入分析X光圖像成像特點基礎(chǔ)上,設(shè)計并開發(fā)的基于深度學(xué)習(xí)的智能審像系統(tǒng),系統(tǒng)的核心特性如下:
(l)實時采集、匯聚和存儲X光圖像信息,實現(xiàn)集中審像,解決了X光機(jī)分散部署,審像人員能力要求高,工作效率低的問題。
(2)采用領(lǐng)先的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行違禁物品的識別與檢測,無需人工挑選特征,有效地解決了檢測過程中遇到的目標(biāo)圖片姿態(tài)多樣、背景復(fù)雜、物品種類繁多造成的漏檢問題,達(dá)到了平均精確率高于83%的效果,使安檢作業(yè)方式實現(xiàn)了質(zhì)的飛躍。
如圖3所示,業(yè)務(wù)現(xiàn)場采集的X光圖片,經(jīng)過深度學(xué)習(xí)算法進(jìn)行審像后,可以較為準(zhǔn)確的找出圖片中的違禁品。自動審像系統(tǒng)對于采集的X光圖像自動進(jìn)行識別并標(biāo)識出是違禁品的概率。
2智能審像算法
2.1目標(biāo)檢測算法
現(xiàn)有的目標(biāo)檢測算法總體分為兩類,一類是OneStage算法,比如:YOLO和SSD算法,另一類是TwoStage算法,比如R-CNN系算法。其中OneStage算法訓(xùn)練快但識別精度相對低,TwoStage系算法訓(xùn)練相對慢但識別精度高。在使用主流配置GPU的情況下,無論OneStage還是TwoStage算法,其識別速度都能達(dá)到每張圖片耗時幾十到上百毫秒,均可以滿足X光機(jī)智能審像的性能要求。而X光圖像審像應(yīng)用場景對物品的識別精度要求較高,因此R-CNN系算法更適合此場景。
R-CNN系算法的發(fā)展歷程如圖4所示,由RCNN、Fast R-CNN、Faster R-CNN發(fā)展到現(xiàn)階段最先進(jìn)的Mask R-CNN算法。MaskR-CNN算法流程如下:特征提取網(wǎng)絡(luò)從原始圖像提取出特征,經(jīng)過區(qū)域建議網(wǎng)絡(luò)生成候選區(qū)域,再由ROI Align轉(zhuǎn)換為統(tǒng)一尺寸的特征供功能性網(wǎng)絡(luò)訓(xùn)練。
2.1.1特征提取網(wǎng)絡(luò)
Mask R-CNN使用的是利用特征金字塔結(jié)構(gòu)將殘差網(wǎng)絡(luò)組合成的特征提取網(wǎng)絡(luò),分為自上而下和自下而上兩個部分;
其中自下而上的部分使用了ResNet網(wǎng)絡(luò),通過C1 -C15模塊生成了五個不同粗粒度的特征圖。其中,每個模塊由多個殘差學(xué)習(xí)結(jié)構(gòu)組成,例如C3的結(jié)構(gòu)為{1×1,128;3×3,128;1×l,512}×4。這表示C中包含4個殘差學(xué)習(xí)結(jié)構(gòu),每個殘差學(xué)習(xí)結(jié)構(gòu)由三個卷積層組成,其卷積核分別為1×1,3×3,1×1,通道數(shù)分別為128,128,512。在自下而上的路徑中,每一個階段的第一個卷積核的步長為2,其他卷積核的步長為1,這樣使得到的特征圖的尺寸隨著模塊減半,得到不同尺寸的特征決射。
另一方面,自上而下的路徑則是將高層特征進(jìn),亍2倍采樣,然后通過1×1的卷積與自下而上的珞徑得到的特征融合,最后通過3×3的卷積得到新的特征映射圖P2~P5。如圖5所示,當(dāng)輸入尺寸為1024×1024的圖像時,最終生成的特征映射尺寸為{32×32,64×64,128×128,256×256}。
2.1.2區(qū)域建議網(wǎng)絡(luò)
區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)是一種利用特征圖計算代表物體在圖像中位置的全卷積神經(jīng)網(wǎng)絡(luò),可以接受不同尺寸的圖像作為輸入。不同于傳統(tǒng)的選擇性搜索( SelectiveSearch),RPN網(wǎng)絡(luò)的輸人為特征提取網(wǎng)絡(luò)所得到的特征圖。
通過滑動窗口在特征圖中滑動產(chǎn)生多尺度的錨(Anchor)。RPN會對特征圖中的每一個特征向量回歸,得到一個修正向量來對錨進(jìn)行修正。修正值包括2個前后景信息(前后景置信度)和4個位置信息。其中位置信息的修正的方式如公式(1)所示:
對Anchor進(jìn)行修正后可以得到大量的候選框,針對這些候選框計算其前后景得分,并通過非極大值抑制(Non-Maximum Suppression,NMS)的方法過濾出比較精確的候選框。
2.1.3ROI Align
在Faster R-CNN算法中,ROI Pooling可以將不同尺寸的輸入圖像轉(zhuǎn)換為一個固定維度的特征向量輸出,ROI Pooling采用最鄰近插值法進(jìn)行區(qū)域的伸縮,因此在池化的過程中如果遇到浮點數(shù)則會四舍五人,導(dǎo)致信息的丟失,進(jìn)而影響檢測的精度。Mask R-CNN算法為了避免信息的丟失,使用了ROI Align代替了ROI Pooling。
ROI Align在區(qū)域伸縮的過程中使用了雙線性插值法,具體步驟為:遍歷每個候選區(qū)域,保留浮點數(shù)的區(qū)域邊界并將候選區(qū)域分割成k×k個單元,每個單元的邊界也保留浮點數(shù)。最后使用雙線性插值的方法計算出固定四個坐標(biāo)位置的值,然后進(jìn)行最大池化操作。ROI Align通過引入雙線性插值進(jìn)行池化,將原本的離散池化過程變?yōu)檫B續(xù)過程,從而解決了ROI Pooling中信息丟失的問題。
2.2基于Mask R-CNN算法的智能審像
2.2.1樣本更新
為了保證審像模型的識別準(zhǔn)確度,審像應(yīng)用模塊需要不斷更新樣本庫,并重新訓(xùn)練審像模型。
樣本庫更新分為自動更新和手動更新兩種方式。通過自動更新確保樣本庫能夠源源不斷的得到優(yōu)質(zhì)的新樣本,同時在需要時也可以選擇手動更新樣本庫。兩種更新的流程:
(1)自動更新
當(dāng)圖像分析集群發(fā)現(xiàn)帶有違禁品的圖像時會主動推送給業(yè)務(wù)人員,業(yè)務(wù)人員可以對圖像進(jìn)行確認(rèn)和校正,確保圖像中標(biāo)注信息準(zhǔn)確。校正后的圖像會自動存人樣本庫。
(2)手動更新
由業(yè)務(wù)人員通過Web服務(wù)集群主動添加樣本,供模型訓(xùn)練使用。
從某品牌X光機(jī)選取了6000張含有違禁物品的圖片作為樣本,通過標(biāo)注工具標(biāo)注出刀、槍、液體瓶、手機(jī)、充電寶等五類違禁品在圖片中的位置,形成訓(xùn)練樣本,另外選擇600張X光圖片作為測試樣本對系統(tǒng)的訓(xùn)練效果進(jìn)行檢驗。
2.2.2數(shù)據(jù)預(yù)處理
原始X光圖像中包含許多冗余的部分.如圖6中上下部分的文字以及白色背景,但對算法訓(xùn)練與預(yù)測有作用的只有圖中虛線標(biāo)注出來的區(qū)域。
如果直接利用原始圖像進(jìn)行算法訓(xùn)練,一方面會引人多余的噪聲造成算法的訓(xùn)練效果不佳,另一方面?zhèn)魅擞?xùn)練的圖像尺寸過大會降低算法訓(xùn)練的速度。因此,在原始圖像接人算法訓(xùn)練與圖像分析模塊之前需要對圖像進(jìn)行預(yù)處理。利用OPENCV中包含的輪廓檢測算法可以有效的識別出原始圖像中的貨物部分,經(jīng)過算法處理后的圖像如圖7所示。由于模型訓(xùn)練是在GPU上實現(xiàn)的,圖像經(jīng)過預(yù)處理后剔除了多余的部分,所占用的顯存變得更小,每次可訓(xùn)練更多的圖像,算法訓(xùn)練的效果和效率都可以得到提高。
3實驗測試
實驗硬件環(huán)境如表1所示,軟件環(huán)境如表2所示?;贑OCO數(shù)據(jù)集權(quán)重,針對X光圖片樣本數(shù)據(jù)調(diào)整參數(shù)得到預(yù)測模型。如圖8所示,對比了各個ResNet的精度,最終選擇ResNetl01作為PackBone訓(xùn)練網(wǎng)絡(luò),主要參數(shù)設(shè)置如表3所示。
對Mask R-CNN網(wǎng)絡(luò)訓(xùn)練分三階段:第一階段是Head網(wǎng)絡(luò),訓(xùn)練40個epoch,每個epoch包含1000個batch,LR設(shè)置為0.001,LR衰減系數(shù)為0.001;第二階段是”4+”網(wǎng)絡(luò)微調(diào),微調(diào)80個epoch,每個epoch包含1000個batch,LR設(shè)置為0. 001,LR衰減系數(shù)0.001;第三階段是全網(wǎng)絡(luò)微調(diào),微調(diào)40個epoch,每個epoch包含1000個batch,LR設(shè)置為0.0001,LR衰減系數(shù)為0.0001,三個階段訓(xùn)練后I-OSS值收斂于0.4左右。對Mask R-CNN訓(xùn)練后的模型在測試集上使用COCO的評估方法,平均精準(zhǔn)率mAP50達(dá)到了0.83。
使用訓(xùn)練后的模型進(jìn)行智能審像,模型基本能準(zhǔn)確的檢測出圖像中包含的違禁品。針對多種目標(biāo)物體,以槍為例,Mask R-CNN算法的識別結(jié)果如圖9所示。橫軸為召回率,縱軸為精準(zhǔn)率,三條曲線分別代表不同IoU閾值下的檢測效果。曲線下方的面積即為AP值??梢钥闯?,曲線包圍的面積很大,槍檢測效果較好。
將Mask R-CNN算法的檢測效果與Faster RCNN、YOLOv3、SSD513三種算法進(jìn)行對比,以AP50為評判標(biāo)準(zhǔn),結(jié)果如表4所示。
可以看出,Mask R-CNN算法的識別精度要明顯優(yōu)于Faster R-CNN及以O(shè)ne Stage的YOLOv3和SSD513算法。Mask R-CNN算法比Faster R-CNN識別精度高12.6%;比YOLOv3識別精度高17. 1%,比SSD513識別精度高27. 80/。從物品種類來看,液體瓶、手機(jī)、槍的檢測效果要好于刀與充電寶,其原因在于這兩類物品特征簡單,容易和其他物品混淆。
4結(jié)論
(1)針對X光機(jī)部署分散、人工審像方式效率低、精度差等問題,構(gòu)建了一套集前端數(shù)據(jù)采集、傳輸、匯聚,后端算法檢測、告警為一體的X光圖片智能審像系統(tǒng)。
(2)系統(tǒng)采用目標(biāo)檢測精度較高的Mask RCNN算法,對X光圖像進(jìn)行了預(yù)處理,對比了各個ResNet的精度,選擇ResNet101作為BackBone訓(xùn)練網(wǎng)絡(luò),進(jìn)行參數(shù)調(diào)整,訓(xùn)練出的模型平均精準(zhǔn)率mAP50達(dá)到了0.83,違禁品檢出的準(zhǔn)確率明顯高于Faster R-CNN、YOLOv3、SSD513等算法。該系統(tǒng)在某寄遞物流業(yè)務(wù)場景下已實際應(yīng)用,效果較好。
(3)對于刀、充電寶等特征簡單、易于混淆的目標(biāo)物體,檢測精度還有一定的改善空間,后續(xù)進(jìn)行神經(jīng)網(wǎng)絡(luò)算法的優(yōu)化,進(jìn)一步提升易于混淆物體目標(biāo)檢測的精度。