文 青,伍 欣,敖 斌,李 寬,殷建平
(東莞理工學(xué)院 網(wǎng)絡(luò)空間安全學(xué)院,廣東 東莞 523808)
航空?qǐng)D像目標(biāo)檢測(cè)在軍事偵查、海洋船舶管理、災(zāi)害檢測(cè)和無人駕駛等領(lǐng)域應(yīng)用廣泛,對(duì)航空?qǐng)D像目標(biāo)檢測(cè)的研究具有重要的現(xiàn)實(shí)意義。但是,航空?qǐng)D像數(shù)據(jù)集有其自身特點(diǎn),如高空拍攝導(dǎo)致圖片清晰度欠佳,地面背景復(fù)雜干擾物眾多,目標(biāo)尺寸不一且分布不均等。因此,對(duì)航空?qǐng)D像目標(biāo)檢測(cè)的研究有較強(qiáng)的研究價(jià)值和挑戰(zhàn)性。
隨著人工智能技術(shù)的不斷發(fā)展,深度學(xué)習(xí)在圖像分類分割、目標(biāo)檢測(cè)等方面應(yīng)用廣泛,取得了比傳統(tǒng)機(jī)器學(xué)習(xí)方法更優(yōu)的性能。深度學(xué)習(xí)目標(biāo)檢測(cè)方法可分為雙階段目標(biāo)檢測(cè)和單階段目標(biāo)檢測(cè)兩大類。其中,雙階段目標(biāo)檢測(cè)先提取候選圖像區(qū)域,再基于候選區(qū)域進(jìn)行分類和檢測(cè),是個(gè)由粗到細(xì)的過程,以R-CNN[1],Fast R-CNN[2],Faster R-CNN[3],Mask R-CNN[4]等算法為代表;而單階段目標(biāo)檢測(cè)算法,省去提取候選區(qū)域的過程,直接對(duì)圖像進(jìn)行檢測(cè)獲取結(jié)果,以YOLO[5]系列及SSD[6]系列算法為代表。對(duì)比而言,雙階段目標(biāo)檢測(cè)算法檢測(cè)精度較高,但檢測(cè)速度較慢,在實(shí)時(shí)檢測(cè)場(chǎng)景應(yīng)用受限;單階段目標(biāo)檢測(cè)算法檢測(cè)速度較快,但檢測(cè)精度較低,需要針對(duì)應(yīng)用場(chǎng)景進(jìn)行模型定制和優(yōu)化。
和自然圖像目標(biāo)檢測(cè)場(chǎng)景相比,航空?qǐng)D像目標(biāo)檢測(cè)存在如下難題[7]:(1)目標(biāo)尺寸相差較大且小目標(biāo)密集,如圖1(a)所示:(2)目標(biāo)旋轉(zhuǎn)角度隨機(jī),如圖1(b)所示。因此,航空目標(biāo)圖像檢測(cè)需要重點(diǎn)解決旋轉(zhuǎn)目標(biāo)檢測(cè)和小目標(biāo)聚集檢測(cè)兩大問題。
圖1 航空?qǐng)D像示例
在旋轉(zhuǎn)目標(biāo)檢測(cè)方面,自然圖像目標(biāo)檢測(cè)中一般使用水平矩形框標(biāo)注(中心點(diǎn)橫縱坐標(biāo),目標(biāo)的長寬,共4個(gè)數(shù)據(jù)),但在航空?qǐng)D像目標(biāo)檢測(cè)中,目標(biāo)呈現(xiàn)不同方向的排列,需額外增加一個(gè)角度標(biāo)注θ來表示旋轉(zhuǎn)角度,稱為旋轉(zhuǎn)框標(biāo)注(5個(gè)數(shù)據(jù)),如圖2所示。針對(duì)角度標(biāo)簽信息,學(xué)者在Faster R-CNN的基礎(chǔ)上改進(jìn)并提出了R2CNN[8],RRPN[9],SCRDet[10]等旋轉(zhuǎn)目標(biāo)算法。
圖2 水平框標(biāo)注與旋轉(zhuǎn)框標(biāo)注
對(duì)比雙階段檢測(cè)算法,單階段檢測(cè)算法具有檢測(cè)速度快的優(yōu)勢(shì),而YOLOv5[11]作為其中的代表性算法,檢測(cè)速度快且檢測(cè)精度較高,因此選擇YOLOv5算法檢測(cè)航空?qǐng)D像。由于航空?qǐng)D像小目標(biāo)密集、目標(biāo)方向任意的檢測(cè)難題,在使用YOLOv5檢測(cè)航空?qǐng)D像時(shí)存在小目標(biāo)漏檢、目標(biāo)方向檢測(cè)不夠正確、總體檢測(cè)精度不高等問題。針對(duì)上述問題,該文重點(diǎn)從小目標(biāo)檢測(cè)和目標(biāo)角度精確估計(jì)兩個(gè)角度切入,提升YOLOv5模型在航空?qǐng)D像目標(biāo)檢測(cè)上的效果,使用旋轉(zhuǎn)矩形框?qū)в薪嵌鹊哪繕?biāo)物體進(jìn)行精確定位。展開來說,在YOLOv5的基礎(chǔ)上集成Swin Transformer[12]以提升小目標(biāo)檢測(cè)效果;進(jìn)一步將注意力機(jī)制集成到Y(jié)OLOv5框架中關(guān)注定位感興趣區(qū)域;將CSL[13]應(yīng)用于YOLOv5,將角度估計(jì)從回歸問題轉(zhuǎn)化成為分類問題,以更精確地判定目標(biāo)角度。同時(shí),使用數(shù)據(jù)增強(qiáng)、多尺度測(cè)試以及結(jié)果集成等一系列操作提高綜合檢測(cè)效果。在基于航空?qǐng)D像目標(biāo)檢測(cè)競(jìng)賽(Learning to Understand Aerial Images,ICCV 2021)[14]的DOTAv2.0數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果驗(yàn)證了所提方法的有效性,所提Trans_YOLOv5的檢測(cè)結(jié)果達(dá)到60.98%mAP,與官網(wǎng)公布的最優(yōu)競(jìng)賽結(jié)果相比提高2.01百分點(diǎn)。
在YOLOv5系列算法中,根據(jù)模型規(guī)模及參數(shù)總數(shù)差異,可分為YOLOv5S,YOLOv5M,YOLOv5L,YOLOv5X不同規(guī)模系列模型,其中,YOLOv5S模型/參數(shù)規(guī)模最小,YOLOv5X模型/參數(shù)規(guī)模最大。隨著模型/參數(shù)規(guī)模的增大,檢測(cè)速度變慢,但檢測(cè)效果更佳??紤]到航空?qǐng)D像目標(biāo)檢測(cè)場(chǎng)景需求,該文以YOLOv5M展開闡述,下文所提到的YOLOv5指的都是YOLOv5M,但所提方法和技術(shù)適用于YOLOv5全系列算法。
YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)主要是由Backbone、Head兩個(gè)部分組成。Backbone用于特征提取,使用的網(wǎng)絡(luò)為CSPDarknet53,其中的主要組成模塊是Focus,CBS,SPP等。其中,Focus結(jié)構(gòu)采用的是切片操作,是一種非常簡單而有效的特征提取方法;CBS指的是卷積層、BN層以及SiLU激活函數(shù)的組成結(jié)構(gòu);SPP是空間金字塔池化,將任意大小的特征圖轉(zhuǎn)化成固定大小的特征向量。Head部分采用卷積操作,使用經(jīng)典的FPN加PAN設(shè)計(jì),使用自頂向下和自下而上的特征提取方式,并通過不同拼接組合操作將特征圖分成4個(gè)分支,以此獲取不同的下采樣大小的特征圖,加強(qiáng)網(wǎng)絡(luò)特征融合能力。
Trans_YOLOv5的整體框架如圖3所示,圖中虛線框內(nèi)是Backbone,其余部分是Head部分,相比傳統(tǒng)YOLOv5,所提Trans_YOLOv5的改進(jìn)如下:
(1)在Head部分卷積之后添加Coordinate Attention(CA)[15]注意力模塊(圖3標(biāo)注①處),更好提取感興趣區(qū)域;
(2)將Head部分預(yù)測(cè)層中的CSP模塊替換成Swin Transformer模塊(圖3標(biāo)注②處),提升小目標(biāo)檢測(cè)效果。
Trans_YOLOv5算法是一種針對(duì)航空?qǐng)D像檢測(cè)的優(yōu)化算法,其引入注意力機(jī)制、Swin Transformer等技術(shù),在一定程度上可以克服航空?qǐng)D像檢測(cè)中的一些難題,例如小目標(biāo)密集、背景復(fù)雜等問題。
圖3 Trans-YOLOv5整體網(wǎng)絡(luò)框架
Trans_YOLOv5的輸出結(jié)果如圖3右側(cè)模塊所示。具體舉例,當(dāng)輸入1 024*1 024大小的航空?qǐng)D像時(shí),分別經(jīng)過3到6次的下采樣,在預(yù)測(cè)層得到的特征圖大小分別為256*256,128*128,64*64,32*32。預(yù)測(cè)層輸出的特征圖大小可通過公式1計(jì)算得出。
H=(C+L)*P
(1)
其中,C代表使用的數(shù)據(jù)集類別,L代表目標(biāo)標(biāo)簽個(gè)數(shù),P代表預(yù)測(cè)層個(gè)數(shù)。
該文使用Mosaic,Mixup[16]對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)預(yù)處理,并將原本的角度標(biāo)簽使用圓形平滑標(biāo)簽(Circular Smooth Label,CSL)來替代,將角度檢測(cè)從回歸問題變更為分類問題,以提升航空?qǐng)D像目標(biāo)角度檢測(cè)的精度。
具體來說,傳統(tǒng)旋轉(zhuǎn)目標(biāo)檢測(cè)一般將角度標(biāo)簽的處理看作一個(gè)位置信息的回歸問題,這樣處理除了精度欠佳,還易產(chǎn)生邊界問題。邊界問題指的是在邊界的角度上比如-89度和90度損失回歸計(jì)算時(shí)相差很大,實(shí)際上的目標(biāo)位置相差很小。而CSL中使角度的處理從原本的回歸問題轉(zhuǎn)化成分類問題。CSL中將180度的角度范圍看成是一個(gè)180類別的分類。設(shè)置窗口函數(shù)為高斯函數(shù),環(huán)形平滑標(biāo)簽(CSL)將原本的一個(gè)角度標(biāo)簽送入高斯函數(shù)轉(zhuǎn)化成180個(gè)標(biāo)簽,CSL原理如圖4所示。
CSL標(biāo)簽的轉(zhuǎn)化如式2所示。其中g(shù)(x)為高斯窗口函數(shù),參數(shù)r為窗口半徑,窗口半徑為形象化表達(dá),在式3中r代表函數(shù)曲線在x軸的中心,x為目標(biāo)標(biāo)簽中的角度,θ代表當(dāng)前邊界框的角度。高斯函數(shù)的計(jì)算如式3所示,其中a代表高斯函數(shù)曲線的高度。在本次實(shí)驗(yàn)中選擇基于Trans_YOLOv5算法最優(yōu)的CSL檢測(cè)參數(shù),其中高斯函數(shù)的參數(shù)分別設(shè)置:θ為180,b為0,r為2,a為1。
圖4 CSL原理
(2)
(3)
Swin Transformer在計(jì)算機(jī)視覺的密集檢測(cè)任務(wù)中達(dá)到了較好的效果,因此,該文嘗試將Swin Transformer Block嵌入YOLOv5的整體網(wǎng)絡(luò)結(jié)構(gòu)中,可以通過自注意力機(jī)制加強(qiáng)特征提取,提升航空?qǐng)D像中密集小目標(biāo)的檢測(cè)效果。
Swin Transformer Block的整體結(jié)構(gòu)如圖5所示,其中LN是正則化操作模塊,W-MSA是自注意力計(jì)算操作,SW-MSA是加入了窗口移位操作的自注意力計(jì)算操作,MLP是基本的多層感知機(jī)。圖5右側(cè)模塊計(jì)算流程如下:數(shù)據(jù)輸入進(jìn)入LN層正則化,在SW-MSA層內(nèi)將數(shù)據(jù)劃分成7*7的窗口,并使數(shù)據(jù)的W和H是7的倍數(shù);在SW-MSA模塊內(nèi)進(jìn)行移動(dòng)窗口的自注意力計(jì)算,并進(jìn)行自注意力編碼操作;將原始輸入數(shù)據(jù)和SW-MSA的輸出結(jié)果相加,再通過一個(gè)LN層與MLP層,同樣進(jìn)行一次相加操作得到Swin Transformer Block的結(jié)果。
圖5 Swin Transformer模塊整體結(jié)構(gòu)
整體來說,使用Swin Transformer替代CSP模塊后,Trans-YOLOv5對(duì)于密集的小目標(biāo)檢測(cè)效果更優(yōu),這是因?yàn)镾win Transformer模塊能夠更好地捕捉全局語義信息[17],關(guān)聯(lián)目標(biāo)之間的交互信息,更好檢測(cè)密集小目標(biāo)。
在YOLOv5中加入注意力模塊可以更好地消除背景噪音[18]。CA注意力是一種將位置信息嵌入通道注意力的移動(dòng)網(wǎng)絡(luò)注意力機(jī)制。CA注意力將通道注意力分解為兩個(gè)一維特征編碼過程,分別沿兩個(gè)空間方向聚合特征,一個(gè)方向捕捉位置信息,另一個(gè)方向保留通道中的遠(yuǎn)程依賴關(guān)系,從而使生成的特征圖對(duì)于位置信息敏感以及有方向感知。
CA注意力模塊整體結(jié)構(gòu)如圖6所示。將CA注意力模塊集成到Y(jié)OLOv5的主干網(wǎng)絡(luò)用于檢測(cè)航空?qǐng)D像,可以更好地解決航空?qǐng)D像中背景復(fù)雜的問題,提高全局表征能力,使網(wǎng)絡(luò)模型更加關(guān)注于待檢測(cè)的目標(biāo)對(duì)象。
當(dāng)前的航空?qǐng)D像數(shù)據(jù)集中,DOTA[14]是地球觀測(cè)和遙感領(lǐng)域最大的帶注釋對(duì)象數(shù)據(jù)集,目前DOTA有3個(gè)版本的數(shù)據(jù)集,包括DOTAv1.0,DOTAv1.5和DOTAv2.0。其中,ICCV2021(IEEE International Conference on Computer Vision)基于 DOTAv2.0數(shù)據(jù)集舉行了大型航空?qǐng)D像檢測(cè)競(jìng)賽。與DOTAv1.0和DOTAv1.5數(shù)據(jù)集相比,DOTAv2.0數(shù)據(jù)集的目標(biāo)類別更多,小目標(biāo)數(shù)量更多,檢測(cè)任務(wù)更為困難。
圖6 CA模塊整體結(jié)構(gòu)
DOTAv2.0數(shù)據(jù)集收集于Google地球、GF-2衛(wèi)星和航拍圖像等,共有18個(gè)常見類型(分別是飛機(jī)、船舶、儲(chǔ)罐、棒球場(chǎng)、網(wǎng)球場(chǎng)、籃球場(chǎng)、地面田徑場(chǎng)、港口、橋梁、大型車輛、小型車輛、直升機(jī)、環(huán)島、足球場(chǎng)、游泳池、集裝箱起重機(jī)、機(jī)場(chǎng)和直升機(jī)停機(jī)坪)、11 268張圖像和1 793 658個(gè)目標(biāo)實(shí)例。
圖7 長邊定義法標(biāo)簽格式轉(zhuǎn)換
實(shí)驗(yàn)環(huán)境的設(shè)置如表1所示。訓(xùn)練過程使用YOLOv5官方提供的預(yù)訓(xùn)練權(quán)重,訓(xùn)練設(shè)置的輪數(shù)為150,學(xué)習(xí)率初始值設(shè)置為0.01,按照余弦退火方式進(jìn)行縮減,并使用基礎(chǔ)數(shù)據(jù)增強(qiáng)、Mosaic以及Mixup進(jìn)行數(shù)據(jù)增強(qiáng)。
在測(cè)試過程中,不使用數(shù)據(jù)增強(qiáng),NMS IoU交并比閾值設(shè)置為0.1,置信度閾值設(shè)置為0.05。使用多尺度測(cè)試時(shí),將數(shù)據(jù)集圖片分別縮放成[0.5,1.0,1.5]倍大小。
表1 實(shí)驗(yàn)環(huán)境
該文采用ICCV2021大型航空?qǐng)D像檢測(cè)競(jìng)賽的評(píng)價(jià)標(biāo)準(zhǔn)即平均精度均值(mean Average Precision,mAP)作為算法評(píng)價(jià)準(zhǔn)則。單個(gè)類別使用平均精度(Average Precision,AP)作為評(píng)價(jià)性能的指標(biāo)。
交并比(IoU)是預(yù)測(cè)框與真實(shí)框的交集和并集的比值。預(yù)測(cè)框和真實(shí)框重疊的區(qū)域是交集,而兩者覆蓋的總區(qū)域就是并集。True Positives(TP)指的是預(yù)測(cè)正確的正樣本個(gè)數(shù),True Negatives(TN)指的是預(yù)測(cè)正確的負(fù)樣本個(gè)數(shù),False Positives(FP)指的是預(yù)測(cè)錯(cuò)誤的負(fù)樣本個(gè)數(shù),False Negatives(FN)指的是預(yù)測(cè)錯(cuò)誤的正樣本個(gè)數(shù)。精確率(Precision)是在識(shí)別出來的圖片中TP所占的比率,如式4。召回率(Recall)是所有正樣本中被正確識(shí)別的比例,如式5。
P-R曲線是一種用于衡量分類器性能的曲線,它以召回率為橫坐標(biāo),以精確率為縱坐標(biāo),通過改變分類器的閾值來繪制。
(4)
(5)
AP是P-R曲線下的面積,通常來說,分類器越好,AP值越高。在多類目標(biāo)檢測(cè)場(chǎng)景中,每類都能計(jì)算出對(duì)應(yīng)的AP值,多個(gè)類別AP值的平均就是平均準(zhǔn)確度均值mAP。mAP衡量的是模型在所有類別上的檢測(cè)表現(xiàn),是目標(biāo)檢測(cè)中的重要指標(biāo),mAP取值在0到1之間,數(shù)值越高表示模型的表現(xiàn)越好。本文按照比賽規(guī)則訓(xùn)練模型,并通過在DOTA的官網(wǎng)提交測(cè)試集結(jié)果獲取每個(gè)類別的和AP和最終的mAP。
首先將YOLOv5算法修改成適應(yīng)于旋轉(zhuǎn)框形式,并以此為性能基準(zhǔn),進(jìn)行若干組消融實(shí)驗(yàn),分別驗(yàn)證CSL算法、CA注意力模塊、Swin Transformer模塊融合的有效性,結(jié)果如表2所示。從表2的結(jié)果中可以看到,加入CA注意力以及Swin Transformer模塊之后,結(jié)果都有1百分點(diǎn)左右的提升。實(shí)驗(yàn)結(jié)果同時(shí)表明,所提Tran-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)取得了最優(yōu)的檢測(cè)效果。
其次,為驗(yàn)證YOLOv5算法集成Swin Transformer對(duì)密集小目標(biāo)檢測(cè)的效果,開展對(duì)比實(shí)驗(yàn),結(jié)果如表3所示??梢?將Swin Transformer模塊引入YOLOv5結(jié)構(gòu)后,改進(jìn)模型對(duì)小目標(biāo)的檢測(cè)效果有了明顯的提升,小型車輛和船舶檢測(cè)效果明顯提升。
表2 不同模塊組合實(shí)驗(yàn)結(jié)果對(duì)比
表3 小目標(biāo)檢測(cè)結(jié)果對(duì)比
最后,為驗(yàn)證所提Trans-YOLOv5在航空?qǐng)D像目標(biāo)檢測(cè)上的整體效果,在DOTAv2.0數(shù)據(jù)集上與RetinaNet OBB[19],Mask R-CNN[4],Cascade Mask R-CNN[20]等方法進(jìn)行對(duì)比,對(duì)比結(jié)果如表4所示。從實(shí)驗(yàn)結(jié)果中可以看到,所提Trans_YOLOv5算法在DOTAv2.0數(shù)據(jù)集上相比其他檢測(cè)算法取得了更優(yōu)的檢測(cè)性能,最終mAP檢測(cè)結(jié)果為60.98%,比ECCV2021大型航空?qǐng)D像檢測(cè)競(jìng)賽最佳結(jié)果[21]高2.01百分點(diǎn)。
表4 不同算法結(jié)果對(duì)比
針對(duì)航空密集小目標(biāo)檢測(cè)和目標(biāo)角度精確估計(jì)兩個(gè)問題,該文在YOLOv5的基礎(chǔ)上集成Swin Transformer以提升小目標(biāo)檢測(cè)效果;并將注意力機(jī)制集成到Y(jié)OLOv5框架中解決航空?qǐng)D像背景復(fù)雜的問題;同時(shí),將CSL應(yīng)用于YOLOv5,將角度估計(jì)從回歸問題轉(zhuǎn)化成為分類問題,以更精確地判定目標(biāo)角度。在DOTAv2.0數(shù)據(jù)集上取得了目前最優(yōu)的檢測(cè)效果。后續(xù)研究將關(guān)注在訓(xùn)練類別數(shù)據(jù)不平衡方面,以更好訓(xùn)練模型提升檢測(cè)效果。