吳素雪
(廣東第二師范學(xué)院物理與信息工程學(xué)院,廣州 510303)
隨著經(jīng)濟(jì)發(fā)展和貿(mào)易往來的日益頻繁,我國在重要交通樞紐和人員密集的公共場所對旅客及其行李實(shí)施安全檢查,維護(hù)公共場所的安全和秩序,保證國民人身安全和財(cái)產(chǎn)安全。目前,行李安全檢查主要是依賴安檢員對經(jīng)過X光安檢機(jī)生成的偽彩色圖像進(jìn)行判讀和識別。面對客流高峰和高速通行矛盾問題,容易導(dǎo)致疲勞和注意力下降等各種因素干擾,會造成可能存在的漏檢情況,使得安檢質(zhì)量難以得到保證。因此,尋求智能化、高效化的安檢X射線圖像違禁品檢測方法,實(shí)現(xiàn)違禁品的自動識別和預(yù)警,更好地輔助安檢人員完成安檢工作,具有較高、較實(shí)用的研究意義[1-2]。
X射線圖像違禁品檢測主要任務(wù)是主動識別違禁品的種類,同時(shí)在生成的偽彩色圖像中定位違禁品的位置。由于應(yīng)用場所的特殊性,X射線圖像違禁品檢測系統(tǒng)生成的偽彩色圖像有其自身特點(diǎn),在安檢過程中待檢測物品隨機(jī)性和物品擺放隨意性,導(dǎo)致X射線圖像成像背景復(fù)雜,物品間存在嚴(yán)重重疊、遮擋現(xiàn)象和違禁品多尺度等問題,給違禁品檢測帶來了諸多挑戰(zhàn)。傳統(tǒng)的X射線圖像違禁品檢測算法大多存在處理步驟繁瑣,檢測的類目單一或較少,泛化能力較差,針對特定的場景等問題,難以滿足目前安檢檢測的任務(wù)需求。與傳統(tǒng)檢測算法相比,基于卷積神經(jīng)網(wǎng)絡(luò)的X射線安檢圖像違禁品檢測算法具有更高的準(zhǔn)確率和強(qiáng)大的泛化能力[3]。卷積神經(jīng)網(wǎng)絡(luò)自動提取特征能力和平移不變性,解決了人為設(shè)計(jì)特征提取器的繁瑣和復(fù)雜背景中目標(biāo)特征提取困難的問題,同時(shí)可以對區(qū)域特征進(jìn)行分類和邊框回歸,實(shí)現(xiàn)了對X射線安檢圖像違禁品目標(biāo)的端到端檢測。因此,基于卷積神經(jīng)網(wǎng)絡(luò)的X射線安檢圖像違禁品檢測是目前安檢領(lǐng)域的研究熱點(diǎn)和方向[4]。張友康等[5]在SSD框架的基礎(chǔ)上,提出了適用于X光安檢圖像非對稱卷積多視野神經(jīng)網(wǎng)絡(luò)ACMNet,在公開的數(shù)據(jù)集與自建的數(shù)據(jù)集上,精確度取得了令人滿意的效果。穆思奇等[6]提出一種空洞密集卷積模塊來增強(qiáng)特征表達(dá)能力和卷積視野,加入注意力機(jī)制來增強(qiáng)有效特征和抑制無效特征,得到較好了檢測效果。
安檢是一個(gè)兼顧檢測精度和效率的過程,本文基于一階段YOLOv5網(wǎng)絡(luò)的結(jié)構(gòu)特點(diǎn),對其進(jìn)行改進(jìn)以進(jìn)一步適用于安檢圖像違禁品目標(biāo)檢測場景中。實(shí)驗(yàn)結(jié)果表明,本文算法得到較好的檢測效果,同時(shí)兼顧了檢測精度和檢測速度。
卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法主要分為兩大類:一類是基于候選區(qū)域的兩階段算法;另一類是一階段的目標(biāo)檢測算法。一階段的目標(biāo)檢測直接對輸入圖像進(jìn)行一次處理就能夠得到目標(biāo)物體的類別與位置信息,不使用區(qū)域生成算法生成候選框,兼顧了較高的檢測精度的同時(shí),極大地提高了檢測速度。YOLOv5屬于一階段YOLO系列[7]中較新的目標(biāo)檢測算法,其具有輕量級模型大小及精度高等優(yōu)點(diǎn),如圖1所示。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)
由圖1可知,YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)主要由主干網(wǎng)絡(luò)、瓶頸層和預(yù)測層構(gòu)成。主干網(wǎng)絡(luò)主要用于對輸入圖像進(jìn)行特征提取,與YOLOv1-4相比,YOLOv5對輸入的圖片進(jìn)行了Focus切片操作,可以看作是一個(gè)特殊的下采樣操作,減少參數(shù)計(jì)算。每個(gè)CBS模塊由一個(gè)卷積層、標(biāo)準(zhǔn)化層和激活函數(shù)組成,其中激活函數(shù)引入了SiLU激活函數(shù),其在深層模型上的效果優(yōu)于ReLU激活函數(shù)。在主干網(wǎng)絡(luò)中獲取了三個(gè)有效特征層進(jìn)行下一步網(wǎng)絡(luò)的構(gòu)建。
瓶頸層主要用于對來自主干網(wǎng)絡(luò)的特征進(jìn)行加強(qiáng)處理。瓶頸層主要包括了特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)(Feature Pyramid Network,F(xiàn)PN)和路徑聚合網(wǎng)絡(luò)結(jié)構(gòu)(Path Aggregation Network,PAN)兩部分。FPN結(jié)構(gòu)采用自上而下的方式對獲得的有效特征層進(jìn)行特征信息融合,而PAN結(jié)構(gòu)采用自底向上路徑增強(qiáng)的方式進(jìn)行特征信息融合。瓶頸層對主干網(wǎng)絡(luò)中的有效特征進(jìn)行不同尺度的特征融合,使其同時(shí)具有深層的語義信息和淺層的紋理信息,有利于下一步對目標(biāo)的分類和定位預(yù)測。
預(yù)測層主要用于對目標(biāo)的分類與回歸。通過主干網(wǎng)絡(luò)和瓶頸層,已獲得三個(gè)加強(qiáng)過的有效特征層,每一個(gè)特征層都有寬、高和通道數(shù),預(yù)測層判斷每一個(gè)特征層是否有目標(biāo)與其對應(yīng),分類和回歸在一個(gè)1×1卷積里實(shí)現(xiàn)。
相對眾多目標(biāo)檢測算法,YOLOv5算法在檢測速度和精度上都達(dá)到了較高的水平,但在遮擋目標(biāo)和小目標(biāo)檢測方面還有待改進(jìn),因此本文選擇使用YOLOv5作為基礎(chǔ)算法,嵌入即插即用的模塊,從而得到更加適用于X射線安檢圖像目標(biāo)檢測算法。
針對X射線安檢圖像存在重疊遮擋和小尺度違禁品易造成漏檢誤檢的問題,本文引入了一種掩碼自注意力機(jī)制模塊[8],增強(qiáng)網(wǎng)絡(luò)對全局特征關(guān)系的捕捉能力,在瓶頸層的有效特征層的輸出后和預(yù)測層輸入前嵌入掩碼自注意力機(jī)制模塊,如圖2所示。該模塊分別對大、中、小三種尺寸的特征圖進(jìn)行掩碼自注意力操作,完成多尺度違禁品的檢測,提高算法的檢測精度。此外,改進(jìn)了YOLOv5的類別損失函數(shù),引用Quality Focal Loss(QFL)損失函數(shù),有效地緩解了一階段目標(biāo)檢測問題中類別不均衡問題。
圖2 嵌入掩碼自注意力
掩碼自注意力機(jī)制利用并行查詢從輸入特征向量中提取到不同子空間進(jìn)行相關(guān)程度的獲取,其結(jié)構(gòu)如圖3所示。
圖3 掩碼自注意力機(jī)制結(jié)構(gòu)
在圖3中,輸入特征圖X與卷積核WQ、WK、WV相乘分別生成查詢向量矩陣Q、鍵向量矩陣K、值向量矩陣V,即Q=XWQ,K=XWK,V=XWV。通過縮放點(diǎn)積對查詢向量矩陣Q與鍵向量矩陣K做內(nèi)積運(yùn)算,然后用Softmax激活函數(shù)做歸一化得到注意力得分,其數(shù)學(xué)表達(dá)式定義如式(1),對獲取的注意力得分進(jìn)行掩碼計(jì)算,最后再與值向量矩陣V相乘得到自注意力的輸出。掩碼自注意力模塊的輸出由公式(1)給出:
在一階段的目標(biāo)檢測算法中,輸入X射線安檢圖像產(chǎn)生的候選框中,只有很少一部分包含著待檢測的目標(biāo),正負(fù)樣本數(shù)據(jù)不均衡,造成了類別不均衡問題。此外,由于待檢測物品的隨機(jī)擺放性和X射線安檢偽彩色圖像的特點(diǎn),當(dāng)待檢測違禁品目標(biāo)集中時(shí),它們的候選框之間的交叉和重疊現(xiàn)象會有所增加,訓(xùn)練和推理之間的誤差缺口也會相應(yīng)變大,分類和定位精度容易受到影響。因此,本文使用QFL損失函數(shù)替代YOLOv5中的類別損失函數(shù),可降低大量簡單負(fù)樣本在訓(xùn)練中所占權(quán)重。QFL損失函數(shù)的數(shù)學(xué)表達(dá)式定義如下:
其中,y是平滑后的0~1標(biāo)簽,σ為預(yù)測結(jié)果。β選取1.5。
本實(shí)驗(yàn)使用的硬件環(huán)境為:Intel(R)Core(TM)i7-8750H CPU@2.20GHz處理器,Nvidia GeForce GTX 1070 8GB顯卡,16 G內(nèi)存。軟件環(huán)境為:操作系統(tǒng)Windows10,加速環(huán)境CUDA10.1,編程語言Python3.7,深度學(xué)習(xí)框架Pytorch1.7。
網(wǎng)絡(luò)模型訓(xùn)練階段,將總迭代周期設(shè)置為300,采用mosaic數(shù)據(jù)增強(qiáng),輸入圖像尺寸大小為640×640,迭代批次大小值為8,初始化學(xué)習(xí)率為0.001,動量因子為0.9。
為了驗(yàn)證本文算法的有效性,選擇在公開SIXray數(shù)據(jù)集上進(jìn)行算法驗(yàn)證[9]。該數(shù)據(jù)集含有槍、刀、鉗子、扳手、剪刀共5種違禁品類別,該數(shù)據(jù)集由實(shí)際安檢場所拍攝,集中目標(biāo)物體堆放隨機(jī)性相當(dāng)大,圖像中背景復(fù)雜且其中物體存在嚴(yán)重的重疊和遮擋,能較好地反映安檢實(shí)際情況。圖像數(shù)據(jù)集按照7∶3的比例劃分為訓(xùn)練集和測試集。
本文采用目標(biāo)檢測算法中常用的評價(jià)體系進(jìn)行算法評估,包括召回率R(recall)、精準(zhǔn)率P(precision)、平均精準(zhǔn)度AP(average precision)和均 值 平 均精 度mAP(mean average precision),F(xiàn)PS定義為模型1 s內(nèi)檢測的圖像數(shù),該指標(biāo)反映模型在平臺上的檢測速度,F(xiàn)PS越高,檢測速度越快。各標(biāo)準(zhǔn)的具體公式如下:
其中,TP、FP、FN分別表示檢測中真正例、假正例、假反例的數(shù)量,Psmooth(r)表示平滑的P-R曲線,K表示類別數(shù)。
為了驗(yàn)證本文算法的性能,在X射線安檢圖像測試集上進(jìn)行了實(shí)驗(yàn),結(jié)果顯示mAP和FPS性能結(jié)果分別為82.23%和19 ms,驗(yàn)證了本文算法的有效性。進(jìn)一步將本文算法在X射線安檢圖像測試集上進(jìn)行檢測可視化,部分檢測可視化結(jié)果如圖4所示。
圖4可視化了本文算法X射線安檢圖像檢測結(jié)果,其中數(shù)字為目標(biāo)的置信度。由圖4可以看出,在X射線安檢圖像場景中本文算法具有較高的檢測精度和較好的檢測效果,能夠準(zhǔn)確檢測多個(gè)相互遮擋違禁品目標(biāo),在復(fù)雜背景紋理與違禁品目標(biāo)紋理相互重疊的情況下也能檢測出違禁品目標(biāo),同時(shí)對分辨率較低且特征信息不明顯的小目標(biāo)也有較好的檢測效果。
為提高X射線安檢圖像中不同違禁品檢測的性能,本文在YOLOv5基礎(chǔ)上引入掩碼自注意力機(jī)制模塊和QFL損失函數(shù)。通過在瓶頸層輸出后和預(yù)測層輸入前嵌入即插即用的掩碼自注意力機(jī)制模塊,增強(qiáng)了網(wǎng)絡(luò)對全局特征關(guān)系的捕捉能力;加入QFL損失函數(shù)有效地降低了因正負(fù)樣本數(shù)據(jù)不均衡造成的較低檢測精準(zhǔn)度。實(shí)驗(yàn)證明了改進(jìn)后的網(wǎng)絡(luò)模型在SIXray數(shù)據(jù)集上的mAP達(dá)到了82.23%,單幀檢測速度為19 ms,能夠滿足安檢環(huán)境中的檢測需求。