楊嘉誠(chéng), 黃佳慧, 韓永麟, 王 萍, 李曉輝
(長(zhǎng)安大學(xué) 電子與控制工程學(xué)院, 西安 710021)
隨著社會(huì)的發(fā)展, 人們的出行方式變得越來(lái)越多樣化. 與此同時(shí), 違禁品種類也變的越來(lái)越復(fù)雜. 因此,安檢則是當(dāng)今社會(huì)必不可少的一項(xiàng)工作. 安檢應(yīng)用于飛機(jī)、火車、地鐵等場(chǎng)所, 在人們的生活中起著重要的作用[1].
X光安檢儀是安檢過(guò)程中最常用的設(shè)備, 該設(shè)備檢測(cè)圖像具有以下特點(diǎn): (1)多尺度性: 安檢違禁品種類很多, 形狀各不相同, 且同一類別的違禁品在外觀上也可能存在很大差異. (2)雜亂性: 安檢圖像的一塊區(qū)域中會(huì)有很多物品混合在一起, 會(huì)產(chǎn)生嚴(yán)重干擾.
目前, X光安檢儀與人工檢查相配合是大部分場(chǎng)所的安檢手段. 這種模式下安檢質(zhì)量很大程度上決定于安檢員的工作狀態(tài). 人工檢查受環(huán)境因素影響大, 導(dǎo)致效率較低, 很可能會(huì)出現(xiàn)漏檢、誤檢等問(wèn)題[2,3].
要想解決上述問(wèn)題, 需要有一個(gè)自動(dòng)的檢測(cè)模式.目前, 深度學(xué)習(xí)是一種較好的選擇. 本文主要針對(duì)X光安檢圖像, 將深度學(xué)習(xí)模型YOLOv4 (You Only Look Once)與ResNet殘差網(wǎng)絡(luò)相融合, 提出了一種新型網(wǎng)絡(luò)架構(gòu)Res152-YOLO以優(yōu)化對(duì)安檢過(guò)程中違禁品的檢測(cè)效果.
實(shí)驗(yàn)結(jié)果表明, Res152-YOLO網(wǎng)絡(luò)的性能相較于YOLOv4原網(wǎng)絡(luò)有了較顯著的提升, 更適用于違禁品檢測(cè).
本文主要貢獻(xiàn)有:
(1)針對(duì)ResNet網(wǎng)絡(luò)進(jìn)行優(yōu)化和激活函數(shù)的更新;通過(guò)適當(dāng)降低幀率、增加網(wǎng)絡(luò)層數(shù)以獲得更佳效果;采用了創(chuàng)新式結(jié)構(gòu)融合算法.
(2)針對(duì)X光圖像進(jìn)行數(shù)據(jù)增強(qiáng)處理, 突出物品特征; 制作后端接口軟件, 使檢測(cè)操作一體化.
(3)進(jìn)行了多種相關(guān)變體網(wǎng)絡(luò)的對(duì)比實(shí)驗(yàn).
深度學(xué)習(xí)提出了一種讓計(jì)算機(jī)自動(dòng)學(xué)習(xí)出模式特征的方法, 并將特征學(xué)習(xí)融入到了建立模型的過(guò)程中,從而減少了人為設(shè)計(jì)特征造成的不完備性, 深度學(xué)習(xí)的網(wǎng)絡(luò)層數(shù)較深, 有利于多尺度違禁物品的識(shí)別.
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法主要分為基于區(qū)域建議的方法和無(wú)區(qū)域建議的方法兩類.
(1)基于區(qū)域建議的方法: 2014年, Girshick等人提出的RCNN模型[4], 比傳統(tǒng)的方法有了明顯的改進(jìn);同年, He等人針對(duì)RCNN要求輸入圖像塊尺寸固定以及速度慢等問(wèn)題提出了空間金字塔池化模型SPP[5];2015年, Girshick、Ren等人先后提出了Fast RCNN[6]、Faster RCNN[7], 該類方法檢測(cè)精度高, 但是檢測(cè)速度較慢.
(2)無(wú)區(qū)域建議的方法: 2015年He等人針對(duì)梯度彌散的問(wèn)題, 提出了深度殘差網(wǎng)絡(luò)ResNet[8];2019年發(fā)布的YOLOv4[9]相較于以往的版本, 進(jìn)一步在檢測(cè)性能上有了提升. 之后, 在YOLOv4的基礎(chǔ)上產(chǎn)生了一些改進(jìn)的算法, 例如: 2020年11月蔣镕圻等人結(jié)合scSE注意力機(jī)制和SPP, 設(shè)計(jì)了一種scSEIYOLOv4算法[10], 其能夠顯著提升小目標(biāo)的檢測(cè)精度.
YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)分為: (1) Input輸入端: 使用Mosaic及 CutMix 數(shù)據(jù)增強(qiáng)以增加輸入圖像可變性, 豐富圖像特征信息, 所設(shè)計(jì)的目標(biāo)檢測(cè)模型可以獲得更高的魯棒性. (2) BackBone主干網(wǎng)絡(luò): 提取輸入圖像的特征, 并通過(guò)卷積層進(jìn)行5次下采樣實(shí)現(xiàn)特征圖的降維. 該部分的改進(jìn)在于融合了多種新方式. (3) Neck部分: 由YOLOv3采用的特征金字塔網(wǎng)改為加入空間金字塔池化層的路徑聚合網(wǎng)絡(luò), 改善了淺層特征丟失的問(wèn)題. (4) Prediction部分: 實(shí)現(xiàn)了對(duì)小、中、大型目標(biāo)的檢測(cè), 并在原圖像上對(duì)檢測(cè)物進(jìn)行錨框標(biāo)注.
目前, 常見(jiàn)的紅外X光圖像數(shù)據(jù)集有兩類: (1)GDXray[11]: 數(shù)據(jù)集僅包含簡(jiǎn)單背景中的灰度圖像, 包含來(lái)自5個(gè)不同子集的19 407個(gè)X射線樣本, 此數(shù)據(jù)集內(nèi)容相對(duì)比較簡(jiǎn)單. (2) SIXray[12]: 數(shù)據(jù)集由中國(guó)科學(xué)院大學(xué)模式識(shí)別與智能系統(tǒng)開(kāi)發(fā)實(shí)驗(yàn)室構(gòu)建, 由1059 231張X射線圖像組成, 其中5類8929個(gè)違禁品是標(biāo)注的, 此數(shù)據(jù)集內(nèi)容比較復(fù)雜, 較有挑戰(zhàn)性. SIXray數(shù)據(jù)集部分圖片如圖1所示.
圖1 SIXray數(shù)據(jù)集部分圖片
X射線安檢系統(tǒng)根據(jù)物品的物質(zhì)類別對(duì)安檢圖像進(jìn)行顏色設(shè)定, 把屬于有機(jī)物的物體顏色設(shè)定為橙色,把無(wú)機(jī)物設(shè)定為藍(lán)色, 把混合物設(shè)定為綠色. 針對(duì)X光數(shù)據(jù)集圖像普遍的特性: 顏色昏暗、圖像噪聲大, 存在物品遮擋帶來(lái)的干擾[13], 本文統(tǒng)一對(duì)輸入數(shù)據(jù)進(jìn)行增強(qiáng)處理. 該部分具體實(shí)現(xiàn)過(guò)程如下:
(1)比例校正: 由于檢測(cè)網(wǎng)絡(luò)只能接受正方形圖像,這會(huì)強(qiáng)制大多數(shù)X光數(shù)據(jù)集圖片產(chǎn)生拉伸形變. 因此,本文對(duì)圖像周圍進(jìn)行灰度填充, 使圖像大小標(biāo)準(zhǔn)化.
(2)亮度與色度增強(qiáng): 物品顏色較深, 包裹顏色較淺. 經(jīng)亮度與色度增強(qiáng)后, 包裹亮度增強(qiáng), 趨近于白色,輪廓及細(xì)節(jié)得以弱化, 而物品仍保有深色, 便可有效區(qū)分包裹背景和物體.
(3)對(duì)比度增強(qiáng): 為了解決圖像中物品重疊、遮擋所造成的干擾問(wèn)題, 進(jìn)行了對(duì)比度增強(qiáng)處理, 提高重疊部分物品亮度, 同時(shí)降低被遮擋違禁品亮度, 使其在圖像中顯示更加清晰. 如圖2所示.
圖2 數(shù)據(jù)增強(qiáng)對(duì)比圖
在YOLOv4的主干特征提取網(wǎng)絡(luò)中, 采用由一系列殘差網(wǎng)絡(luò)結(jié)構(gòu)組成的CSPDarknet-53網(wǎng)絡(luò)[14]. 該網(wǎng)絡(luò)采用了較低層數(shù)提取特征同時(shí)保證了檢測(cè)速度與精度, 能夠應(yīng)用于實(shí)時(shí)傳輸?shù)囊曨l流處理. 然而, 目前大多數(shù)紅外安檢設(shè)備具有圖像存儲(chǔ)功能, 可以進(jìn)行任意圖像處理、連續(xù)保存工作. 若將視頻處理轉(zhuǎn)化為截取圖像處理會(huì)大大減少算法網(wǎng)絡(luò)對(duì)于檢測(cè)速度的要求,故可適當(dāng)?shù)臏p少檢測(cè)幀率, 這也使得架構(gòu)中可以擴(kuò)充原網(wǎng)絡(luò)的層數(shù). YOLOv4及優(yōu)化后結(jié)構(gòu)如圖3所示.
圖3 YOLOv4及優(yōu)化后結(jié)構(gòu)圖
2.2.1 ResNet-152網(wǎng)絡(luò)搭建
本文針對(duì)X光安檢場(chǎng)景提出了一種改進(jìn)后的Res152-YOLO網(wǎng)絡(luò)結(jié)構(gòu). Res152-YOLO網(wǎng)絡(luò)結(jié)構(gòu)舍去了原YOLOv4中的CSPDarknet-53淺層網(wǎng)絡(luò), 代替為ResNet-152深層網(wǎng)絡(luò). ResNet-152是具有152層的ResNet殘差網(wǎng)絡(luò), 可以看作是殘差單元(RU)的堆棧.該堆棧包含3個(gè)卷積層: 第一個(gè)1×1卷積層僅具有64個(gè)特征圖, 它充當(dāng)了瓶頸層; 然后是一個(gè)3×3卷積層, 具有64個(gè)特征圖; 其次是另一個(gè)1×1卷積層, 具有256個(gè)特征圖來(lái)恢復(fù)原始深度. ResNet-152包含3個(gè)此類RU, 可輸出256個(gè)特征圖, 然后是512個(gè)特征圖的8個(gè)RU, 具有1024個(gè)特征圖的36個(gè)RU, 最后是具有2048個(gè)特征圖的3個(gè)RU.
2.2.2 ResNet-152網(wǎng)絡(luò)優(yōu)化
ResNet-152網(wǎng)絡(luò)最初應(yīng)用于圖像分類而非物體檢測(cè)任務(wù), 相較于Inception、VGG、Densenet等分類網(wǎng)絡(luò), ResNet-152是其中圖片分類任務(wù)中表現(xiàn)最好的神經(jīng)網(wǎng)絡(luò)之一, 并可繼續(xù)延伸至更高層數(shù)[15,16]. 因此本文選擇該網(wǎng)絡(luò)作為YOLOv4的主干特征提取網(wǎng)絡(luò). 但是,對(duì)于X光圖像這類檢測(cè)任務(wù), 需要將ResNet-152進(jìn)行修改使其能夠與YOLOv4的后端結(jié)構(gòu)進(jìn)行銜接.
因?yàn)樵璕esNet-152網(wǎng)絡(luò)的后端緊密連接層用于執(zhí)行分類任務(wù), 故刪除網(wǎng)絡(luò)末尾的average pool層、flatten層、Dense層, 只保留輸入端以及骨干卷積層部分, 并根據(jù)需要調(diào)整卷積層的部分參數(shù)設(shè)置. 將原ResNet網(wǎng)絡(luò)的激活函數(shù)ReLU改為Mish函數(shù), 因?yàn)镸ish在訓(xùn)練穩(wěn)定性和準(zhǔn)確性上均優(yōu)于原激活函數(shù).
2.2.3 ResNet-152網(wǎng)絡(luò)與YOLOv4相融合
首先, 將ResNet卷積網(wǎng)絡(luò)與YOLOv4后端網(wǎng)絡(luò)連接. 當(dāng)輸入為416×416的圖像時(shí), 最開(kāi)始的輸出為256個(gè)特征圖的3個(gè)RU層不變, 隨后將8個(gè)RU的輸出送至PANet高層進(jìn)行特征提取, 36個(gè)RU的輸出送至PANet中層, 將輸出為2048個(gè)特征圖的3個(gè)RU進(jìn)行3次卷積后送至SPP結(jié)構(gòu), 分別利用4個(gè)不同尺度的最大池化進(jìn)行處理, 最大池化的池化核大小分別為13×13、9×9、5×5、1×1. 此結(jié)構(gòu)能極大地增加感受野,分離出顯著的特性. 后將SPP結(jié)構(gòu)的輸出送至PANet底層. 至此3個(gè)不同特征圖的輸出已全部連接PANet特征金字塔的結(jié)構(gòu). PANet利用該特征金字塔從下到上以及從上到下進(jìn)行特征的反復(fù)提取, 送至YoloHead結(jié)構(gòu).
其次, 利用YoloHead對(duì)獲得的特征進(jìn)行預(yù)測(cè)并解碼預(yù)測(cè)結(jié)果, 從而得到預(yù)測(cè)框的具體位置, 再將預(yù)測(cè)框繪制在原圖上.
Res152-YOLO網(wǎng)絡(luò)相較于YOLOv4網(wǎng)絡(luò)具有更深的網(wǎng)絡(luò)層, 使其在理論上可以獲得更好的效果: 對(duì)X光圖像中違禁品的檢測(cè)精度更高. 同時(shí), Res152-YOLO網(wǎng)絡(luò)也會(huì)因?yàn)闅埐顗K的增加而減慢單張圖像的檢測(cè)速度. 結(jié)合前文所述, 在X光檢測(cè)場(chǎng)景中更注重精度性能, 故可以接受檢測(cè)速度下降帶來(lái)的負(fù)面效果, Res152-YOLO仍具有可行性.
除ResNet-152外, ResNet還有其他的的多種變體網(wǎng)絡(luò)如: ResNet-18、ResNet-34等[17,18]. 本文嘗試將ResNet一些變體同樣替換掉YOLOv4原主干特征提取網(wǎng)絡(luò),目的是將這些新網(wǎng)絡(luò)的性能進(jìn)行橫向?qū)Ρ?
本文分別構(gòu)建了不同層數(shù)的ResNet網(wǎng)絡(luò)與YOLOv4網(wǎng)絡(luò)的其他結(jié)合, 分別命名為Res50-YOLO 與Res101-YOLO, 它們的前端殘差塊層數(shù)分別為50、101, 在各自網(wǎng)絡(luò)中每個(gè)殘差模塊的RU的個(gè)數(shù)分別為3, 4, 6,3與3, 4, 23, 3. 這兩種網(wǎng)絡(luò)的大體結(jié)構(gòu)與Res152-YOLO相近, 區(qū)別僅在于RU個(gè)數(shù)的不同導(dǎo)致網(wǎng)絡(luò)深度小于后者. 在YOLOv4原網(wǎng)絡(luò)、Res50-YOLO、Res101-YOLO、Res152-YOLO四個(gè)網(wǎng)絡(luò)中均加入了Mosaic數(shù)據(jù)增強(qiáng)、Label Smoothing平滑以及余弦退火衰減算法用于優(yōu)化學(xué)習(xí)率的調(diào)節(jié). 總網(wǎng)絡(luò)結(jié)構(gòu)見(jiàn)圖4所示.
圖4 網(wǎng)絡(luò)總結(jié)構(gòu)圖
該部分利用軟件形式搭建后端, 使檢測(cè)結(jié)果可視化以實(shí)現(xiàn)以下目的: (1)便于操作者使用和檢測(cè): 用戶可添加自定義X光圖像進(jìn)行檢測(cè), 同時(shí)還可以在文件路徑欄和當(dāng)前狀態(tài)欄獲取文件路徑信息和軟件運(yùn)行狀態(tài). (2)輸入輸出圖像實(shí)時(shí)對(duì)比: 能夠同時(shí)查看檢測(cè)前圖像、數(shù)據(jù)增強(qiáng)后的輸出圖像及二者對(duì)比效果, 使檢測(cè)結(jié)果更加直觀. 界面如圖5所示.
圖5 后端接口界面
本節(jié)將針對(duì)YOLOv4原網(wǎng)絡(luò)、Res50-YOLO、Res101-YOLO、Res152-YOLO進(jìn)行對(duì)比實(shí)驗(yàn), 分別比較四者的損失曲線、檢測(cè)各違禁品類別的性能以及網(wǎng)絡(luò)的總體檢測(cè)性能. 最后, 本文將測(cè)試Res152-YOLO與YOLOv4網(wǎng)絡(luò)的運(yùn)行幀率, 測(cè)試其是否能滿足安檢設(shè)備運(yùn)行條件.
實(shí)驗(yàn)環(huán)境: 本實(shí)驗(yàn)運(yùn)行平臺(tái)為L(zhǎng)inux; 顯卡型號(hào)GeForce GTX 2080Ti (顯存11 GB); 電腦內(nèi)存為31 GB.
3.1.1 數(shù)據(jù)集選擇
(1)數(shù)據(jù)集名稱: SIXray.
(2)違禁品類別: 小刀、手槍、扳手、鉗子、剪刀共5類.
(3)數(shù)據(jù)集特點(diǎn): 圖像較為復(fù)雜, 包含物體重疊、噪聲等圖像干擾.
3.1.2 超參數(shù)設(shè)置
(1) Batch批量大小: 8.
(2) Epoch訓(xùn)練輪數(shù): 100.
(3) Learning rate初始學(xué)習(xí)率: 0.0001.
訓(xùn)練并記錄YOLOv4原網(wǎng)絡(luò)、Res50-YOLO、Res101-YOLO、Res152-YOLO四個(gè)網(wǎng)絡(luò)在訓(xùn)練輪次中的訓(xùn)練損失函數(shù)曲線以及驗(yàn)證損失函數(shù)曲線. 損失函數(shù)loss采用原YOLOv4中的CIoU loss函數(shù). 曲線如圖6所示.
圖6 各網(wǎng)絡(luò)loss函數(shù)損失
首先, 從圖6中曲線中可以看出, 所有網(wǎng)絡(luò)的損失函數(shù)值總體趨于下降趨勢(shì), 且每個(gè)網(wǎng)絡(luò)的訓(xùn)練損失與驗(yàn)證損失曲線基本吻合. 這說(shuō)明沒(méi)有產(chǎn)生梯度爆炸、過(guò)擬合等問(wèn)題, 所有網(wǎng)絡(luò)都具有一定的非線性表達(dá)能力, 可以擬合復(fù)雜的特征輸入.
其次, 在100次迭代過(guò)程中, Res101-YOLO、Res152-YOLO模型的損失函數(shù)值明顯低于其它兩個(gè)模型, 且后者在最終訓(xùn)練輪次達(dá)到了Loss值的最低點(diǎn).這說(shuō)明Res152-YOLO的檢測(cè)效果在數(shù)據(jù)集的圖像上最接近于真實(shí)目標(biāo).
3.3.1 違禁品檢測(cè)結(jié)果
在訓(xùn)練結(jié)束后, 測(cè)試YOLOv4原網(wǎng)絡(luò)、Res50-YOLO、Res101-YOLO、Res152-YOLO分別針對(duì)5個(gè)類別違禁品的性能測(cè)試指標(biāo): 精度、召回率、AP值.檢測(cè)結(jié)果分別如表1、表2、表3所示.
表1 安檢違禁品的檢測(cè)精度(%)
表2 召回率(%)
表3 AP (%)
根據(jù)實(shí)驗(yàn)得到以下結(jié)論: (1)精度: Res101-YOLO網(wǎng)絡(luò)與Res152-YOLO網(wǎng)絡(luò)的檢測(cè)精度大致相同, 其中Res152-YOLO網(wǎng)絡(luò)的對(duì)于5類違禁品的檢測(cè)精度都大于90%, 對(duì)手槍、鉗子、剪刀這3類違禁品的檢測(cè)精度達(dá)到了95%以上. (2)召回率: 召回率是所有網(wǎng)絡(luò)普遍較弱的性能, YOLOv4原網(wǎng)絡(luò)對(duì)于扳手的召回率低至27.6%, 這說(shuō)明各網(wǎng)絡(luò)對(duì)于各違禁品難以查全.Res152-YOLO的各類違禁品召回率能保持在50.0%以上, 其中對(duì)于扳手的召回率55.0%相較于YOLOv4提高了99.2%. (3) AP值: Res152-YOLO網(wǎng)絡(luò)的各AP值均大于70%, 其中鉗子、剪刀、扳手分別高出YOLOv4原網(wǎng)絡(luò)12.9%, 18.6%, 39.2%, 進(jìn)一步說(shuō)明了Res152-YOLO網(wǎng)絡(luò)的優(yōu)越性.
3.3.2 網(wǎng)絡(luò)總體性能對(duì)比
將4個(gè)網(wǎng)絡(luò)中對(duì)所有違禁品的AP值進(jìn)行平均化后得到mAP, 以反應(yīng)每個(gè)網(wǎng)絡(luò)的總體檢測(cè)性能.
從對(duì)比實(shí)驗(yàn)圖7中可以看出, Res152-YOLO的mAP值最大, 其值為81.52%, 其次是Res101-YOLO值為77.50%. Res50-YOLO與YOLOv4網(wǎng)絡(luò)的mAP相差不大, 分別為74.91%和73.03%. 相較于YOLOv4原網(wǎng)絡(luò), Res152-YOLO的mAP提高了11.62%. 這說(shuō)明在總體的檢測(cè)性能上, Res152-YOLO網(wǎng)絡(luò)的安檢違禁品檢測(cè)能力超越了YOLOv4網(wǎng)絡(luò).
圖7 各網(wǎng)絡(luò)mAP值
對(duì)網(wǎng)絡(luò)Res152-YOLO與YOLOv4分別進(jìn)行幀率測(cè)試, 測(cè)試結(jié)果如表4.
表4 幀率測(cè)試
根據(jù)表格得出, Res152-YOLO的檢測(cè)速度弱于YOLOv4, 其值為40.09 f/s. 由于一般紅外安檢設(shè)備的30至60 f/s, 且違禁品檢測(cè)方法并非實(shí)時(shí)對(duì)象追蹤, 故Res152-YOLO網(wǎng)絡(luò)檢測(cè)速度仍能滿足多數(shù)安檢場(chǎng)景.
本文基于X光安檢設(shè)備特性的考慮, 在原YOLOv4網(wǎng)絡(luò)的基礎(chǔ)上改進(jìn)其網(wǎng)絡(luò)結(jié)構(gòu), 進(jìn)行了數(shù)據(jù)增強(qiáng)并構(gòu)建了Res152-YOLO等一系列殘差融合網(wǎng)絡(luò). 根據(jù)多組對(duì)比實(shí)驗(yàn), 本文得到結(jié)論: Res152-YOLO網(wǎng)絡(luò)的總體性能較YOLOv4提升了近11%, 且在部分違禁品如扳手、剪刀上效果遠(yuǎn)超YOLOv4. 綜上所述, Res152-YOLO網(wǎng)絡(luò)在安檢場(chǎng)景下滿足幀數(shù)的要求, 可以更精確的識(shí)別違禁品并具備更高的工作效率, 有助于公共場(chǎng)所的安全防范.