董麗君,曾志高,易勝秋,文志強(qiáng),孟 辰
(湖南工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,湖南 株洲 412007;湖南省智能信息感知與處理技術(shù)重點(diǎn)實(shí)驗(yàn)室,湖南 株洲 412007)
遙感技術(shù)[1]在航空航海動(dòng)態(tài)監(jiān)控、生態(tài)資源環(huán)境監(jiān)測(cè)、軍事目標(biāo)檢測(cè)等眾多領(lǐng)域發(fā)揮著重要作用。而遙感圖像目標(biāo)檢測(cè)是遙感圖像分析技術(shù)的重要一環(huán)。近年來(lái),人工智能快速崛起,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法[2]層出不窮,但是隨著工業(yè)應(yīng)用要求的不斷嚴(yán)格,提高目標(biāo)檢測(cè)的精度仍然是研究的重點(diǎn)方向。傳統(tǒng)的目標(biāo)檢測(cè)算法利用滑動(dòng)窗口遍歷原始圖像,易造成候選區(qū)域選擇效率低下、窗口冗余等弊端。遙感圖像背景復(fù)雜難以檢測(cè)[3-4],而傳統(tǒng)目標(biāo)檢測(cè)算法只適用于背景簡(jiǎn)單、特征顯著的圖像,實(shí)際應(yīng)用有很大的局限性。隨著深度學(xué)習(xí)技術(shù)[5]的飛速發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法憑借其結(jié)構(gòu)靈活、自動(dòng)提取特征和強(qiáng)大的數(shù)據(jù)處理能力等優(yōu)勢(shì),逐漸替代傳統(tǒng)目標(biāo)檢測(cè)算法,成為當(dāng)前目標(biāo)檢測(cè)的主流算法。相較于傳統(tǒng)目標(biāo)檢測(cè)算法,基于深度學(xué)習(xí)的方法具有性能較高、實(shí)際應(yīng)用場(chǎng)景廣、使用方便簡(jiǎn)潔等諸多優(yōu)點(diǎn)。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法主要有兩種,一是以Fast R-CNN(convolutional neural networks)、Faster R-CNN等為代表的Two-Stage算法[6-7]。這類算法主要分為兩個(gè)步驟,第一步提取感興趣區(qū)域;第二步結(jié)合主干特征,提取網(wǎng)絡(luò)輸出,進(jìn)行目標(biāo)精準(zhǔn)定位及類別判定。另一種是以SSD(single shot multibox detector)、YOLO(you only look once)等為代表的One-Stage算法[8-10]。這類算法直接在特征提取層做目標(biāo)檢測(cè),沒(méi)有生成候選區(qū)域,大大節(jié)省了檢測(cè)時(shí)間,且檢測(cè)精度沒(méi)有明顯劣勢(shì)。隨著對(duì)檢測(cè)精度及構(gòu)建更深層次網(wǎng)絡(luò)的不斷追求,國(guó)內(nèi)外研究者做了大量研究,Cheng G.等[11]提出一種學(xué)習(xí)旋轉(zhuǎn)不變卷積神經(jīng)網(wǎng)絡(luò)模型RICNN(rotation-invariant convolutional neural networks),該模型在現(xiàn)有CNN結(jié)構(gòu)的基礎(chǔ)上引入和學(xué)習(xí)新的旋轉(zhuǎn)不變結(jié)構(gòu)來(lái)提升檢測(cè)性能。Cheng G.等[12]提出了COPD(collection of part detectors)模型,通過(guò)一組代表性的分類器為多類地理空間目標(biāo)檢測(cè)提供了一種實(shí)用模型,能有效提高分類精度。Li K.等[13]從特征融合角度提出了RI-CAO(rotation- insensitive and context-augmented object detection)模型,通過(guò)局部上下文特征增強(qiáng)和雙通道特征融合網(wǎng)絡(luò),提高模型檢測(cè)性能。而Wang C.等[14]通過(guò)優(yōu)化檢測(cè)框篩選機(jī)制提出了DODN(deconvolutional object detection network)模型,該模型通過(guò)構(gòu)建二級(jí)反卷積網(wǎng)絡(luò)取代錨定框機(jī)制,再通過(guò)區(qū)域生成網(wǎng)絡(luò)(region proposal network,RPN)生成感興趣區(qū)域,提高了模型檢測(cè)精度。Ultralytics公司提出了YOLOv5算法,其采用跨階段局部網(wǎng)絡(luò)(cross stage partial network,CSP)作為主要結(jié)構(gòu),并結(jié)合空間金字塔池化(spatial pyramid pooling,SPP)和路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了優(yōu)化,同時(shí)數(shù)據(jù)集進(jìn)行馬賽克增強(qiáng)和更改損失函數(shù)為GIoU loss[15],有效地提高了目標(biāo)檢測(cè)精度。本文擬將基于YOLOv5算法的優(yōu)化模型應(yīng)用于遙感圖像數(shù)據(jù)集,在開(kāi)源的NWPUVHR 10數(shù)據(jù)集[16]和RSOD數(shù)據(jù)集[17]上進(jìn)行訓(xùn)練測(cè)試,同時(shí)針對(duì)遙感數(shù)據(jù)集的特點(diǎn)進(jìn)行數(shù)據(jù)增強(qiáng),對(duì)模型損失函數(shù)進(jìn)行改進(jìn),優(yōu)化目標(biāo)檢測(cè)方法,以期提高遙感圖像的檢測(cè)精度。
YOLO算法創(chuàng)造性地將目標(biāo)檢測(cè)當(dāng)作回歸問(wèn)題來(lái)解決,直接從特征提取層獲取檢測(cè)框邊界和類別概率。與使用RPN網(wǎng)絡(luò)或滑動(dòng)窗口的方法不同,YOLO算法將候選區(qū)域和檢測(cè)階段合二為一,將輸入劃分成s×s個(gè)窗格,每個(gè)格子會(huì)生成不同長(zhǎng)寬比的B個(gè)邊界框(bounding box)。當(dāng)目標(biāo)框中心點(diǎn)落在某個(gè)窗格,則此目標(biāo)的檢測(cè)由該窗格負(fù)責(zé),同時(shí)預(yù)測(cè)出邊界框的位置信息、分類概率及置信度(confidence)。
目前,YOLO系列中,最強(qiáng)大的模型為YOLOv5模型,其具有輕量級(jí)的模型大小及超高的準(zhǔn)確率等優(yōu)點(diǎn)。具體模型結(jié)構(gòu)如圖1所示。

圖1 YOLOv5模型結(jié)構(gòu)圖Fig.1 Structure diagram of YOLOv5 model
YOLOv5共有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 4種不同大小的模型,其中YOLOv5s模型最小,也是速度最快的一個(gè),其他3種模型是在此基礎(chǔ)上不同程度地增加模型寬度與深度。為了提高檢測(cè)精度的同時(shí)也保證檢測(cè)速率,課題組選擇了YOLOv5s模型。YOLOv5s模型在第二次和第三次CSP結(jié)構(gòu)中采用了3個(gè)殘差組件,其余的CSP結(jié)構(gòu)只采用一個(gè)殘差結(jié)構(gòu),CSP結(jié)構(gòu)的使用緩解了大量推理時(shí)間問(wèn)題。同時(shí)在主干特征提取網(wǎng)絡(luò)前還加入了Focus模塊,主要是對(duì)圖像進(jìn)行切片操作,最大程度減少了信息損失和推理時(shí)間,并進(jìn)行了下采樣操作,較完整地保留了圖像下采樣信息。在主干特征提取網(wǎng)絡(luò)中借鑒了SPP-Net中的SPP模塊,實(shí)現(xiàn)了多重感受野特征的融合,最大化提高了特征利用率。針對(duì)多尺度目標(biāo)檢測(cè)問(wèn)題,采取了自上而下的側(cè)向特征融合的FPN結(jié)構(gòu)和自底向上的PAN結(jié)構(gòu),以此提高檢測(cè)能力,結(jié)構(gòu)如圖2所示。

圖2 FPN+PAN結(jié)構(gòu)圖Fig.2 Structure diagram of FPN + PAN
課題組選擇的YOLOv5s模型,其結(jié)構(gòu)較淺,在模型不夠深的情況下,通過(guò)充足的側(cè)向鏈接可以保證對(duì)不同分辨率的檢測(cè)目標(biāo)的檢測(cè)。特別是對(duì)于高空拍攝的遙感圖像,這類圖像分辨率高且目標(biāo)復(fù)雜,而側(cè)向鏈接有助于解決該類遙感圖像的檢測(cè)難題。
馬賽克數(shù)據(jù)增強(qiáng)原理如圖3所示。

圖3 馬賽克數(shù)據(jù)增強(qiáng)原理圖Fig.3 Mosaic data enhancement schematic diagram
課題組在數(shù)據(jù)集NWPU-VHR 10和數(shù)據(jù)集RSOD上進(jìn)行訓(xùn)練和測(cè)試,數(shù)據(jù)集相對(duì)較小,為了提升檢測(cè)效果,采用馬賽克數(shù)據(jù)增強(qiáng)手段,提高模型的泛化能力。馬賽克數(shù)據(jù)增強(qiáng)是從一個(gè)batch中隨機(jī)選取4張圖片,將4張圖像通過(guò)隨機(jī)縮放、裁剪、排布等操作隨機(jī)拼接成一個(gè)設(shè)定邊長(zhǎng)的訓(xùn)練樣本。這樣做豐富了數(shù)據(jù)集,同時(shí)增加了許多小目標(biāo),對(duì)遙感圖像檢測(cè)更有利,能有效緩解遙感圖像樣本不足的問(wèn)題,加強(qiáng)了網(wǎng)絡(luò)魯棒性。模型可以一次性對(duì)4張圖像進(jìn)行訓(xùn)練,這樣使batch size不需要很大,減少了對(duì)GPU的要求,一個(gè)GPU也可以訓(xùn)練出較好的模型。
YOLOv5的損失函數(shù)包括3個(gè)部分,分類損失、定位損失與置信度損失。通過(guò)對(duì)這3個(gè)損失值進(jìn)行加權(quán)相加得到總損失值。
3.2.1 分類損失函數(shù)優(yōu)化
本文采用Focal loss函數(shù)作為分類損失函數(shù),在One-Stage detector中會(huì)生成成千上萬(wàn)個(gè)候選框,但一張圖片中的檢測(cè)目標(biāo)有限,這就導(dǎo)致大部分的候選框是負(fù)樣本,帶來(lái)了嚴(yán)重的正負(fù)樣本不均勻問(wèn)題。針對(duì)該問(wèn)題,課題組使用Focal loss作為分類損失函數(shù),其定義如式(1)所示,式中,代表預(yù)測(cè)值,y表示真實(shí)值,γ>0為可調(diào)節(jié)因子。令pt表示預(yù)測(cè)類別為真實(shí)標(biāo)簽的概率,定義如式(2)所示,代入式(1)后Focal loss函數(shù)可用式(3)表達(dá)。從式(3)可看出Focal loss函數(shù)是對(duì)交叉熵?fù)p失函數(shù)的優(yōu)化,相比于交叉熵?fù)p失函數(shù),F(xiàn)ocal loss函數(shù)多了一個(gè)調(diào)制因子(1-pt)γ,當(dāng)γ=0時(shí),F(xiàn)ocal loss就是交叉熵?fù)p失。

該損失函數(shù)的主要思想就是給正負(fù)樣本加上一個(gè)權(quán)值,度量難分樣本和易分樣本的損失貢獻(xiàn),調(diào)節(jié)正負(fù)樣本損失貢獻(xiàn)的權(quán)值。圖4為不同γ取值的Focal loss函數(shù)曲線對(duì)比圖。

圖4 Focal loss函數(shù)曲線Fig.4 Focal loss function curve
當(dāng)類別概率pt→1.0時(shí),表明預(yù)測(cè)值高度接近真實(shí)值y,此類樣本屬于易分樣本,這些易分樣本大部分是負(fù)樣本和極少數(shù)與真實(shí)框高度吻合的正樣本,模型能夠快速準(zhǔn)確地識(shí)別,此時(shí)(1-pt)→0.0,則以此來(lái)降低這些易分樣本的權(quán)值。對(duì)于難分樣本(1-pt)→1.0,此時(shí)Focal loss逼近于交叉熵函數(shù),總體來(lái)說(shuō)Focal loss函數(shù)降低了易分樣本的損失貢獻(xiàn),使模型更關(guān)注于難分樣本。如圖所示,調(diào)節(jié)因子γ能有效降低簡(jiǎn)單樣本的損失值,γ越大則簡(jiǎn)單樣本的損失值越小。對(duì)于置信度損失,也就是有無(wú)物體的損失,模型通過(guò)輸出confidence表示圖像中是否有目標(biāo),有目標(biāo)則為1,預(yù)測(cè)時(shí)用sigmoid函數(shù)轉(zhuǎn)化為(0, 1)的概率值,最后通過(guò)二值交叉熵?fù)p失函數(shù)(binary cross entropy loss)進(jìn)行反向傳播。
3.2.2 定位損失函數(shù)優(yōu)化
課題組對(duì)定位損失函數(shù)也進(jìn)行了優(yōu)化,采用了更全面的CIoU loss函數(shù)。在目標(biāo)檢測(cè)中,需要對(duì)比檢測(cè)框與真實(shí)框之間的檢測(cè)效果,YOLOv5原作者采用的GIoU loss,定義如下:

式(4)~(5)中:A、B分別為預(yù)測(cè)框與真實(shí)框;C為A與B的最小外接矩;IoU為真實(shí)框與預(yù)測(cè)框之間的交并比(intersection over union);GIoU為對(duì)IoU的優(yōu)化,考慮了真實(shí)框與預(yù)測(cè)框之間的重疊面積;LGIoU代表GIoU的損失。
當(dāng)預(yù)測(cè)框包含于目標(biāo)框時(shí),GIoU loss退化成了IoU loss,無(wú)法區(qū)分相對(duì)位置。一個(gè)好的定位損失函數(shù)應(yīng)該不止考慮到重疊面積,而CIoU還考慮到了距離、尺度以及長(zhǎng)寬比。CIoU loss定義如下:

式(7)~(9)中:α為權(quán)值;v為衡量長(zhǎng)寬比的相似性;b、bgt分別為預(yù)測(cè)框與真實(shí)框;w、h分別為預(yù)測(cè)框的寬和高;wgt、hgt分別為真實(shí)框的寬與高;c為兩個(gè)矩形框的最小外接矩的對(duì)角線;ρ為求兩個(gè)矩形框中心點(diǎn)的歐氏距離;CIoU為對(duì)IoU的一種更全面的優(yōu)化;LCIoU為CIoU的損失。
定位損失函數(shù)如圖5所示。

圖5 定位損失函數(shù)示意圖Fig.5 Locating loss function diagram
CIoU loss優(yōu)點(diǎn)如下:
1)當(dāng)預(yù)測(cè)框與目標(biāo)框不重疊時(shí),邊界框仍然可以學(xué)習(xí)往目標(biāo)框移動(dòng);
2)直接優(yōu)化兩個(gè)目標(biāo)框的距離,收斂速度更快;
3)對(duì)于預(yù)測(cè)框包含于目標(biāo)框的情況,GIoU恒相等,無(wú)法學(xué)習(xí)到具體相交情況,而CIoU可以加速框回歸;
4)考慮了長(zhǎng)寬比,使預(yù)測(cè)框更快地回歸到目標(biāo)框。
3.3.1 自適應(yīng)錨框
由于遙感圖像目標(biāo)尺寸復(fù)雜,因此訓(xùn)練時(shí)修改默認(rèn)錨定框?yàn)樽赃m應(yīng)錨框,生成更符合數(shù)據(jù)集的錨框。一個(gè)錨框由面積(s)和長(zhǎng)寬比(ratio)定義,計(jì)算公式如下:

式中:w為邊框的寬;h為邊框的高。
在訓(xùn)練初期,如果召回率大于閾值則不改變默認(rèn)錨框,如果召回率小于閾值,則利用K-mean均值和遺傳算法對(duì)數(shù)據(jù)集進(jìn)行分析,自動(dòng)學(xué)習(xí)新的預(yù)定錨框,獲得更適合數(shù)據(jù)集的預(yù)設(shè)錨定框。
3.3.2 自適應(yīng)圖片縮放
對(duì)于輸入圖像,傳統(tǒng)的做法是將圖像縮放到固定大小再進(jìn)行后續(xù)操作。當(dāng)圖像的長(zhǎng)寬比過(guò)大或過(guò)小時(shí),則會(huì)產(chǎn)生大量的填充區(qū)域,造成信息冗余,影響模型推理速度。基于遙感圖像的復(fù)雜性,采用了自適應(yīng)圖片縮放,先選擇圖像的較長(zhǎng)邊進(jìn)行縮放到固定尺寸,本文設(shè)定為640,按照該比例再對(duì)較短邊進(jìn)行縮放,這樣得到一個(gè)小于640的短邊長(zhǎng),具體公式如下:

YOLOv5網(wǎng)絡(luò)模型中經(jīng)過(guò)了5次下采樣,最后的特征層感受野為32,為了便于計(jì)算機(jī)計(jì)算,對(duì)小于640的短邊進(jìn)行填充,填充到大于短邊同時(shí)為32的倍數(shù)的最小值。這樣保留了圖像原有的比例信息,同時(shí)也最小化了填充黑邊,降低了原始填充方法帶來(lái)的信息冗余問(wèn)題,在測(cè)試時(shí)采用自適應(yīng)圖片縮放,縮減填充,提高模型推理速度。
本項(xiàng)目是基于Pytorch框架,使用GPU進(jìn)行訓(xùn)練,試驗(yàn)環(huán)境具體配置如表1所示。

表1 試驗(yàn)環(huán)境配置Table 1 Experimental environment configuration
本文基于現(xiàn)有的配置,batch size設(shè)為4,初始學(xué)習(xí)率為0.01,epochs設(shè)置為1 000。NWPU-VHR10數(shù)據(jù)集包括650張含目標(biāo)的圖像和150張無(wú)目標(biāo)圖像,共800張,10個(gè)類別,分別為飛機(jī)、艦船、油罐、棒球場(chǎng)、網(wǎng)球場(chǎng)、籃球場(chǎng)、田徑場(chǎng)、港口、橋梁和汽車。RSOD數(shù)據(jù)集共有976張圖像,包含飛機(jī)、操場(chǎng)、立交橋和油桶4個(gè)類別。
本試驗(yàn)評(píng)價(jià)體系包括召回率R(recall),精準(zhǔn)率P(precision),平均精準(zhǔn)度AP(average precision)和均值平均精度mAP(mean average precision),各標(biāo)準(zhǔn)的具體公式如下:

式(14)~(17)中:TP、FP、TN、FN分別代表預(yù)測(cè)為正樣本且預(yù)測(cè)正確、預(yù)測(cè)為正樣本但預(yù)測(cè)錯(cuò)誤、預(yù)測(cè)為負(fù)樣本且預(yù)測(cè)正確和預(yù)測(cè)為負(fù)樣本但預(yù)測(cè)錯(cuò)誤;Psmooth(r)為平滑的P-R曲線。
為了更好地評(píng)價(jià)本次試驗(yàn)效果,課題組利用其他目標(biāo)檢測(cè)算法在數(shù)據(jù)集NWPU-VHR10上進(jìn)行測(cè)試對(duì)比,比較結(jié)果如表2所示。表中加*數(shù)據(jù)為該類別AP最高值。從表2中可以看出,優(yōu)化后的YOLOv5s模型在NWPU-VHR 10數(shù)據(jù)集上取得了較好的結(jié)果。優(yōu)化算法的所有類別精度都接近1,其mAP較優(yōu)化前的YOLOv5s模型高出2.31%,同時(shí)比其他模型中排第二的DODN模型高出8.19%。同時(shí)為了驗(yàn)證模型的泛化能力,也在數(shù)據(jù)集RSOD上進(jìn)行了訓(xùn)練測(cè)試。

表2 不同算法在數(shù)據(jù)集NWPU-VHR10上的試驗(yàn)結(jié)果Table 2 Experimental results of different algorithms on dataset NWPU-VHR10
每類的P-R曲線如圖6所示。從圖中可以得出,優(yōu)化后的YOLOv5s模型在數(shù)據(jù)集RSOD的mAP約為93.07%。其中優(yōu)化后YOLOv5s模型在飛機(jī)、操場(chǎng)和油桶這3個(gè)類別上都有很好的檢測(cè)精度,但在立交橋的目標(biāo)檢測(cè)精度只有79.27%,主要原因是RSOD數(shù)據(jù)集中類別樣本不均衡,導(dǎo)致訓(xùn)練及測(cè)試樣本不平衡,雖然進(jìn)行了數(shù)據(jù)增強(qiáng)操作,增加了數(shù)據(jù)樣本,但立交橋類的樣本僅占測(cè)試樣本集的1.94%。

圖6 不同類別的P-R曲線Fig.6 P-R curves of different classes
本文算法對(duì)遙感圖像小目標(biāo)的檢測(cè)效果如圖7所示。從圖中可以看出,本文基于YOLOv5s的優(yōu)化模型對(duì)遙感圖像小目標(biāo)檢測(cè)具有一定的優(yōu)越性。

圖7 本文算法對(duì)小尺度目標(biāo)的檢測(cè)效果圖Fig.7 Small target detection results with the proposed algorithm adopted
比較其他模型與優(yōu)化YOLOv5s模型之間的均值平均精度,發(fā)現(xiàn)優(yōu)化YOLOv5s模型表現(xiàn)出了超高的性能,究其根本,在以下幾個(gè)方面:1)在輸入端對(duì)訓(xùn)練集進(jìn)行了馬賽克數(shù)據(jù)增強(qiáng),增加了樣本多樣性,降低了過(guò)擬合,提高模型泛化能力;2)主干特征提取層結(jié)合了CSP結(jié)構(gòu)與SPP結(jié)構(gòu),加強(qiáng)了特征提取效率;3)在進(jìn)入檢測(cè)端前對(duì)3種不同尺寸的特征圖采用了自頂而下的FPN結(jié)構(gòu)和自底而上的PAN結(jié)構(gòu),充分利用了特征提取信息,使低層次特征具有強(qiáng)語(yǔ)義信息高分辨率等特征,有利于小目標(biāo)檢測(cè);4)采用Focal loss的分類損失函數(shù),降低了正負(fù)樣本不均衡問(wèn)題,使模型更關(guān)注于難分樣本的損失;5)采用CIoU loss作為定位損失函數(shù),同時(shí)考慮了目標(biāo)框之間的距離、重疊面積、尺度以及長(zhǎng)寬比。
本文針對(duì)遙感圖像小目標(biāo)占比較高且目標(biāo)復(fù)雜、目標(biāo)尺度不一等問(wèn)題,把優(yōu)化后的YOLOv5s模型應(yīng)用于遙感圖像的檢測(cè)任務(wù)中,同時(shí)應(yīng)用馬賽克數(shù)據(jù)增強(qiáng),有效地?cái)U(kuò)充數(shù)據(jù)樣本。結(jié)合自適應(yīng)的方法降低目標(biāo)尺寸復(fù)雜的影響,選取了CIoU loss作為定位損失函數(shù),提高了模型檢測(cè)精度。以Focal loss作為分類損失函數(shù),可降低訓(xùn)練時(shí)正負(fù)樣本不均衡問(wèn)題。試驗(yàn)結(jié)果表明,優(yōu)化后的YOLOv5s模型能有效地檢測(cè)遙感圖像,平均精準(zhǔn)度和均值平均精度顯著提升。