熊 偉,蔡 咪,呂亞飛,裴家正
海軍航空大學(xué) 信息融合研究所,山東 煙臺 264001
遙感圖像海陸分割通過將碼頭圖像中海洋區(qū)域和陸地區(qū)域區(qū)分開來,有助于實現(xiàn)艦船目標(biāo)的快速檢測和分類,在海上安全、海上交通監(jiān)視、船舶救援、漁業(yè)管理和海上態(tài)勢感知(MSA)等方面具有重要的意義。遙感圖像為俯視圖,圖像中海上信息較少,艦船目標(biāo)特征相似,特征區(qū)分性不強,同時港口陸地的空間位置及表面特征復(fù)雜,都將不利于對艦船目標(biāo)的快速檢測與識別。對海陸區(qū)域進(jìn)行分割,可以預(yù)先排除陸地對艦船檢測與識別的負(fù)面影響,幫助實現(xiàn)艦船目標(biāo)更加快速且精確的檢測與識別。
傳統(tǒng)的分割方法[1]大部分是利用圖像像素的形狀、紋理和顏色等低級語義信息進(jìn)行分割,但對于低級語義信息較少的遙感圖像來說效果不甚理想。隨著深度學(xué)習(xí)[2]在計算機視覺中的快速發(fā)展,深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolution Neural Network,DCNN)[3]已經(jīng)成為自然圖像檢測[4]與語義分割[5]的主要建模工具。為了能夠得到更加精確的遙感圖像海陸分割,本文利用深度卷積神經(jīng)網(wǎng)絡(luò)對海陸區(qū)域進(jìn)行逐像素的分類,實現(xiàn)更加精確的海陸語義分割效果。
現(xiàn)有基于深度學(xué)習(xí)的語義分割方法大多數(shù)是面向自然場景圖像,2014年Long等人首次提出利用全卷積網(wǎng)絡(luò)代替全連接層,設(shè)計了一個可以實現(xiàn)端對端語義分割的全卷積網(wǎng)絡(luò)(Full Convolution Neural Network,F(xiàn)CNN)。文獻(xiàn)[6]利用空洞卷積設(shè)計了一個新的卷積網(wǎng)絡(luò)模型,實現(xiàn)了更加精確的預(yù)測結(jié)果。文獻(xiàn)[7]提出了一個全局卷積網(wǎng)絡(luò),提高分割精確度。為了解決多尺度目標(biāo)問題,文獻(xiàn)[8]提出了一個空洞卷積池化金字塔用以提取更多的多尺度信息。文獻(xiàn)[9]提出網(wǎng)絡(luò)結(jié)構(gòu)DeepLabv3+,能夠更加精細(xì)地恢復(fù)目標(biāo)的位置信息,尤其是目標(biāo)的邊界信息。文獻(xiàn)[10]針對圖像語義較為簡單,結(jié)構(gòu)較為固定且樣本少的醫(yī)療影像進(jìn)行分割。此外,由于目前的神經(jīng)網(wǎng)絡(luò)等方法不具備尺度不變性的特征,利用多尺度圖像信息進(jìn)行訓(xùn)練能有效提升目標(biāo)的檢測和分割效果,例如:SIFT、HOG等經(jīng)典算法[11-12]利用輸入圖像的多尺度以獲得更多不同尺度的特征信息。Lin等人[13]提出了一個特征金字塔模型,用于提取多尺度目標(biāo)信息提高目標(biāo)檢測精度。Liu等人[14]提出了一個SSD網(wǎng)絡(luò)結(jié)構(gòu),相比于其他方法以特征提取網(wǎng)絡(luò)的最后一個特征圖作為檢測網(wǎng)絡(luò)的輸入,SDD綜合利用了不同尺度、分辨率的特征圖,有效提升了對小目標(biāo)的檢測精度。熊志勇等[15]提出將三種不同尺度的圖像分別作為全卷積網(wǎng)絡(luò)的輸入得到三個不同尺度分割結(jié)果,最后將三種尺度的分割圖進(jìn)行融合以提升分割精度。
有少數(shù)部分的語義分割方法針對于遙感圖像中建筑、陸地、河流、森林等地物目標(biāo)進(jìn)行分割,文獻(xiàn)[16]針對高分辨率遙感地物目標(biāo)信息,對U-Net算法進(jìn)行改進(jìn)。文獻(xiàn)[17]針對城市區(qū)域小目標(biāo)遙感圖像設(shè)計了一個深度卷積神經(jīng)網(wǎng)絡(luò),實現(xiàn)了端對端的圖像像素級分割。文獻(xiàn)[18]提出了一個針對高分辨率遙感圖像的多路徑細(xì)化網(wǎng)絡(luò)。文獻(xiàn)[19]針對遙感圖像中目標(biāo)小而密集產(chǎn)生語義分割問題設(shè)計了一個新的網(wǎng)絡(luò)結(jié)構(gòu),提高小目標(biāo)的分割精度。
但是,與自然場景圖像以及遙感圖像城市目標(biāo)不同,遙感圖像中陸地形狀多樣,碼頭細(xì)長,靠碼頭的艦船目標(biāo)容易分割成碼頭,出現(xiàn)像素級分類不準(zhǔn)確的現(xiàn)象。同時部分碼頭與艦船邊界不清,導(dǎo)致碼頭邊界分割不明確,出現(xiàn)邊界模糊定位的現(xiàn)象。為了解決以上出現(xiàn)的像素分類和定位的問題,本文基于U-Net[10]網(wǎng)絡(luò)進(jìn)行改進(jìn),設(shè)計了以不同尺度的圖像作為輸入的多個編碼結(jié)構(gòu)并行的網(wǎng)絡(luò)架構(gòu),在多個編碼結(jié)構(gòu)的不同層之間將多個特征圖進(jìn)行融合,得到更加豐富的特征算子。同時,設(shè)計了一個編碼結(jié)構(gòu),融合編碼部分不同層次的特征圖對提取的豐富特征進(jìn)行像素恢復(fù),得到更加密集的像素位置信息。
基于現(xiàn)有的海陸語義分割方法的不足之處,本文提出了一個新的基于深度卷積神經(jīng)網(wǎng)絡(luò)的海陸分割網(wǎng)絡(luò),本文的主要創(chuàng)新點如下:
(1)設(shè)計了一個新的編碼模型,該模型以三個不同尺度的圖像作為輸入,三個并行的編碼結(jié)構(gòu)分別對輸入圖像進(jìn)行不同尺度的特征提取并在編碼部分將多尺度的特征圖進(jìn)行融合來幫助提高像素級分類效果。
(2)設(shè)計了一個解碼模塊,通過將編碼模塊中已經(jīng)融合的不同層的多尺度特征圖與解碼模塊中的特征進(jìn)行再次融合來恢復(fù)更加密集的像素位置信息。
對于大多數(shù)基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測或分類的算法,在特征提取部分增加特征提取的網(wǎng)絡(luò)深度可以獲得更多的語義信息,提高分類準(zhǔn)確度,也可以利用空間金子塔模型,通過融合多個不同尺度的特征圖得到更加豐富的特征算子以提高分類準(zhǔn)確度。而與目標(biāo)檢測或分類算法不同的是,圖像語義分割算法不僅需要獲取目標(biāo)的特征信息,還需對圖像進(jìn)行原尺寸的恢復(fù),圖像像素位置信息恢復(fù)得更加準(zhǔn)確,分割結(jié)果更好。在提高目標(biāo)位置信息方面,相比于標(biāo)準(zhǔn)卷積,空洞卷積在擴大感受野的同時可以減少圖像分辨率的損失,從而能夠恢復(fù)更加密集的目標(biāo)位置信息。對恢復(fù)像素位置信息的編碼模塊進(jìn)行改進(jìn),如U-Net,通過非線性插值法進(jìn)行上采樣,利用跳躍連接,將編碼部分具有精細(xì)位置信息的不同尺度特征圖與解碼部分的上采樣恢復(fù)圖片進(jìn)行融合,可以得到更加精細(xì)的像素位置信息。如SegNet[20]通過對池化標(biāo)記進(jìn)行非池化上采樣的同時,利用跳躍連接幫助恢復(fù)像素更加精確的位置信息。
圖1 網(wǎng)絡(luò)整體框架圖
本文基于U-Net進(jìn)行改進(jìn),針對遙感圖像海陸分割特點及問題,設(shè)計了一個新的網(wǎng)絡(luò)結(jié)構(gòu)MEFF-Net,如圖1。該網(wǎng)絡(luò)結(jié)構(gòu)是一個端到端的全卷積神經(jīng)網(wǎng)絡(luò),由編碼和解碼兩部分組成,其輸入圖片為三個不同尺度的高分辨率遙感圖像,大小分別為256×256、512×512以及1 024×1 024,圖片在進(jìn)入網(wǎng)絡(luò)時會首先進(jìn)入編碼部分,得到特征圖。該網(wǎng)絡(luò)的編碼部分由三個并行的編碼結(jié)構(gòu)組成,在編碼結(jié)構(gòu)的末端進(jìn)行特征融合,融合后的特征圖作為解碼部分的特征輸入。隨后由解碼結(jié)構(gòu)對特征圖進(jìn)行目標(biāo)位置的恢復(fù),最終得到預(yù)測分割結(jié)果圖。
與U-Net網(wǎng)絡(luò)結(jié)構(gòu)相似,MEFF-Net網(wǎng)絡(luò)也是一個以編碼-解碼為框架的網(wǎng)路結(jié)構(gòu)。編碼結(jié)構(gòu)目的是提取目標(biāo)特征得到目標(biāo)的深層的語義信息,有助于實現(xiàn)對目標(biāo)進(jìn)行逐像素的精確識別,識別越準(zhǔn)確分割性能更好;解碼結(jié)構(gòu)目的是對編碼結(jié)構(gòu)的特征圖進(jìn)行逐像素的位置恢復(fù),恢復(fù)至與原圖像相同尺度大小,像素位置恢復(fù)越準(zhǔn)確,分割精度越高。本文設(shè)計的解碼結(jié)構(gòu)為含有4個串聯(lián)解碼模塊加一個softmax分類層的解碼器,每一個解碼模塊的輸出均為下一個解碼模塊的輸入,每個解碼模塊的組成部分相同,均含有一個上采樣層對特征圖進(jìn)行上采樣,恢復(fù)圖像尺度,最后經(jīng)過softmax層對像素進(jìn)行分類并得到與輸入圖像相同尺度的分割結(jié)果圖。
不同之處在于編碼器部分,主要設(shè)計了3個不同的并行編碼結(jié)構(gòu)分別對不同尺度的圖像進(jìn)行特征提取,在輸入為256×256尺度的圖像編碼結(jié)構(gòu)中,使用了4個編碼模塊得到4種不同尺度的特征圖,其中第一層輸出為包含64張128×128尺寸的特征圖,第二層輸出為包含128張64×64尺寸的特征圖,第三層輸出為包含256張32×32尺寸的特征圖,最后一層輸出為包含512張尺寸為16×16的特征圖。在輸入為512×512尺度的圖像編碼結(jié)構(gòu)中,使用了5個編碼模塊,得到5種不同尺度的特征圖,其中,第一層輸出為包含32張256×256尺寸的特征圖,第二層輸出為包含64張128×128尺寸的特征圖,第三層輸出為包含128張64×64尺寸的特征圖,第四層輸出為包含256張32×32尺寸的特征圖,最后一層輸出為包含512張尺寸為16×16的特征圖。在輸入1 024×1 024尺度的圖像編碼結(jié)構(gòu)中,使用了6個編碼模塊,得到6種不同尺度的特征圖,其中第一層輸出為包含16張512×512尺寸的特征圖,第二層輸出為包含32張256×256尺寸的特征圖,第三層輸出為包含64張128×128尺寸的特征圖,第四層輸出為包含128張64×64尺寸的特征圖,第五層輸出為包含256張32×32尺寸的特征圖,最后一層輸出同樣為包含512尺寸為16×16的特征圖??梢园l(fā)現(xiàn)每一個編碼結(jié)構(gòu)隨著網(wǎng)絡(luò)深度的增加逐步擴大特征圖厚度以獲得更多的圖像特征信息,同時隨著網(wǎng)絡(luò)的加深,圖像分辨率不斷減小,有利于減少冗余信息的同時擴大感受野使網(wǎng)絡(luò)得到更多的上下文語義信息。與此同時,編碼部分中的融合過程均作用于3個編碼結(jié)構(gòu)中具有相同特征圖尺寸和厚度的編碼層。其融合方法如圖2所示。在編碼部分的3個編碼結(jié)構(gòu)中,每一個編碼模塊的結(jié)構(gòu)均相同,均含有一個池化層,用于降低圖像尺寸。每個編碼模塊的的輸出作為下一個編碼模塊的輸入。將3個并行編碼結(jié)構(gòu)輸出同為16×16的特征圖進(jìn)行特征相加融合,作為解碼結(jié)構(gòu)第一個解碼模塊的輸入,同時,也將3個并行編碼結(jié)構(gòu)編碼過程中生成的具有相同尺寸的特征圖進(jìn)行相加融合,如第一個結(jié)構(gòu)的第一層輸出特征圖與第二個結(jié)構(gòu)的第二層輸出特征圖以及第三個結(jié)構(gòu)的第三層輸出特征圖進(jìn)行相加融合,作為解碼結(jié)構(gòu)中第四個解碼模塊的第二個輸入。意味著低層中含有豐富位置信息的特征圖將有助于更加精細(xì)的像素位置恢復(fù)。
圖2 網(wǎng)絡(luò)編碼結(jié)構(gòu)中特征的相加融合方式
本文所提網(wǎng)絡(luò)結(jié)構(gòu)中的編碼模塊(Encoder Block)是一種卷積神經(jīng)網(wǎng)絡(luò)的特征提取模塊,其中包含了互相交疊的兩個卷積層兩個激活層以及一個池化層。
如圖3所示為第一個編碼結(jié)構(gòu)的第一個編碼模塊(Encoder Block1_1)示意圖,conv1_1_1是卷積核大小為3×3的標(biāo)準(zhǔn)卷積,步長為1,卷積核數(shù)量是32個,卷積后圖片尺寸不變。conv1_1_1后面接的relu激活層進(jìn)行特征激活。conv1_1_2同樣是卷積核大小為3×3的標(biāo)準(zhǔn)卷積,步長為1,卷積核數(shù)量與模塊中第一層卷積核數(shù)量相同,卷積后圖片尺寸不變,同樣后面接一個relu激活層對特征進(jìn)行激活。編碼模塊最后一層為2×2的最大池化層,對特征圖進(jìn)行尺寸縮小,同時提高圖像特征的平移不變性。
圖3 Encoder Block1_1示意圖
解碼模塊(Decoder Block)的結(jié)構(gòu)與編碼模塊(Encoder Block)有相似之處,除了第一個解碼模塊為編碼器輸出特征圖這一個輸入,其余三個模塊均為兩個輸入Input1和Input2。以解碼結(jié)構(gòu)中第二個解碼模塊(Decoder Block_2)為例,如圖4所示,解碼模塊第一層是一個串聯(lián)層,將兩個輸入進(jìn)行串聯(lián)融合作為第二層上采樣的輸入。Input1為前一個解碼模塊的輸出,這與U-Net算法中解碼模塊相似;不同之處為MEFF-Net算法解碼模塊中Input2為編碼部分融合了3個編碼結(jié)構(gòu)中不同解碼模塊的多尺度特征圖,該特征圖包含了目標(biāo)多個不同尺度的上下文信息同時含有詳細(xì)的位置信息,有助于解碼部分實現(xiàn)圖像密集恢復(fù)。第三層和第四層為與編碼模塊中卷積與激活層相同。上采樣層為非線性插值上采樣。串聯(lián)融合方式如圖5所示。
圖4 Decoder Block_2示意圖
圖5 網(wǎng)絡(luò)編碼結(jié)構(gòu)中特征的串聯(lián)融合方式
本文基于數(shù)據(jù)集HRSC-2016[21],構(gòu)建了用于檢驗海陸分割算法的新的數(shù)據(jù)集HRSC2016-SL。該數(shù)據(jù)集含有1 000張海陸分割標(biāo)記的高分辨率遙感圖像,并利用LabelMe[22]標(biāo)注工具對原圖中海陸區(qū)域進(jìn)行分割標(biāo)記。圖像分辨率范圍為2 m至0.4 m,圖像尺寸范圍為300×300至1 500×900。本文將HRSC2016-SL數(shù)據(jù)集分為7∶3的訓(xùn)練集和測試集。該數(shù)據(jù)集中部分樣本數(shù)據(jù)如圖6所示。
當(dāng)只有少數(shù)訓(xùn)練樣本可用時,數(shù)據(jù)增強[23]對于訓(xùn)練網(wǎng)絡(luò)所需的不變性和魯棒性屬性至關(guān)重要。本文應(yīng)用旋轉(zhuǎn)、隨機裁剪、隨機比例、移位等圖像增強方法來處理訓(xùn)練集中的圖像和標(biāo)簽,然后獲得17 000張圖片的訓(xùn)練集。所有實驗都使用帶有Tensorflow后端的Keras框架進(jìn)行編程。
圖6 遙感圖像海陸分割數(shù)據(jù)集HRSC2016-SL訓(xùn)練樣本
為了做出有效的評估,本文使用了類別并比(IOU)的平均值(mIoU)作為評估指標(biāo)。類別交并比IOU為目標(biāo)實際位置與預(yù)測位置的交集與并集的比值。而平均類別交并比mIoU為各個類別交并比的平均值。
為了更好地評估本文算法中編碼器的性能,本文在HRSC2016-SL測試集進(jìn)行測試,首先對MEFF-Net算法與U-Net算法進(jìn)行實驗對比,實驗結(jié)果如表1所示。從表中可以看出,本文基于U-Net設(shè)計的新的網(wǎng)絡(luò)結(jié)構(gòu)MEFF-Net在平均IOU上提升了1.31%的性能。在具有相同編碼器-解碼器算法結(jié)構(gòu)的情況下,實驗證明本文改進(jìn)后的多尺度輸入并行編碼器有助于編碼器提取更多具有不同尺度上下文信息的豐富特征算子,有助于提升艦船目標(biāo)識別精確度,幫助語義分割網(wǎng)絡(luò)實現(xiàn)更加精確的目標(biāo)分割。
表1 MEFF-Net算法與U-Net對比結(jié)果 %
在實驗參數(shù)設(shè)置相同的情況下,將本文算法與現(xiàn)有的SegNet、FCN算法及文獻(xiàn)[15]所提算法進(jìn)行對比。實驗結(jié)果如表2所示。從表中可以看出,MEFF-Net算法獲得了最好的分割結(jié)果,與SegNet算法相比,平均IOU上升了8.74%的分割精確度;與文獻(xiàn)[15]所提算法相比,平均IOU上升了3.34%;與FCN算法相比,平均IOU上升了2.02%的分割精確度。
表2 MEFF-Net算法與其他語義分割算法對比結(jié)果 %
從實驗結(jié)果中可以看出,本文所提MEFF-Net算法的性能優(yōu)于SegNet,文獻(xiàn)[15]所提算法以及FCN算法。其主要原因在于SegNet算法雖然同為編碼-解碼結(jié)構(gòu),但其僅僅只利用了一種尺度的輸入圖像,同時編碼結(jié)構(gòu)中沒有對不同尺度的特征圖進(jìn)行融合。文獻(xiàn)[15]將三個不同尺度的圖像作為全卷積網(wǎng)絡(luò)的輸入得到三個不同尺度的分割圖,最后將其融合取平均來提升分割性能。而FCN算法中的特征提取部分不僅沒有融合多尺度特征圖,其像素恢復(fù)部分也較為粗糙,不如解碼器的恢復(fù)更加細(xì)致。而本文所提MEFF-Net算法不僅利用了多個不同尺度的輸入圖片作為三個并行編碼結(jié)構(gòu)的輸入,而且在編碼器對其進(jìn)行不同尺度的特征提取過程中,對不同編碼結(jié)構(gòu)中的不同編碼模塊進(jìn)行特征融合,豐富了編碼器所提取的特征算子的上下文語義信息,提升了目標(biāo)識別精度。同時,將低層編碼器中具有精密位置信息和多尺度上下文信息的特征圖與解碼模塊相融合,利用解碼器對目標(biāo)位置進(jìn)行像素級恢復(fù),提高了對圖像細(xì)節(jié)的分析能力以及像素位置信息的密集恢復(fù)能力,得到了遙感圖像艦船目標(biāo)最優(yōu)語義分割結(jié)果。
為了測試本文算法中網(wǎng)絡(luò)深度對海陸分割的影響,在原網(wǎng)絡(luò)的基礎(chǔ)上,增加網(wǎng)絡(luò)的深度,在每個編碼模塊中均分別添加一個卷積層和一個relu激活層,構(gòu)成MEFF-Net(2)網(wǎng)絡(luò)。在每個編碼模塊中均分別添加兩個卷積層和兩個激活層,構(gòu)成MEFF-Net(3)網(wǎng)絡(luò)。將具有不同深度的MEFF-Net算法進(jìn)行對比,實驗結(jié)果如表3所示,實驗結(jié)果證明,隨著網(wǎng)絡(luò)深度的增加,海陸分割效果變得更好。原因在于,隨著網(wǎng)絡(luò)深度的增加,有效感受野不斷增加,具有復(fù)雜特征信息的陸地獲得了更豐富的上下文語義信息,有效地提升了陸地的分割精度。
表3 MEFF-Net算法網(wǎng)絡(luò)深度對分割效果的影響%
表4 卷積核大小對分割效果的影響%
與此同時,本文驗證了卷積核大小對海陸分割效果的影響,實驗結(jié)果如表4。實驗表明,隨著卷積核的增大,感受野增大,有效感受野也隨之增大,對于大面積的陸地分割而言,有利于獲得更多的上下文信息而實現(xiàn)更加精確語義分割。如圖7所示為本文改進(jìn)算法與其他算法的分割預(yù)測結(jié)果圖。相比于現(xiàn)有的其他算法,MEFF-Net算法有效地改善了像素分類以及邊界分割模糊問題,分割預(yù)測結(jié)果更加準(zhǔn)確。
圖7 算法結(jié)果對比圖
本文根據(jù)遙感圖像海陸分割特點,在經(jīng)典的U-Net網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行算法改進(jìn),提出了一個新的編碼-解碼網(wǎng)絡(luò)結(jié)構(gòu)MEFF-Net。該網(wǎng)絡(luò)結(jié)構(gòu)中的編碼部分包含3個并行的編碼結(jié)構(gòu),分別以分辨率為256×256、512×512以及1 024×1 024的圖像作為輸入,則這三個并行的編碼結(jié)構(gòu)分別可以獲得不同尺度的特征圖,通過對多尺度特征圖進(jìn)行融合,有助于特征網(wǎng)絡(luò)提取更加豐富的語義信息。網(wǎng)絡(luò)中的解碼部分利用跳躍結(jié)構(gòu)融合了編碼結(jié)構(gòu)中豐富的位置信息,提高了圖像位置信息的恢復(fù)精度。除此以外,本文構(gòu)建了一個新的海陸語義分割數(shù)據(jù)集HRSC2016-SL,在該數(shù)據(jù)集上,改進(jìn)后的MEFF-Net算法精確度具有明顯提升,有效地改善了像素分類以及邊界分割模糊問題。