薛雅麗, 孫 瑜, 馬瀚融
(南京航空航天大學(xué),南京 210000)
隨著目標(biāo)檢測(cè)技術(shù)的迅猛發(fā)展,其應(yīng)用遍布各行各業(yè)。遙感圖像大多產(chǎn)生自飛機(jī)和衛(wèi)星拍攝,其中可識(shí)別目標(biāo)包括湖泊、森林、飛機(jī)、車輛、橋梁、建筑物等物體,其目標(biāo)識(shí)別廣泛應(yīng)用于農(nóng)業(yè)產(chǎn)值測(cè)算、災(zāi)害監(jiān)測(cè)、城市建設(shè)規(guī)劃等領(lǐng)域。在軍事戰(zhàn)爭(zhēng)中,各類目標(biāo)的檢測(cè)和定位可以將海量遙感數(shù)據(jù)快速轉(zhuǎn)化為目標(biāo)情報(bào),有利于戰(zhàn)場(chǎng)形勢(shì)剖析、鎖定攻擊目標(biāo)位置,進(jìn)而制定精準(zhǔn)且及時(shí)的軍事行動(dòng)。因此,對(duì)遙感圖像中目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)對(duì)社會(huì)和經(jīng)濟(jì)發(fā)展具有重要的意義。
當(dāng)前主流深度學(xué)習(xí)目標(biāo)檢測(cè)算法分為基于回歸分析的單階段檢測(cè)算法和基于候選區(qū)域的雙階段檢測(cè)算法。雙階段目標(biāo)檢測(cè)算法(如RCNN系列[1-3]和Cascade RCNN[4]等)先通過(guò)Selective Search或者Edge Boxes等算法在輸入圖像中選出候選區(qū)域,再對(duì)這些可能包含目標(biāo)的候選區(qū)域進(jìn)行分類和位置回歸,進(jìn)而得到更為精確的檢測(cè)結(jié)果。單階段目標(biāo)檢測(cè)算法也稱為基于回歸分析的目標(biāo)檢測(cè)算法,以YOLO系列[5]和SSD系列[6]為代表,直接通過(guò)密集網(wǎng)絡(luò)得到目標(biāo)分類和位置信息,只需經(jīng)過(guò)一次圖片處理,因此檢測(cè)速度快,更能滿足實(shí)時(shí)性要求較高的場(chǎng)景需求。
在速度和精度上可以達(dá)到較高平衡的YOLOv5[7]算法通過(guò)設(shè)置靈活的配置參數(shù),得到不同復(fù)雜度的模型。其檢測(cè)速度快等特點(diǎn)使其可以在實(shí)時(shí)性高的場(chǎng)景需求下,完成在移動(dòng)端的快速嵌入部署;其輸入端采用了MixUP和CutMix等多圖片融合、自適應(yīng)圖片縮放、DropBlock等模擬圖片遮擋的數(shù)據(jù)增廣算法;其主干網(wǎng)絡(luò)部分先后共進(jìn)行5次下采樣,主要模塊為Focus和CSP結(jié)構(gòu);其Neck結(jié)構(gòu)中引用了擴(kuò)大感受野的SPP[8]模塊和增強(qiáng)多通道特征之間交流的PANet實(shí)現(xiàn)特征的跨層融合。然而,YOLOv5算法在畫幅大、背景復(fù)雜的光學(xué)遙感圖像中表現(xiàn)不佳,遙感圖像中目標(biāo)小且排列緊密,小目標(biāo)采樣易丟失,因此檢測(cè)精度并不理想。
本文為了滿足實(shí)時(shí)性要求,對(duì)基于速度快、模型小的YOLOv5s結(jié)構(gòu)進(jìn)行改進(jìn)。針對(duì)光學(xué)遙感圖像的畫幅大、尺度變化多樣、目標(biāo)尺度差異巨大、排列緊密等特性,引入BmFPN結(jié)構(gòu)加強(qiáng)網(wǎng)絡(luò)特征融合、降低網(wǎng)絡(luò)的參數(shù)和計(jì)算量,并在最后的邊框回歸中引入CIoU[9]損失函數(shù)。
對(duì)于大分辨率圖像中的小目標(biāo)檢測(cè),隨著網(wǎng)絡(luò)加深語(yǔ)義信息更加清晰,取而代之的是位置信息的缺失。如果將原始圖像(如16 000×16 000,單位為像素,下同)直接輸入到檢測(cè)網(wǎng)絡(luò)中,多次下采樣后每格特征圖的感受野較小(如YOLOv5主干網(wǎng)絡(luò)進(jìn)行5次下采樣后,輸入圖像中32×32的目標(biāo)大小也只有1×1),當(dāng)原始圖像中目標(biāo)的寬或高小于該閾值,網(wǎng)絡(luò)很難學(xué)習(xí)到目標(biāo)的特征信息,檢出效果并不好。
YOLOv5中借鑒了在圖像分割領(lǐng)域表現(xiàn)出色的雙向FPN結(jié)構(gòu)PANet[10]。其通過(guò)FPN結(jié)構(gòu)自頂向下傳達(dá)強(qiáng)語(yǔ)義信息,PANet自底向上傳達(dá)強(qiáng)定位特征,讓高階特征輸出中也有了低階細(xì)節(jié),相輔相成,將來(lái)自于不同主干層的特征針對(duì)不同檢測(cè)層進(jìn)行參數(shù)聚合,進(jìn)一步提高了網(wǎng)絡(luò)的特征提取能力。
本文改進(jìn)EfficientDet[11]模型中的BiFPN結(jié)構(gòu),代替原有的PANet作為特征網(wǎng)絡(luò)實(shí)現(xiàn)特征融合。與PANet相比,它移除了只有一個(gè)輸入邊的節(jié)點(diǎn),增加了跨層鏈接,通過(guò)雙向傳播實(shí)現(xiàn)更高級(jí)的特征融合。
圖1 改進(jìn)后的特征網(wǎng)絡(luò)BmFPN
(1)
(2)
傳統(tǒng)方法中,不同分辨率特征圖被調(diào)整到相同的分辨率,然后在融合時(shí)一視同仁地直接相加。但其實(shí)它們對(duì)最后輸出特征的貢獻(xiàn)是不同的,因此更合理的做法是本文所用的加權(quán)平均融合。
YOLOv5使用BCEcls二分類交叉熵?fù)p失計(jì)算類概率Lcls,GIoU Loss[12]和BEC Logits損失計(jì)算目標(biāo)得分Lobj,GIoU Loss計(jì)算邊框回歸Lbox。網(wǎng)絡(luò)總損失為L(zhǎng)=Lobj+Lcls+Lbox。GIoU損失函數(shù)為
(3)
式中:P與Pgt分別為預(yù)測(cè)框與真實(shí)框;Z為其最小外接矩形??梢?jiàn)LGIoU的優(yōu)化對(duì)象為兩框之間的面積,可初步解決LIoU為零的情況。其雖然能在一定程度上體現(xiàn)錨框的方向性差異,但當(dāng)兩框相交值相同時(shí),無(wú)法反映具體的相交情況。DIoU損失函數(shù)為
(4)
式中:c為兩框最小外接矩形的對(duì)角線;ρ2(b,bg t)為預(yù)測(cè)框中心點(diǎn)b和真實(shí)框中心點(diǎn)bg t間的歐氏距離??梢?jiàn),LDIoU將預(yù)測(cè)框與目標(biāo)框之間的歸一化距離最小化,將目標(biāo)與錨框之間的距離和重疊率都考慮進(jìn)去,因此其收斂速度更快。
為了使目標(biāo)框包裹預(yù)測(cè)框時(shí)也能完成快速穩(wěn)定邊框回歸,本文在損失中引入LCIoU代替原損失函數(shù)LGIoU,帶來(lái)了更快的收斂和更好的性能。算式為
(5)
本文采用DOTA[13]數(shù)據(jù)集對(duì)算法進(jìn)行評(píng)估,其中包含不同傳感器和平臺(tái)所采集的2860幅遙感圖像。該數(shù)據(jù)集中有15種常見(jiàn)目標(biāo)由旋轉(zhuǎn)框標(biāo)注,特點(diǎn)是尺度變化多樣、檢測(cè)難度高。由于遙感圖像分辨率跨度大,有些高達(dá)上萬(wàn)像素,因此不應(yīng)對(duì)圖像直接縮放,需要對(duì)數(shù)據(jù)集進(jìn)行切割。本文將含有小型車輛(SV)、大型車輛(LV)兩類目標(biāo)的圖像作為原始圖像,將其切割為640×640的子圖像,并保證兩幅子圖像間重疊區(qū)間為200像素。在裁剪過(guò)程中,只保留中心點(diǎn)在子圖像內(nèi)部的標(biāo)注,并調(diào)整標(biāo)注數(shù)值。處理前、后數(shù)據(jù)集如圖2所示。
圖2 處理前、后數(shù)據(jù)集示例
處理后共得圖像10 621幅,其中,訓(xùn)練集約占58%(6152幅),驗(yàn)證集約占14%(1513幅),測(cè)試集約占28%(2956幅),兩類目標(biāo)各占約1/2。本文所用的小目標(biāo)遙感數(shù)據(jù)集M-DOTA比COCO數(shù)據(jù)集中小型目標(biāo)比例更高,單幅圖像目標(biāo)多(平均每幅圖像的目標(biāo)數(shù)為9.97),且物體大多為非中心分布,檢測(cè)難度大。處理后數(shù)據(jù)集中目標(biāo)大小的分布占比與COCO數(shù)據(jù)集對(duì)比見(jiàn)圖3。
圖3 目標(biāo)大小分布占比
本文以Ubuntu 18.04作為實(shí)驗(yàn)平臺(tái)對(duì)所設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行驗(yàn)證,訓(xùn)練與測(cè)試中均使用2塊GeForce RTX 2080 SUPER作為圖形處理單元。如無(wú)特殊強(qiáng)調(diào),驗(yàn)證采用的深度學(xué)習(xí)框架均為Pytorch,網(wǎng)絡(luò)訓(xùn)練中使用SGD優(yōu)化器,初始學(xué)習(xí)率設(shè)置為0.01,權(quán)重衰減系數(shù)為0.000 5。網(wǎng)絡(luò)中錨框均使用同一組,其由K-Means聚類算法得出,最佳召回率(BPR)為0.998 1。
本文采取的評(píng)價(jià)指標(biāo)為召回率R(Recall)、準(zhǔn)確率P(Precision),定義為
(6)
(7)
式中:TP(True Positive)與FP(False Positive)的判別條件是識(shí)別為正例的對(duì)象與Ground truth區(qū)域間的IoU是否大于規(guī)定閾值;FN(False Negative)指遺漏未被檢出的Ground truth。
為了驗(yàn)證本文所提算法改進(jìn)的有效性,采用消融實(shí)驗(yàn)的方法分析改進(jìn)模塊對(duì)算法性能提升的有效性。表1展示了使用LCIoU,LGIoU做損失回歸,和在Neck中使用FPN,PANet及本文設(shè)計(jì)的BmFPN特征融合網(wǎng)絡(luò)檢測(cè)效果的對(duì)比。表中:mAP@0.5指在LIoU閾值為0.5的情況下,對(duì)每類AP值求平均;mAP@0.5∶0.95指取步長(zhǎng)0.05,分別計(jì)算LIoU閾值由0.5遞增至0.95時(shí)各類的平均精度。
表1顯示本文提出的BmFPN模塊可以將mAP@0.5和mAP@0.5∶0.95提高0.6~0.7個(gè)百分點(diǎn),說(shuō)明雙向融合和權(quán)重的加入豐富了特征圖中小目標(biāo)的特征信息,使網(wǎng)絡(luò)計(jì)算出的特征圖能夠更加有效地表征物體。引入使用CIoU函數(shù)和使用BmFPN結(jié)構(gòu)的兩個(gè)模塊組合的檢測(cè)效果最好,在mAP@0.5和mAP@0.5∶0.95下分別提高0.9和0.7個(gè)百分點(diǎn),該結(jié)果證明了本文所設(shè)計(jì)模型的合理性與優(yōu)越性。
表1 消融實(shí)驗(yàn)結(jié)果對(duì)比
模型大小及參數(shù)量對(duì)比見(jiàn)表2。表中,浮點(diǎn)計(jì)算量單位為10億次浮點(diǎn)運(yùn)算數(shù)/s。
表2 模型大小及參數(shù)量對(duì)比
如表2所示,BmFPN在提升性能的同時(shí)并沒(méi)有大幅度增加模型大小及浮點(diǎn)計(jì)算量,依然保持了輕量級(jí)模型尺寸,便于在算力有限的場(chǎng)景下部署。
各算法檢測(cè)精度與速度對(duì)比情況如表3所示。
表3 各算法檢測(cè)精度與速度對(duì)比
表3對(duì)比了YOLO-BM,YOLOv5和YOLOv3模型在測(cè)試集上的檢測(cè)速度和精度,可以看到,YOLOv5模型中的最小尺度YOLOv5s模型檢測(cè)速度最快,達(dá)到128.8 幀/s;YOLOv5m模型犧牲了約30%的檢測(cè)速度,將檢測(cè)精度提升了0.5個(gè)百分點(diǎn);YOLOv3模型的精度雖高于YOLOv5s模型,但檢測(cè)速度非常慢,只有6.3 幀/s。本文設(shè)計(jì)的YOLO-BM模型在將檢測(cè)精度提高了1個(gè)百分點(diǎn)的前提下,只比速度最快的YOLOv5s模型低4.4 幀/s,檢測(cè)速度遠(yuǎn)優(yōu)于其他算法。
圖4展示了YOLO-BM,YOLOv5s,YOLOv5m和YOLOv3的可視化結(jié)果。小型車輛(SV)和大型車輛(LV)的檢測(cè)結(jié)果顯示在不同的彩色框中。由于遙感圖像的背景復(fù)雜多樣、目標(biāo)體積小、排列緊湊,因此,在檢測(cè)過(guò)程中經(jīng)常會(huì)出現(xiàn)誤檢和漏檢,隨著檢測(cè)精度的提高,這種現(xiàn)象將逐漸減少。
圖4 各算法檢測(cè)效果可視化
陰影區(qū)域檢測(cè)效果對(duì)比如圖5所示。為了更清楚地顯示細(xì)節(jié),圖5放大了橙色和藍(lán)色陰影部分以進(jìn)行比較。
圖5 陰影區(qū)域檢測(cè)效果對(duì)比
圖5中,圖像橙色部分漏檢率較高,特別是對(duì)于YOLOv3和YOLOv5s模型。同時(shí),藍(lán)色陰影區(qū)域覆蓋了許多排列緊密的小目標(biāo)。可以看到,在保持輕量級(jí)模型大小和快速檢測(cè)的同時(shí),在本文提出的YOLO-BM算法下漏檢誤檢的數(shù)量遠(yuǎn)少于其他算法。
本文算法針對(duì)目標(biāo)復(fù)雜的航空遙感圖像,通過(guò)分析其中目標(biāo)尺度差異大、排布密集等特點(diǎn),提出了一種雙向加權(quán)特征融合網(wǎng)絡(luò)的高效目標(biāo)檢測(cè)算法。該算法加強(qiáng)了對(duì)底層特征信息的提取,對(duì)各層特征圖加入權(quán)重機(jī)制,并且在邊框回歸中引入收斂更快、更為穩(wěn)健的CIoU損失函數(shù)。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)尺寸小、檢測(cè)速度快、檢測(cè)精度高,完全可以滿足實(shí)時(shí)性場(chǎng)景的要求,有非常高的實(shí)用價(jià)值。