葉 濤,趙宗揚(yáng),柴興華,張 俊
(1.中國(guó)礦業(yè)大學(xué)(北京)機(jī)電與信息工程學(xué)院,北京 100083;2.中國(guó)電子科技集團(tuán)公司第五十四研究所,石家莊 050081)
無人機(jī)由于具有在增加國(guó)防力量[1-2]的同時(shí)還可以進(jìn)行自然災(zāi)害的監(jiān)測(cè)與救援、代替人類執(zhí)行高危任務(wù)并供人們進(jìn)行拍攝和娛樂等優(yōu)點(diǎn),已迅速應(yīng)用于國(guó)家和社會(huì)生活的不同方面。但無人機(jī)在為人們提供極大便利的同時(shí),一些侵犯人們隱私、影響人們的日常生活的“黑飛”的無人機(jī)經(jīng)常進(jìn)入大眾的視野,對(duì)公民的隱私及個(gè)人及公共安全造成了嚴(yán)重威脅,甚至還會(huì)有非法分子通過無人機(jī)攜帶危險(xiǎn)物品來實(shí)施恐怖襲擊。因此研究一種能夠快速準(zhǔn)確地檢測(cè)無人機(jī)目標(biāo)的理論和方法非常有必要,可以為無人機(jī)行動(dòng)的防護(hù)壓制提供精準(zhǔn)依據(jù)以降低“黑飛”現(xiàn)象,進(jìn)而保護(hù)公民隱私并維護(hù)公眾的生命和財(cái)產(chǎn)安全,具有很現(xiàn)實(shí)的意義。
許多學(xué)者對(duì)無人機(jī)檢測(cè)算法進(jìn)行了大量的研究,無人機(jī)檢測(cè)算法分為傳統(tǒng)的無人機(jī)檢測(cè)算法和基于深度學(xué)習(xí)的無人機(jī)檢測(cè)算法。傳統(tǒng)的無人機(jī)檢測(cè)算法通常使用方向梯度直方圖(histogram of oriented gradient,HOG)[3]與支持向量機(jī)(support vector machine,SVM)[4]等分類方法的組合實(shí)現(xiàn)特征的提取和目標(biāo)類別的檢測(cè)。然而,傳統(tǒng)的特征提取方法存在著提取手工特征較為復(fù)雜、過于依賴設(shè)計(jì)者經(jīng)驗(yàn)等問題,且不能自適應(yīng)提取特征,遷移到其他場(chǎng)景的能力也差。而基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法可以通過卷積神經(jīng)網(wǎng)絡(luò)[5-7]自適應(yīng)的提取特征且檢測(cè)速度和精度都較高,近年來涌現(xiàn)出的單級(jí)多框預(yù)測(cè)(single shot multibox detector,SSD)[8]、YOLO(you only live once)[9-12]系列等性能優(yōu)良的框架被廣泛應(yīng)用在目標(biāo)檢測(cè)中。李秋珍等[13]提出了兩種基于SSD算法的實(shí)時(shí)無人機(jī)識(shí)別方法,一種是基于SSD獲取視頻流中的無人機(jī)位置,另一種方法是將SSD檢測(cè)到的無人機(jī)目標(biāo)圖像進(jìn)行微調(diào),相比之下第二種方法的準(zhǔn)確性較高,但對(duì)于在真實(shí)應(yīng)用場(chǎng)景下無人機(jī)的識(shí)別率比較低、區(qū)分無人機(jī)種類的能力差,無人機(jī)的識(shí)別準(zhǔn)確率仍有待提高。陳亞晨等[14]通過縮減YOLOv3的網(wǎng)絡(luò)層數(shù)以提升檢測(cè)速度,但算法的檢測(cè)精度卻有待提高,對(duì)小目標(biāo)的檢測(cè)能力也有待驗(yàn)證。馬旗等[15]通過優(yōu)化YOLOv3的殘差網(wǎng)絡(luò)及多尺度融合的方式提高了對(duì)低空無人機(jī)目標(biāo)的檢測(cè)精度,但其數(shù)據(jù)集的類別較為有限導(dǎo)致其檢測(cè)性能受限且對(duì)處于夜間或較為昏暗的光線條件下的小目標(biāo)無人機(jī)檢測(cè)識(shí)別仍有待改進(jìn)。陶磊等[16]采用改進(jìn)的YOLOv3 模型檢測(cè)視頻幀中是否存在無人機(jī),可以實(shí)現(xiàn)對(duì)無人機(jī)的實(shí)時(shí)檢測(cè),但其檢測(cè)精度仍有較大的提升空間,且對(duì)小目標(biāo)無人機(jī)的研究尚淺。綜上所述,無人機(jī)目標(biāo)檢測(cè)算法的精度和實(shí)時(shí)性的平衡以及實(shí)現(xiàn)小目標(biāo)準(zhǔn)確高效的檢測(cè)往往是算法難以解決的重點(diǎn)問題。
針對(duì)上述問題,為了在平衡算法的檢測(cè)速度和精度的同時(shí)提高對(duì)小目標(biāo)無人機(jī)的檢測(cè)精度,現(xiàn)基于YOLOv3提出多尺度目標(biāo)檢測(cè)網(wǎng)絡(luò)(multi-scale object detection network,MS-Net),實(shí)現(xiàn)檢測(cè)精度和檢測(cè)速度的良好平衡。該網(wǎng)絡(luò)通過K-均值(K-means)聚類重新生成錨值更加精確的預(yù)測(cè)目標(biāo)區(qū)域的位置,在特征提取部分插入空間金字塔池化(spatial pyramid pooling,SSP)[17]模塊將局部特征和全局特征進(jìn)行融合,實(shí)現(xiàn)多尺度圖像特征提取的同時(shí)提升了分類精度;在檢測(cè)部分提出增強(qiáng)壓縮和激活(enhanced sequeeze and excitation,ESE)通道注意力增強(qiáng)方法重新分配權(quán)重,在基本不影響檢測(cè)速度的同時(shí)提高模型的多尺度目標(biāo)檢測(cè)精度,在由無人機(jī)、風(fēng)箏、鳥等組成的數(shù)據(jù)集上檢測(cè)精度為91.39%,比YOLOv3提升了6.42%。檢測(cè)速度為51 FPS,對(duì)實(shí)際應(yīng)用中對(duì)低空無人機(jī)等“低慢小”目標(biāo)的高精度實(shí)時(shí)性檢測(cè),為實(shí)現(xiàn)后續(xù)的防護(hù)壓制提供重要依據(jù)。
多尺度目標(biāo)檢測(cè)網(wǎng)絡(luò)借鑒了 YOLO 系列目標(biāo)檢測(cè)算法僅需要一次前向卷積運(yùn)算就可以得到目標(biāo)邊界框和類別預(yù)測(cè)可能性,實(shí)現(xiàn)模型端到端訓(xùn)練的思想。圖1闡述了多尺度目標(biāo)檢測(cè)網(wǎng)絡(luò)模型的總體結(jié)構(gòu),該模型首先利用尺度縮放將輸入圖像縮放到固定分辨率(416×416),然后通過K-means聚類所得到的最優(yōu)錨值和主干網(wǎng)絡(luò)中的SPP模塊對(duì)輸入特征圖像進(jìn)行更為豐富精確的圖像特征提取,進(jìn)而產(chǎn)生不同大小的特征圖,并利用ESE注意力增強(qiáng)機(jī)制和多尺度特征融合操作將不同特征圖進(jìn)行融合來進(jìn)行目標(biāo)分類與回歸。
圖1 MS-Net總體結(jié)構(gòu)圖Fig.1 The overall structure diagram of MS-Net
1.2.1K-means聚類得到最優(yōu)錨值
YOLOv3 會(huì)在每個(gè)網(wǎng)格單元上預(yù)測(cè)出3個(gè)錨盒,每個(gè)錨盒預(yù)測(cè)3個(gè)邊界框,每個(gè)邊界框會(huì)預(yù)測(cè)出4個(gè)值,分別為tx、ty、tw、th,若目標(biāo)中心在單元格相對(duì)于圖像左上角有偏移(cx,cy),如圖2所示,則進(jìn)行修正,其公式為
圖2 錨盒修正Fig.2 Modification of anchor box
bx=σ(tx)+cx
(1)
by=σ(ty)+cy
(2)
bw=pwetw
(3)
bh=pheth
(4)
式中:pw和ph為網(wǎng)格對(duì)應(yīng)錨盒的寬。
但YOLOv3中anchor值是根據(jù)COCO等開源數(shù)據(jù)集設(shè)定的,故使用了K-means聚類方法重新分析自己所制作的包含鳥、風(fēng)箏、無人機(jī)三類檢測(cè)目標(biāo)數(shù)據(jù)集中真值框?qū)捀?、尺寸比例分?根據(jù)式(5)不斷迭代質(zhì)心后找到合適的候選框種類組合重新確定anchor值,使得候選框的寬高維度對(duì)目標(biāo)的輪廓形狀具有更好、更有代表性的先驗(yàn)信息,從而在之后的回歸計(jì)算對(duì)目標(biāo)區(qū)域的位置的預(yù)測(cè)更加準(zhǔn)確。錨盒的具體大小及分配情況如表1所示。
表1 改進(jìn)后錨盒的尺寸Table 1 The sizes of the improved anchor boxes
d(box,centroid)=1-IOU(box,centroid)
(5)
式(5)中:box為數(shù)據(jù)集中的邊框尺寸樣本;centroid為每一類簇的中心尺寸數(shù)值。
1.2.2 SPP特征融合提升分類精度
為使全連接層的輸入圖像的尺寸固定,在對(duì)不同大小圖像的預(yù)處理操作中會(huì)造成一定程度的圖像失真。通過圖3所示的SPP模塊使用固定分塊的池化操作,對(duì)不同尺寸的輸入實(shí)現(xiàn)相同大小的輸出,避免了圖像失真,實(shí)現(xiàn)局部特征和全局特征融合并豐富最終特征圖的表達(dá)能力,從而實(shí)現(xiàn)了檢測(cè)精度的提高。
CBL表示Yolov3網(wǎng)絡(luò)結(jié)構(gòu)中的最小組件,由Conv+Bn+Leaky_relu激活函數(shù)三者組成圖3 SPP結(jié)構(gòu)示意圖Fig.3 Schematic diagram of SPP structure
YOLOv3算法因計(jì)算速度快可以實(shí)現(xiàn)實(shí)際場(chǎng)景下的實(shí)時(shí)檢測(cè),但其在對(duì)整張圖片進(jìn)行特征提取和目標(biāo)框的回歸時(shí)易受到復(fù)雜背景的影響導(dǎo)致檢測(cè)性能下降出現(xiàn)漏檢和錯(cuò)檢現(xiàn)象。針對(duì)這一問題,MS-Net中加入了ESE通道注意力模塊,通過通道注意力[18]對(duì)卷積網(wǎng)絡(luò)提取的特征進(jìn)行選擇,降低了復(fù)雜背景對(duì)檢測(cè)結(jié)果的影響和漏檢率,在基本不影響檢測(cè)速度的同時(shí)提升了算法的小目標(biāo)識(shí)別能力。
ESE模塊如圖4所示,將輸入通道分為平均分為兩個(gè)分支,分支一使用3×3的卷積進(jìn)行特征提取,分支二使用5×5的卷積提取特征獲得更大的感受野,最后將取得不同感受野的特征圖進(jìn)行融合,建立全局上下文關(guān)系,并建模通道之間的相互依賴關(guān)系,自適應(yīng)地重新校準(zhǔn)通道的特征響應(yīng),篩選出了針對(duì)通道的注意力,增加了極小的計(jì)算量,但提升了檢測(cè)精度。ESE注意力機(jī)制模塊的計(jì)算過程為
s1=g(F)
(5)
s2=ReLU(W1s1)
(6)
s3=Sigmoid(W2s2)
(7)
F=s3F
(8)
式中:F∈RC×H×W為輸入特征圖;函數(shù)g為平均池化操作;s1∈RC×1×1為平均池化后的輸出;W1∈RC/16×C為全連接層FC1的參數(shù),s2∈RC/16×1×1為經(jīng)過FC1和ReLU函數(shù)處理后的輸出;W2∈RC×C/16為經(jīng)過全連接層FC2的參數(shù);s3∈RC×1×1為FC2和Sigmoid函數(shù)處理后的輸出。
C、H、W分別為輸入圖像的通道數(shù)、高和寬;C1、H1、W1分別為輸出特征圖的通道數(shù)、高和寬圖4 ESE模塊結(jié)構(gòu)圖Fig.4 ESE module structure diagram
為了評(píng)估該目標(biāo)檢測(cè)模型的有效性,在包含無人機(jī)、風(fēng)箏、鳥三類“低慢小”目標(biāo)的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),并在多場(chǎng)景下進(jìn)行測(cè)試。訓(xùn)練用服務(wù)器使用Intel? CoreTM i7-6950X CPU處理器,配備四塊NVIDIA GeForce GTX 1080TI顯卡,每塊顯卡內(nèi)存11 G。實(shí)驗(yàn)在基于Ubuntu18.04操作系統(tǒng)下的Pytorch1.7.0深度學(xué)習(xí)框架上實(shí)現(xiàn),采用GPU (GTX1080Ti)進(jìn)行訓(xùn)練和測(cè)試。
為評(píng)估SCS-Net對(duì)于“低慢小”目標(biāo)檢測(cè)的性能,建立了私有數(shù)據(jù)集。該數(shù)據(jù)集是通過采集真實(shí)場(chǎng)景中的視頻和圖像來獲取的,包含了不同天氣、光照和復(fù)雜背景的圖像;然后利用視頻抽幀方法生成了6 904張圖片,將收集到的圖像分為三類進(jìn)行標(biāo)注:無人機(jī)、鳥、風(fēng)箏。將該數(shù)據(jù)集的70%圖像用來進(jìn)行訓(xùn)練和驗(yàn)證,30%圖像用于測(cè)試。
檢測(cè)模型的主干網(wǎng)絡(luò)是Darknet-53,測(cè)試圖像的輸入尺寸為416×416,采用尺寸為52×52、26×26、13×13的特征圖來檢測(cè)多尺度的物體。圖像批處理量大小為32,優(yōu)化方法為SGD,動(dòng)量為0.9,初始學(xué)習(xí)率為0.001,所有實(shí)驗(yàn)的最大迭代次數(shù)為105。將SCS-Net的檢測(cè)結(jié)果與SSD、YOLOv3-tiny和YOLOv3模型的檢測(cè)結(jié)果作對(duì)比,使用平均精度(mean average precision,mAP)來評(píng)估模型的有效性并將最好的結(jié)果突出顯示,實(shí)驗(yàn)結(jié)果如表2所示。
表2 模型試驗(yàn)結(jié)果對(duì)比Table 2 Comparison of model test results
實(shí)驗(yàn)結(jié)果表明:MS-Net在檢測(cè)精度的性能明顯優(yōu)于其他模型,尤其針對(duì)風(fēng)箏這一類其他模型識(shí)別精度較低的目標(biāo)的識(shí)別能力很明顯有著巨大的提升。而且還將MS-Net與不同的檢測(cè)方法對(duì)比進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。結(jié)果表明:在檢測(cè)精度方面,MS-Net相比于其他所有檢測(cè)模型和方法在所檢測(cè)的三類目標(biāo)中都取得了最佳成績(jī),檢測(cè)精度較其他模型有著顯著的提高;在檢測(cè)速度方面,由于MS-Net的網(wǎng)絡(luò)層數(shù)較深,所以檢測(cè)速度略有降低,但仍可以保證實(shí)時(shí)檢測(cè),符合工業(yè)現(xiàn)場(chǎng)的應(yīng)用要求。
表3 消融試驗(yàn)結(jié)果對(duì)比Table 3 Comparison of ablation test results
將所提出的方法與不同模型進(jìn)行比較,圖 5顯示了幾種不同模型的對(duì)比結(jié)果。所有模型均在同一數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試。從左到右,每列分別表示YOLOv3、YOLOv3+SPP、YOLOv3+SPP+CBAM 和 MS-Net的檢測(cè)結(jié)果。第一行中的目標(biāo)較為清晰,此時(shí)4種網(wǎng)絡(luò)模型都能對(duì)其進(jìn)行準(zhǔn)確地檢測(cè),但MS-Net具有最高的檢測(cè)精度;第二行中的目標(biāo)尺寸變化顯著,且存在被遮擋的小目標(biāo),YOLOv3模型存在漏檢現(xiàn)象,而MS-Net可以很好地檢測(cè)出被遮擋的小目標(biāo),且精度較高;最后一行所檢測(cè)的都是小目標(biāo)物體,從檢測(cè)結(jié)果可以看出,MS-Net對(duì)于小目標(biāo)的檢測(cè)能力較其他模型有著很大幅度的提升。實(shí)驗(yàn)結(jié)果表明,MS-Net能夠有效地檢測(cè)出各類目標(biāo)的位置,具有較高的魯棒性,特別是在多尺度或小目標(biāo)的情況下。
圖5 不同模型的檢測(cè)結(jié)果Fig.5 Detection results of different models
該模型在不同環(huán)境下的魯棒性分析如圖6所示。圖6(a)中由于光照較暗并存在著背景干擾,圖像成像質(zhì)量較差,而MS-Net仍可以很好地檢測(cè)出無人機(jī)目標(biāo),且精度較高,即使是在圖6(b)中陰暗環(huán)境檢測(cè)目標(biāo)較小時(shí)也能保證較高的識(shí)別精度。實(shí)驗(yàn)結(jié)果表明,MS-Net能夠有效地檢測(cè)出目標(biāo)的位置,實(shí)現(xiàn)不同場(chǎng)景下的目標(biāo)檢測(cè),并具有較高的魯棒性,即便是昏暗環(huán)境下或存在背景干擾及多目標(biāo)檢測(cè)中,仍有著極強(qiáng)的小目標(biāo)識(shí)別能力,在滿足實(shí)際應(yīng)用中實(shí)時(shí)性檢測(cè)要求的同時(shí)有著較高的檢測(cè)精度。
圖6 不同場(chǎng)景的魯棒性測(cè)試Fig.6 The robustness test in different scenario
針對(duì)“黑飛”無人機(jī)侵犯公民隱私、危害個(gè)人及公共安全,而現(xiàn)有的無人機(jī)檢測(cè)算法難以平衡檢測(cè)速度和精度且對(duì)小目標(biāo)的檢測(cè)精度較低等問題,提出了一種基于 YOLOv3 的無人機(jī)目標(biāo)檢測(cè)算法MS-Net,經(jīng)過理論分析和實(shí)驗(yàn)驗(yàn)證,得到以下結(jié)論。
(1)使用SPP將局部特征和整體特征相融合,提升網(wǎng)絡(luò)的特征提取能力,并使用K-means聚類生成最優(yōu)錨值在之后的檢測(cè)中更加精確的預(yù)測(cè)目標(biāo)區(qū)域,提高檢測(cè)精度。
(2)提出了ESE通道注意力機(jī)制,使用不同尺寸的卷積建立全局上下文關(guān)系,并建模通道之間的相互依賴關(guān)系,自適應(yīng)地重新校準(zhǔn)通道的特征響應(yīng),在保證檢測(cè)速度的同時(shí)提升了檢測(cè)精度。
(3)MS-Net在低空數(shù)據(jù)集上以 21 ms 檢測(cè)每張圖片取得了91.39%的檢測(cè)精度,檢測(cè)精度比 YOLOv3 網(wǎng)絡(luò)提高了6.42%,特別是在無人機(jī)目標(biāo)上的檢測(cè)精度提升了7.42%,檢測(cè)性能更強(qiáng),并能夠滿足實(shí)際場(chǎng)景下的實(shí)時(shí)性檢測(cè)要求,為實(shí)現(xiàn)后續(xù)對(duì)“黑飛”無人機(jī)的精準(zhǔn)壓制提供了重要依據(jù),具有較高的理論價(jià)值和實(shí)際應(yīng)用前景。