張 婷張善文徐 聰
(西京學院 電子信息學院,西安 710123)
遙感圖像(Remote Sensing Images,RSI)飛機目標檢測一直是一個重要且具有挑戰(zhàn)性的課題。 近年來,涌現(xiàn)出了許多遙感圖像飛機目標檢測方法。文獻[1,2]綜述了遙感圖像目標檢測算法和技術,比較了不同方法的優(yōu)缺點,并展望了該領域的發(fā)展趨勢。 文獻[3]結合聚合通道特征和精心設計的特征,提出了一種基于多尺度滑動窗口框架的飛機檢測方法。 文獻[4]設計了一種基于中心提案區(qū)域和不變特征的飛機檢測方法,該方法首先提取每個RSI 中的目標區(qū)域,然后利用旋轉不變特征訓練集成學習分類器,最后利用此分類器從RSIs 中將飛機圖像識別出來。 文獻[5]通過參數(shù)遷移得到卷積神經網絡(Convolutional Neural Networks,CNN)卷積層的參數(shù),提取遙感圖像訓練集的深度特征,最后訓練可變形網絡模型。 文獻[6]針對遙感影像中飛機大小、方向、角度及環(huán)境的多樣性,提出一種基于殘差網絡的飛機目標檢測方法。 針對飛機密集區(qū)域或背景復雜區(qū)域的檢測精度低問題,文獻[7]提出一種端到端的深度 CNN (Convolutional Neural Networks,CNN),實現(xiàn)遙感圖像中大小不同的飛機圖像檢測。 文獻[8]針對遙感圖像中不同大小目標檢測準確率低的問題,通過在YOLOv3-Tiny 模型中增加1 ×1 卷積,提出一種基于優(yōu)化的YOLOv3-Tiny的遙感圖像飛機檢測方法。 文獻[9]提出一種基于深度CNN 和深度信念網(Deep Belief Net,DBN)的飛機目標檢測方法。 文獻[10]針對傳統(tǒng)遙感圖像飛機檢測方法存在漏警、虛警等問題,提出一種多尺度遙感圖像飛機自動檢測方法,實現(xiàn)了不同尺度飛機自動檢測任務。 文獻[11]提出一種基于遷移學習和幾何特征約束的級聯(lián)CNN 框架,實現(xiàn)了大面積RSI 飛機檢測,以相對較少的樣本實現(xiàn)了較高的檢測精度。 文獻[12]提出一種端到端的飛機檢測方法。 該方法將所有計算封裝在一個網絡中,使用簡單高效。 文獻[13]提出一種基于顯著性和CNN相結合的RSI 飛機檢測方法。 文獻[14]利用級聯(lián)策略構建了一種有效的飛機檢測框架。 文獻[15]構建了一種基于CNN 的有效飛機檢測框架,用于檢測超大復雜場景中的多尺度目標,用于檢測各種多尺度飛機。 文獻[16]利用數(shù)據(jù)增強、遷移學習、深度CNN 和有限的訓練樣本,提出了一種端到端的飛機檢測方法。 文獻[17]提出了一種基于深度CNN的飛機目標檢測方法,利用采集的數(shù)據(jù)集進行端到端微調訓練檢測模型,實現(xiàn)了飛機的自動檢測和定位。 文獻[18]提出一種小樣本光學遙感圖像飛機檢測算法,用于檢測大小不同的弱小飛機目標。 文獻[19]提出一種基于多尺度CNN 特征融合的多尺度飛機檢測算法,利用深度CNN 子網絡提取定向目標的特征圖。 文獻[20]提出一種基于角點聚類和CNN 的飛機檢測方法,并與選擇搜索(SS) +CNN、邊緣盒+CNN 和面向梯度直方圖(HOG) +支持向量機(SVM)三種方法進行實驗對比。
研究人員通過增加CNN 模型的深度和卷積層的卷積核數(shù)量以提高模型的準確率,但易引起過擬合、梯度消失和消耗計算資源等問題。 U-Net 是一種簡單且被廣泛應用的U 型對稱的卷積模型,在圖像檢測和語義分割等方面取得了成功應用。文獻[24]從下采樣和上采樣操作、編碼和解碼模塊、跳躍連接模塊以及殘差連接、多尺度卷積、注意力機制、數(shù)據(jù)增強和模型優(yōu)化策略等多方面綜述了U-Net 的改進和優(yōu)化模型。 多尺度卷積網絡采用大小不同的卷積核提取多尺度卷積特征,增強網絡檢測和識別大小不同目標的性能,降低網絡計算復雜度。 文獻[26]針對復雜場景區(qū)域的小尺度飛機目標檢測準確率低問題,提出一種基于多尺度CNN 的飛機目標檢測框架。 Inception 是一種多尺度卷積網絡模塊,能夠提取目標的多尺度特征,能夠引入U-Net,提高模型的準確率,減少計算量。超像素是由一些位置相鄰且特征相似的像素點組成的像素子集,廣泛應用于圖像預處理,極大減少圖像局部冗余信息和噪聲,降低后續(xù)目標檢測和圖像分割的復雜度和運算量。 文獻[28]提出一種基于超像素的CNN 方法,并應用于道路圖像分割,分割準確率高。 充分利用多尺度卷積、Inception、U-Net、殘差網絡、殘差連接和超像素分割的優(yōu)點,提出一種結合超像素與MSRU-Net 的遙感圖像飛機檢測方法,并進行實驗驗證。
在多尺度卷積Inception、U-Net 和殘差網絡的基礎上,構建一個改進的多尺度殘差(MSRU-Net),其網絡架構如圖1(a)所示。
MSRU-Net 由編碼模型、解碼模塊、池化、轉置卷積和通道拼接組成,其中編碼模塊和解碼模塊用于特征提取,池化用于下采樣,轉置卷積用于上采樣,通道拼接用于整合編碼特征和對應的解碼特征。 多尺度殘差模塊結構如圖1(b)所示,其中經過多尺度殘差模塊后卷積層的通道數(shù)加倍,特征圖的空間尺寸保持不變;經過2 ×2 最大池化層后卷積特征圖的空間尺寸減半,通道數(shù)保持不變;1 ×1 卷積將特征層通道數(shù)最終降為2。 通道拼接模型如圖1(c)所示,由卷積和殘差卷積組成,用于減小編碼特征與解碼特征之間存在的語義間隔,經過通道后的特征層空間尺寸、通道數(shù)保持不變。 MSRU-Net的結構及其參數(shù)說明如表1所示。
圖1 多尺度殘差U-Net (MSRU-Net)Fig.1 Multi-scale residual U-Net (MSRU-Net)
表1 MSRU-Net 結構及其參數(shù)說明Tab.1 MSRU-Net structure and its parameter description
將超像素與MSRU-Net 相結合應用于遙感圖像飛機檢測,其過程如圖2所示,其中箭頭表示數(shù)據(jù)流。
根據(jù)圖2所示,遙感圖像飛機檢測過程如下:
圖2 基于超像素與MSRU-Net 的遙感圖像飛機檢測過程框圖Fig.2 Block diagram of aircraft detection process in RSIs based on superpixels and MSRU-Net
步驟1:利用超像素聚類算法(Simple Linear Iterative Cluster,SLIC)將遙感圖像網格化并分配標簽,得到每幅原始圖像的超像素圖像,其處理過程如下:
2)計算濾波后圖像的任意2 個不同的像素點p(x,y)和p(x,y)之間的混合距離,表示聚類像素點的相似度,如式(1)所示。
式中,C,C——p和p的空間相似度和顏色相似度;g,g——兩個像素點p和p的像素灰度值。
4)由式(1)計算每個像素點與個種子點的混合距離,再將與該像素最近的種子標簽賦予該像素;
5)合并種子點相鄰像素中具有相同標簽的像素點,再將合并區(qū)域內的所有像素作為新種子點;
6)返回步驟4)和步驟5),迭代直到每個超像素的聚類中心不再發(fā)生變化為止;
7)利用最近鄰策略將分割產生的孤立點劃分到相鄰的超像素中,得到每幅原始圖像的超像素圖像。
步驟2:計算每幅超像素圖像的所有超像素的灰度平均值,再將灰度平均值重新賦值給超像素中每個像素點,生成一個視覺概要圖;
步驟3:構建MSRU-Net 模型。 如圖1(a)所示MSRU-Net 由5 個編碼模塊、4 個解碼模塊、1 個注意力機制模塊和4 個通道組成,包括編碼模型和解碼模塊、池化、轉置卷積、級聯(lián)等操作;
步驟4:將得到的視覺概要圖作為訓練集訓練MSRU-Net,使用隨機梯度下降法對MSRU-Net 的參數(shù)進行更新,完成模型訓練。 模型的訓練參數(shù)包含卷積核維度、池化核維度、學習率與訓練次數(shù)。
最后,利用訓練好的MSRU-Net 模型對遙感圖像飛機進行檢測。
為了驗證基于超像素與MSRU-Net 相結合的飛機檢測方法,在EORSSD 數(shù)據(jù)集的飛機圖像子集上進行實驗,并與3 種遙感圖像飛機檢測方法進行比較:Saliency and CNN (SCNN)、Markov random field-FCN (M-FCN)、多尺度融合特征卷積神經網絡(MSCNN),所有模型都在EORSSD 數(shù)據(jù)集上進行訓練。 所有方法的實驗環(huán)境和條件為:python 3.7.3, Ubuntu 16.04, Tensorflow 1.14.0,NVIDIA TitanX GPU 上實現(xiàn)的,內存配置為12gb;批量大小為32,學習率為0.000 1,動量為0.9,權值衰減為0.000 5,CapsNet 的超級參數(shù)分別設置為0.000 5和0.5,訓練迭代總數(shù)為3 000 次,訓練優(yōu)化器是Adam 優(yōu)化器。
EORSSD 數(shù)據(jù)集(https:/ /github.com/rmcong/EORSSD-dataset)包含2000 幅遙感圖像,其中包括258 張飛機RSIs,其中大多數(shù)飛機圖像包含一個或多個小尺寸、任意位置和角度、不同分辨率、背景模糊的飛機,如圖3(a)所示。 由于原始飛機RSIs 的分辨率不同,從973 ×760 到242 ×239,將每幅圖像的大小調整為128 ×128,以減少計算時間和GPU內存。 利用LabelMe Matlab 工具箱對飛機RSIs 進行標注。 在訓練MSRU-Net 時,EORSSD 的飛機RSIs 數(shù)量相對較少。 為了增加圖像的多樣性,減少過度擬合問題,改善飛機檢測方法的能力,每個原始飛機圖像由旋轉(90,180,270)和隨機裁剪及加噪聲方法,將每幅圖像擴展為10 幅圖像,共得到2 580 幅遙感飛機圖像。 在本節(jié)中,將所有擴展飛機RSIs 構建一個飛機RSI 子集,進行飛機檢測實驗。 對每幅圖像進行超像素分割,對于不同超像素數(shù)的分割圖像如圖3(b)所示。
從圖3可以看出,超像素數(shù)越多,得到的分割圖像越清晰,而過少的超像素數(shù)的分割圖像可能丟失小目標圖像,但太多的超像素數(shù)就不能體現(xiàn)超像素的優(yōu)勢。 超像素數(shù)為2 000 時得到的分割圖像與原始圖像的相似性為0.99,由此,文中所有實驗選擇超像素數(shù)為2 000,得到的分割圖像作為基于深度學習模型的輸入圖像。
圖3 超像素圖像分割示意圖Fig.3 Superpixel image segmentation
利用4 -折交差驗證法對遙感飛機圖像檢測。SCNN,M-FCN,MSCNN 和MSRU-Net 的訓練過程中關于迭代次數(shù)的損失值如圖4所示。 從圖4中可以發(fā)現(xiàn),在1 500 次迭代之前,所有模型的損失都迅速減小,MSCNN 和MSRU-Net 的收斂性優(yōu)于SCNN 和M-FCN,而MSRU-Net 在訓練過程中收斂速度較快,在1 700 次迭代后收斂效果好。 當整個訓練完成時,MSRU-Net 的損失最小,實驗表明該方法具有較好的飛機檢測能力。
由圖4可以看出,當?shù)螖?shù)為3 000 時,各個模型均收斂。 為了公平起見,在后面的實驗中,選擇迭代次數(shù)為3 000 時的模型作為訓練好的模型,用于飛機圖像檢測。 4 種不同模型的飛機檢測結果如圖5所示。 4 種方法相對于標注飛機圖像的飛機檢測平均準確率如表2所示。
圖4 訓練過程中關于迭代次數(shù)的損失值曲線圖Fig.4 The loss value of the number of iterations during the training process
由圖5和表2得出結論,文中提出的MSRU-Net優(yōu)于其他3 個網絡,準確率達到91.20 %,其次是MSCNN,檢測性能較好,準確率為87.53 %。 其主要原因是MSCNN 和MSRU-Net 具有多維特征提取的能力。 MSRU-Net 優(yōu)于MSCNN 的原因是MSRU-Net 結合了多尺度卷積、U-Net、殘差連接和超像素的優(yōu)點。 SCNN 和M-FCN 不適合提取多尺度飛機檢測。 MSRU-Net 的訓練時間最少,其原因是MSRU-Net 利用了殘差連接和超像素,加速了模型收斂。
圖5 基于四種不同模型的飛機檢測結果示意圖Fig.5 Aircraft detection results based on four different models
表2 4 種方法相對于標注飛機圖像的檢測平均準確率和模型的訓練時間Tab.2 The average detection accuracy of the four methods relative to the labeled aircraft images and the training time of the model
針對傳統(tǒng)遙感圖像飛機檢測方法對小尺寸飛機圖像的檢測效果不理想的問題,構建一種基于超像素和多尺度殘差U-Net(MSRU-Net)的遙感圖像飛機檢測方法。 首先利用超像素算法分割遙感飛機圖像,構造像素組級別的超像素,較單個像素點處理極大降低了時間復雜度;然后通過多尺度殘差U-Net(MSRU-Net)提取不同尺度特征圖,通過級聯(lián)模型,將編碼特征與對應的解碼特征相融合,增加飛機檢測的細節(jié)信息,提高較小飛機圖像的檢測準確率。 實驗驗證了所提出的遙感圖像飛機檢測方法的有效性,準確檢測率為91.20 %。