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