薛俊達,朱家佳,李曉輝,張 靜,竇 帥,米 琳,李子揚,苑馨方,李傳榮
1(中國科學院 空天信息創新研究院 定量遙感信息技術重點實驗室,北京 100094)
2(中國科學院大學 光電學院,北京 100049)
隨著計算機處理能力的顯著提升以及深度學習、卷積神經網絡(Convolutional Neural Network,CNN)技術在自然圖像目標檢測應用中取得巨大成功,為實現高精度、自動、高效的遙感圖像目標檢測提供了新的技術途徑與動力.2016年,Liu等[1]提出了SSD(Single Shot multibox Detector)模型.作為單階段目標檢測模型的代表之一,SSD模型在目標定位與分類過程中借鑒了雙階段模型Faster-R-CNN[2]的“anchor boxes”以及多尺度特征提取的思想,使其在保持單階段目標檢測模型的高檢測效率的同時,檢測精度有了很大提升.SSD在自然圖像PASCAL VOC 2007數據集的平均檢測精度mAP達到75.1%,每秒檢測幀率(Frame Per Second,FPS)達到58,很大程度上實現了檢測精度與速度的平衡.SSD的上述技術特點,使其在遙感圖像目標檢測任務中展現出很好的適用性和技術潛力,受到關注.
相比自然圖像,遙感圖像的圖幅更大、場景和目標更為復雜,將SSD模型直接應用于遙感圖像目標檢測中難以獲得滿意的效果,必須針對遙感圖像特點與目標分布特征對SSD模型進行適當的改進與優化.朱敏超等[3]針對遙感圖像目標檢測提出了改進的FDSSD網絡,借鑒特征金字塔網絡(Feature Pyramid Networks,FPN)[4]增強低層特征空間語義信息,在DOTA遙感圖像數據集[5]的檢測精度較原SSD模型有一定提升,對飛機、小汽車的檢測精度分別為71.98%和41.56%.史文旭等[6]提出了改進的FESSD模型,分別利用多分支卷積和雙路徑網絡思想增強網絡特征特征提取能力,在自己構建的遙感圖像數據集上的mAP達到79.36%,對飛機的檢測精度為80.96%.Wang等[7]提出了一種特征融合FMSSD模型,通過采用空洞空間特征金字塔模塊、區域加權代價函數以及優化Loss計算方法等優化措施,對DOTA遙感圖像數據集的飛機和小汽車等典型目標的檢測精度分別達到89.11%和69.23%.
在光學遙感圖像目標檢測研究與應用中,飛機、汽車是最為典型且使用最為普遍的目標.一方面,這些目標在日常生活中非常普遍,包含這些目標的光學遙感圖像非常容易獲得,目標樣本量大,對目標檢測模型/方法進行訓練和驗證的可行性非常高.另一方面,飛機在光學遙感圖像中表現為形態特征較明顯、目標與背景對比度較高、目標樣本尺度分布較寬(小到幾十乘幾十像素、大到幾百乘幾百像素)等特點; 汽車在光學遙感圖像中則表現為與背景對比度較低、目標尺寸小且樣本尺度分布窄(絕大部分目標框尺寸在50×50像素以下)、密集分布、數量很大等特點.在光學遙感圖像目標檢測研究中,這兩類目標在形態、樣本尺度分布、樣本數量以及特征提取難度等方面具有非常顯著的差異,對于分析和驗證目標檢測模型/方法的通用性和適用性具有實際意義.
本文面向光學遙感圖像目標檢測應用,以提升SSD模型對光學遙感圖像中的飛機和汽車類典型目標的檢測精度為目標,提出一種結合多尺度特征融合與目標框聚類分析的SSD優化模型:1)借鑒特征金字塔多尺度特征融合思想設計并引入多尺度特征融合模塊,實現深層特征與淺層特征的融合以獲得更多的特征上下文信息,增強網絡對目標特征的提取能力; 2)根據數據集目標樣本尺寸分布特征進行聚類分析獲得更準確的默認目標框參數,以有效提升網絡對目標位置信息的提取能力.
本文模型框架如圖1所示.

圖1 本文模型框架圖
本文模型充分考慮各特征層之間的上下文聯系,在SSD模型的基礎上引入由效率更高的反池化實現上采樣的多尺度特征融合模塊,同時輔以分類別K-means聚類分析獲得更符合數據集目標框尺寸分布的模型默認目標框參數.在不顯著增加模型運算量的情況下,提升SSD模型的特征提取能力以及目標定位精度.
原始的SSD模型由改造后的VGG-16網絡增加5個卷積層(FC7、Conv8_2、Conv9_2、Conv10_2、Con11_2)組成.SSD模型使用網絡中的6個不同尺度的特征層組對目標進行分類和定位:淺層特征層(Conv4_3和FC7)主要用來預測小尺寸目標,深層特征層(Conv8_2、Conv9_2、Conv10_2、Con11_2)主要用來預測大尺寸目標,從而提升了SSD模型對于不同尺度目標檢測的適用性.以上設計雖然考慮了多尺度特征的使用,但沒有考慮不同尺度特征之間的關聯信息,目標特征提取并不充分,特別是對小尺寸目標(如汽車)的檢測精度提升有限.
為了能更充分提取目標特征,提升模型對小尺寸目標的檢測精度,本文借鑒FPN思想,設計并引入了多尺度特征融合模塊,采用如圖2所示的“由深至淺+橫向連接”的方式,提取SSD網絡中的7個不同尺度的特征層(Conv4_3、Conv5_3、FC7、Conv8_2、Conv9_2、Conv10_2、Con11_2)的輸出特征進行目標特征融合.

圖2 多尺度特征融合模塊結構
由于反池化操作不需要參數學習,可以有效減少模型參數、提高學習及檢測效率[8]; 并且反池化操作在非感興趣特征處補0,可以更有效區分感興趣特征與背景、更容易檢出目標特征,本文在“由深至淺”過程中采用反池化操作代替目前普遍采用的反卷積操作來實現融合特征圖上采樣.表1顯示了SSD模型在分別引入由反卷積與反池化實現上采樣的多尺度特征融合后的目標檢測效率對比; 圖3顯示了兩種特征融合方式得到的融合特征圖的對比.
從表1可以看出,SSD模型在使用反池化實現上采樣后,檢測效率沒有明顯下降,FPS僅減少了2,性能表現優于反卷積.從圖3中可以看出,使用反池化實現上采樣得到的融合特征圖中的目標紋理更加清晰,與背景的區別度更高,更利于提取目標特征.

圖3 兩種特征融合方式所得融合特征圖對比

表1 3種目標檢測模型的目標檢測效率對比
另外,為了支持多尺度特征融合模塊進行多尺度特征融合,在SSD網絡生成多尺度特征層的池化過程中采用最大值池化,并輸出最大值位置索引,用于多尺度特征融合模塊“由深至淺”過程中的反池化操作.
本文模型利用多尺度特征融合模塊輸出的7個尺度的融合特征圖進行目標預測,需要在模型訓練前預設各融合特征圖上的默認目標框參數.SSD模型利用經驗公式設置默認目標框參數.但是,SSD使用的經驗公式源于自然圖像,并不能很好契合遙感圖像中的目標分布特征,這也是SSD模型直接應用于遙感圖像目標檢測難以取得滿意效果的原因之一.
如前文所述,在光學遙感圖像中,飛機與汽車除了在形態上具有顯著差異,在目標尺寸、數量以及尺度分布等方面都具有顯著差異.以當前應用最廣、樣本最豐富的DOTA遙感圖像數據集為例,表2列出了數據集中飛機和汽車樣本目標框尺寸分布情況.

表2 DOTA數據集樣本目標框尺寸分布統計表
從表2中可以看出,飛機樣本的目標框尺寸在51×51-454×454像素間,其中,85.02%的樣本尺寸在51×51-200×200像素間; 汽車樣本的目標框尺寸在2×2-200×200像素之間,但87.75%的樣本尺寸小于50×50像素,目標尺寸總體偏小.飛機比汽車具有更寬的目標樣本尺度分布,同時汽車的樣本量遠大于飛機的樣本量,占總樣本量的95.37%.上述差異都為預設目標框參數增加了一定難度.
YOLOv3模型[9]使用基于全局目標框K-means聚類方法來進行預設目標框大小,但此方法容易導致聚類結果偏向樣本量大的一方.本文借鑒聚類方法預設目標框參數的思路,采用分類別K-means聚類分析法,以得到更具代表性的默認目標框參數.
圖4顯示了對DOTA數據集的訓練數據集中的兩類目標樣本的目標框進行分類別K-means聚類分析得到的聚類個數k值與目標平均覆蓋度[9]的變化關系.由圖4可以看出,隨著聚類個數的增加,平均覆蓋度變化趨于穩定,且根據函數趨勢可以看出,兩類目標的平均覆蓋度變化開始趨于穩定的臨界點均在聚類個數k=8附近,可以認為聚類個數k>8時的聚類結果比較理想.

圖4 兩類樣本目標框K-means聚類折線統計
經過進一步的聚類分析,針對汽車和飛機分別選擇k=8和k=15時的目標框聚類結果進行整合得到最終的23個默認目標框參數,分別為[5,10]、[10,6]、[9,11]、[9,18]、[20,11]、[21,20]、[14,21]、[36,37]、[47,48]、[28,29]、[56,67]、[41,39]、[18,18]、[44,61]、[142,135]、[68,67]、[90,69]、[94,93]、[77,84]、[55,54]、[108,110]、[178,174]、[254,256].圖5給出了采用分類別聚類方法和全局聚類方法獲得的目標框尺寸聚類結果對比.表3顯示了采用SSD經驗公式、全局聚類和分類別聚類方法獲得默認目標框參數的目標尺寸平均覆蓋度定量評估結果.
從表3可以看出,采用分類別聚類方法獲得默認目標框參數,對飛機和汽車目標的平均覆蓋度均優于80%,說明該方法獲得的默認目標框參數能夠更好反映遙感數集中飛機和汽車這兩類目標的尺寸分布.從圖5和表3可以看出,基于全局K-means聚類方法得到的聚類結果大多集中在50×50像素以下,在50×50-512×512 像素之間僅有一個聚類中心,對飛機目標的平均覆蓋度較低,極大限制了模型對于飛機目標的檢測;而分類別K-means聚類方法在保證平均覆蓋度有一定提升的情況下,避免了聚類結果偏向樣本數量大的一方的問題,聚類結果能夠同時很好契合汽車和飛機目標的分布特征,能夠獲得更高和更均衡的目標平均覆蓋度.

表3 3種默認目標框參數設置結果的平均覆蓋度對比(%)

圖5 分類別聚類方法與全局聚類方法的聚類結果分布對比圖
本模塊最終選用Conv4_3、Conv5_3、FC7、Conv6_2、Conv7_2、Conv8_2以及Conv9_2 七層特征用于后續目標預測.同時沿用SSD模型默認目標框在各特征層上的分布范圍,將分類別聚類結果設置到各特征圖上,分布結果見表4.

表4 各特征層默認目標框參數設置
本文選擇DOTA數據集中的飛機和小汽車兩個目標類別組成數據集進行模型訓練和驗證.由于DOTA數據集原圖較大,為了便于訓練,將影像按200像素重疊裁剪為512×512,并將裁剪所得影像1/2用于訓練,1/6用于驗證,1/3用于測試.
實驗配置的顯卡為兩塊NVIDIA TITAN V,操作系統為Ubuntu 18.04,深度學習框架為Caffe.在模型訓練階段,設置初始學習率=0.001,batch size=16,decay=0.0005,momentum=0.9; 當訓練迭代次數在40 000及60 000次時,設置學習率衰減率=0.1,以使模型更快收斂.
圖6為模型訓練過程中損失值與mAP隨迭代次數的變化.模型收斂在損失值2.5左右,mAP達到86.67%.

圖6 損失值及mAP隨迭代次數變化
在相同訓練方式下,將本文訓練好的模型與SSD模型、YOLOv3模型對比,各模型在DOTA遙感數據集的測試數據集與NWPU VHR-10遙感數據集[10]中的檢測精度(mAP)與效率(FPS)如表5所示.其中,SSD*及YOLOv3*分別表示模型使用本文分類別聚類方法設置默認目標框參數.
從表5中可以看出,針對光學遙感圖像中飛機和汽車典型目標檢測,本文模型在DOTA數據集中的mAP較SSD及YOLOv3分別提升了26.78%和18.32%,在NWPU VHR-10數據集中的mAP較SSD及YOLOv3分別提升了20.42%和10.19%; 由于本文模型在設計時,通過引入多尺度特征融合以及設置默認目標框參數等措施,對尺寸小的汽車目標給予了更多的關注,使得本文模型相比SSD模型,對于汽車的檢測精度提升更為顯著,在DOTA數據集和NWPU VHR-10數據集中,分別提升了34.46%和32.63%.在使用本文提出的分類別聚類方法設置默認目標框參數后,SSD*及YOLOv3*對于兩類典型目標的檢測精度相比SSD和YOLOv3也均有一定提升,尤其是對于小尺寸目標占絕大多數的汽車目標的檢測精度有了較大的提升,驗證了分類別聚類方法設置默認目標框參數的有效性.在檢測速度方面,由于默認目標框參數有所增加,導致模型運算量相應增加,本文模型的檢測速度(FPS=16)較SSD模型(FPS=26)有所下降,但優于模型更為復雜的YOLOv3(FPS=13).

表5 各模型在DOTA、NWPU VHR-10數據集檢測精度與速度對比
圖7為SSD模型和本文模型對DOTA數據集目標檢測結果對比,藍色框為汽車類目標的檢測結果,綠色框為飛機類目標的檢測結果.從圖7中可以看出,SSD模型針對汽車與飛機目標進行檢測時均存在一定程度的漏檢,而本文模型對SSD模型的漏檢情況有一定的改善,檢測精度大大提升.

圖7 檢測結果對比
本文針對光學遙感圖像中的飛機和汽車類典型目標檢測提出一種改進的SSD模型:通過引入多尺度特征融合模塊增強模型對目標特征的提取能力; 采用分類別聚類方法設置更符合目標樣本尺寸分布特征的默認目標框參數,以優化網絡對目標位置信息的提取能力.模型既對小尺寸、數量大、密集分布的汽車目標進行了重點關注,又很好兼顧了尺度分布寬的飛機目標,從而實現對這兩類典型目標檢測精度的提升.
通過在當前常用、公開的DOTA遙感圖像數據集和NWPU VHR-10遙感數據集上的測試結果表明,相比SSD、YOLOv3等當前典型單階段目標檢測模型,本文提出的SSD改進模型在檢測速度優于YOLOv3的情況下,對于飛機和汽車目標的檢查精度有了很大提升,驗證了上述改進措施的有效性.