陳超,趙巍
(北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100191)
在遙感圖像研究中,目標(biāo)檢測是理解地面信息的重要手段,目的是在遙感圖像中自動搜索出感興趣目標(biāo),并標(biāo)定其位置、判別其類別。近年來,隨著深度學(xué)習(xí)的發(fā)展[1],通用圖像的目標(biāo)檢測取得了巨大的發(fā)展和進(jìn)步,同時隨著高質(zhì)量的遙感數(shù)據(jù)集(如DOTA 數(shù)據(jù)集[2])的建立,遙感圖像目標(biāo)檢測也逐漸成為研究熱點(diǎn)。與一般圖像不同,地理空間圖像通常來自鳥瞰視角,這就造成遙感圖像中目標(biāo)尺寸變化巨大,目標(biāo)姿態(tài)不一,目標(biāo)長寬比變化極端,且遙感成像還受到光照、環(huán)境、季節(jié)等多種因素影響。上述變化均為遙感圖像目標(biāo)檢測帶來了額外的挑戰(zhàn)。
為實(shí)現(xiàn)更好的檢測性能,目前大部分先進(jìn)的遙感圖像目標(biāo)檢測算法都基于域卷積神經(jīng)網(wǎng)絡(luò)(region-convolutional neural networks, R-CNN)的 系列網(wǎng)絡(luò)[3-6]。R-CNN 系列網(wǎng)絡(luò)生成大量的水平檢測框(horizontal bounding box,HBB)作為感興趣區(qū)域,通過復(fù)雜的感興趣區(qū)域池化操作(如感興趣區(qū)域池化[4]、感興趣區(qū)域?qū)R[6]、感興趣區(qū)域可變形池化[7])提取感興趣區(qū)域的特征,基于這些區(qū)域的特征進(jìn)行分類與定位。在遙感圖像中,水平的感興趣區(qū)域會造成預(yù)測邊框與旋轉(zhuǎn)物體之間的不匹配問題[8]。例如,遙感圖像中的物體通常具有一定的朝向且可能呈密集排列(如在港口??康拇慌c在停車場停放的車輛),導(dǎo)致水平感興趣區(qū)域包含若干個物體。自然的解決方法[9-10]是利用定向檢測框(oriented bounding box,OBB)作為錨(anchor)來處理旋轉(zhuǎn)的物體,這些方法需要使用大量不同角度、比例、尺度的錨,導(dǎo)致網(wǎng)絡(luò)的效率較低。近期,RoI Transformer[8]算法使用將水平感興趣區(qū)域轉(zhuǎn)換為定向感興趣區(qū)域的方式來解決效率低的問題,但仍需要進(jìn)行復(fù)雜的感興趣區(qū)域池化操作。
與基于R-CNN 的網(wǎng)絡(luò)相比,單階段網(wǎng)絡(luò)不進(jìn)行感興趣區(qū)域池化操作,直接對感興趣區(qū)域進(jìn)行分類與回歸,通常效率較高但精度較差[2]。單階段網(wǎng)絡(luò)在遙感圖像目標(biāo)檢測上性能較差的原因主要是由于單階段網(wǎng)絡(luò)沒有感興趣區(qū)域池化操作,單純依賴卷積提取特征。而卷積神經(jīng)網(wǎng)絡(luò)在提取信息時會受制于固定的空間結(jié)構(gòu),采樣的位置始終是固定的,無法實(shí)現(xiàn)靈活的特征選擇,而遙感目標(biāo)朝向、尺度、形狀不一,采樣點(diǎn)無法聚焦于目標(biāo)。針對卷積神經(jīng)網(wǎng)絡(luò)受制于固定空間結(jié)構(gòu)的問題,可變形卷積(deformable convolution)[7]根據(jù)特征映射在原本的采樣點(diǎn)處學(xué)習(xí)一個偏移,使采樣點(diǎn)聚焦于目標(biāo),但其要求堆疊大量的可變形卷積,造成速度的瓶頸;對齊卷積(alignment convolution)[11]根據(jù)物體的方向與尺度使采樣點(diǎn)跟隨旋轉(zhuǎn)目標(biāo)動態(tài)調(diào)整,但其采樣點(diǎn)仍然維持矩形的形狀,無法根據(jù)物體的具體形狀實(shí)現(xiàn)聚焦。
除了考慮局部的特征聚焦外,遙感圖像目標(biāo)尺度變化巨大,還需對網(wǎng)絡(luò)的多尺度進(jìn)行更深入的研究。而目前多尺度的研究主要基于特征金字塔結(jié)構(gòu)[12],其在不同層的特征映射檢測不同尺度的物體。特征金字塔的出發(fā)點(diǎn)是模型對于不同尺度的物體應(yīng)具有不同的感受野,具有不同尺度感受野的特征映射包含了不同的有效信息,對于同一尺度的不同物體,感受野也需要有細(xì)微的差別。
針對上述卷積神經(jīng)網(wǎng)絡(luò)在提取目標(biāo)信息時受制于固定的空間結(jié)構(gòu),單階段遙感圖像目標(biāo)檢測網(wǎng)絡(luò)無法實(shí)現(xiàn)特征聚焦的問題,本文提出了可變形對齊卷積,根據(jù)定向邊框的長、寬和角度改變卷積的采樣點(diǎn),根據(jù)特征動態(tài)給采樣點(diǎn)細(xì)微的偏移,實(shí)現(xiàn)了動態(tài)的特征選擇,以適應(yīng)不同尺度、角度、形狀的物體;受啟發(fā)于同一尺度的不同類別物體需要的感受野的細(xì)微差異,提出了基于可變形對齊卷積的感受野自適應(yīng)模塊,融合具有不同尺度感受野的特征映射,自適應(yīng)地改變神經(jīng)元的感受野。以上述2 個創(chuàng)新點(diǎn)為基礎(chǔ),提出了基于動態(tài)特征選擇的單階段遙感圖像精確目標(biāo)檢測算法DFSNet。
DFSNet 使用RetinaNet[13]作為基礎(chǔ)模型,首先使用骨干網(wǎng)絡(luò)提取多尺度的特征,再使用感興趣區(qū)域轉(zhuǎn)換模塊將水平檢測框轉(zhuǎn)換為定向檢測框,然后使用感受野自適應(yīng)模塊得到包含不同感受野信息的特征映射,感受野自適應(yīng)模塊中使用動態(tài)特征選擇層實(shí)現(xiàn)特征的聚焦,最后經(jīng)分類與回歸子網(wǎng)絡(luò)得到檢測的結(jié)果。網(wǎng)絡(luò)的總體結(jié)構(gòu)如圖1 所示。
圖1 DFSNet 總體結(jié)構(gòu)Fig.1 Overall structure of DFSNet
RetinaNet 的具體結(jié)構(gòu)如圖2 所示,主要包括骨干網(wǎng)絡(luò)和預(yù)測分支。骨干網(wǎng)絡(luò)包括特征提取網(wǎng)絡(luò)和特征金字塔模塊。其中,特征提取網(wǎng)絡(luò)的作用是提取圖像特征,RetinaNet 主要使用ResNet[14]作為特征提取網(wǎng)絡(luò);特征金字塔模塊[12]的作用是融合多尺度的特征映射。預(yù)測分支包括分類子網(wǎng)絡(luò)與回歸子網(wǎng)絡(luò),均由1 層卷積構(gòu)成,分別實(shí)現(xiàn)對包圍目標(biāo)的類別識別與邊框回歸。
圖2 RetinaNet 總體結(jié)構(gòu)Fig.2 Overall structure of RetinaNet
如圖3 所示,圖中的實(shí)線邊框表示一個定向檢測框 (x,y,w,h,θ),其中,(x,y)為邊框的中心點(diǎn)坐標(biāo),w 和 h分 別為邊框的寬和長,θ ∈[-π/4,3π/4]為邊框與 x軸的夾角。由于設(shè)置多個不同角度、比例、尺度的錨將給網(wǎng)絡(luò)造成極大的計算負(fù)擔(dān),而不在錨中加入角度參數(shù)直接預(yù)測角度精度較低,因此DFSNet中的RetinaNet 不直接對定向旋轉(zhuǎn)框進(jìn)行預(yù)測,而是先預(yù)測定向旋轉(zhuǎn)框的最小外接水平矩形(見圖3虛線矩形),再由感興趣區(qū)域轉(zhuǎn)換模塊回歸出定向旋轉(zhuǎn)框(見圖3 實(shí)線矩形),降低了網(wǎng)絡(luò)的學(xué)習(xí)難度。
感興趣區(qū)域轉(zhuǎn)換模塊由RoI Transformer[8]提出,是一個有物體分類分支和邊框回歸分支的輕量級網(wǎng)絡(luò),分類分支與回歸分支均由2 層卷積構(gòu)成,完成了從水平檢測框到定向檢測框的轉(zhuǎn)換。
標(biāo)準(zhǔn)的二維卷積(見圖4(a))利用一個網(wǎng)格R={(rx,ry)} (如 R={(-1,-1),(-1,0),···,(0,1),(1,1)})在特征映射 X上進(jìn)行采樣,然后將采樣的值乘以權(quán)重Wweight再 求和,得到特征映射 Y。Y在每一個位置p的特征計算公式為
式中:orn為 偏移量 ODC中在采樣點(diǎn) rn的偏移量。
如圖4(c)所示,與標(biāo)準(zhǔn)卷積相比,對齊卷積[11]根據(jù)感興趣區(qū)域給采樣點(diǎn)增加偏移量 OAC,OAC的計算方式如式(3)所示。Y在每一個位置 p的特征計算公式變?yōu)?/p>
圖4 核尺寸為3×3 的不同卷積的采樣點(diǎn)對比Fig.4 Comparison of sampling locations of different convolutions with kernel size of 3×3
可變形卷積在提取特征時,可以更多地把注意力放在與目標(biāo)有關(guān)的位置上,更好地處理不同形狀的目標(biāo);對齊卷積在提取旋轉(zhuǎn)物體的特征時,可以使采樣點(diǎn)的分布貼近定向邊框的形狀,更好地提取旋轉(zhuǎn)物體的特征。因此,將可變形卷積與對齊卷積結(jié)合起來,設(shè)計了可變形對齊卷積,如圖4(d)所示??勺冃螌R卷積能夠先根據(jù)候選邊框調(diào)整采樣點(diǎn),使采樣點(diǎn)的分布(圖4(d)中矩形點(diǎn))貼近定向邊框的形狀,再通過特征學(xué)習(xí)偏移,聚集于與目標(biāo)有關(guān)的位置上(圖4(d)中三角形點(diǎn)),從而實(shí)現(xiàn)更好的特征提取。可變形對齊卷積的采樣點(diǎn)偏移量ODAC為
圖5 為核尺寸為3×3 的不同卷積的采樣點(diǎn)對比,可以更形象地說明不同卷積對于采樣點(diǎn)的影響。如圖5(a)所示,標(biāo)準(zhǔn)二維卷積受制于固定的空間結(jié)構(gòu),采樣點(diǎn)為圖中圓點(diǎn),即通常的采樣點(diǎn),無法將采樣點(diǎn)集中在艦船上;如圖5(b)所示,經(jīng)過可變形卷積,采樣點(diǎn)為圖中的三角形點(diǎn),可以集中于艦船之上,但這需要大量的可變形卷積的堆疊,嚴(yán)重影響模型的速度;如圖5(c)所示,經(jīng)過對齊卷積后,采樣點(diǎn)為圖中的矩形點(diǎn),呈定向框分布,初步實(shí)現(xiàn)對艦船的聚焦;如圖5(d)所示,經(jīng)過可變形對齊卷積后,網(wǎng)絡(luò)可以先根據(jù)艦船的方向、尺度、長寬比大致實(shí)現(xiàn)對艦船的聚焦,再根據(jù)特征圖對采樣點(diǎn)進(jìn)行細(xì)微的調(diào)整,得到與物體形狀更為匹配的三角形采樣點(diǎn)。可變形對齊卷積能夠改變采樣點(diǎn)動態(tài)地選擇特征,實(shí)現(xiàn)對艦船的聚焦。
基于可變形對齊卷積,構(gòu)建了動態(tài)特征選擇層,如圖6 所示。對于感興趣區(qū)域轉(zhuǎn)換模塊輸出的H×W×5的特征映射,首先將其解碼為定向邊框(x,y,w,h,θ)的形式,然后利用式(3)得到對齊的偏移量;同時特征映射經(jīng)過卷積得到進(jìn)一步的偏移量。2 種偏移量輸入到可變形對齊卷積,特征映射經(jīng)可變形對齊卷積后得到采樣點(diǎn)聚焦于目標(biāo)的特征映射,實(shí)現(xiàn)了特征的動態(tài)選擇。
圖6 動態(tài)特征選擇層Fig.6 Dynamic feature selection layer
具有同一尺度的不同類別的物體,所需要的感受野也應(yīng)有細(xì)微的差別。例如,同一個尺度的車輛與足球場,足球場的邊緣、紋理特征不明顯,需要的感受野應(yīng)更大以便提取更多背景信息,而車輛的邊緣、紋理特征明顯,感受野可以相對稍小??勺冃尉矸e層輸出的特征映射的感受野受到感興趣區(qū)域邊框參數(shù)與核大小控制,為了融合不同尺度感受野的信息,受TridentNet[15]與DRN[16]啟發(fā),提出了基于可變形對齊卷積的感受野自適應(yīng)模塊,融合不同核尺寸的可變形卷積層輸出的特征映射。如圖7所示,輸入的特征映射 X經(jīng)過具有不同核尺寸(1×1、3×3、5×5)的動態(tài)特征選擇層,分別得到特征映射Xi∈RH×W×C(i ∈1,2,3),經(jīng)過1×1 卷積、Batch Normalization[17]和ReLU 激 活 函 數(shù) 得 到 特 征 映 射Ai∈RH×W×1(i ∈1,2,3),如式(6)所示,通過fast normalization[18]得到不同特征映射的權(quán)重 Wi∈RH×W×1(i ∈1,2,3),最終如式(7)所示得到融合的特征 Y。
圖7 感受野自適應(yīng)模塊Fig.7 Receptive field adaptive module
1.6.1 基本的回歸目標(biāo)
針對旋轉(zhuǎn)檢測框,回歸的目標(biāo)主要有
式中:(xg,yg,wg,hg,θg)和 (x,y,w,h,θ)分別代 表真實(shí)邊框和錨;k 為一個確保 (θg-θ+kπ)∈[-π/4,3π/4]的整數(shù)。在DFSNet 的動態(tài)特征選擇層中,錨是提前設(shè)置的水平邊框,θ設(shè)為0;在感受野自適應(yīng)模塊塊中,錨是動態(tài)特征選擇層輸出的旋轉(zhuǎn)邊框結(jié)果。
1.6.2 匹配策略
使用交并比(intersection over union,IoU)作為邊框匹配的指標(biāo),如圖8 所示,IoU 代表2 個邊框(在訓(xùn)練階段匹配正負(fù)樣本時,使用錨與真實(shí)邊框計算 IoU,在推理階段使用不同的預(yù)測邊框計算IoU)的重疊程度,計算公式為
圖8 IoU 的解釋Fig.8 Explanation of IoU
將與真實(shí)框的IoU 大于0.5 的錨設(shè)為正樣本,小于0.4 的設(shè)為負(fù)樣本。動態(tài)特征選擇層中,錨是水平框,真實(shí)邊框是旋轉(zhuǎn)邊框,此時根據(jù)錨與旋轉(zhuǎn)邊框的最小外接矩形計算IoU。感受野自適應(yīng)模塊中,直接計算動態(tài)特征選擇層輸出的旋轉(zhuǎn)邊框與真實(shí)的旋轉(zhuǎn)邊框的IoU。
1.6.3 損失函數(shù)
DFSNet 的損失函數(shù)由動態(tài)特征選擇層的損失與感受野自適應(yīng)模塊的損失構(gòu)成,每一部分損失由分類的損失與回歸的損失構(gòu)成,總的損失函數(shù)如下:
實(shí)驗(yàn)采用的硬件環(huán)境為:CPU 配置為Intel(R)Xeon(R) E5-2680 V3@2.50 GHz,GPU 配置為NVIDIA 1080 Ti。實(shí)驗(yàn)的軟件環(huán)境為:Ubuntu16.04.6 LTS、CUDA10.0、PyTorch[19]1.3.1 和Python3.6.9。
DOTA 數(shù)據(jù)集[2]是目前最通用的遙感圖像目標(biāo)檢測數(shù)據(jù)集,包含2 806 張圖片,圖片的大小在800×800 到4 000×4 000 像 素 范 圍 內(nèi),包 含188 282個不同尺度、不同方向、不同形狀的實(shí)例。DOTA數(shù)據(jù)集包含15 個類別的物體,分別為飛機(jī) (PL)、棒球場(BD)、橋梁(BG)、田徑場(GTF)、小型車輛(SV)、大型車輛(LV)、船只(SH)、網(wǎng)球場(TC)、籃球場(BC)、油罐(ST)、足球場(SBF)、環(huán)島(RA)、港口(HA)、游泳池(SP)及直升機(jī)(HC)。
采用ResNet50 FPN 作為骨干網(wǎng)絡(luò)。對于特征金字塔(如P3~P7)的每一層特征映射,只在一個點(diǎn)上生成一個正方形的錨,錨的尺度是特征映射步長的4 倍(如32、64、128、256、512)。實(shí)驗(yàn)均在DOTA數(shù)據(jù)集上訓(xùn)練24 個輪次,使用SGD 作為優(yōu)化器,初始學(xué)習(xí)率設(shè)置為0.01,在第18 和第22 個輪次學(xué)習(xí)率下降10 倍。實(shí)驗(yàn)輸入圖片尺寸為1 024×1 024,使用4 張1080 Ti 顯卡進(jìn)行單尺度的訓(xùn)練,每次迭代處理16 張圖片,數(shù)據(jù)增強(qiáng)僅使用隨機(jī)的鏡像翻轉(zhuǎn),測試時使用一張顯卡,非極大值抑制(nonmaximum suppression, NMS)的閾值為0.1。
平均精度(average precision, AP)是精度-召回曲線下的面積,DOTA 數(shù)據(jù)集使用IoU=0.5 時的AP 作為評估指標(biāo)。mAP 代表對不同類別AP 求平均的結(jié)果。
2.4.1 基礎(chǔ)模型RetinaNet 結(jié)果
在基礎(chǔ)模型RetinaNet 中,將錨的長寬比分別設(shè)置為0.5、1、1.5,尺度設(shè)置為特征映射步長的2、4、8 倍,在特征映射的一個點(diǎn)設(shè)置9 個錨。最終可以在DOTA 數(shù)據(jù)集上達(dá)到68.05%的mAP,驗(yàn)證了基礎(chǔ)模型的可靠性。
2.4.2 可變形對齊卷積的作用
為驗(yàn)證可變形對齊卷積的有效性,將可變形對齊卷積與其他卷積進(jìn)行對比。實(shí)驗(yàn)中,將DFSNet的可變形對齊卷積替換為其他卷積,并且不使用感受野自適應(yīng)模塊,而是在感受野轉(zhuǎn)換模塊后經(jīng)過3×3 的不同卷積得到修正的特征映射,再進(jìn)行類別識別與邊框回歸,其他網(wǎng)絡(luò)結(jié)構(gòu)與設(shè)置維持不變。特別的,可變形卷積需要一定的堆疊才會起作用,因此實(shí)驗(yàn)中使用了2 層可變形卷積。
如表1 所示,可變形卷積與對齊卷積都能使網(wǎng)絡(luò)的識別精度得以提高,可變形對齊卷積能夠結(jié)合兩者的優(yōu)點(diǎn),實(shí)現(xiàn)對目標(biāo)的聚焦,在標(biāo)準(zhǔn)卷積的基礎(chǔ)上mAP 提升了2.01%。
表1 可變形對齊卷積與其他卷積對比Table 1 Comparison between deformable alignment convolution and other convolutions
2.4.3 感興趣區(qū)域轉(zhuǎn)換模塊、動態(tài)特征選擇層、感受野自適應(yīng)模塊的作用
為了驗(yàn)證感興趣區(qū)域轉(zhuǎn)換模塊、動態(tài)特征選擇層、感受野自適應(yīng)模塊的作用,對其進(jìn)行了消融實(shí)驗(yàn),逐步添加感興趣區(qū)域轉(zhuǎn)換模塊、動態(tài)特征選擇層與感受野自適應(yīng)模塊。如表2 所示,通過添加感興趣區(qū)域轉(zhuǎn)換模塊、動態(tài)特征選擇層、感受野自適應(yīng)模塊,模型的性能持續(xù)提高,表明了三者可以相互兼容,并且可以聯(lián)合使用來獲得最佳性能。
表2 DFSNet 的消融實(shí)驗(yàn)對比Table 2 Ablation studies of DFSNet
2.4.4 與其他模型對比及可視化
如表3 所示,DFSNet 在使用ResNet50 FPN 作骨干網(wǎng)絡(luò)時,在DOTA 數(shù)據(jù)集上可以達(dá)到74.04%的mAP,遠(yuǎn)遠(yuǎn)優(yōu)于其他單階段或雙階段模型,有著優(yōu)異的性能,說明DFSNet 能夠有效提高不同尺度、不同類別物體的檢測精度。與基礎(chǔ)模型Retina-Net 相比,DFSNet 在小型車輛(SV)、大型車輛(LV)、船只(SH)、油罐(ST)提升很大,證明DFSNet 能夠?qū)γ芗帕械奈矬w實(shí)現(xiàn)聚焦。DFSNet 在DOTA 數(shù)據(jù)集的可視化結(jié)果如圖9 所示??梢钥吹?,DFSNet相比基礎(chǔ)模型有著優(yōu)異的檢測效果。
表3 DFSNet 與其他模型在DOTA 數(shù)據(jù)集上的對比結(jié)果Table 3 Comparison of DFSNet and other methods on DOTA
在RetinaNet 的基礎(chǔ)上,增加了感興趣區(qū)域轉(zhuǎn)換模塊、動態(tài)特征選擇層、感受野自適應(yīng)模塊,提出了基于動態(tài)特征選擇的遙感圖像目標(biāo)檢測算法DFSNet。
1)引入感興趣區(qū)域轉(zhuǎn)換模塊,使得DFSNet 算法在定向框檢測過程中不需要使用大量不同角度、比例、尺度的錨,算法在DOTA 數(shù)據(jù)集上mAP 達(dá)到71.17%,比基礎(chǔ)模型RetinaNet 提高了3.12%。
2)使用可變形對齊卷積解決了卷積神經(jīng)網(wǎng)絡(luò)受制于固定的空間結(jié)構(gòu)的問題,使得DSFNet 算法可以針對不同尺度、不同長寬比、不同形狀的物體動態(tài)的選擇特征,實(shí)現(xiàn)了對物體的聚焦。使用可變形對齊卷積,算法在DOTA 數(shù)據(jù)集上mAP 達(dá)到73.18%,性能進(jìn)一步提高了2.01%。
3)使用感受野自適應(yīng)模塊,動態(tài)調(diào)整神經(jīng)元的感受野,算法在DOTA 數(shù)據(jù)集上mAP 達(dá)到74.04%,性能進(jìn)一步提高了0.86%。