單成之,張健
(1.武警警官學(xué)院訓(xùn)練基地,廣州510440;2.武警海南總隊(duì),???570203)
近些年來(lái),隨著我國(guó)的交通運(yùn)輸、水利工程、房地產(chǎn)等基礎(chǔ)設(shè)施建設(shè)的不斷發(fā)展,在各類建設(shè)施工開(kāi)挖過(guò)程中,常常挖掘出一些戰(zhàn)爭(zhēng)時(shí)代殘留的各種不同型號(hào)、種類的廢舊手榴彈、炮彈、迫擊炮彈等未爆彈。為消除其對(duì)人民生命財(cái)產(chǎn)安全帶來(lái)的嚴(yán)重隱患,在對(duì)未爆彈銷毀前,需要經(jīng)專業(yè)人員對(duì)其品種和危險(xiǎn)程度逐個(gè)進(jìn)行鑒別[1-3]。此外,依靠人工排除未爆彈效率較低,且危險(xiǎn)性極大。利用排爆機(jī)器人代替人工完成這一危險(xiǎn)性任務(wù),成為當(dāng)下的研究重點(diǎn)。排爆機(jī)器人通過(guò)攝像頭采集回來(lái)圖像數(shù)據(jù)進(jìn)行處理,實(shí)時(shí)分析未爆彈類別及其所在位置。因此,基于人工智能算法實(shí)現(xiàn)對(duì)未爆彈的圖像檢測(cè),使排爆機(jī)器人向自主排爆邁出關(guān)鍵一步。
未爆彈圖像目標(biāo)識(shí)別主要任務(wù)是識(shí)別未爆彈的種類,同時(shí)在圖像中定位未爆彈的位置。由于應(yīng)用場(chǎng)所和待識(shí)別目標(biāo)的特殊性,在識(shí)別過(guò)程中待檢測(cè)物品外觀銹蝕嚴(yán)重和環(huán)境差異大,導(dǎo)致未爆彈圖像成像背景復(fù)雜,檢測(cè)物存在遮擋現(xiàn)象等問(wèn)題,給識(shí)別帶來(lái)了諸多挑戰(zhàn)。文獻(xiàn)[4]利用哈特利變換對(duì)炮彈圖像進(jìn)行特征提取后輸入到SVM分類器,實(shí)現(xiàn)炮彈圖像特征的快速分類。文獻(xiàn)[5]通過(guò)Xception深度網(wǎng)絡(luò)提取廢舊手榴彈圖像特征,使用L2-SVM的合頁(yè)損失對(duì)歸一化特征進(jìn)行分類,取得較好的分類效果。文獻(xiàn)[6]通過(guò)Faster R-CNN目標(biāo)檢測(cè)算法實(shí)現(xiàn)了對(duì)未爆彈目標(biāo)識(shí)別與位置信息獲取,算法具有較好的魯棒性。文獻(xiàn)[7]將深度圖像量化為點(diǎn)云數(shù)據(jù),圖像坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為世界坐標(biāo)系數(shù)據(jù),實(shí)現(xiàn)對(duì)現(xiàn)實(shí)物品的檢測(cè)和抓取。由此可見(jiàn),基于深度學(xué)習(xí)的未爆彈圖像檢測(cè)算法能夠?qū)崿F(xiàn)對(duì)目標(biāo)物的自主識(shí)別和定位,提高了檢測(cè)效率和自主性。
本文受CenterNet算法啟發(fā)[8],提出了基于關(guān)鍵點(diǎn)的未爆彈圖像目標(biāo)檢測(cè)算法。采用ResNet-50進(jìn)行初步特征提取,利用特征增強(qiáng)網(wǎng)絡(luò),提升對(duì)存在背景復(fù)雜和遮擋未爆彈目標(biāo)的適應(yīng)能力,最后輸入頭部預(yù)測(cè)模塊得到未爆彈類別和位置信息。在預(yù)訓(xùn)練階段不需要提供anchor的大小,在檢測(cè)階段不需要非極大值抑制的后處理,算法流程清晰簡(jiǎn)單。實(shí)驗(yàn)結(jié)果表明,本文算法具有更高的檢測(cè)精度和較快的檢測(cè)速度。
目前,基于預(yù)選框(anchor-based)的目標(biāo)檢測(cè)算法分為單階段(one-stage)和二階段(twostage)。二階段即為首先需要利用區(qū)域候選網(wǎng)絡(luò)(RPN)生成感興趣區(qū)域(ROI),然后再對(duì)該區(qū)域進(jìn)行目標(biāo)分類和位置回歸。常見(jiàn)的二階段目標(biāo)檢測(cè)算法有R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。單階段即為直接利用回歸的思想,使用單一網(wǎng)絡(luò)完成目標(biāo)類別和位置的檢測(cè),檢測(cè)速度大幅提升。常見(jiàn)的單階段目標(biāo)檢測(cè)算法有SSD、YOLO系列、RetinaNet等?;陬A(yù)選框(anchor-based)的目標(biāo)檢測(cè)算法在檢測(cè)速度和精度上都取得了較大進(jìn)步,但仍有以下缺陷:使用anchor時(shí),需要在每個(gè)特征尺度上密集平鋪,導(dǎo)致僅有很少一部分是正樣本,造成正負(fù)樣本不均衡問(wèn)題;anchor設(shè)計(jì)需要很細(xì)致,一般利用統(tǒng)計(jì)學(xué)從訓(xùn)練集或者測(cè)試集中獲取,難以推廣到其他的數(shù)據(jù)集;每個(gè)像素網(wǎng)格點(diǎn)有多個(gè)錨點(diǎn)框,引入更多的超參數(shù),加大訓(xùn)練難度;二階段和單階段都存在非極大值抑制(non maximum suppression,NMS)后處理的問(wèn)題。
從CornerNet開(kāi)始[9],便開(kāi)啟了基于無(wú)預(yù)選框(anchor-free)的目標(biāo)檢測(cè)算法新篇章,其主要是拋棄了目前主流單階段和二階段目標(biāo)檢測(cè)算法都用到的anchor boxes。CenterNet在CornerNet基礎(chǔ)上進(jìn)一步優(yōu)化,得到了更高檢測(cè)精度和更快的檢測(cè)速度。CenterNet的檢測(cè)器將檢測(cè)目標(biāo)看作一個(gè)點(diǎn),即目標(biāo)框的中心點(diǎn),從而將目標(biāo)檢測(cè)問(wèn)題轉(zhuǎn)化為對(duì)關(guān)鍵點(diǎn)的估計(jì)問(wèn)題。即為將圖像傳入到全卷積網(wǎng)絡(luò)中得到熱力圖,熱力圖峰值點(diǎn)(keypoint heatmap)是中心點(diǎn),邊界框的尺寸大小和其他對(duì)象屬性根據(jù)中心點(diǎn)推斷出來(lái)。
針對(duì)未爆彈圖像特點(diǎn),本文網(wǎng)絡(luò)模型包括主干網(wǎng)絡(luò)、特征增強(qiáng)網(wǎng)絡(luò)和頭部預(yù)測(cè)網(wǎng)絡(luò),如圖1所示。主干網(wǎng)絡(luò)負(fù)責(zé)獲取輸入圖像的特征信息;特征加強(qiáng)模塊實(shí)現(xiàn)對(duì)主干網(wǎng)絡(luò)輸出的初步特征信息進(jìn)行特征強(qiáng)化,增強(qiáng)有益特征信息并抑制無(wú)用特征信息;頭部預(yù)測(cè)模塊主要包含了三個(gè)分支,對(duì)特征加強(qiáng)的信息進(jìn)行類別中心點(diǎn)熱力圖、中心點(diǎn)的偏置和目標(biāo)bbox的高寬計(jì)算。
圖1 未爆彈圖像檢測(cè)網(wǎng)絡(luò)模型
將未爆彈圖像I∈RW×H×3輸入到ResNet-50主干網(wǎng)絡(luò)中進(jìn)行特征提取,數(shù)據(jù)流至最后一個(gè)子網(wǎng)絡(luò)Conv5得到通道數(shù)為2048,特征圖尺寸為16×16的初步特征層;接著初步特征依次完成三次深度卷積、反卷積上采樣、深度卷積特征增強(qiáng)處理,從而獲得高分辨率特征圖輸出,生成語(yǔ)義信息和空間信息更豐富的特征預(yù)測(cè)圖;最后將該特征預(yù)測(cè)圖作為頭部預(yù)測(cè)網(wǎng)絡(luò)的輸入,完成目標(biāo)熱力圖、中心點(diǎn)和寬高預(yù)測(cè),輸出得到違禁品的類別和位置。
為使主干網(wǎng)絡(luò)輸出的初步特征層進(jìn)一步適用于未爆彈圖像檢測(cè),通過(guò)引入ResNeSt模塊[10],進(jìn)一步加強(qiáng)圖像特征粒度信息,如圖2所示。
圖2展示了ResNeSt模塊,其中包含特征圖組(feature-map group)和拆分注意力(split attention)操作。輸入特征圖可以沿通道維度分為幾組,特征圖組中特征圖被分為多個(gè)組,每個(gè)組內(nèi)又進(jìn)行分組。超參數(shù)K和R分別表示特征圖組的數(shù)量和基數(shù)組內(nèi)的分組數(shù),總的特征圖分組數(shù)可以表示為G=K×R。對(duì)每個(gè)單獨(dú)的組應(yīng)用一系列變換{F1,F2,…,FG},每個(gè)組的中間表示為Ui=F1(X),其中i∈{1,2,…,G}。在基數(shù)組內(nèi)的每個(gè)分組中進(jìn)行1×1和3×3的卷積,得到R個(gè)特征圖后進(jìn)行拆分注意力操作。
圖2 ResNeSt模塊
主干網(wǎng)絡(luò)只進(jìn)行了4倍下采樣,特征圖比一般網(wǎng)絡(luò)的分辨率高很多,所以不需要進(jìn)行多尺度預(yù)測(cè)和特征金字塔也可以較好地檢測(cè)目標(biāo)大小。通過(guò)特征增強(qiáng)網(wǎng)絡(luò)后得到一個(gè)更有效的圖像語(yǔ)義信息和位置信息,將這些信息輸入到頭部預(yù)測(cè)網(wǎng)絡(luò),對(duì)熱力圖、中心點(diǎn)和寬高進(jìn)行預(yù)測(cè),如圖3所示。
圖3 頭部預(yù)測(cè)模塊
熱力圖預(yù)測(cè)分支中,對(duì)高分辨率特征圖先進(jìn)行常規(guī)的卷積操作,歸一化處理和使用RuLU作為激活函數(shù),然后進(jìn)行多尺度池化(multi scale pooling,MSP)操作,通過(guò)融合不同大小的最大池化層來(lái)獲得魯棒的特征表示,最大池化的 池 化 核k={1×1,3×3,5×5,7×7},將 來(lái)自不同內(nèi)核大小的特征圖連接(concat)一起作為輸出,接著進(jìn)行1×1卷積降維操作,通道數(shù)為num_classes,最終結(jié)果為(128,128,num_classes),代表每一個(gè)熱力點(diǎn)是否有物體存在,以及物體的種類。
中心點(diǎn)預(yù)測(cè)分支中,對(duì)熱力圖的輸出進(jìn)行精煉,提高定位準(zhǔn)確度。對(duì)高分辨率特征圖先進(jìn)行常規(guī)的卷積操作,歸一化處理和使用RuLU作為激活函數(shù),再進(jìn)行1×1卷積降維操作,此時(shí)卷積的通道數(shù)為2,最終結(jié)果為(128,128,2),代表每一個(gè)物體中心距離熱力點(diǎn)偏移的情況。
寬高預(yù)測(cè)分支中,預(yù)測(cè)以關(guān)鍵點(diǎn)為中心的檢測(cè)框的寬高。對(duì)高分辨率特征圖先進(jìn)行常規(guī)的卷積操作,歸一化處理和使用RuLU作為激活函數(shù),再進(jìn)行1×1卷積降維操作,此時(shí)卷積的通道數(shù)為2,最終結(jié)果為(128,128,2),代表每一個(gè)物體寬高的預(yù)測(cè)情況。
本實(shí)驗(yàn)使用的硬件環(huán)境為:Intel(R)Core(TM)i7-8750H CPU@2.20GHz處理器,Nvidia GeForce GTX 1070 8 GB顯卡,16 GB內(nèi)存。軟件環(huán)境為:深度學(xué)習(xí)框架Pytorch,加速環(huán)境CUDA10.1,編程語(yǔ)言Python3。
在模型訓(xùn)練過(guò)程中,輸入圖像尺寸:512 pixel×512 pixel,輸出分辨率:128 pixel×128 pixe(l即4倍stride),針對(duì)每個(gè)樣本采用簡(jiǎn)單的數(shù)據(jù)增強(qiáng)方式:隨機(jī)翻轉(zhuǎn);隨機(jī)放縮,其中比例在0.6到1.3;裁剪;色域變換,采用小批量樣本集的梯度下降法,Adam優(yōu)化器,初始學(xué)習(xí)率設(shè)定為1.0×10-4。
本文實(shí)驗(yàn)圖像數(shù)據(jù)全部采自公開(kāi)網(wǎng)絡(luò)。由于未爆彈圖像數(shù)據(jù)庫(kù)較匱乏,采用預(yù)設(shè)的數(shù)據(jù)變換規(guī)則,在已有數(shù)據(jù)的基礎(chǔ)上進(jìn)行有監(jiān)督的數(shù)據(jù)增強(qiáng),對(duì)原始圖像進(jìn)行數(shù)據(jù)擴(kuò)充。數(shù)據(jù)集含有5類共1200張未爆彈圖像,利用LabelImg開(kāi)源圖像標(biāo)注工具對(duì)數(shù)據(jù)進(jìn)行標(biāo)定[11],最終形成本次實(shí)驗(yàn)的未爆彈數(shù)據(jù)集。
為了更好驗(yàn)證檢測(cè)算法的有效性,本文采用平均精度(average precision,AP)、均值平均精度(mean average precision,mAP)和每秒幀率(frames per second,F(xiàn)PS)三項(xiàng)指標(biāo)對(duì)算法模型評(píng)估。AP由精確率(precision,P)和召回率(recall,R)曲線和坐標(biāo)圍起來(lái)的面積組成,用于計(jì)算平均的檢測(cè)精度和衡量檢測(cè)器在每個(gè)類別上的性能好壞。mAP用于評(píng)價(jià)多目標(biāo)的檢測(cè)器性能,衡量檢測(cè)器在所有類別上的性能好壞,即得到每個(gè)類別的AP值后再取所有類別的平均值。精確率(P)、召回率(R)、平均精度(AP)和均值平均精度(mAP)的數(shù)學(xué)定義如下所示[12]。各標(biāo)準(zhǔn)的具體公式如下:
式中:TP表示被預(yù)測(cè)為正樣本、實(shí)際為正樣本的數(shù)量;FP表示被預(yù)測(cè)為負(fù)樣本、實(shí)際為負(fù)樣本的數(shù)量;FN表示被預(yù)測(cè)為正樣本、實(shí)際為負(fù)樣本的數(shù)量;Psmooth(r)表示平滑的P-R曲線,K表示類別數(shù)。
此外,F(xiàn)PS也是未爆彈圖像目標(biāo)檢測(cè)的一個(gè)重要評(píng)價(jià)指標(biāo),指一秒內(nèi)識(shí)別的圖像數(shù)。FPS值越大,檢測(cè)速度越快,實(shí)時(shí)性越高。
為了驗(yàn)證本文算法的性能,在未爆彈圖像測(cè)試集上進(jìn)行了實(shí)驗(yàn),結(jié)果如表1所示。
表1 檢測(cè)算法的檢測(cè)精度
由表1可見(jiàn),本文算法在mAP和FPS性能結(jié)果分別為94.16%和34 frame/s,驗(yàn)證了本文算法的有效性。為了進(jìn)一步驗(yàn)證本文算法的有效性,分別將SSD[13]、YOLOv3[14]、CenterNet等經(jīng)典模型與本文算法在未爆彈圖像測(cè)試集上進(jìn)行檢測(cè)可視化,部分檢測(cè)可視化結(jié)果如圖4所示。
圖4 未爆彈圖像檢測(cè)算法結(jié)果對(duì)比
圖4可視化了不同算法未爆彈圖像檢測(cè)結(jié)果,其中數(shù)字為目標(biāo)的置信度。由圖4可以看出,相比SSD、YOLOv3、CenterNet等經(jīng)典模型,本文算法在識(shí)別準(zhǔn)確率和定位精度上取得了更好的檢測(cè)效果。在圖4中多個(gè)未爆彈目標(biāo)相互遮擋,背景復(fù)雜混亂且與未爆彈目標(biāo)顏色相似,SSD算法對(duì)違禁品目標(biāo)檢測(cè)的漏檢率比較高,YOLOv3和CenterNet算法的檢測(cè)效果有較好的提升,但也仍然存在漏檢問(wèn)題,本文算法對(duì)多個(gè)遮擋未爆彈檢測(cè)具有較好的效果和較大的提升。
為進(jìn)一步提高未爆彈的檢測(cè)速度和精度,本文提出了一種基于關(guān)鍵點(diǎn)的未爆彈圖像檢測(cè)算法。以目標(biāo)中心為關(guān)鍵點(diǎn)的檢測(cè)算法,保證在較快的檢測(cè)速度前提下,能夠準(zhǔn)確地檢測(cè)出背景復(fù)雜、遮擋的未爆彈目標(biāo)。實(shí)驗(yàn)結(jié)果表明,在未爆彈測(cè)試數(shù)據(jù)集上與三種先進(jìn)的目標(biāo)檢測(cè)方法進(jìn)行實(shí)驗(yàn)驗(yàn)證,本文算法能夠得到更高的準(zhǔn)確率和速度。下一階段研究中,將進(jìn)一步擴(kuò)展未爆彈圖像目標(biāo)數(shù)據(jù),同時(shí)在確保檢測(cè)速度不降低的前提下,提升算法在密集復(fù)雜物品背景下的未爆彈檢測(cè)能力,為實(shí)現(xiàn)智能化排爆機(jī)器人精準(zhǔn)抓取未爆彈打下基礎(chǔ)。