?

基于注意力機制的X光安檢圖像危險物品檢測

2023-12-29 12:23郭豆豆李國權黃正文
關鍵詞:危險物品池化注意力

郭豆豆,李國權,,黃正文,吳 建,龐 宇

(1.重慶郵電大學 通信與信息工程學院,重慶 400065;2.重慶郵電大學 光電信息感測與傳輸技術重點實驗室,重慶400065)

0 引 言

在公眾運輸管理領域,對行李實施X光安檢是保障乘客生命財產安全的重要方式,但安檢人員以肉眼觀察圖像來確認危險物品易受人為因素干擾且效率較低。因此,建立實時準確的X光行李安檢系統意義十分重大。

X光圖像中的目標識別主要基于視覺詞袋(bag-of-visual-words,BoVW)模型[1],而隨著AlexNet[2]的出現,卷積神經網絡(convolutional neural network,CNN)[3]等深度神經網絡已經在目標檢測、圖像分類等方面取得了顯著成績。文獻[4]將CNN引入X光行李圖像領域,使用遷移學習的方法優化AlexNet結構進行端到端的特征提取和分類,檢測準確率達到98.92%。文獻[5]探索了CNN在X光行李圖像分類和檢測任務中的應用,表明CNN比BoVW模型更有效。文獻[6]提出一種基于深度特征和最近鄰分類器的策略來處理公開GDXray(grima X-ray dataset)[7]上的X光圖像識別問題,識別準確率超過95%。為了解決X光圖像數據集有限的問題,文獻[8]提出了合成復合(synthetically composite,SC)的數據增強方法,分別在Faster R-CNN[9]和RetinaNet[10]架構上進行危險物品檢測,研究了真實和合成X光訓練圖像在檢測性能上的差異。

對于目標檢測,例如YOLO(you only look once)系列[11]的單階檢測算法,只通過一個階段就可以直接給出物體的類別概率和位置坐標,推理速度可以達到每秒幾十甚至上百幀。其中YOLOv1[12]將一幅圖像劃分為S×S的網格,目標中心位于某個網格,就用該網格進行預測,但是很難處理聚集的小目標;YOLOv2[13]以Darknet-19作為主干網絡,對YOLOv1進行了一系列提升性能的嘗試;YOLOv3[14]以Darknet-53為主干網絡,在3個特征層上預測,有效地平衡了推理速度和檢測精度。YOLOv3借鑒空間金字塔池化(spatial pyramid pooling,SPP)[15]的思想在第1個卷積集加入SPP模塊,即YOLOv3-SPP。文獻[15]提出的SPP模塊源于空間金字塔匹配(spatial pooling matching,SPM)[16],SPM模塊的原始方法是將特征圖分割成幾個相等的d×d塊,形成空間金字塔之后再提取詞袋特征。SPP模塊將SPM集成到CNN中之后使用最大池化操作代替詞袋操作。由于SPP模塊輸出的是1維特征向量,無法應用在全卷積網絡中。在YOLOv3的設計中,Redmon只借鑒SPP模塊的思想,并將其改進為內核大小為k×k,k∈{1,5,9,13},步距為1的最大池化輸出的拼接。這個設計中,相對較大的k×k最大池化可以有效地增加主干特征的感受野,同時整個模塊能夠融合全局特征和局部特征以實現不同特征的融合,解決輸入圖像中目標大小差異大的問題。SPP模塊的結構如圖1所示。

圖1 SPP模塊Fig.1 SPP module

文獻[17-18]在計算機視覺領域中應用注意力機制,為安檢提供了新的思路,可以使用CNN提取激活輸出節點的圖像區域特征,提高對自然圖像集的檢測性能。由于安檢圖像中危險物品之間存在大量的噪聲和干擾,文獻[19]將側向抑制[17]和對比注意[18]相結合,建立了神經元刺激抑制模型,在反饋傳播時可以有效地抑制噪聲和非目標干擾。文獻[20]利用通道關系提出了壓縮和激活(squeeze-and-excitation,SE)塊,這些塊的堆疊形成了壓縮和激勵網絡(squeeze-and-excitation network,SENet),SENet曾在ILSVRC 2017分類競賽中獲得第1名。卷積注意力模塊(convolutional block attention module,CBAM)[21]利用通道注意力和空間注意力來細化提取到的特征,在保證小計算開銷的同時實現性能提升。文獻[22]提出了有效的通道注意力(efficient channel attention,ECA)模塊,在涉及少量參數的情況下,帶來了性能的增益。文獻[23]將特征提取網絡獲取的特征映射層與特征金字塔注意力模塊進行融合,以獲取精細化金字塔網絡。

目標檢測任務中,CNN提取到的淺層特征保留了對待檢測目標至關重要的細節特征[24]。為了解決公共場所人工識別X光圖像危險物品效率較低且易漏檢的問題,本文將YOLOv3-SPP的網絡架構應用于X光圖像危險物品檢測,提出了一種融合通道和空間注意力信息以增強特征表示能力的目標檢測方法。針對單一池化操作會造成語義信息丟失,在一定程度上限制了淺層特征的問題,本文分析了SENet中的SE塊后,將最大池化和平均池化并行,提出了多壓縮激活(multi-squeeze excitation,MSE)模塊,用于產生更精細的注意力,從而提高對目標的檢測性能,在沒有降維的情況下增強通道注意力的表征能力??紤]到上下文信息對于需要關注的空間位置至關重要,本文在CBAM的空間注意力分支中采用膨脹卷積[25-26]來構建比標準卷積更有效的空間特征圖,提出了多融合全局注意力(multi-fusion global attention,MFGA)模塊,從而有效利用上下文信息,同時優化輸入預測網絡的最終特征,使模型選擇有意義的特征。通過將MSE模塊和MFGA模塊融入網絡來實現不同尺度的特征融合,進而獲得更好的目標檢測效果。在SIXray(security inspection X-ray)[27]數據集上的實驗結果表明,本文方法相對于YOLOv3-SPP算法具有更好的檢測性能。

1 注意力融合網絡

本文提出的X光安檢圖像危險物品檢測模型(簡稱為注意力融合網絡)融合了通道和空間注意力,設計了2個模塊將網絡提取的局部特征與注意力提取的全局特征相融合,從而獲取精細化的通道和空間注意力特征,使模型在危險物品檢測上的性能獲得提高。模型具體框架如圖2所示。

圖2 注意力融合網絡Fig.2 Attention fusion network

輸入要檢測的X光行李安檢圖像,經過主干網絡獲得特征圖后將其輸入MSE模塊,用來增強特征圖中的關鍵信息且抑制背景信息,得到具備通道全局性的語義特征。利用SPP模塊進行多尺度特征融合后再經過MSE模塊可以使得融合后的局部特征和全局特征精細化,豐富特征圖的表征能力,增強獲取的多尺度語義信息。

對主干網生成的特征圖,3個檢測分支分別針對特征圖中的小、中、大危險物品進行檢測,可以很好地解決目標檢測性能差的問題,對于不同尺寸目標的檢測,也會獲得相應的檢測精度和召回率。為了獲取目標區域的上下文信息,空間分支通過膨脹卷積擴大感受野,從而細化全局特征和相關局部特征組成的最后特征。串聯通道分支和空間分支構成MFGA模塊,并將該模塊放在每一個檢測分支的分類器之前,有效地融合深層特征的通道及空間信息,使多尺度特征具備3維全局性,從而更加關注圖像中包含危險物品的目標區域,有效地提高模型對危險物品的檢測精度。為了滿足實時性,無須在網絡的所有位置都添加該模塊。

1.1 MSE模塊

通用的網絡架構是從高分辨率到高語義特征信息的串聯結構,也就是說,隨著網絡深度的增加,空間大小會逐步減少,通道信息的數量會增加。采用MSE模塊對豐富的通道信息進行分析,有利于注意力模塊之后的卷積層提取到比較精細的通道特征表示。

池化函數不僅可以用來降低特征圖的空間大小,同時也可以減少網絡參數的數量。平均池化考慮一個區域內的所有特征,使網絡可以關注目標的完整語義信息;全局平均池化可以將空間信息相加,更多地保留圖像中有利于目標檢測的關鍵信息;最大池化可以獲取局部信息,也可以減少由于卷積層參數誤差造成的估計均值偏移,更多地保留有利于目標檢測的紋理和邊緣信息。由此,本文利用全局平均池化和最大池化,將生成的描述符在通道上拼接,通過標準卷積對通道進行降維。這可以有效地保留神經網絡提取到的特征圖信息,減少背景信息對危險物品檢測的干擾。圖3為本文提出的MSE模塊。

圖3 MSE模塊Fig.3 MSE module

MSE模塊是一個計算單元,建立在將輸入U∈RC′×H′×W′映射到特征圖X∈RC×H×W(H、W、C分別對應特征圖的高度、寬度和通道維度)之上。在下面的符號中,使用V=[v1,v2,…,vC]表示學習到的濾波器內核集,其中,vc代表第c個濾波器的參數??梢詫⑤敵鰧憺閄=[x1,x2,…,xC],xc∈RH×W,xC的計算式為

(1)

將給定的輸入映射到特征圖X∈RC×H×W上,分別通過最大池化和全局平均池化壓縮輸入特征圖的空間維度,分別生成C×1×1大小的特征圖,其中C表示通道數,將兩個描述符在通道方向上進行拼接,生成2C×1×1的特征圖,其中,全局平均池化計算公式為

(2)

(2)式中:(i,j)表示特征圖上的坐標;xc(i,j)表示輸入圖像經過映射之后生成的特征圖中第c個通道上位置(i,j)處的特征值。為了更好地利用壓縮操作輸出的聚合信息,先使用標準卷積對拼接后的特征進行通道上的降維,激活操作再經過兩個全連接層,旨在完全捕獲通道信息的依賴關系,計算公式為

f(z,W)=σ(g(z,W))=σ(W2ReLU(W1z))

(3)

(3)式中,為了避免兩個全連接層帶來高的模型復雜度,W1和W2的大小分別設置為(C/r)×C和C×(C/r)。超參數r可以降低模型的計算成本,首先將通道特征映射到低維空間,然后將其映射回原來的通道維度,從而可以使通道和權重之間建立起對應關系。

MSE模塊的通道權重計算可以表示為

w=σ(gex{w1,w2}([gavg(X);gmax(X)]))

(4)

(4)式中,激活操作先使用標準卷積對拼接后的特征進行通道上的降維。采用Sigmoid函數獲取最終的3維注意力圖,范圍從0到1。將得到的3維注意力圖添加到原始輸入特征圖上以獲取細化特征圖。

1.2 MFGA模塊

數據集中危險物品往往會與其他物品發生重疊,一旦重疊部分將危險物品的關鍵特征覆蓋,在檢測過程中很容易出現誤檢的問題。MFGA模塊從增強特征信息和抑制背景信息角度考慮,有效地解決了上述問題。MFGA模塊的設計受CBAM啟發,其空間注意力分支產生的空間注意力圖可以強調有利于危險物品檢測的特征,也可以抑制不利于檢測的背景特征。在計算生成空間注意力時,為了有效地聚合特征圖中的上下文信息,根據文獻[26]中提出的混合膨脹卷積(hybrid dilated convolution,HDC)框架,本文使用3個膨脹率大小不同的3×3卷積核來擴大感受野,由此增強空間注意力的表征能力。將通道注意力模塊(channel attention module,CAM)和空間注意力模塊(spatial attention module,SAM)順序放置,CAM可以對輸入的特征圖進行通道處理,利用特征圖的通道關系生成通道注意力圖,使網絡關注這幅圖像“是什么”;SAM利用特征圖的空間關系生成空間注意力圖,使網絡關注圖像中的有用信息“在哪里”??臻g注意力圖是通道注意力的補充,在MFGA模塊中,輸入特征圖的大小為C×H×W,先執行CAM可以讓網絡確定圖像中有意義的特征,生成的通道注意力圖的維度為C×1×1,與輸入特征圖相乘之后生成的特征圖維度為C×H×W,之后再通過SAM可以更好地確定關鍵特征在特征圖中的位置,生成的空間注意力圖的維度為1×H×W,與之前生成的特征圖相乘之后得到精細化后的融合特征圖。本文MFGA總體結構如圖4所示,這個模塊基本可以添加到網絡的任意位置,具有“即插即用”的特性。

圖4 MFGA模塊Fig.4 MFGA module

1.3 SAM模塊

人類視覺系統可以在目標和背景復雜重疊的情況下,根據目標的特征與環境特點快速確定目標的類別并定位目標的位置。上下文信息來源于對人類視覺系統的模擬,通過捕捉目標和背景以及不同目標之間的相互作用信息來對目標進行處理與識別。圖像中背景的全局視圖可能會為關鍵信息的獲得提供有用的上下文信息。然而,并非所有的背景信息都是有用的,無意義的背景噪聲甚至會降低目標檢測性能。因此,有效地識別并利用上下文信息是十分有必要的,可以用膨脹卷積來捕獲多尺度上下文信息。

膨脹卷積通過在卷積核中的每個像素之間插入零值來構成,可以在不損失分辨率的情況下聚合多尺度上下文信息、擴大感受野[25]。但是,當前的膨脹卷積框架會出現“網格化”問題:經過一組膨脹率相等的膨脹卷積之后,卷積核的感受野只覆蓋棋盤圖案的區域,采樣的時候,會導致相鄰信息的丟失,不利于網絡對輸入樣本的學習。

本文根據HDC框架對SAM進行修改,利用HDC時需要遵守2個原則:①M2≤K,K是卷積核的內核大小,Mn=rn,這里rn指組內的第n個膨脹卷積的膨脹率,Mn指兩個非零值之間最大距離;②一個組內,膨脹率之間不能具有公因子,否則,仍然會出現“網格化”問題。當卷積層之間的膨脹率滿足以上2個原則之后,感受野可以完全覆蓋一個正方形區域。

池化函數可以為注意力模塊引入一定程度的遷移不變性,來增強網絡對遷移的適應性。首先,本文采用一組膨脹率為r=1,2,5的卷積核,大小為K=3的膨脹卷積對輸入的特征圖進行操作;其次,將有效的空間特征圖輸入全局平均池化和最大池化,生成的特征描述符在通道上進行拼接來聚合特征圖上的通道信息,可以突出信息區域[28];然后,通過卷積核大小為3,膨脹率為2的膨脹卷積對通道降維,可以對空間中需要強調或者抑制的區域信息進行編碼映射,提高空間注意力的表征能力[29];最后,通過Sigmoid函數生成最終的空間注意力圖。SAM模塊如圖5所示。

圖5 SAM模塊Fig.5 SAM module

SAM模塊計算過程表示為

(5)

1.4 CAM模塊

CAM的設計與SAM有一定的相似之處。CAM也是一個多頭池化注意模塊,可以使網絡從不同角度關注遠程依賴信息,全局平均池化和最大池化的引入可以使網絡學習不同的遠程依賴信息。CAM通過池化操作來并行壓縮特征圖的全局空間信息,全局平均池化的作用是聚合信息,最大池化主要用于將生成的通道注意力精細化,從不同的頭部得到結果之后,將聚合后的信息輸入共享網絡以生成通道注意力圖,這里的共享網絡由多層感知器(multi-layer perceptron,MLP)組成,具有高度的連接性,且包含一個隱藏在輸入和輸出節點之間的層,在實驗中將該層的縮減率固定為16。與CBAM中使用“求和”來合并輸出特征量不同,本文使用標準卷積對通道上拼接后的特征進行降維。CAM模塊結構如圖6所示。

圖6 CAM模塊Fig.6 CAM module

通道注意力計算過程可以表示為

fMLP(MaxPool(F))]))

(6)

(6)式中,fMLP指的是具有一個隱藏層的多感知器,為了減少參數開銷,將縮減率設置為16。

2 實驗結果與分析

2.1 數據集

X光安檢圖像的產生是利用X射線的穿透性、光電靈敏度和熒光效應[30]。目前常用的X光安檢圖像危險物品檢測的數據集有GDXray[7]、OPIXray[31]以及SIXray[27]。GDXray中部分圖像包含手槍、飛鏢和剃須刀刀片,這些是包含很少背景干擾的灰度圖像,且每幅圖像中通常只有一個物體,檢測比較簡單,但是與實際場景有一定差距;OPIXray包含折疊刀、直刀、剪刀、美工刀和多功能小刀,都是刀的不同形狀,不利于對其他種類危險物品的檢測;SIXray包含1 059 231張X光圖像,手工注釋6類危險物品:槍、刀、扳手、鉗子、剪刀和錘子,共8 929張圖像。圖7是SIXray數據集中每一類危險物品的樣本示例。相對于其他數據集而言,SIXray中危險物品的種類和數量滿足網絡對數據集的要求,一幅圖像除了包含一個危險物品以外,還包含不同種類的多個危險物品,或者相同種類的多個危險物品,所以將其作為本文研究的基準。由于“錘子”只有60個樣本,樣本數量遠遠少于其他危險物品,因此,實驗中將其去除。

圖7 SIXray數據集包含的種類Fig.7 Categories contained in SIXray data set

2.2 實驗設置

本文模型基于pytorch開源深度學習庫,實驗訓練使用的是RTX 3090,將batch size設置為16,且初始化學習速率為0.001。模型優化方法采用隨機梯度下降(stochastic gradient descent,SGD),動量設置為0.937,權重衰減設置為0.000 5,設置最大訓練epoch為110。SIXray數據集中相同的危險物品在圖像中的大小各不相同,而YOLOv3-SPP中的3個檢測分支可以有效地檢測不同尺寸目標的關鍵特征,由此,本實驗選擇YOLOv3-SPP作為基準模型,實驗中一共訓練5個模型。加入注意力機制時,權重文件無法使用,所以在訓練時沒有使用權重文件,而是直接訓練所有的卷積層。

2.3 實驗結果分析

實驗中采用COCO評價指標,比較了MSE模塊和MFGA模塊與基準網絡不同融合方法的性能,展現了本文提出的注意力融合網絡模型在中等目標和大目標上的良好性能。表1是這5個模型在SIXray數據集上的實驗結果對比。表1中,“RIoU=0.5:0.95”表示對0.5~0.95之間10個交并比(intersection over union,IoU)RIoU閾值上分別求取平均精度均值(mean average precision,mAP)PmAP,再對每一個RIoU閾值所對應的mAP求平均。由于目標在圖像中的尺寸可能不同,實驗中對不同大小目標的檢測精度都進行了統計分析,表1中“S,M,L”分別表示小目標,中等目標和大目標。實驗結果表明,與基準網絡YOLOv3-SPP相比,本文提出的注意力融合網絡在總體檢測精度上提升了1.4百分點,中等目標和大目標均提升了1.7百分點。在召回率(RAR)上,中等目標提升了2.1百分點,大目標提升了2.6百分點,有效地證明了本文的方法在中等目標和大目標檢測上具有良好優勢。表2是“IoU=0.5”時每個類別的性能。從表2可以看出,本文提出的注意力機制在每個類別上都有一定的性能提升,其中對“刀”的檢測性能提升了0.66百分點,“槍”的檢測性能提升了0.36百分點,“扳手”的檢測性能提升了0.77百分點,“鉗子”的檢測性能提升了1.76百分點,“剪刀”的檢測性能提升了2.3百分點。

表1 在SIXray測試集上本文方法與其他方法的結果對比Tab.1 The results of this method are compared with those of other methods on SIXray test set %

表2 在SIXray測試集上本文方法與其他方法在IoU=0.5的分類結果對比Tab.2 On the SIXray test set the classification results of this method and other methods in IoU=0.5 are compared %

特征融合主要用局部特征來彌補全局特征中缺少的關鍵特征,是一種深層次的融合。YOLOv3-SPP在單次向前傳遞中需要117.0 GFLOPS的計算量,而所提出的注意力融合網絡的計算量相對于YOLOv3-SPP增加了2.2百分點,但在RIoU=0.5:0.95和RIoU=0.75的檢測精度均超過了YOLOv3-SPP??偟膩碚f,在特征融合過程中會存在少許的計算量增加,但是這種計算量的增加并不會對網絡整體的識別效率造成太大的影響,同時還提高了對危險物品的檢測精度。

2.4 消融研究

2.4.1 MSE模塊

實驗只保留SE和MSE模塊,依然將該模塊融入主干網絡和SPP模塊后,在SIXray數據集上進行測試,一共設計3組實驗,結果如表3所示。由表3可知,網絡的總體檢測精度提升了0.5%,小目標和中等目標稍有下降,但是在大目標上提升了1.5百分點,在中等目標的召回率上提升了0.9百分點,大目標的召回率提升了2.2百分點。這是由于該模塊在計算注意力的過程中是將每個通道的像素值求平均和最大之后進行的,對大尺度目標有效,但是對于小尺度的目標來說效果較差。由此可以看出,使用平均池化和最大池化在一定程度上能夠提高模型的檢測精度。

2.4.2 MFGA模塊

在基準網絡中只保留CBAM和MFGA模塊,依然將該模塊分別融入3個檢測分支中,在SIXray數據集上進行測試,設計了3組實驗,結果如表4所示。由表4可知,在檢測精度上,網絡的檢測性能提高了0.8百分點,中等目標提升了1.6百分點,大目標上提升了0.9百分點;在召回率上,小目標提升了1.1百分點,中等目標上提升了1.9百分點,大目標上提升了1.2百分點。對危險物品檢測的召回率的提升,表明了MFGA模塊對包含危險物品的圖片的檢測具有比較好的潛力。

表3 在SIXray測試集上MSE模塊與其他方法的結果對比Tab.3 Comparison of results of MSE module and other methods on SIXray test set %

表4 在SIXray測試集上MFGA模塊與其他方法的結果對比Tab.4 Comparison of results of MFGA and other methods on SIXray test set %

3 結束語

本文應用基于注意力機制的目標檢測模型對X光安檢圖像危險物品進行檢測。為了提高檢測性能,本文提出將通道和空間注意力信息融合以提升特征表示能力的目標檢測方法。通過以YOLOv3-SPP網絡為基礎框架,設計了2個不同的注意力模塊:MSE和MFGA模塊。MSE模塊能夠有效地利用特征圖之間的通道信息,使得淺層特征中包含危險物品的目標區域得到增強;MFGA模塊的空間注意力分支中采用膨脹卷積擴大感受野,這樣可以有效地利用上下文信息來構建比標準卷積更有效的空間特征圖,能夠在預測前細化全局特征和相關局部特征組成的最后特征。在公開的SIXray數據集上進行實驗表明,本文提出的方法能夠有效地提高中等目標和大目標的檢測效果。

猜你喜歡
危險物品池化注意力
面向神經網絡池化層的靈活高效硬件設計
基于Sobel算子的池化算法設計
南昌市青山湖區危險物品安全生產形勢分析與對策
探索陪護參與危險物品管理在青少年非自殺性自傷行為護理中應用價值
讓注意力“飛”回來
卷積神經網絡中的自適應加權池化
危險物品
基于卷積神經網絡和池化算法的表情識別研究
危險物品儲存和運輸安全
“揚眼”APP:讓注意力“變現”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合