林子翔
(福州大學(xué) 先進(jìn)制造學(xué)院,福建 泉州 362200)
遙感技術(shù)是指通過航空、航天或人造衛(wèi)星等機(jī)載平臺(tái)上的傳感器隔空遠(yuǎn)距離獲取地面目標(biāo)的電磁特性將其處理成遙感圖像,并針對(duì)獲取的遙感圖像進(jìn)行加工處理以及應(yīng)用分析的綜合性技術(shù)。針對(duì)遙感圖像的諸多應(yīng)用中,目標(biāo)檢測(cè)一直是遙感圖像處理領(lǐng)域的一個(gè)基礎(chǔ)性問題和熱門研究方向,在資源勘探、海岸帶調(diào)查、環(huán)境污染監(jiān)測(cè)和交通堵塞等方面均有應(yīng)用。與自然圖像相比,遙感圖像背景信息復(fù)雜、尺度變化大、小目標(biāo)分布密集、容易受環(huán)境因素影響的特點(diǎn)為其檢測(cè)帶來諸多困難。
現(xiàn)有主流的通用目標(biāo)檢測(cè)方法通常分為一階段方法和兩階段方法兩類。兩階段方法追求準(zhǔn)確性,一階段方法追求速度?,F(xiàn)有的二階段目標(biāo)檢測(cè)算法主要有R-CNN[1]、Fast R-CNN[2]、Faster R-CNN[3]等,一階段目標(biāo)檢測(cè)算法主要有YOLO[4]、YOLOv2[5]、YOLOv3[6]、YOLOv4[7]、YOLOv5、SSD[8]等。 經(jīng)過多年的發(fā)展,一階段算法的準(zhǔn)確性并不比兩階段算法低,并且在速度上顯示出巨大的領(lǐng)先優(yōu)勢(shì)。
盡管通用目標(biāo)檢測(cè)在自然圖像上取得了很大的精度和效率提高,但是不同應(yīng)用場(chǎng)景中的目標(biāo)物體在尺寸和環(huán)境因素等方面存在著差異,這種差異性給特殊環(huán)境下的檢測(cè)任務(wù)帶來了很多難點(diǎn)。例如,雖然遙感圖像的目標(biāo)檢測(cè)任務(wù)和自然場(chǎng)景圖像的目標(biāo)檢測(cè)任務(wù)相似,但將通用目標(biāo)檢測(cè)方法遷移到遙感數(shù)據(jù)集上效果并不理想,主要是由于遙感圖像的特點(diǎn)造成的。為此,本文提出一種更適合遙感圖像的目標(biāo)檢測(cè)算法,以提高其檢測(cè)精度。
YOLOv5 是一種基于anchor 的目標(biāo)檢測(cè)網(wǎng)絡(luò),優(yōu)勢(shì)在于其均值權(quán)重文件較小,訓(xùn)練時(shí)間短,推理速度較快,而且具有較高的精度和健壯性。在科研領(lǐng)域和工業(yè)界,YOLOv5 獲得廣泛的應(yīng)用和認(rèn)可。其網(wǎng)絡(luò)結(jié)構(gòu)主要由輸入端、骨干神經(jīng)網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)以及輸出端4 個(gè)部分組成。首先,在模型的輸入端,要求輸入圖像的尺寸必須被縮放為640×640??紤]到如DOTA 數(shù)據(jù)集同張圖像上目標(biāo)分布不均問題,在數(shù)據(jù)預(yù)處理階段采用了Mosaic 數(shù)據(jù)增強(qiáng)方法,通過隨機(jī)選擇4 張圖片進(jìn)行縮放和拼接進(jìn)行改善。其次,用于特征提取的骨干神經(jīng)網(wǎng)絡(luò)采用了切片結(jié)構(gòu)(Focus)、瓶頸層(C3)和空間金字塔池化等模塊。再次,頸部網(wǎng)絡(luò)借鑒了PANet[9]的思想,提取的特征能夠雙向地將淺層細(xì)節(jié)特征信息和深層高級(jí)語義信息進(jìn)行融合。最后,輸出端將融合不同尺度信息的特征圖送入目標(biāo)位置與類別預(yù)測(cè)層,獲取最終的檢測(cè)結(jié)果。
在YOLOv5s 的基礎(chǔ)上,本文提出了一種適用于遙感圖像領(lǐng)域的CDA-YOLOv5s 目標(biāo)檢測(cè)算法,整體結(jié)構(gòu)如圖1 所示。為了改進(jìn)遙感圖像的目標(biāo)檢測(cè)準(zhǔn)確性,本文采用了一些新的方法。首先,本文通過引入混淆鑒別注意力機(jī)制(Confusion-Distinguishable Attention,CDA)形成新的卷積模塊CCDA,如圖1 所示,增大目標(biāo)與背景之間的差異、降低混淆度,同時(shí)提高對(duì)目標(biāo)的關(guān)注度。通過融合不同尺度低混淆度特征的方式豐富不同尺度上的特征信息,以此減少漏檢和誤檢的情況。其次,在原結(jié)構(gòu)的頸部添加小目標(biāo)檢測(cè)層,將3 個(gè)尺度特征檢測(cè)頭增加到4 個(gè),在160×160 特征圖上增加新的檢測(cè)頭,以解決小目標(biāo)分布緊密、漏檢測(cè)的現(xiàn)象,從而提高算法的多尺度目標(biāo)檢測(cè)性能。
圖1 改進(jìn)YOLOv5s 的遙感目標(biāo)檢測(cè)算法網(wǎng)絡(luò)結(jié)構(gòu)
遙感圖像背景信息復(fù)雜且容易受環(huán)境因素影響,導(dǎo)致誤檢和漏檢問題的出現(xiàn)[10]。本文在YOLOv5s 骨干網(wǎng)絡(luò)的卷積塊中加入CDA 機(jī)制,通過增強(qiáng)目標(biāo)與背景之間的差異,給予目標(biāo)更多的關(guān)注度,獲取更具判別性的特征信息,以解決上述特點(diǎn)導(dǎo)致的問題,其結(jié)構(gòu)如圖2 所示。
圖2 CDA 模塊
具體步驟如下。首先將輸入圖像特征xin定義為(c,h,w),其中c表示當(dāng)前圖像的通道維度數(shù),w表示圖像的寬,h表示圖像的高。其次,對(duì)xin通過降維方式將其變?yōu)?1,1,c×h×w)的一維特征數(shù)組,這里用xre表示。再次,對(duì)xre和其轉(zhuǎn)置矩陣通過矩陣相乘的方式獲取當(dāng)前特征值與其他特征值之間的關(guān)聯(lián)度信息,并且用關(guān)聯(lián)度最高系數(shù)1 減去其所生成的二維的關(guān)聯(lián)度矩陣,獲得當(dāng)前特征值與關(guān)聯(lián)特征值彼此不相關(guān)的關(guān)聯(lián)度殘差圖(c×h×w,c×h×w),并與一維特征數(shù)組xre進(jìn)行余弦相似度計(jì)算獲得保留目標(biāo)特征所獨(dú)有更具判別性的特征信息,其剔除關(guān)聯(lián)度殘差圖中關(guān)聯(lián)特征值與當(dāng)前特征值不相關(guān)的特征信息的一維數(shù)組(1,1,c×h×w),將所獲得具有區(qū)別混淆特征信息的一維數(shù)組進(jìn)行升維。[11]這里采用increase(·)表示升維,將其升維成三維數(shù)組(c,h,w),最后以點(diǎn)乘的方式與輸入圖像特征xin進(jìn)行特征融合,獲得增強(qiáng)原輸入圖像鑒別易混淆目標(biāo)特征信息的能力的xout特征圖,數(shù)學(xué)表達(dá)式為
實(shí)驗(yàn)采用Linux 操作系統(tǒng)作為實(shí)驗(yàn)平臺(tái),采用Intel?Xeon(R) CPU E5-2678 v3 @ 2.50 GHz 的中央處理器(Central Processing Unit,CPU),2 個(gè)Nvidia GeForce GTX 2080Ti 的圖形處理器(Graphics Processing Unit,GPU),具有64 GB 內(nèi)存以及24 GB顯存,編程語言采用Python 3.7,深度學(xué)習(xí)框架采用Pytorch-gpu1.8.0。訓(xùn)練階段,本文采用隨機(jī)梯度下降法優(yōu)化器進(jìn)行優(yōu)化,將初始學(xué)習(xí)率設(shè)置為0.001,根據(jù)訓(xùn)練的收斂情況,微調(diào)學(xué)習(xí)策略和學(xué)習(xí)率??偟挠?xùn)練輪數(shù)為200 個(gè)epoch,學(xué)習(xí)率以0.005 衰減。在推理階段,首先對(duì)待檢測(cè)圖像進(jìn)行圖像分割。其次,通過檢測(cè)模型獲取多尺度的預(yù)測(cè)分類和回歸結(jié)果。再次,將分割后的圖像進(jìn)行拼接復(fù)原,并將結(jié)果統(tǒng)一在原圖上。最后,進(jìn)行非極大值抑制后處理,得到最終的檢測(cè)結(jié)果。
DOTA 數(shù)據(jù)集是一種專門用于遙感目標(biāo)檢測(cè)的數(shù)據(jù)集,包含2 806 張航空?qǐng)D像,涵蓋了15 個(gè)類別[12]。這些圖像的尺寸范圍從800×800 到4 000×4 000,可以顯示各種尺度和形狀的物體。圖像水平邊界框的高度范圍從10 像素到300 像素。本文在預(yù)處理階段采用了圖像分割的方法,以擴(kuò)充數(shù)據(jù)集中的圖像數(shù)量。同時(shí),為了避免尺寸過大的圖像在傳入輸入端時(shí)導(dǎo)致細(xì)節(jié)特征丟失,將分辨率較高的圖像切分為尺度較小的圖像[13]。對(duì)于分辨率過低的圖像,采用填充0 的方式將其填充到640×640尺寸。最后,將擴(kuò)充后的數(shù)據(jù)集按照8 ∶2 的比例劃分為訓(xùn)練集和測(cè)試集。本實(shí)驗(yàn)通過平均精度(Average Precision,AP)對(duì)同類別目標(biāo)在各個(gè)算法檢測(cè)表現(xiàn)進(jìn)行評(píng)估,通過平均精度均值(mean Average Precision,mAP)來對(duì)不同算法在DOTA 數(shù)據(jù)集上的整體表現(xiàn)進(jìn)行評(píng)估。
實(shí)驗(yàn)結(jié)果如表1 所示不僅評(píng)估了本文所提出的方法在DOTA 數(shù)據(jù)集上的性能,還將其與6 個(gè)主流的模型進(jìn)行了比較。由表1 可知,所提出的算法在棒球場(chǎng)、橋梁、小型車輛、大型車輛、籃球場(chǎng)、環(huán)形路及口岸這些與周圍背景混淆度較高以及目標(biāo)較小類別的檢測(cè)性能高于主流的一階段和二階目標(biāo)檢測(cè)算法,說明所提算法在針對(duì)遙感目標(biāo)存在的目標(biāo)與背景相似度較高以及小目標(biāo)分布緊密、漏檢測(cè)問題得到改善。同時(shí),改進(jìn)的YOLOv5s 算法相對(duì)現(xiàn)有其他改進(jìn)的TPH-YOLOv5、YOLOv5-MFF 具有更優(yōu)的檢測(cè)性能,mAP 比原始YOLOv5s 算法提升了4.1%。
表1 不同算法在DTOA 數(shù)據(jù)集的檢測(cè)結(jié)果比較 單位:%
針對(duì)目標(biāo)檢測(cè)在遙感圖像領(lǐng)域存在的問題,本文提出了一種改進(jìn)的YOLOv5s 算法,解決了小目標(biāo)分布緊密、漏檢的現(xiàn)象。通過實(shí)驗(yàn)對(duì)比,在DOTA數(shù)據(jù)集上,本文所提出的算法不僅在YOLOv5s 性能的基礎(chǔ)上提升了4.1%,而且檢測(cè)性能優(yōu)于其他改進(jìn)的YOLOv5s 算法,表明了本文算法在遙感目標(biāo)檢測(cè)上的可行性。