楚博策,高 峰,帥 通,王士成,陳 杰,陳金勇,于衛(wèi)東
(1.北京航空航天大學 電子信息工程學院,北京 100191;2.中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
近年來,Landsat、高分、Geoeye和Quickbird等軍用、民用、商用各類對地觀測衛(wèi)星逐步升空并投入使用[1-2],同時伴隨著微納衛(wèi)星、星群和星座的概念提出與規(guī)劃建設,后續(xù)的遙感影像數據,特別是高分辨率影像數據,將呈爆炸式增長。同時,各類用戶對自動化地表覆蓋提取的需求顯得越發(fā)緊迫。隨著遙感影像分辨率的不斷提高,遙感影像中各類地物的成像細節(jié)以及邊界輪廓逐漸清晰,各應用部門對遙感影像解析結果中地物覆蓋提取精度的要求也逐步提升。高分辨率影像中包含豐富的細節(jié)信息,較多的噪聲或信息冗余也同時存在,對機器實現自動、高精度的地表覆蓋提取產生了更多干擾,這又對高分辨率的遙感地物覆蓋分類流程設計以及模型設計提出了更高要求。面對如此龐大的遙感影像數據如何快速、自動、高精度地完成地表覆蓋類型分類是當前需要重點攻關的一項關鍵任務[3-4]。隨著深度學習、強化學習等人工智能技術的進步,目前已有較多科技工作者完成了基于傳統機器學習[5]以及深度學習[6]的遙感影像地表覆蓋分類任務的研究。
深度學習在地物分類方面的研究一部分集中在利用超像素方法對原始圖像進行了初始分割,利用卷積神經網絡和深度置信網絡等神經網絡對分割后的塊圖像進行分類,從而達到像素級地物分類的目的[7-8]。然而,該方法的分類效果不僅受到分類器效果的影響,而且受到分割效果的制約,特別是由于高分辨率遙感圖像的內容比較復雜,很難達到較好的分割效果。另外一部分研究人員采用FCN[9],SegNet[10]等語義分割網絡進行端到端的地物分類[11],雖然在一定程度上避免了分割與分類的疊加誤差,但由于該方法受限于網絡結構的優(yōu)化水平,其分類效果仍然具有很大的提升空間。
為此,本文將人工特征工程與深度神經網絡相結合,提出了一種新的針對地物分類任務的深度學習模型設計思路。首先提取多尺度的圖像紋理、結構等人工特征描述圖,將多尺度特征描述圖與原始三通道遙感圖像相結合,生成高維通道圖像合集作為神經網絡輸入,最大程度在網絡訓練前期增大對分類任務有利的信息輸入占比。為了更好地對高維通道圖像合集進行特征描述,本文借鑒了當前業(yè)內公認效果較好的DeepLab v3[12-14]深度全卷積網絡模型,實行了端到端的地物分類。同時,根據訓練過程的分類效果對其結構進行改進,取得了良好的分類效果。通過與FCN,SegNet等語義分割網絡進行地物分類效果對比,可以看出,與傳統的機器學習方法、深度學習方法和早期的全卷積網絡設計方法相比,本文設計的基于多尺度特征圖集合的深度語義分割網絡在地物分類應用中具有更好的實驗效果。
本文設計了一種基于多尺度特征圖集合的深度學習地物分類架構,其流程如圖 1所示。
圖1 基于多尺度特征圖集合的地物分類流程
首先,從高分辨率遙感圖像中提取特征圖,包括紋理特征和結構特征。利用不同的窗口大小構造多尺度特征映射組,然后將原始圖像和特征映射組進行融合,形成多尺度特征圖集合作為神經網絡的多維輸入。對神經網絡中的輸入數據進行孔洞卷積、Relu激活和pooling操作,獲取地物熱度分布圖。隨后通過自底向上采樣得到原始圖像中每個像素的概率。最后,利用條件隨機場[15-16]對分類結果的邊緣進行細化。
由于高分辨率影像細節(jié)信息(其中較大部分為冗余信息)過多、地物特征較為復雜,僅利用影像直接進行深度網絡特征提取容易受到冗余信息干擾,導致網絡訓練不徹底,甚至出現訓練偏差,最終導致特征描述力較差,影響分類效果。僅利用影像圖像進行分類時結果往往并不理想,因此需要利用其多元化特征對深度學習特征進行合理補充,甚至對深度學習特征訓練方向進行引導。
地物之間顯著的區(qū)別主要集中在紋理和輪廓結構中,例如:房屋紋理較為平坦,輪廓多為規(guī)則多邊形[17];森林紋理較為密集,輪廓多為不規(guī)則多邊形[18];道路紋理相對平坦,輪廓多為長條形等[19]。為提高特征描述的能力,本文對地物進行紋理與結構特征提取,形成多尺度特征圖集合,并與原始圖像合并形成高維圖像作為深度神經網絡輸入。
本文考慮不同地物在某些紋理特征(例如:方向性等)中差異性不明顯,而在某些紋理特征(例如:密集度、復雜度、光亮變化等)中差異性較大的特點,設計采用二維熵、粗糙度、對比度作為紋理特征。其中二維熵主要是對紋理密集程度的描述,粗糙度主要是對紋理復雜程度的描述,對比度主要考慮紋理特征光亮變化程度的描述。除此之外,考慮紋理特征受窗口大小的變化,對全局和局部的描述能力會受到影響,本文采用多尺度窗口對特征進行提取,行成多尺度特征圖集合,保證特征描述力的全面性。
(1)二維熵特征計算方法
本文提取二維熵特征作為紋理特征圖集合的第一維特征,特征提取公式如下:
Pi,j=f(i,j)/n2,
(1)
(2)
式中,H表示二維熵特征;n表示圖像大??;i表示當前像素的灰度值;j表示n范圍鄰域內點的像素值;f(i,j)表示特征二元組出現的頻數;Pi,j表示i像素和j像素二元組出現概率。可以看出,圖像二維熵可以突出反映圖像中像素位置的灰度信息和像素鄰域內紋理分布的綜合特征,數目越大表示紋理越復雜。
(2)粗糙度特征計算方法
本文提取局部圖像粗糙度特征并形成特征圖,首先選取窗口N,窗口N內局部圖像計算粗糙度,粗糙度計算公式如下:
(3)
En,h=|Dn(x+2n-1,y)-Dn(x-2n-1,y)|,
(4)
En,v=|Dn(x,y+2n-1)-Dn(x,y-2n-1)|,
(5)
En=max(E1,E2,…,En),
(6)
(7)
以窗口為N,步長為1遍歷整幅圖像,計算窗口內局部圖像的粗糙度作為局部圖像中心點的粗糙度特征,把所有粗糙度特征按照坐標位置組合,最終形成粗糙度特征圖。
(3)對比度特征計算方法
對比度表征圖像區(qū)域內明暗變化差異范圍,差異越大表示對比度越大。遙感圖像中不同地物的明暗度之間具有較大區(qū)別,采用對比度特征對于地物分類任務具有較好的區(qū)分性。計算方法如下:
(8)
式中,δ表示圖像中灰度標準方差;α4表示圖像灰度值峰態(tài),通過α4=u4/δ4定義,u4表示四階距均值,代表圖像灰度值方差。
(4)特征圖構建方法
本文設計采用特征圖來描述整幅遙感影像的特征,特征圖中每個像素值的意義是以該像素為中心,一定范圍內局部圖像的特征值,構建特征圖的公式:
(9)
式中,Feature((i,j),N)為特征圖中坐標(i,j)的特征值;a(m,n)為坐標(m,n)的像素灰度值;N為局部圖像的尺度;f為特征計算函數(本文中分別代指二維熵、粗糙度、對比度特征計算函數),不同特征構建特征圖集合方法只需替換對應的f為該特征圖集合的特征求取公式即可。
本文以圖像熵、粗糙度、對比度作為深度神經網絡的部分輸入,一維特征圖如圖 2所示。
(a)原始影像
(5)特征圖集合構建方法
為保證特征描述的全尺度能力,設計采用多窗口特征提取形成多尺度特征組,通過改變N值取值范圍,對原始圖像進行多尺度特征圖提取,最終構建特征圖集合。本文初步設計窗口大小為N=(2,4,6,8,10,…)。特征圖集合示意如圖 3所示。
圖3 特征圖集合示意
在結構特征方面,本文沒有對結構進行特征化,而是把圖像中的地物邊緣提取出來,用以突出結構信息在網絡輸入影像集中的信息比重,可以很好地避免結構特征在深度學習訓練過程中被冗余信息所掩蓋,可引導后續(xù)的深度網絡特征訓練過程中提升抽象結構特征的提取概率??紤]到Canny算子[20]可以較大程度標識出地物精細邊緣信息[21],對復雜地形中邊緣細節(jié)漏檢率低,而且算法不易受噪聲影像導致邊緣偏離,因此本文采用Canny算子提取邊緣特征進而構建結構特征圖,提取結果如圖 4所示。
(a)原始影像
早期遙感地物分類方法大多采用分割和分類的串聯模式。分類結果不僅取決于分類模型的準確性,還取決于分割結果的準確性。隨著全卷積神經網絡能夠在像素級對圖像進行分類,實現了從原始圖像到分類結果的端到端直接生成,完整解決了語義分割問題,因此全卷積網絡更適合應用于地物分類任務。
傳統的卷積神經網絡通常在最后連接多個全連接層,將原始的二維矩陣(圖像)展平成一維,丟失空間信息,最后訓練輸出一個標量,即分類標簽。在特征分類任務中,不僅需要知道圖像中的特征類別,還需要對不同特征的位置進行分割。與其他卷積神經網絡相比,本文采用的全卷積網絡的不同之處在于去除了傳統分類網絡中最后的全連接層,利用反卷積層對最后一個卷積層的特征映射進行上采樣,使其恢復到與輸入圖像相同的大小。最后,逐像素計算softmax分類損失,相當于每個像素一個訓練樣本。因此,可以為每個像素生成預測,并且保留原始輸入圖像中的空間信息。具體網絡結構如圖 5所示。
圖5 常規(guī)全卷積網絡結構
直接對卷積結果進行上采樣是非常粗糙的。由于高分辨率遙感圖像具有非常詳細的信息,低分辨率的語義特征直接應用于分類會產生明顯的誤差,因此全卷積過程將上采樣層和對應同尺度的下采樣層的結果進行組合,形成優(yōu)化輸出,再上采樣得到最終的分類結果。
本文參考DeepLab思想自行設計深度學習全卷積語義分割模型。DeepLab是全卷積網絡的一個變種,主要特點在于采用帶孔卷積的方法實現了感受野范圍的增加,而且后端增加了條件隨機場(CRF),解決了全卷積網絡邊界模糊的問題。本文的網絡模型可以分為:對應于DeepLab中向下(采用多孔卷積進行特征提取并逐步降采樣,同時提取語義特征)和向上(逐步上采樣特征恢復細節(jié)信息)2段通路。向下的通路,以VGGnet為基礎進行改進;向上的通路,將不同池化層的結果進行上采樣之后,和向下通路輸出結果并上采樣至原圖大小后相結合得到最終輸出結果。為解決梯度消失問題,該網絡引入了Relu激活函數,同時保留卷積操作,較大程度提升了訓練效率。模型結構如圖 6所示。
本文通過對多通道影像和特征圖集合進行多孔卷積操作,經過6層卷積和池化之后得到特征熱度圖Fc7(16 pixel×16 pixel的圖像),其中每個像素代表類別概率。為實現對原始尺寸影像進行分類,對Fc7進行上采樣恢復至原始尺寸,通過插值方法將低分辨率圖像轉為高分辨。在此過程中,為恢復特征至原始輸入尺度,網絡中進行反池化操作。由于池化操作有信息損失,過程是不可逆的,因此反池化只是一種近似逼近的方法,通過記錄池化過程操作的位置信息,按照該記錄復現即可。除此之外,網絡中針對激勵函數還存在反向激勵過程,不同于反池化,激勵函數Relu是可逆的,反向激勵過程可以通過轉置實現逆過程。
為了獲取遙感圖像中有關地物類型的細節(jié)信息,本文利用卷積神經網絡的多尺度層構造分類器。通過從卷積神經網絡具有高分辨率的較低層選擇性提取細節(jié)特征,利用自下而上的通道逐層產生分類結果。如圖 6所示,Fc7進行上采樣后與Dilated_Conv_5+Relu_5的輸出融合生成Fc8,Fc8進行上采樣后融合Dilated_Conv_6+Relu_6生成最終分類結果Fc9。
圖6 本方法網絡結構
本文涉及的訓練和測試數據為關島全區(qū)域(144°37′34.8″E~144°56′56.6″E,13°14′32.59″N~13°38′54.33″N)的可見光影像,主要包括高分系列衛(wèi)星影像數據以及從Google Earth等軟件中截取的數據。隨后將寬幅影像裁切成大小為1 024 pixel×512 pixel的標準影像塊進行標注,總共包括約2 000幅影像塊,影像空間分辨率為0.3 m,如圖7所示。該區(qū)域地物類型主要包括林地、道路、裸地、草地、水體及建筑等。
圖7 Google Earth的高分辨率影像
在進行樣本選取時,考慮不同地物分布的密集度不同,為保證模型訓練過程,可以學習不同地物的區(qū)分性特征,廢除較多單幅中單一地物全覆蓋的影像。綜合考慮并統計不同地物在影像集中的占比,選擇2/3樣本進行訓練,1/3進行測試,其中訓練樣本和測試樣本中各類地物分布較為均衡。
在生產多尺度紋理特征圖集合的過程中,選取特征窗口N=(2,4,6,8,10)共5種窗口尺度,輸入神經網絡的影像圖組中圖像的數量S為:
S=N×f+C+RGB,
(10)
式中,f為選取的紋理特征種類;C為結構特征圖數量;RGB為3,表示RGB三個通道。由式(10)可得本文輸入網絡的影像數為5×3+1+3=19。
本實驗將學習率的初始值設為0.000 1,并設計了觸發(fā)函數,可根據訓練誤差的變化趨勢動態(tài)調整學習率。由于輸入圖像維數和卷積網絡的高內存消耗,將樣本集設置為小樣本集,對10個樣本進行分批訓練。實驗中使用不同的網絡結構來比較分類精度,如圖 8所示。對比實驗中分別使用vgg16,resnet50,resnet101,resnet152的卷積部分進行全卷積改造。隨著網絡層數的增加,精度沒有增加。實驗表明,本文設計的網絡在當前情況下分類效果最好。
圖8 不同網絡結構分類精度
4.3.1 采用特征圖集合方法的前后對比
實驗分別對600余幅1 024 pixel×512 pixel的影像作為測試樣本進行測試。為驗證本文提出的輸入特征圖集合實現神經網絡特征提取的有效性和針對性,實驗中分別對直接輸入RGB影像和輸入特征圖集合進行對比實驗,實驗結果如表 1所示。
表1 不同網絡輸入分類效果對比
由表1可以看出,特征圖集合的加入對分類精度具有較好的提升效果。其中,水體、樹木和建筑物的分類精度較高,裸地與草地在標注時難以主觀界定標注標準,經常出現一些區(qū)域為裸地與草地交錯出現的情況,在一定程度上影響標注精度進而影響模型學習的精度。道路分類容易受到各種因素(標注界限模糊、樹木遮擋等)的干擾,且由于道路的線狀結構,分類結果容易出現道路的截斷,導致分類精度較低。后續(xù)研究將針對道路進行拓撲結構后處理進行道路塊的連接,在一定范圍內改進深度學習分類后的效果。
4.3.2 不同深度學習算法實驗結果對比
實驗分別對全卷積網絡的各種衍生算法進行分類實驗,由于全卷積網絡為像素級地物分類網絡,因此網絡的直接輸出分類圖中容易出現類別斑點和地物碎片,本文對神經網絡輸出后的結果進行了平滑、膨脹、腐蝕等后處理,實現分類結果中像素級類別斑點進行過濾,同時將分屬同一地物的臨近碎片進行分類標簽合并,使最終結果中各類地物具有較好的完整性和展示性。不同網絡的實驗分類結果如圖 9所示。
圖9 不同方法分類結果
具體的實驗分類結果如表 2所示??梢钥闯觯啾绕渌惴?,本文改進DeepLab中多孔卷積結構增強感受野和CRF的邊界增強在大多數地物類別中具有較好的應用效果。在樹木和草地的分類實驗中,本文的方法稍遜于SegNet和RefineNet等方法,考慮不同地物在尺度、紋理等方面對網絡的適用性不同,后續(xù)將對不同地物適用的網絡結構特點進行研究。
表2 不同算法分類精度對比
4.3.3 寬幅影像分類結果
實驗對寬幅影像進行裁切和合并處理從而實現寬幅影像的分類,其中按照交疊裁切的方法將原始影像切分為若干1 024 pixel×512 pixel尺寸的影像。交疊率設置為影像窄邊尺寸的1/2,即256 pixel,最終合并后的分類結果如圖 10所示。
(a)寬幅影像圖
本文采用Tensorflow架構和Python腳本語言進行算法實現,GPU采用NVIDIA Quadro P5000,顯存為48 GB。通過測試,基于該GPU算法運行速率可達到0.3 秒/幅(1 024 pixel×512 pixel影像),一景10 000 pixel×10 000 pixel的影像的處理時間為分鐘級,用時遠低于傳統方法。
本文將特征圖集合方法與深度全卷積網絡相結合,采用深度語義分割網絡進行端到端的高分辨率遙感地物分類。通過采用特征圖集合方法前后進行對比實驗,可以看出特征圖集合可以有效地對網絡的特征提取方向提供引導,從深度網絡輸入的角度提升特征提取的有效性。此外,本文將語義分割的全卷積深度神經網絡與遙感地物分類任務相結合,通過對比不同網絡模型方法的分類精度,訓練得到較為優(yōu)秀的深度模型來進行像素級地物分類。
通過研究發(fā)現,深度全卷積網絡在遙感影像分類領域具有較大潛力,將逐步取代傳統的分割、分類多步驟串聯的分類方式。但是作為一種新興的技術,仍有很多的工作需要研究,主要表現在不同地物適用的網絡結構特點仍然未進行總結梳理?,F有網絡模型多針對常規(guī)圖片的特性進行設計,多適用于正視角、大目標、集中性強的分類任務,相比而言,本文提出的網絡模型是一種真正適合遙感影像俯視角、小目標、多分散特性的網絡模型結構。下一步,將研究不同地物特性與不同深度學習網絡結構之間的關系,進而通過融合多種網絡結構,最終實現不同地物采用同一網絡實現最優(yōu)的分類結果。