鄧志鵬,孫 浩,雷 琳,周石琳,鄒煥新
國防科技大學電子科學學院,湖南 長沙 410073
自動目標識別是遙感圖像智能解譯任務的重要研究方向,它要求對遙感圖像中存在的多類目標進行自動定位,并賦予相應的標簽類別,對于軍事目標的識別判讀,遙感圖像的語義檢索等具有重要的意義[1]。
傳統(tǒng)的遙感圖像目標檢測方法主要針對單類目標,根據不同目標的固有特性(如尺寸、顏色、形狀等)分別設計人工特征,然后采用滑窗搜索的策略對整幅遙感圖像中的特定目標進行提取。該類方法簡單易行,但是難以對多類目標同時進行檢測。當前多類目標檢測方法主要采用基于顯著度的區(qū)域提取與分類相結合的方法。該類方法首先采用顯著圖或者選擇性搜索對圖像中可能是目標的區(qū)域進行預測,然后提取這些區(qū)域的特征用于訓練得到一個分類模型[2-6]。盡管該類方法在多類目標檢測任務中取得了較好的檢測效果,但仍然是一個多步驟的檢測流程,一方面區(qū)域預測算法計算消耗較大,且區(qū)域預測的準確與否嚴重影響后續(xù)的分類精度;另一方面,分類模型的好壞取決于區(qū)域特征的提取,傳統(tǒng)的手工設計特征依賴于專業(yè)知識和數(shù)據本身的特性,難以有效地區(qū)分不同目標。此外,目標檢測本質是一個回歸任務,將區(qū)域預測與區(qū)域分類分割開來難以取得理想的檢測結果。
近年來非?;钴S的深度學習為自動目標檢測提供了一個有效的框架[7-11],其中應用最為成功的是快速區(qū)域卷積神經網絡(faster region-based convolutional neural networks,FRCN)[12]。該方法是一種快速、準確、一體化的檢測框架,在常見的21類近景圖像數(shù)據集中取得了非常優(yōu)越的檢測效果,諸多學者在這個基礎之上對其進行了改進[13-15]。但是,F(xiàn)RCN類的方法在遙感中的應用仍然較少[16-19],主要有以下幾方面制約[20]:①遙感圖像中的目標通常是任意方向分布的,目標方向多變會給同一類目標的表征建模帶來挑戰(zhàn);②遙感圖像中的目標通常尺寸差異較大,且往往呈現(xiàn)密集分布的特點,而FRCN類的方法對小而密集分布的目標檢測性能不佳;③基于深度學習的目標檢測方法需要大量的標記樣本進行訓練,而遙感圖像的目標標記復雜耗時,且需要專業(yè)的判讀知識,難以構造大規(guī)模的訓練集。
針對以上問題,本文提出了一種基于多尺度形變特征卷積網絡的遙感圖像目標檢測方法,利用形變卷積操作和形變池化操作對具有尺度和方向變化的遙感圖像目標進行特征提取,然后在多層特征圖中采用不同大小的卷積核進行目標候選區(qū)域的預測,以提高檢測器對小而密集分布的目標的檢測性能。針對標注樣本集不足的問題,本文采用了裁剪、旋轉、翻轉及色度空間變換等方法,對已有的數(shù)據集進行擴充。本文在光學遙感圖像10類目標數(shù)據集上訓練檢測器,并將其用于測試大幅面谷歌地球影像、高分2號影像以及吉林1號影像,結果證明了本文方法的優(yōu)越性和穩(wěn)健性。
圖1顯示了本文方法的流程,具體包括3個步驟:數(shù)據標注、數(shù)據擴充和網絡訓練。在數(shù)據擴充部分,本文對光學遙感圖像進行旋轉、翻轉、色度空間變換等操作,以模擬不同的成像條件,如光度變化、視角變化等。在網絡訓練部分,本文主要由目標區(qū)域預測子網絡和目標區(qū)域鑒別子網絡組成,二者共享相同的深度網絡結構。
目標區(qū)域預測子網絡需要從圖像中提取出目標可能出現(xiàn)的位置。傳統(tǒng)的深度學習檢測算法如FRCN,采用規(guī)則的卷積操作提取特征,然后在最后一層深度特征圖采用3×3大小的滑動窗口進行目標區(qū)域預測,這給遙感圖像的目標檢測任務帶來兩方面不足。一方面,遙感圖像中的目標通常是任意方向分布的,規(guī)則的方塊卷積核(如圖2(a)所示)并不能夠準確地對不同形變的目標進行特征提取。另一方面,最后一層深度特征圖空間分辨率較低,約為原始輸入圖像的1/16,這會導致小尺寸的目標漏檢。同時,采用固定大小的滑動窗口進行候選區(qū)域預測,難以有效覆蓋多類目標的尺寸變化范圍,且對于密集分布的目標難以有效區(qū)分。因此,本文采用形變卷積操作提取圖像特征,通過改變方塊卷積核的形狀,讓它能夠自適應地根據目標的形狀來調整卷積核感受野的分布,如圖2(b)所示,然后在多層特征圖中分別采用3種不同大小的滑動窗口(3×3,5×5,7×7)進行目標區(qū)域預測,從而可以更加充分地提取出多種尺寸變化的遙感圖像目標。
檢測效果取決于圖像特征提取的優(yōu)劣,網絡層數(shù)越多,圖像的特征表達能力越強。深度殘差網絡(ResNets)采用殘差塊(圖3)作為網絡的基本組成部分,通過順序累加殘差塊拓展網絡的深度,成為了當前主流的網絡結構??紤]機器顯卡的性能,本文采用50層的ResNets[21]用于提取遙感圖像的特征,網絡模型以任意大小的圖像作為輸入,首先經過第1卷積層,卷積核為7×7,步長為2,然后經過最大池化層,接著經過4組不同殘差塊,各殘差塊組的殘差塊數(shù)量分別為3、4、6和3,每個殘差塊包含3個卷積層(第1層和第3層為1×1大小的卷積層,第2層為3×3大小的卷積層)。為了對具有形變特性的遙感圖像目標進行特征提取與建模,本文在最后一組殘差塊采用形變卷積操作[22]替換傳統(tǒng)的規(guī)則卷積操作,其原理如圖4所示。以3×3大小的卷積核為例,通過對方塊卷積核每個卷積采樣點加上一個偏移量,可以實現(xiàn)任意形變的卷積操作。
圖1 本文流程Fig.1 The flowchart of our method
規(guī)則的方塊卷積操作主要包括兩個步驟:①在一個規(guī)則的區(qū)域R內對輸入的上一層特征圖進行采樣;②將每個采樣點的值與方塊卷積核對應位置的權值進行加權求和,所得到的結果作為卷積操作的輸出。其中規(guī)則的區(qū)域即為方塊卷積核的感受野,以3×3大小的卷積核為例,R通常定義為
圖2 卷積操作的感受Fig.2 Illustration of the receptive field
圖3 殘差塊結構Fig.3 The architecture of residual block
圖4 3×3形變卷積運算的采樣示意圖Fig.4 Illustration of the sampling locations in 3×3 standard and deformable convolutions
(1)
對于輸出特征圖y中的某一個點p0,其卷積操作定義如下
(2)
式中,pn是感受野區(qū)域R中的元素;x是輸入特征圖。
在形變卷積操作中,定義一個偏移量{Vpnn=1,…,N},其中N為感受野區(qū)域中元素的個數(shù)。對應的式(2)可以改寫為
(3)
(4)
lm(X,Y,BW)=Lcls(p(X),Y)+
(5)
(6)
基于上述每一個訓練集的定義,可以對候選目標區(qū)域預測子網絡的整體損失函數(shù)定義如下
(7)
式中,αm表示加權參數(shù)。候選目標區(qū)域預測子網絡可以采用梯度下降法[24]進行求解,優(yōu)化目標函數(shù)為W*=arg minWLOPNW。在訓練過程中,采用Image-Net預訓練好的模型來初始化網絡參數(shù),新添加的形變卷積層參數(shù)初始化為0,設置加權參數(shù)αm=1,學習率為0.000 05,動量為0.9,在前10 000次迭代訓練中,設置平衡參數(shù)λ=0.01,在后15 000次迭代訓練中,λ=1。訓練結束后,輸入一幅遙感圖像,將不同殘差塊預測出的候選矩形區(qū)域匯總后輸入目標區(qū)域鑒別子網絡進行進一步的分類和回歸處理。
目標區(qū)域鑒別子網絡對每一個候選目標區(qū)域進行區(qū)域池化操作,得到統(tǒng)一維度的深度特征,然后經過全連接層,得到每個候選目標區(qū)域的全連接特征,進而對候選目標區(qū)域進行分類和位置回歸。考慮到遙感圖像中目標的多方向旋轉,會導致候選目標區(qū)域中有部分背景區(qū)域參與了區(qū)域池化操作,這會對目標特征的準確表達帶來干擾,因此本文采用類似形變卷積的思想,對區(qū)域池化操作引入偏移變量,進而將其拓展為形變池化操作。常規(guī)的區(qū)域池化操作將一個w×h大小的矩形區(qū)域池化為一個k×k大小的區(qū)域,計算公式如下
(8)
式中,nij為每個子區(qū)域內像素的個數(shù);p0是每個子區(qū)域左上角坐標。引入偏移量{Vpij|0≤i,j (9) 在上述定義的基礎之上,本文的目標區(qū)域鑒別子網絡采用形變池化操作,對每一個候選目標區(qū)域從第5個殘差塊組提取深度特征,然后采用式(5)對每一個候選目標區(qū)域進行進一步分類和回歸操作,進而將式(7)的損失函數(shù)拓展為 (10) 式中,α10是目標區(qū)域鑒別子網絡的加權參數(shù),本文設置為1;S10是目標區(qū)域鑒別子網絡的訓練集,標記方法和目標區(qū)域預測子網絡相同。采用目標區(qū)域預測子網絡的模型初始化目標區(qū)域鑒別子網絡,增加的全連接層參數(shù)初始化為0,然后將兩個子網絡聯(lián)合訓練,學習率設置為0.000 5,每訓練10 000次,學習率減小為1/10。經過35 000次訓練后,輸入一幅遙感圖像,取置信度最高的300個目標作為檢測結果,然后采用非極大值抑制[26]對交并比重疊度較大的檢測框進行剔除,剩余的檢測結果作為最終檢測結果。 為了驗證本文方法的有效性,本文在NWPU VHR-10數(shù)據集[3]上進行了試驗。該數(shù)據集共包含了650幅光學遙感圖像,共標注了757個飛機、302個船只、655個油罐、390個棒球場、524個網球場、159個籃球場、163個田徑場、224個港口、124個橋梁、477個車輛。這些遙感圖像分辨率在0.5~2 m之間,平均尺寸約為600×800,每一幅圖像至少包含一個目標。本文采用旋轉、翻轉和色度空間變換進行數(shù)據擴充。旋轉變換分別對原圖旋轉90°、180°和270°。翻轉變換分別對原圖進行水平翻轉和垂直翻轉。色度空間變換首先將原圖變換到HSV(hue-saturation-value)空間,然后將色彩信息H值設定為(0°,60°,120°,180°,240°,300°),將明亮程度V值設定為(0.8,1),最后將HSV空間變換回RGB(red-green-blue)空間,得到擴充后的訓練樣本。在訓練過程中,隨機取其中60%為訓練集,剩下的40%為測試集。 為了驗證本文方法的穩(wěn)健性,本文將訓練好的檢測模型用于測試大幅面的谷歌地球影像和國產高分辨率光學遙感影像。其中谷歌影像是從Google Earth商業(yè)軟件上截取的高分辨率彩色遙感圖像,地點位于美國戴維斯蒙森空軍基地(DM-AFB),分辨率為0.8 m,幅面為10 320×8465,共包含1139架飛機。國產高分辨率光學遙感影像來源于2幅高分2號衛(wèi)星全色影像和2幅吉林1號衛(wèi)星全色影像,分辨率為1 m,幅面為4000×4000,包含橋梁、油罐、船只、飛機等多類目標。 評價指標采用平均精度(average precision,AP),PR曲線(precision-recall curve,PRC)。其中,正確檢測定義為檢測結果與真值標注的IoU值大于0.5,若有多個檢測結果的IoU值均大于0.5,取其中IoU值最大的檢測結果為正確檢測,其他檢測結果為錯誤檢測。 本文試驗所采用的臺式機配備有英特爾i7-CPU,英偉達GTX-1060顯卡(6GB顯存),64GB內存,試驗平臺采用深度學習工具包MXNet[27]。為了證明文本方法的優(yōu)越性,本文對比了6種基于深度學習的目標檢測方法: (1) RICNN(rotation-invariant CNN)[3]:采用選擇性搜索算法提取候選目標區(qū)域,然后對每個區(qū)域提取具有旋轉不變特性的深度特征,最后輸入支持向量機分類器進行類別的判定。 (2) FRCN-VGG[12]:經典的雙網檢測模型,采用VGG模型提取深度特征,然后在最后一層特征圖中預測目標候選區(qū)域,同時對目標類別進行分類以及對目標位置進行回歸。 (3) R-FCN(region-based fully convolutional networks)[15]:在FRCN雙網模型的基礎上,采用50層殘差網絡提取深度特征,并引入了位置敏感性分數(shù)圖對平移不變性進行建模。 (4) YOLO(you only look once)[13]:一種非常快速的單網檢測模型,采用筆者給出的darknet19層網絡模型提取深度特征,該方法首先對輸入圖像均勻劃分為若干個小區(qū)域,然后對每個小區(qū)域預測若干個候選目標區(qū)域,最后對這些目標候選區(qū)域進行分類和位置回歸。 (5) SSD(single shot detector)[14]:在YOLO基礎上進一步改進的單網檢測模型,采用VGG模型提取深度特征,然后對分辨率不同的多層深度特征圖分別進行目標檢測,因此適用于尺度變化較大的目標檢測任務。 (6) FRCN-ResNets[25]:采用基于50層殘差網絡的雙網檢測模型,最后一組殘差塊采用形變卷積層,同時采用形變池化操作替換了常規(guī)的區(qū)域池化操作。 圖5給出了10類目標在多種對比方法中的PR曲線,從中可以看出:①對比不同的類別,田徑場和棒球場這兩類目標對于所有的方法都取得了較好且相近的檢測效果。而其他8類目標的檢測結果差異較大,這是因為田徑場和棒球場的尺寸相對較大,而深度學習的方法對于顯著目標檢測性能較好。②對比不同的算法,F(xiàn)RCN-VGG方法精度較差,這是由于最后一層的深度特征圖分辨率較小造成的,R-FCN較FRCN-VGG性能有了明顯提升,原因在于采用的殘差網絡層數(shù)較多,所學習出的深度特征更具有區(qū)分性。YOLO的召回率最低,這是由于YOLO算法劃分的子區(qū)域數(shù)量較少造成的,SSD較YOLO算法性能有了較大提升,證明了多尺度檢測的思想能夠有效提升目標檢測的性能。③對比FRCN-ResNets方法和FRCN-VGG方法可以看出,采用殘差網絡比采用VGG網絡檢測效果更佳。對比FRCN-ResNets類方法可以看出,單獨采用形變卷積操作比單獨采用形變池化操作更能提升檢測性能,同時采用形變卷積操作和形變池化操作能夠進一步提升檢測性能,進而證明了形變卷積操作和形變池化操作對于遙感圖像目標檢測任務的有效性。④本文方法對于大多數(shù)類目標取得了最佳的檢測效果,尤其是對于小尺寸的目標,如油罐,精度提升較為明顯,證明了本文方法所采用的多尺度形變卷積特征的優(yōu)越性。 表1給出了不同對比算法的性能統(tǒng)計結果,每一類目標最佳的檢測結果用粗體表示,次優(yōu)結果用下劃線表示,從中可以看出:①RICNN方法的檢測性能最差,且運算時間最長,這是由于該方法是個多步驟的檢測方法,且區(qū)域分類過程未考慮位置的回歸,其他方法均為基于深度學習的端到端的檢測算法,取得了明顯的性能提升,且計算效率得到了極大優(yōu)化。②FRCN-VGG和YOLO算法的平均精度較低,SSD和R-FCN的平均精度較高,比較來看,雙網模型的檢測精度較高,單網模型的檢測效率較高。③FRCN-ResNets類方法比FRCN-VGG方法檢測精度高,證明了殘差網絡所學習出的特征比VGG網絡所學習出的特征更有效。通過對比FRCN-ResNets類方法的不同組合模式可以看出,形變卷積操作比形變池化操作更能有效提升檢測性能,同時采用形變卷積操作和形變池化操作能明顯提升檢測效果。證明了形變卷積操作和形變池化操作比傳統(tǒng)的卷積操作和池化操作更能有效地提升檢測效果。④本文方法取得了最佳的檢測結果,且在多個類別均取得了最優(yōu)和次優(yōu)的檢測結果,但是犧牲了一定的計算效率,由此證明了本文方法所采用的多尺度形變卷積特征用于遙感影像目標檢測任務的優(yōu)越性。 表1 不同對比算法的性能評估 圖6給出了部分檢測結果,不同的顏色表示不同的類別,從中可以看出,本文方法能夠同時對多類目標進行檢測,且在高分辨率光學遙感圖像中,背景比較復雜,油罐、網球場等目標分布比較密集,車輛、船只等目標的尺寸較小,田徑場目標尺寸較大,本文方法在這些復雜的情形下均能正確地對多類目標進行檢測,證明了本文方法的有效性。 為了對比不同方法的檢測效果,本文選取了兩幅包含油罐目標和飛機目標的測試圖像,這兩幅圖像中的目標均存在小而密集分布的特點,對比效果圖如圖7所示,其中綠色方框表示正確檢測,紅色方框表示錯誤檢測。從圖7中可以看出,F(xiàn)RCN-VGG方法和YOLO方法存在較多的錯誤檢測和漏檢,證明了這類從單一特征圖中檢測目標的方法不適用于小而密集分布的目標檢測任務。SSD算法取得了較好的檢測效果,其原因在于采用了多尺度檢測的思想。R-FCN算法檢測效果較好,其原因在于采用了更深的殘差網絡模型提取圖像特征,具有更加優(yōu)異的特征表達能力。但是這兩種算法仍然存在一定數(shù)量的漏檢和錯誤檢測。本文方法結合了這兩種算法的優(yōu)勢,采用了更小的滑動窗口對小目標進行提取,同時利用了形變卷積操作對存在著多種形變的遙感圖像目標進行特征提取,因此取得了最優(yōu)的檢測性能,有效地減少了漏檢和錯誤檢測。 為了便于理解形變卷積網絡對于遙感圖像多類目標檢測任務的作用,圖8給出了2組形變卷積操作的采樣效果圖,其中紅色的點(93=729個)表示經過3層形變卷積操作后,帶有偏移量的采樣點,綠色點表示當前采樣的中心點。圖中左側圖表示背景區(qū)域的采樣效果圖,中間圖表示其中一類較大尺寸目標的采樣效果圖,右側圖給出了另外一類較小尺寸目標的采樣效果圖,從圖中可以看出,對于背景區(qū)域,形變卷積的采樣點分布比較雜亂,對于目標區(qū)域,形變卷積的采樣點相對比較集中,且采樣點的分布隨著目標尺寸的變化而變化,因此具備一定的自適應性,將其用在遙感圖像中,會在一定程度上具有尺寸和旋轉不變特性。 為了驗證本文方法的穩(wěn)健性,以及對于小而密集分布目標的檢測效果,本文將在上述10類目標數(shù)據集上訓練好的檢測模型,直接用于大幅面谷歌地球影像和國產的高分辨率光學遙感衛(wèi)星影像。對于大幅面遙感影像,首先對其進行分塊裁剪(600×800),為了避免對跨越邊界目標的損壞,本文設置相鄰裁剪塊的重疊度為100個像素(略大于目標的平均尺寸);然后分別將每一個裁剪后的圖像塊輸入本文提出的檢測器;最后對輸出的檢測結果進行拼接。 圖9給出了谷歌地球影像飛機墳場的檢測效果,其中綠色方框表示正確檢測結果,藍色方框表示真值標注,紅色方框表示錯誤檢測。從圖中可以看出:①飛機目標分布密集,較大尺寸的飛機如戰(zhàn)略轟炸機,較小尺寸的飛機如戰(zhàn)斗機,都能被有效檢測出來,證明了本文方法對于檢測小而密集分布的目標的有效性。②訓練集所采用的主要是民航客機樣本,而測試圖像中主要為戰(zhàn)斗機,且戰(zhàn)斗機的種類較多,形狀各異,本文方法均能夠對它們進行有效檢測,證明了本文方法所學習到的檢測模型具有一定的遷移性和通用性。 圖10和圖11分別給出了高分2號和吉林1號光學遙感影像的檢測結果,不同類別的目標分別用不同的顏色表示。從圖中可以看出:多類目標能夠同時被檢測出來,且對于密集分布的油罐目標檢測效果比較理想(圖10(a)),飛機目標的檢測性能比較穩(wěn)定,船只目標在高分2號和吉林1號中的可視化效果差異較大,但是都能夠較好的對其進行檢測,橋梁目標存在少量的錯誤檢測。上述檢測結果證明了本文檢測算法具有一定的推廣能力,能夠適用于不同類型的光學遙感圖像。 圖5 多種對比算法在NWPU VHR-10數(shù)據集中每一類目標的PR曲線Fig.5 PRCs of the proposed method and other state-of-the-art approaches on the NWPU VHR-10 data set 本文提出了一種基于多尺度形變特征卷積網絡的目標檢測方法,采用形變卷積操作和形變池化操作取代傳統(tǒng)的規(guī)則卷積操作和池化操作,能夠更加有效地對遙感圖像中具有方向、尺度變化的目標進行特征學習,采用不同大小的卷積核從多層深度特征圖中分別預測候選目標區(qū)域,能夠更加準確地檢測小而密集分布的遙感圖像目標。未來工作將對檢測器的泛化遷移能力展開研究,以期能夠有效適用更多類型的遙感圖像,同時考慮用帶有主方向信息的旋轉矩形框來表征遙感圖像中的目標,以期對遙感圖像中的目標進行更精準的檢測。 圖6 本文算法在NWPU VHR-10數(shù)據集中部分檢測效果Fig.6 Number of object detection results in NWPU VHR-10 data set with the proposed approach 圖7 不同對比算法的檢測效果Fig.7 Detection results with different approach 圖8 3×3形變卷積采樣Fig.8 Sampling locations of 3×3 deformable convolutional layer 圖9 本文方法在戴維斯-蒙森空軍基地數(shù)據集的飛機目標檢測效果Fig.9 Aircraft detection results on DM-AFB data set 圖10 本文方法在高分2號數(shù)據集上的檢測結果Fig.10 Multi-class targets detection results on GF-2 data set 圖11 本文方法在吉林1號數(shù)據集上的檢測結果Fig.11 Multi-class targets detection results on JL-1 data set2 試驗結果
2.1 試驗設置
2.2 光學遙感圖像10類目標數(shù)據集試驗結果
2.3 大幅面光學遙感圖像目標檢測試驗結果
3 結 論