楊立功,鄭 穎,蘇維均,王 強(qiáng)
(北京工商大學(xué)人工智能學(xué)院,北京 100048)
隨著人工智能技術(shù)的不斷發(fā)展,目標(biāo)檢測(cè)技術(shù)在戰(zhàn)場(chǎng)監(jiān)視、偵察、毀傷狀態(tài)評(píng)估和火控系統(tǒng)研究等軍事領(lǐng)域的作用日益顯著,它是現(xiàn)代高科技戰(zhàn)爭(zhēng)中贏得勝利的關(guān)鍵因素[1]。然而,對(duì)于坦克裝甲目標(biāo)而言,由于地面戰(zhàn)場(chǎng)環(huán)境的復(fù)雜性以及相對(duì)較遠(yuǎn)的觀測(cè)距離,利用傳統(tǒng)圖像目標(biāo)檢測(cè)算法在大視場(chǎng)內(nèi)難以實(shí)現(xiàn)對(duì)坦克裝甲小目標(biāo)的檢測(cè)識(shí)別和精準(zhǔn)定位,而利用深度學(xué)習(xí)網(wǎng)絡(luò)解決復(fù)雜背景下的小目標(biāo)檢測(cè)問題取得了較好效果。
自從深度神經(jīng)網(wǎng)絡(luò)算法首次在ImageNet 數(shù)據(jù)集上大放異彩,目標(biāo)檢測(cè)領(lǐng)域開始逐漸利用深度學(xué)習(xí)進(jìn)行研究工作。2014 年,Girshick 等人[2]首次提出基于深度學(xué)習(xí)的區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)算法,開創(chuàng)了目標(biāo)檢測(cè)算法的新時(shí)代,可仍存在重復(fù)計(jì)算的弊端,為了解決R-CNN 冗余計(jì)算的問題,He等人[3]與Girshick 等人[4]分別基于R-CNN 提出了空間金字塔池化網(wǎng)絡(luò)(SPP)和加速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)算法,使特征提取器、分類器和邊界框回歸器在內(nèi)的整個(gè)網(wǎng)絡(luò),能通過多任務(wù)損失函數(shù)進(jìn)行端到端的訓(xùn)練,這種結(jié)合了分類損失和定位損失的方法,很大程度上提升了模型準(zhǔn)確度。但由于Fast R-CNN 使用Selective Search 來(lái)生成目標(biāo)候選框,其速度依然達(dá)不到實(shí)時(shí)的要求,于是Ren 等人[5]在Fast R-CNN 的基礎(chǔ)上增加了區(qū)域建議網(wǎng)絡(luò)(RPN)和“錨”框,提出了Faster R-CNN 算法,檢測(cè)速度得到了很大提升。雖然基于目標(biāo)候選框的檢測(cè)算法在檢測(cè)準(zhǔn)確率和定位精度上占有優(yōu)勢(shì),但檢測(cè)速度卻很慢,使算法的效率不高,并不適用于本文所提出的小目標(biāo)檢測(cè)算法。在2016 年,Redmon 等人[6]提出了基于回歸的YOLO 算法,又將目標(biāo)檢測(cè)領(lǐng)域帶到了一個(gè)新高度,但模型泛化能力不強(qiáng)的問題仍然存在,Liu 等人[7]提出的SSD 算法解決了YOLO 候選框尺度單一的問題,使模型的檢測(cè)精度有了較大提升,但也僅能與Faster R-CNN 算法相媲美,尤其在小目標(biāo)檢測(cè)中依然存在檢測(cè)精度不足的問題。隨著Redmon 等人對(duì)YOLO 算法的不斷改進(jìn),在2016 年和2018 年還分別提出了YOLOV2[8]和YOLOV3[9]版本,檢測(cè)精度和速度都有了更大提升,YOLOV3 算法在小目標(biāo)檢測(cè)中效果尤為顯著。
上述提到的部分目標(biāo)檢測(cè)算法在VOC2007 數(shù)據(jù)集和COCO 數(shù)據(jù)集上的檢測(cè)性能如表1 和表2所示[10]。
表1 目標(biāo)檢測(cè)算法在VOC2007 數(shù)據(jù)集上的測(cè)試性能
表2 目標(biāo)檢測(cè)算法在COCO 數(shù)據(jù)集上的測(cè)試性能
YOLOV3 模型網(wǎng)絡(luò)框架主要由兩部分組成,第1 部分為特征提取層,是前75 層網(wǎng)絡(luò),由1×1 和3×3 的卷積層與殘差模塊組成。第2 部分為特征交互層,是75 層~105 層網(wǎng)絡(luò),主要由大中小3 種尺寸的預(yù)測(cè)層組成。YOLOV3 借鑒了殘差網(wǎng)絡(luò)(residual network)的做法,在一些層之間添加了快捷鏈路,其具體結(jié)構(gòu)如圖1 所示。
圖1 殘差組件結(jié)構(gòu)
每一個(gè)殘差組件由兩層卷積層和一個(gè)快捷鏈路組成。其中,x 表示特征輸入,經(jīng)過兩層卷積后,其生成的特征圖與輸入疊加,并將疊加后生成的特征圖作為新的輸入傳遞給下一層網(wǎng)絡(luò)。YOLOV3 借鑒了Faster R-CNN 采用先驗(yàn)框(Anchor Boxes)的做法,在每個(gè)網(wǎng)格中預(yù)設(shè)一組不同大小的邊框,覆蓋整個(gè)圖像的不同位置,這些先驗(yàn)框作為預(yù)定義的候選區(qū)在神經(jīng)網(wǎng)絡(luò)中檢測(cè)其是否存在對(duì)象,并微調(diào)邊框的位置。與Faster R-CNN 手動(dòng)提取先驗(yàn)框不同,YOLOV3 采用K-means 聚類的方式提取先驗(yàn)框,提取效率大為提升。K-means 聚類方式計(jì)算邊框之間的差異程度,如式(1)所示。
其中,d 為差異度,centroid 為聚類時(shí)被選作聚類中心的候選框,box 為其他候選框,IOU 為centroid 和box 兩個(gè)目標(biāo)框交集與并集的面積比值。IOU 的值越大,則邊框差異度越小。
YOLOV3 的損失函數(shù)由預(yù)測(cè)框IOU 置信度誤差、預(yù)測(cè)框先驗(yàn)框位置誤差、預(yù)測(cè)框位置誤差、預(yù)測(cè)框置信度誤差和對(duì)象分類誤差5 部分組成。
式(2)中的第1 項(xiàng)為預(yù)測(cè)框IOU 置信度誤差,表示預(yù)測(cè)框內(nèi)沒有檢測(cè)目標(biāo)但I(xiàn)OU 值最大的情況下所出現(xiàn)的誤差。在預(yù)測(cè)框中與目標(biāo)真實(shí)邊框IOU最大但小于閾值時(shí),此系數(shù)為1,計(jì)入誤差,否則為0,不計(jì)入誤差。式(2)中第2 項(xiàng)為預(yù)測(cè)框與先驗(yàn)框的位置誤差,1t<12800指此項(xiàng)只計(jì)算前12 800 次迭代的誤差,如此設(shè)置能使模型在早期訓(xùn)練中更方便預(yù)測(cè)先驗(yàn)框位置。式(2)第3 項(xiàng)到第5 項(xiàng)指在預(yù)測(cè)框內(nèi)存在檢測(cè)目標(biāo)時(shí),計(jì)算預(yù)測(cè)框與目標(biāo)真實(shí)邊框的位置、置信度、分類誤差。
YOLOV3 自帶的多尺度特征檢測(cè)模塊,采用上采樣卷積加拼接的方式生成13*13、26*26、52*52 三種尺度的特征圖并對(duì)其進(jìn)行預(yù)測(cè),但由于復(fù)雜地面戰(zhàn)場(chǎng)環(huán)境中干擾信息多,特征信息不突出,YOLOV3中單純使用多尺度特征檢測(cè)無(wú)法很好地學(xué)習(xí)目標(biāo)特征,以至于坦克裝甲目標(biāo)的重要位置信息不能被很好地檢測(cè)出來(lái)。因此,本文采用基于PANet[11](Path Aggregation Network)網(wǎng)絡(luò)中的多尺度特征增強(qiáng)方式,對(duì)YOLOV3 模型進(jìn)行改進(jìn),使模型更加適用于復(fù)雜地面戰(zhàn)場(chǎng)環(huán)境下小目標(biāo)的檢測(cè)識(shí)別。
PANet 的多尺度特征融合方法,是一種基于FPN(Feature Pyramid Network)特征金字塔的改進(jìn)方法。圖2 為FPN 金字塔融合方式[12],也是未經(jīng)改進(jìn)YOLOV3 模型的特征融合方式。采用高層特征圖與底層特征圖融合的自上而下的特征融合方式,在增加特征圖多樣性的同時(shí),實(shí)現(xiàn)多尺度檢測(cè),增加模型檢測(cè)識(shí)別精度。
圖2 FPN 特征融合圖
FPN 是自上而下,將高層的強(qiáng)分類特征信息向下傳遞,對(duì)整個(gè)特征金字塔進(jìn)行增強(qiáng),但是此過程僅僅增強(qiáng)了目標(biāo)類型特征,對(duì)目標(biāo)的位置特征沒有傳遞。而PANet 如圖3 所示,在FPN 自上而下的特征金字塔基礎(chǔ)上,又添加一個(gè)特征信息傳遞方向?yàn)樽韵露系奶卣鹘鹱炙M(jìn)一步增強(qiáng)特征多樣性的同時(shí),還對(duì)處于底層特征圖的位置特征信息進(jìn)行了傳遞,如圖3(a)、圖3(b)所示[11]。
圖3 PANet 特征融合圖
圖3(a)、圖3(b)是PANet 的第1 處改進(jìn),即自下而上的特征增強(qiáng)。圖3(c)為PANet 的第2 處改進(jìn),為動(dòng)態(tài)特征池化。圖4 為圖3 中(c)的詳細(xì)展開圖[11]。圖中的4 個(gè)特征圖分別進(jìn)行全連接,然后采用取最大值或者加和的方式進(jìn)行特征融合,該層特征池化層能夠聚合多層特征圖的特征信息,對(duì)提升模型檢測(cè)和識(shí)別的精度更加有利。
圖4 PANet 的動(dòng)態(tài)特征池化圖
未經(jīng)改進(jìn)的YOLOV3 模型中,采用上采樣卷積加拼接方式,生成13*13、26*26、52*52 三種尺度的特征圖,其預(yù)測(cè)的機(jī)制借鑒了FPN 的金字塔特征融合方式,本文采用PANet 改進(jìn)FPN 的思想對(duì)YOLOV3 中的3 種尺度特征圖融合方法進(jìn)行改進(jìn),在模型中引入PANet 多尺度特征增強(qiáng)結(jié)構(gòu),使特征圖能夠綜合更多特征信息,進(jìn)而使YOLOV3 模型對(duì)于目標(biāo)特征具有更強(qiáng)的敏感度,增強(qiáng)模型的檢測(cè)識(shí)別精度。
YOLOV3 模型的網(wǎng)絡(luò)結(jié)構(gòu)中前75 層為特征提取層,該層形成13*13 特征圖。對(duì)第79 層特征圖上采樣,再與第61 層特征圖融合,形成26*26 特征圖。對(duì)79 層特征圖上采樣,再與第36 層特征圖融合,形成52*52 的特征圖,隨后將這3 種不同尺度的特征圖帶入后續(xù)網(wǎng)絡(luò)進(jìn)行檢測(cè)識(shí)別。本文在未經(jīng)改進(jìn)YOLOV3 模型自上而下生成的3 種尺寸特征圖的基礎(chǔ)上,增加了3 個(gè)自下而上生成的特征圖,并對(duì)兩種特征圖進(jìn)行同尺寸融合處理。其具體結(jié)構(gòu)內(nèi)容如圖5 所示。
圖5 多尺度特征增強(qiáng)結(jié)構(gòu)圖
圖中被虛線框圈出的內(nèi)容為多尺度特征增強(qiáng)結(jié)構(gòu)的具體嵌入情況。圖中scale3_Convs、scale2_Convs、scale1_Convs 分別代表未經(jīng)改進(jìn)YOLOV3 模型中3 種被用于檢測(cè)的不同尺寸(52*52、26*26、13*13)特征圖。取底層特征圖經(jīng)過下采樣并與scale3_Convs 拼接,生成尺寸同樣為52*52 的特征圖Convs_a,對(duì)其進(jìn)行下采樣并與scale2_Convs 拼接,以此類推,生成尺寸為26*26 的特征圖Convs_b和尺寸為13*13 的特征圖Convs_c,最后采用全連接的方式對(duì)尺寸相同的特征圖進(jìn)行融合,生成3 個(gè)新的特征圖用于檢測(cè)識(shí)別。
增強(qiáng)多尺度特征融合結(jié)構(gòu)代碼主要加載到多尺度特征融合過程中,其具體的偽碼如下所述。
上述偽碼中x 為特征張量,將特征張量導(dǎo)入make_last_layers()函數(shù),可以得出預(yù)測(cè)圖張量y。其中,x1、x2、x3指未經(jīng)改進(jìn)YOLOV3 模型中的特征張量,全連接操作用參數(shù)不共享的1*1 卷積來(lái)實(shí)現(xiàn)。y1、y2、y3為生成的3 個(gè)預(yù)測(cè)圖張量。y 的維度為a*a*3*(b+1+4),其中,a 為特征圖尺寸,y1、y2、y3的特征圖尺寸分別為13、26、52,3 代表產(chǎn)生3 個(gè)預(yù)測(cè)框,括號(hào)中的b 為待測(cè)目標(biāo)類別數(shù),占b 個(gè)維度,預(yù)測(cè)框置信度占1 個(gè)維度,預(yù)測(cè)框坐標(biāo)x、y、w、h 占4 個(gè)維度。
本文所用訓(xùn)練和測(cè)試數(shù)據(jù)集為自行制作的坦克裝甲目標(biāo)數(shù)據(jù)集,其中坦克裝甲目標(biāo)數(shù)據(jù)總量為3 696 張圖像,識(shí)別目標(biāo)包括A、B、C、D 4 種類型坦克。具體圖像示例如圖6 所示。
圖6 坦克圖像數(shù)據(jù)集示例
上述數(shù)據(jù)集在代入網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),訓(xùn)練數(shù)據(jù)與檢驗(yàn)數(shù)據(jù)比例分別采取9∶1、8∶2、7∶3 三種,每種比例單獨(dú)進(jìn)行訓(xùn)練,生成的模型指標(biāo)參數(shù)取三者均值。對(duì)于用于訓(xùn)練和檢測(cè)的數(shù)據(jù)集來(lái)說(shuō),不僅需要單純的圖像數(shù)據(jù),還需要監(jiān)督信號(hào)(目標(biāo)的位置和類別信息),因此,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,采用可擴(kuò)展標(biāo)記語(yǔ)言對(duì)圖像數(shù)據(jù)上待檢測(cè)識(shí)別目標(biāo)進(jìn)行標(biāo)注,結(jié)果如下頁(yè)圖7 所示。
圖7 圖像預(yù)處理
因YOLOV3 模型無(wú)法識(shí)別字符型的目標(biāo)類別標(biāo)簽,且導(dǎo)入模型進(jìn)行訓(xùn)練的圖像需要提供目錄信息以便模型導(dǎo)入,因此,在將數(shù)據(jù)導(dǎo)入YOLOV3 模型訓(xùn)練前需要進(jìn)行兩項(xiàng)工作:一是將字符類型的標(biāo)簽信息轉(zhuǎn)化為數(shù)值類別的標(biāo)簽信息;二是將訓(xùn)練圖像所在地址生成目錄,方便模型導(dǎo)入。
將數(shù)據(jù)經(jīng)過上述處理后,會(huì)生成一個(gè)TXT 文件,該文件即為圖像目錄文件。其中包含圖像路徑信息,圖像中所含物體坐標(biāo)信息以及目標(biāo)類別信息。具體內(nèi)容如圖8 所示。
圖8 圖像信息轉(zhuǎn)化結(jié)果
本實(shí)驗(yàn)采用了精度均值A(chǔ)P 和平均精度均值mAP 兩個(gè)評(píng)價(jià)指標(biāo)。因?yàn)楸疚难芯康臋z測(cè)目標(biāo)類型為4 類坦克,所以對(duì)各類平均精度分別計(jì)為:APA、APB、APC、APD。平均精度均值(mean Average Precision,mAP)是衡量模型在所有類別上的好壞程度,本文mAP 的計(jì)算就是取APA、APB、APC、APD的平均值。
實(shí)驗(yàn)環(huán)境具體設(shè)置如表3 所示。
表3 實(shí)驗(yàn)環(huán)境設(shè)置
實(shí)驗(yàn)中的參數(shù)設(shè)置如表4 所示。
表4 訓(xùn)練參數(shù)設(shè)置
實(shí)驗(yàn)結(jié)果如表5 所示。
表5 改進(jìn)前、后兩種YOLOV3 模型的檢測(cè)對(duì)比結(jié)果
對(duì)于引入多尺度增強(qiáng)結(jié)構(gòu)的YOLOV3 模型,A類坦克、B 類坦克、D 類坦克的識(shí)別精度均有較大幅度上升,mAP 值從85.1%提高到了85.8%。這是由于引入的多尺度增強(qiáng)結(jié)構(gòu),在YOLOV3 模型原有高層特征向下層傳遞的基礎(chǔ)上,增加了低層特征向高層傳遞的通道,增加了特征圖多樣性同時(shí)還增強(qiáng)了位置特征信息的傳遞。此外,多尺度增強(qiáng)結(jié)構(gòu)還使用了全連接融合的方式,能夠聚合更多層的特征信息。因此,在YOLOV3 模型中加入多尺度特征增強(qiáng)結(jié)構(gòu),能有效提高模型的檢測(cè)識(shí)別精度。
改進(jìn)前、后的YOLOV3 模型在訓(xùn)練坦克圖像數(shù)據(jù)集過程中的Loss 值變化圖像,如圖9 所示。
圖9 Loss 數(shù)值變化圖
圖10 坦克圖像數(shù)據(jù)集待測(cè)目標(biāo)檢測(cè)識(shí)別效果圖
本文以復(fù)雜戰(zhàn)場(chǎng)環(huán)境下的坦克裝甲目標(biāo)為研究對(duì)象,針對(duì)圖像目標(biāo)小、特征信息少、內(nèi)容復(fù)雜等影響因素,引入多尺度特征增強(qiáng)結(jié)構(gòu)的方法對(duì)YOLOV3 模型進(jìn)行改進(jìn),以解決坦克裝甲小目標(biāo)的檢測(cè)識(shí)別和精準(zhǔn)定位的問題。實(shí)驗(yàn)結(jié)果表明:通過多尺度特征增強(qiáng)結(jié)構(gòu)的方法,使YOLOV3 算法在坦克裝甲目標(biāo)數(shù)據(jù)集上取得了優(yōu)異的檢測(cè)效果,對(duì)于目標(biāo)特征識(shí)別具有更高的靈敏性,mAP 值也有了較大幅度的提升。在今后軍事領(lǐng)域的地面復(fù)雜戰(zhàn)場(chǎng)中,應(yīng)用該目標(biāo)檢測(cè)方法可以取得較好的效果。