裴永濤,張 梅,粟長(zhǎng)權(quán)
(貴州財(cái)經(jīng)大學(xué)信息學(xué)院,貴陽(yáng) 550025)
遙感圖像是指通過(guò)對(duì)地衛(wèi)星以及航空飛機(jī)等對(duì)地拍攝得到的有關(guān)地球表面的圖像,對(duì)于地表資源監(jiān)測(cè)有著極大的利用價(jià)值。遙感圖像目標(biāo)檢測(cè)技術(shù)是遙感圖像智能解譯任務(wù)中的基石,對(duì)遙感圖像中感興趣的目標(biāo)如飛機(jī)、船舶、汽車等進(jìn)行分類和定位識(shí)別,在自然資源監(jiān)測(cè)、環(huán)境變化檢測(cè)、智慧城市建設(shè)、智慧化農(nóng)業(yè)發(fā)展等各個(gè)領(lǐng)域有著極為廣泛的應(yīng)用。
傳統(tǒng)的遙感圖像目標(biāo)檢測(cè)方法主要包括人工目視解譯判讀、模板匹配和機(jī)器學(xué)習(xí)方法等[1],人工目視解譯需要專業(yè)人員憑借知識(shí)經(jīng)驗(yàn)進(jìn)行目視解譯判讀,主觀性強(qiáng)且耗時(shí)較長(zhǎng),其中光學(xué)遙感圖像中的目標(biāo)由于受到云霧、天氣變化和成像高度的影響,增大了專業(yè)人員對(duì)遙感目標(biāo)檢測(cè)和識(shí)別的難度。模板匹配方法主要通過(guò)預(yù)設(shè)模板,計(jì)算模板與圖像之間的匹配相似度檢測(cè)目標(biāo),該方法面對(duì)不同的尺度遙感目標(biāo)需要設(shè)計(jì)不同的模板,泛化能力較弱。機(jī)器學(xué)習(xí)方法通過(guò)采用不同大小的矩形滑動(dòng)窗口對(duì)遙感圖像進(jìn)行遍歷,篩選出感興趣的目標(biāo)區(qū)域,然后通過(guò)分類器篩選得出最終的遙感目標(biāo)檢測(cè)結(jié)果,該方法面對(duì)不同尺度的目標(biāo)檢測(cè)有效,但檢測(cè)精度較低。
近年來(lái),隨著人工智能技術(shù)以及深度學(xué)習(xí)的蓬勃發(fā)展,基于深度學(xué)習(xí)的通用目標(biāo)檢測(cè)算法逐漸興起,該類方法由于檢測(cè)精度較高、泛化能力好、魯棒性強(qiáng)且應(yīng)用場(chǎng)景廣闊,被很多學(xué)者用于遙感圖像目標(biāo)檢測(cè),但遙感圖像中目標(biāo)密集分布、小目標(biāo)較多,目標(biāo)尺度跨度大等問題也給遙感目標(biāo)檢測(cè)任務(wù)帶來(lái)了較大的挑戰(zhàn)。
當(dāng)前,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法在多個(gè)應(yīng)用領(lǐng)域已取得了長(zhǎng)足進(jìn)步,但在遙感圖像目標(biāo)檢測(cè)領(lǐng)域中,由于遙感圖像目標(biāo)分布密集、方向具有任意性等特點(diǎn),通用的水平框遙感目標(biāo)檢測(cè)算法在表示目標(biāo)時(shí),存在目標(biāo)框攜帶較多的背景、框選不準(zhǔn)確、密集目標(biāo)框混疊等問題[2],因此,使用帶有角度的矩形旋轉(zhuǎn)框?qū)b感目標(biāo)進(jìn)行檢測(cè)逐漸成為研究熱點(diǎn)。
隨著高分遙感圖像數(shù)據(jù)獲取變得更加容易,基于卷積神經(jīng)網(wǎng)絡(luò)的遙感圖像旋轉(zhuǎn)目標(biāo)檢測(cè)算法發(fā)展迅速,這些算法大多都是從通用目標(biāo)檢測(cè)算法延伸而來(lái),Jiang 等[3]在經(jīng)典的Faster RCNN 算法基礎(chǔ)上,提出斜框檢測(cè)算法R2CNN(rotational region CNN),該算法對(duì)感興趣區(qū)域(region of interest,ROI)采用多尺度的池化,提取任意方向目標(biāo)的特征,并預(yù)測(cè)傾斜最小區(qū)域框,一定程度上能夠?qū)崿F(xiàn)傾斜目標(biāo)預(yù)測(cè),但該方法對(duì)于傾斜角度較大的目標(biāo)預(yù)測(cè)效果并不準(zhǔn)確。Ding 等[4]提出的RoI-Transformer 通過(guò)對(duì)RoI進(jìn)行空間變形,并在有向邊界框(oriented bounding box,OBB)標(biāo)注監(jiān)督下學(xué)習(xí)變形參數(shù),模型較為靈活且對(duì)任意方向的遙感目標(biāo)檢測(cè)效果較好。Yang等[5]提出的R3Det在RetinaNet[6]的基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計(jì)特征精細(xì)化模塊(feature refinement module,F(xiàn)RM)重構(gòu)特征,有效解決了旋轉(zhuǎn)框表示目標(biāo)時(shí)的特征錯(cuò)位問題。Xie 等[7]通過(guò)對(duì)經(jīng)典的區(qū)域建議網(wǎng)絡(luò)(region proposal network, RPN)進(jìn)行改進(jìn),在對(duì)目標(biāo)位置進(jìn)行回歸時(shí),采用中點(diǎn)偏移法表示目標(biāo)旋轉(zhuǎn)框,預(yù)測(cè)中心點(diǎn)、寬、高以及兩個(gè)偏移量,針對(duì)遙感目標(biāo)旋轉(zhuǎn)檢測(cè)任務(wù)簡(jiǎn)單高效,但對(duì)于有向目標(biāo)的表示較為復(fù)雜。Li 等[8]改進(jìn)經(jīng)典的一階段無(wú)錨框檢測(cè)算法FCOS[9],提出基于二維高斯分布的橢圓中心采樣等方法,直接預(yù)測(cè)目標(biāo)的中心點(diǎn)、寬、高和旋轉(zhuǎn)角度,使網(wǎng)絡(luò)模型更加簡(jiǎn)單且易于部署。Li 等[10]提出有向表示點(diǎn)(oriented representative points,oriented reppoints)對(duì)任意方向的遙感目標(biāo)進(jìn)行表示,并設(shè)計(jì)有效的質(zhì)量評(píng)估和樣本分配方案,能夠很好地從相鄰的遙感目標(biāo)或背景噪聲中捕獲非軸對(duì)準(zhǔn)特征。
上述方法采用不同的表征方式,對(duì)具有任意方向的遙感目標(biāo)進(jìn)行了很好的檢測(cè)和識(shí)別,但遙感圖像中存在目標(biāo)密集、目標(biāo)本身的極致長(zhǎng)寬比、小目標(biāo)較多等挑戰(zhàn),實(shí)現(xiàn)對(duì)遙感目標(biāo)的精確檢測(cè)還存在一定困難。為實(shí)現(xiàn)準(zhǔn)確的遙感目標(biāo)的旋轉(zhuǎn)框檢測(cè),本文對(duì)經(jīng)典的一階段目標(biāo)檢測(cè)算法ATSS[11](adaptive threshold sample selection)進(jìn)行改進(jìn),提出自適應(yīng)閾值樣本選擇的顯式旋轉(zhuǎn)框檢測(cè)算法ERDet(explicit rotation box detection based on adaptive threshold sample selection),ERDet 結(jié)合Quan 等[12]提出的顯示視覺中心(explicit visual center,EVC),提取全局依賴關(guān)系與局部特征信息,在訓(xùn)練過(guò)程中,采用自適應(yīng)閾值的樣本選擇策略,劃分正負(fù)樣本進(jìn)行訓(xùn)練,并采用長(zhǎng)邊定義法Dle135表示目標(biāo),實(shí)現(xiàn)對(duì)遙感目標(biāo)的旋轉(zhuǎn)框預(yù)測(cè),在DOTA-v1.0數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法有效實(shí)現(xiàn)了對(duì)遙感圖像目標(biāo)的旋轉(zhuǎn)檢測(cè),具有較高的精度。
ERDet 基于水平目標(biāo)檢測(cè)算法ATSS 進(jìn)行改進(jìn),整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。首先,將大小為1024×1024 的圖片輸入到模型的主干網(wǎng)絡(luò)Backbone,主干網(wǎng)絡(luò)Backbone 采用經(jīng)典的ResNet50 網(wǎng)絡(luò),產(chǎn)生不同大小的特征圖C1~C5(為表達(dá)清晰,圖1 中省略了C1 和C2 特征圖)。其次,由于主干網(wǎng)絡(luò)提取的高層特征圖語(yǔ)義信息較為豐富,因此將主干網(wǎng)絡(luò)提取到的最高層特征圖C5(原圖大小的1/32)送入顯示視覺中心結(jié)構(gòu)EVC,實(shí)現(xiàn)層內(nèi)特征交互融合。再者,為了實(shí)現(xiàn)圖像的全局信息與局部信息的有效融合,將特征圖C3~C5 送入特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN),進(jìn)行層間特征交互融合。最后,特征金字塔產(chǎn)生的5 個(gè)特征圖P3~P7送入檢測(cè)頭結(jié)構(gòu)中,預(yù)測(cè)目標(biāo)的類別和位置。
遙感圖像中的目標(biāo)分布密集,尺度差異大,僅僅使用特征金字塔網(wǎng)絡(luò)FPN 并不能很好地融合全部特征,F(xiàn)PN 僅僅實(shí)現(xiàn)了不同層之間(C3~C5)的特征交互融合,為了更好地應(yīng)對(duì)遙感圖像中的密集目標(biāo)預(yù)測(cè)任務(wù),本文結(jié)合Quan 等[12]提出的EVC 結(jié)構(gòu),對(duì)高層特征圖C5 進(jìn)行層間特征融合,EVC 的結(jié)構(gòu)如圖1 所示,由輕量化的多層感知器(lightweight multi-layer perceptron,lightweight MLP)架構(gòu)和可學(xué)習(xí)的視覺中心(learnable visual center,LVC)組成,該結(jié)構(gòu)具體構(gòu)成如圖2 所示,對(duì)于特征圖C5,通過(guò)卷積核大小7 × 7 的卷積、批歸一化和ReLu 函數(shù),擴(kuò)大感受野,對(duì)應(yīng)圖2 中的CBR(7 × 7)結(jié)構(gòu),計(jì)算如公式(1):
式(1)中,C5 代表骨干網(wǎng)絡(luò)傳入的最高級(jí)特征圖,Conv7×7代表卷積核大小為7 × 7 的普通卷積,σ代表ReLU 激活函數(shù),然后得到輸出特征圖F,將F通過(guò)并行的輕量化MLP 和LVC 結(jié)構(gòu),分別提取遙感圖像的長(zhǎng)距離依賴關(guān)系和局部特征,其中輕量化的MLP 結(jié)構(gòu)能夠很好地提取長(zhǎng)距離依賴關(guān)系,檢測(cè)到擁有極致長(zhǎng)寬比特點(diǎn)的遙感目標(biāo)。該結(jié)構(gòu)主要包含兩個(gè)殘差模塊,為使模型有更強(qiáng)的魯棒性,兩個(gè)模塊均包含通道調(diào)整Channel Scaling 與多分支結(jié)構(gòu)隨機(jī)刪除DropPath 操作,第一個(gè)模塊和第二個(gè)模塊的計(jì)算見式(2)和式(3):
圖1 ERDet整體網(wǎng)絡(luò)結(jié)構(gòu)
上述公式中,DConv表示深度可分離的卷積,卷積核大小為1 × 1,GN為分組歸一化,CMLP(channel multi-layer perceptron)表示通道級(jí)多層感知器,為表達(dá)清晰,未將通道調(diào)整Channel Scaling 和多分支隨機(jī)刪除DropPath 加入式(2)和式(3)中。
可學(xué)習(xí)的視覺中心LVC 通過(guò)內(nèi)部字典編碼與全連接層,可學(xué)習(xí)到遙感目標(biāo)判別性的局部特征,固有字典codebook 主要包括兩個(gè)部分,一是固有的k個(gè)碼字,即:B={b1,b2,…,bk};二是一組比例因子,即:S={s1,s2,…,sk}。具體而言,將得到的特征圖F,先經(jīng)過(guò)1 × 1 的卷積,然后通過(guò)卷積核大小3 × 3 的卷積、批歸一化和ReLU 函數(shù)進(jìn)行編碼,最后將編碼后的特征輸入到codebook 中,假設(shè)編碼后的特征圖大小為N,(N=H×W),H和W分別是特征圖的高和寬。)通過(guò)比例因子S,第k個(gè)碼字關(guān)于整個(gè)圖像的信息可通過(guò)公式(4)計(jì)算:
式(4)中,是編碼后特征圖的第i個(gè)像素點(diǎn),bk是第k個(gè)可學(xué)習(xí)的碼字,sk是第k個(gè)縮放因子。后面采用帶有ReLU 激活函數(shù)和平均層的批歸一化層,即圖2中的?(?),用于融合所有碼字的信息。關(guān)于所有碼字對(duì)整個(gè)圖像的特征信息計(jì)算如公式(5):
式(5)中,ek是第k個(gè)碼字關(guān)于整個(gè)圖像的信息,在得到碼本的輸出e之后,將其送入到全連接層和1 × 1 的卷積層,預(yù)測(cè)突出類別的特征,并通過(guò)通道級(jí)乘法和通道級(jí)加法,得到LVC 的最終輸出。
最后,將LVC 的輸出與輕量化的MLP 輸出進(jìn)行拼接,采用1 × 1 的卷積調(diào)整特征圖的通道數(shù),得到P5,此時(shí)的P5 既包含了整個(gè)遙感圖像的全局信息,提取了眾多目標(biāo)更多的長(zhǎng)距離依賴關(guān)系,又保留更多的遙感圖像局部信息,使得角落區(qū)域的目標(biāo)更容易被檢測(cè)到,進(jìn)一步將P5 送入特征金字塔,使得每層的特征圖能夠融合圖像的全局信息與局部信息。
圖2 顯示視覺中心EVC
遙感圖像中的目標(biāo)具有任意方向,針對(duì)遙感圖像的目標(biāo)檢測(cè)任務(wù),使用旋轉(zhuǎn)框表示目標(biāo),相對(duì)于水平框表示而言是更好的選擇,為了更加準(zhǔn)確地檢測(cè)到遙感圖像目標(biāo),在訓(xùn)練過(guò)程中,采用自適應(yīng)閾值的正負(fù)樣本選擇策略劃分正負(fù)樣本,對(duì)真實(shí)目標(biāo)進(jìn)行回歸、分類和預(yù)測(cè)旋轉(zhuǎn)角度。自適應(yīng)閾值的正負(fù)樣本選擇策略具體邏輯如下:
(1)對(duì)于遙感圖像中的每個(gè)真實(shí)目標(biāo)邊框(ground truth bounding box,GT BBox),將特征金字塔輸出的每一層中離GT BBox 的中心距離最近的K個(gè)預(yù)設(shè)錨框加入該GT BBox的候選樣本集合,對(duì)于5 層金字塔而言,共計(jì)有5 ×K個(gè)候選樣本。實(shí)驗(yàn)中默認(rèn)K的取值為9。
(2)計(jì)算所有候選樣本與GT BBox 的交并比(intersection over union,IoU),并統(tǒng)計(jì)這一組IoU 的均值m和方差v,自適應(yīng)閾值為m和v的和,記為t,即t=m+v。
(3)對(duì)GT BBox 的候選樣本集合進(jìn)行篩選,對(duì)于IoU 值大于t的預(yù)設(shè)錨框,如果其中心點(diǎn)位于GT BBox 的內(nèi)部,則分配為正樣本,否則分配為負(fù)樣本。通過(guò)該分配策略,能夠保證真實(shí)的遙感目標(biāo)框具有足夠的正樣本進(jìn)行訓(xùn)練,能夠更好地對(duì)真實(shí)遙感目標(biāo)進(jìn)行預(yù)測(cè)。
遙感圖像目標(biāo)的檢測(cè)是否準(zhǔn)確,目標(biāo)框的表示方法十分重要,常規(guī)的水平框檢測(cè)對(duì)目標(biāo)表示主要由四個(gè)參數(shù)(x,y,w,h)構(gòu)成,即目標(biāo)框的中心點(diǎn)坐標(biāo)(x,y)、寬w和高h(yuǎn),如圖3(a)所示,該方式對(duì)于任意方向的遙感目標(biāo)而言,容易引入大量背景,且造成較近的目標(biāo)框之間形成大量重疊。為此,對(duì)于遙感圖像目標(biāo),我們采用旋轉(zhuǎn)框表示方法中的長(zhǎng)邊定義法Dle135對(duì)遙感目標(biāo)進(jìn)行框選,該表示方法主要由五個(gè)參數(shù)(x,y,w,h,θ)構(gòu)成,如圖3(b)所示,旋轉(zhuǎn)框的最長(zhǎng)邊w與X軸的夾角為θ,,當(dāng)長(zhǎng)邊在X軸上方時(shí)角度為負(fù),在X軸下方時(shí)角度為正,采用該種表示方式,能夠很好地對(duì)具有任意方向的遙感圖像目標(biāo)進(jìn)行表示。
圖3 目標(biāo)檢測(cè)框表示方法
本文采用切分之后的DOTA-v1.0 數(shù)據(jù)集(https://captain-whu.github.io/DOTA/dataset.html)進(jìn)行實(shí)驗(yàn),輸入模型的圖片大小為1024 × 1024,切分后訓(xùn)練集圖片共有15749張,驗(yàn)證集圖片共有5297張,本文實(shí)驗(yàn)環(huán)境為Ubuntu 18.04,基于PyTorch平臺(tái)開發(fā)的開源工具箱mmrotate,實(shí)驗(yàn)硬件配置為兩塊12 GB 顯存的NVIDIA RTX3060 GPU、10th Gen Intel(R)Core(TM)i9-10900KF CPU 和64 GB 內(nèi)存,DOTAv1.0 數(shù)據(jù)集中共標(biāo)注了15 個(gè)遙感地物常見類別,如飛機(jī)、輪船、油罐、大型汽車等。實(shí)驗(yàn)中主干網(wǎng)絡(luò)模型采用經(jīng)典的ResNet50,損失函數(shù)為分類預(yù)測(cè)損失與回歸預(yù)測(cè)損失相加,如公式(6):
式(6)中,λ1和λ2為可調(diào)節(jié)的超參數(shù),實(shí)驗(yàn)中選取λ1= 1 和λ2= 1,Lcls為分類損失,采用Focal Loss,Lreg為回歸損失,采用L1 Loss。實(shí)驗(yàn)中設(shè)置訓(xùn)練的迭代次數(shù)為12個(gè)epoch,采用的優(yōu)化器算法為隨機(jī)梯度下降算法,學(xué)習(xí)率初始設(shè)置為0.0025,在第8 個(gè)epoch 和第11 個(gè)epoch 分別下降10 倍,動(dòng)量初始設(shè)置為0.9,衰減參數(shù)為0.0001。
實(shí)驗(yàn)評(píng)測(cè)結(jié)果指標(biāo)選取平均精度mAP 和單類別精度AP,實(shí)驗(yàn)結(jié)果見表1(所示精度均為百分比制,均只保留一位小數(shù),PL~HC 均為遙感目標(biāo)單類別精度AP 的簡(jiǎn)寫), 其中的Rotate-ATSS 表示僅使用長(zhǎng)邊定義法Dle135的自適應(yīng)閾值樣本選擇目標(biāo)檢測(cè)算法,從表1可以看出,添加了顯示視覺中心EVC的ERDet整體平均精度較之前的Rotate-ATSS提升了2個(gè)百分點(diǎn),從其中單類別精度AP可以看出,針對(duì)大型汽車LV和輪船SH 等矩形目標(biāo)提升較大,表明了EVC 能夠更好地提取到圖像的全局信息與局部信息。
測(cè)試結(jié)果可視化如圖4所示,其中綠色框表示錯(cuò)檢或漏檢區(qū)域,右下角為綠色框區(qū)域的放大圖示,與Rotate-ATSS 算法相比,添加了顯式視覺中心EVC 的ERDet,能夠針對(duì)不同的物體,獲取不同的局部特征和長(zhǎng)距離依賴關(guān)系,如第一行所示,ERDet 能夠正確對(duì)呈傾斜的長(zhǎng)矩形大型汽車進(jìn)行角度預(yù)測(cè),而第二行和第三行則能比Rotate-ATSS 檢測(cè)到朝向復(fù)雜的飛機(jī)和微小模糊的小型汽車。
圖4 DOTA-v1.0旋轉(zhuǎn)框可視化檢測(cè)結(jié)果
表1 平均精度mAP和單類別精度AP檢測(cè)結(jié)果(%)
本文結(jié)合顯示視覺中心EVC,提取復(fù)雜且尺度不同的目標(biāo)的全局信息與局部信息,使用長(zhǎng)邊定義法Dle135表示目標(biāo),對(duì)自適應(yīng)閾值正負(fù)樣本采樣策略的水平目標(biāo)檢測(cè)算法進(jìn)行改進(jìn),提出了ERDet 對(duì)遙感目標(biāo)進(jìn)行旋轉(zhuǎn)檢測(cè),在DOTA-v1.0 數(shù)據(jù)集上的實(shí)驗(yàn)表明,ERDet 能夠很好地對(duì)不同尺度的感興趣目標(biāo)進(jìn)行正確旋轉(zhuǎn)檢測(cè),但ERDet 對(duì)于不同類別的目標(biāo)檢測(cè)精度有所差異,主要是由于復(fù)雜的背景以及訓(xùn)練樣本不均衡所導(dǎo)致的,下一步將結(jié)合不同尺度的卷積核來(lái)提取目標(biāo)更豐富的信息,完成更準(zhǔn)確的遙感目標(biāo)旋轉(zhuǎn)檢測(cè)。