沈旭東,樓 平?,雷英棟,朱立妙,吳湘蓮
(1.嘉興職業(yè)技術(shù)學(xué)院,浙江 嘉興 314036;2.同濟(jì)大學(xué)浙江學(xué)院,浙江 嘉興 314051)
遙感圖像語義分割是指對圖像中對每個(gè)區(qū)域的像素標(biāo)簽進(jìn)行語義上的分類,它對地表空間信息的提取、城市土地資源管理、環(huán)境監(jiān)測和自然資源保護(hù)等方面都起到十分重要的作用。隨著遙感技術(shù)的發(fā)展,獲取高分辨率遙感圖像在國內(nèi)已經(jīng)得到廣泛的應(yīng)用[1],這給城市土地信息的提取提供了很好的資源基礎(chǔ),傳統(tǒng)的方法使用手動(dòng)的方式對遙感圖像信息進(jìn)行標(biāo)注,會(huì)花費(fèi)大量的時(shí)間和人力,因此構(gòu)建一種自動(dòng)的高分辨率遙感圖像語義分割方法具有重要的作用。和傳統(tǒng)的計(jì)算機(jī)視覺圖像不同,遙感圖像一般可獲得的數(shù)量比較少,而且一個(gè)圖像中會(huì)包含很多的物體,比如:道路、建筑物、植被、高樹木、汽車等。另外,建筑物有不同的大小,汽車相比其他物體很小,植被和高樹木只是在高度上有區(qū)別,這些問題都給基于標(biāo)簽的圖像語義分割增加了很大的困難。
近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,為了解決圖像語義分割的難點(diǎn),很多學(xué)者在圖像語義分割上做了很多研究,2015 年全卷積神經(jīng)網(wǎng)絡(luò)[2](Fully Convolutional Networks,F(xiàn)CN)的提出為圖像語義分割提供了全新的基礎(chǔ)模型,采用“編碼解碼”的結(jié)構(gòu),實(shí)現(xiàn)了端到端的分割方法,比起其他模型有了很大的改進(jìn)。本文針對高分辨率遙感圖像的特點(diǎn),在該結(jié)構(gòu)的基礎(chǔ)上設(shè)計(jì)了一種改進(jìn)的端到端網(wǎng)絡(luò)模型,在編碼階段使用遙感圖像中具有三維特征的紅外雷達(dá)(IRRG)和具有一維特征的數(shù)字表面模型(nDSM)作為輸入[3],如圖1 所示,采用resnet[4]預(yù)訓(xùn)練網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),設(shè)計(jì)了一種注意力補(bǔ)償模塊(Attention Complementary Block,ACB)網(wǎng)絡(luò)結(jié)構(gòu),將IRRG 和nDSM 雙輸入特征做融合,加強(qiáng)了特征提取的效果。為了有效獲取全局信息,我們在特征提取的最后一個(gè)階段,構(gòu)建了一個(gè)帶有空洞卷積的空間金字塔結(jié)構(gòu)[5](Atrous Spatial Pyramid Pooling,ASPP)網(wǎng)絡(luò)模塊,采用具有不同空洞率的空洞卷積網(wǎng)絡(luò),增大了卷積感受野,進(jìn)一步提高了網(wǎng)絡(luò)模型對于全局信息的獲取。在解碼階段,我們設(shè)計(jì)了一種通道注意力增強(qiáng)模塊(Channel Attention Enhance Block,CAEB)、空間注意力增強(qiáng)模塊(Spatial Attention Enhance Block,SAEB)兩種空間網(wǎng)絡(luò)結(jié)構(gòu),采用CAEB 和SAEB 串接的方式對深層特征和淺層特征進(jìn)行特征融合,再使用上采樣結(jié)構(gòu)減小通道數(shù)量,增加圖像的尺寸,最后使用1×1 卷積得到需要的輸出圖像。
本文主要做的工作有以下幾個(gè)方面:
(1)傳統(tǒng)的圖像語義分割算法大都是使用三維圖像作為輸入,進(jìn)行圖像的預(yù)測,很多遙感圖像語義分割的研究論文中,有提到對遙感圖像和nDSM 圖像同時(shí)輸入,但是融合的方法很少有詳細(xì)描述,本文結(jié)合IRRG 和nDSM 的圖像特征,設(shè)計(jì)了一種ACB注意力模型結(jié)構(gòu),對兩個(gè)圖像的特征進(jìn)行提取,并在不同的特征層上進(jìn)行融合,提高了特征提取的效果。
(2)由于遙感圖像上物體結(jié)構(gòu)復(fù)雜多樣,本文借鑒DeeplabV3+[5]網(wǎng)絡(luò)模型中的ASPP 網(wǎng)絡(luò)結(jié)構(gòu),對網(wǎng)絡(luò)參數(shù)進(jìn)行改進(jìn),重新調(diào)整空洞卷積的空洞率,取得不錯(cuò)的效果。
(3)設(shè)計(jì)了CAEB、SAEB 兩種空間網(wǎng)絡(luò)結(jié)構(gòu),使用CAEB 和SAEB 串接的方式對深層特征和淺層特征進(jìn)行融合,再進(jìn)行上采樣,增強(qiáng)了不同層圖像特征全局信息的融合。
在設(shè)計(jì)語義分割網(wǎng)絡(luò)時(shí),基礎(chǔ)網(wǎng)絡(luò)設(shè)計(jì)是很重要的一部分,由于條件的限制,高分辨率遙感圖像在進(jìn)行訓(xùn)練時(shí),很難獲得海量遙感圖像數(shù)據(jù)集,一般情況下只有幾張或者幾十張,在這樣少量的數(shù)據(jù)集上提取特征,采用具有預(yù)訓(xùn)練的圖像分類模型是不錯(cuò)的選擇,本文選用resnet50 作為圖像特征提取模型,因?yàn)樗窃诰W(wǎng)絡(luò)中增加殘差網(wǎng)絡(luò)的方法,解決了網(wǎng)絡(luò)深度到一定程度,誤差升高,效果變差,梯度消失現(xiàn)象越明顯,使得網(wǎng)絡(luò)反向傳播求最小損失難以實(shí)現(xiàn),網(wǎng)絡(luò)模型框圖如圖2 所示。實(shí)現(xiàn)上,由于圖像輸入的數(shù)據(jù)有兩部分,分別是IRRG 圖像和nDSM 圖像,以256×256 大小的圖像為例,IRRG 圖像的大小為(3,256,256),nDSM 圖像的大小為(1,256,256),無法直接輸入到resnet50 網(wǎng)絡(luò)模型中,本文中將網(wǎng)絡(luò)模型分為兩個(gè)分支,一個(gè)分支處理IRRG 圖像信息,一個(gè)分支處理nDSM 圖像信息,由于默認(rèn)的resnet50 模型為三通道輸入,需要將nDSM 圖像分支模型輸入通道改為1。其次由于我們需要在深層網(wǎng)絡(luò)之后使用ASPP 多尺度模塊進(jìn)行全局信息的提取,而resnet50 最后特征的輸出只有(2056,8,8),尺寸太小,因此在第四層網(wǎng)絡(luò)設(shè)計(jì)中,我們修改了卷積步長使得最后一層特征的輸出大小為(2056,16,16),經(jīng)過修改后resnet50 總的框架如表1 所示。
圖2 網(wǎng)絡(luò)模型框圖
表1 基于resnet50 的基礎(chǔ)特征提取網(wǎng)絡(luò)框架
由前面分析,我們知道圖像的輸入信息有兩部分組成,分別是IRRG 圖像和nDSM 圖像,為了能從這兩部分圖像中有選擇地獲取有用的信息,我們設(shè)計(jì)了一個(gè)注意力模塊[6],使得網(wǎng)絡(luò)能夠更加關(guān)注圖像中有用信息的區(qū)域。設(shè)計(jì)方法如下:假設(shè)輸入圖像特征A=[A1,…,Ac]∈?C×H×W,其中Ai表示每個(gè)像素點(diǎn)在全部通道上的點(diǎn)集合,C表示通道數(shù)量,H,W表示特征圖像的高度和寬度,對F使用全局平均池化操作,得到輸出Z,Z∈?C×1×1,公式如下:
其次,使用通道數(shù)不變的1×1 卷積操作,目的是為了對像素相關(guān)的類通道做強(qiáng)化,對像素不相關(guān)的類通道做抑制處理[7],從而給每個(gè)通道以合適的權(quán)值,然后使用Sigmod 激活函數(shù)激活卷積結(jié)果,通過訓(xùn)練可以得到針對每一個(gè)通道的最佳權(quán)值V∈?C×1×1,范圍為0~1 之間,最后使用F×V得到輸出結(jié)果,表達(dá)式可以寫為公式:
式中:U為一個(gè)分支的輸出結(jié)果,W1代表1×1 卷積,fs為Sigmod 激活函數(shù),×為矩陣對應(yīng)元素相乘。
將IRRG 圖像和nDSM 圖像依次獨(dú)立采用上述模型進(jìn)行特征的提取,并在每一層對提取的特征圖進(jìn)行融合,以特征層1 為例,得到的可視化結(jié)果(總共512 通道取0~8 通道),如圖3 所示。
圖3 IRRG 圖像和nDSM 圖像融合特征圖
為了有效地完成遙感圖像中不同物體之間的區(qū)分,特別是一些從圖中看很相近的物體,比如:“矮植被”和“樹木”通常是很難區(qū)分的,并且對于不同大小的汽車有時(shí)也很難區(qū)分,為了提高像素級識別特征表示的辨別能力,我們在深層特征和淺層特征融合的過程中采用了空間位置注意力和通道注意力兩個(gè)網(wǎng)絡(luò)的串接融合。
對于空間位置注意力模塊,我們使用注意力機(jī)制,通過計(jì)算像素所在位置每個(gè)通道上的加權(quán)累計(jì),得到每個(gè)像素可更新的權(quán)值比例,其大小由相應(yīng)的兩個(gè)位置之間的特征相似程度來決定,從而使得空間任意兩個(gè)像素之間的依賴關(guān)系得以表示,通過空間位置注意力網(wǎng)絡(luò)后,兩個(gè)位置之間的關(guān)系程度和空間位置上的距離無關(guān)。網(wǎng)絡(luò)具體實(shí)現(xiàn)如圖4 所示,實(shí)現(xiàn)方法如下:
圖4 空間位置注意力模塊
(1)假設(shè)輸入圖像特征A∈?C×H×W;
(2)通過兩個(gè)1× 1 卷積后,得到兩個(gè)新的特征A和B,{A,B}∈?C×H×W;
(3)將A和B兩個(gè)特征變型操作為?C×(HW),其中HW為H×W;
(4)然后用A的轉(zhuǎn)置乘上B,再對結(jié)果使用softmax 求取每個(gè)像素的注意力權(quán)值,得到S∈?(HW)×(HW),其中Sji表示第i個(gè)位置和第j個(gè)位置像素的注意力權(quán)值,即兩個(gè)位置的相關(guān)程度。
(5)再通過1× 1 卷積后,得到新的特征C,{C}∈?C×H×W,并變型為?C×(HW),然后對S和變型后的C′對應(yīng)元素相乘,最后再與輸入特征相加得到輸出E∈?C×H×W,表達(dá)式如下,
SREB 注意力模塊基本原理同ACB 注意力模塊,網(wǎng)絡(luò)具體實(shí)現(xiàn)如圖5 所示。
圖5 通道注意力模塊
選取的數(shù)據(jù)集為Vaihingen 數(shù)據(jù)集[8],該數(shù)據(jù)集采集自航攝飛機(jī)拍攝的標(biāo)準(zhǔn)航空遙感影像,由33 幅高分辨率航空影像組成,涵蓋1.38 km2城市的面積,圖像平均尺寸大小為2 494× 2 064,每張圖像具有3 個(gè)波段,分別為紅外、紅色和綠色波段,nDSM圖像表征的是地面上物體的高度數(shù)據(jù),作為補(bǔ)充數(shù)據(jù)輸入,在這33 張圖中,其中有16 張圖片是有人工標(biāo)注的,我們選12 張圖片作為訓(xùn)練集,4 張圖片作為驗(yàn)證集,數(shù)據(jù)集的信息如表2 所示。
表2 Vaihingen 數(shù)據(jù)集實(shí)驗(yàn)方案
一般情況下,高分辨率遙感圖像單張圖像的尺寸都比較大,無法直接輸入到深度學(xué)習(xí)網(wǎng)絡(luò)中去,而且大部分高分辨率遙感圖像只提供非常有限的數(shù)據(jù)量,比如,Vaihingen 數(shù)據(jù)集只提供16 張大小為2 494×2 064 帶標(biāo)簽的完整圖像,雖然很多深度學(xué)習(xí)語義分割模型能輸入任意尺寸的圖像,但是由于GPU 內(nèi)存的限制和圖像數(shù)量的原因,一次輸入這么大的圖像顯然是不合適的,我們需要對圖像進(jìn)行隨機(jī)裁剪,訓(xùn)練時(shí)我們在原始圖像的基礎(chǔ)上,隨機(jī)把圖像裁剪為256×256 大小,并對圖像進(jìn)行0°、90°、180°、270°、水平和垂直6 個(gè)方向的隨機(jī)旋轉(zhuǎn),在實(shí)現(xiàn)的過程中圖像的裁剪和訓(xùn)練沒有分開,這樣可以保證每次隨機(jī)到的圖像都可以不一樣,如果先裁剪好再訓(xùn)練,每次訓(xùn)練的數(shù)據(jù)集就不會(huì)變,會(huì)影響最后的訓(xùn)練準(zhǔn)確度。驗(yàn)證時(shí),我們采用重疊覆蓋的方法,把圖像裁剪為256×256 大小,如圖6 所示,設(shè)置x方向步長和y方向步長,對預(yù)測圖像進(jìn)行裁剪,這樣可以提高整張圖片最終預(yù)測的準(zhǔn)確度。
圖6 驗(yàn)證時(shí)圖像裁剪方法
(1)損失函數(shù)設(shè)計(jì)
在語義分割領(lǐng)域,通用的損失函數(shù)一般選擇交叉熵?fù)p失函數(shù)CEloss,定義如下:
式中:N表示批處理的大小表示每個(gè)標(biāo)簽樣本的概率,表示相應(yīng)標(biāo)簽類別的編碼。針對數(shù)據(jù)集中大目標(biāo)類別(比如道路和建筑物等)的像素點(diǎn)數(shù)量占據(jù)絕對優(yōu)勢,不同類別的像素點(diǎn)數(shù)據(jù)分布不均衡,因此高分辨率遙感圖像存在樣本類不平衡的問題,式(2)損失函數(shù)計(jì)算的是所有像素的總和,不能很好地處理類不平衡問題[9],我們采用對不同類別的損失進(jìn)行加權(quán),計(jì)算每個(gè)類別的權(quán)重,頻率越高的權(quán)重越小,帶權(quán)重的交叉熵?fù)p失函數(shù)定義如下:
(2)訓(xùn)練細(xì)節(jié)
在進(jìn)行設(shè)計(jì)時(shí),我們的程序使用Pytorch 框架進(jìn)行設(shè)計(jì),實(shí)驗(yàn)所用圖像工作站配置為:8 核CPU,內(nèi)存32G,TeslaV100 GPU,顯存16G,操作系統(tǒng)Ubuntu 16.04,優(yōu)化器采用隨機(jī)梯度法,參數(shù)設(shè)置:lr =0.01,momentum =0.9,weight_decay =1e-4,迭代次數(shù)50000,批處理大小16,為了評估網(wǎng)絡(luò)的性能,我們使用全局準(zhǔn)確率(OA),均交并比(mIOU)來進(jìn)行比較,對于兩個(gè)數(shù)據(jù)集我們都使用不帶邊界腐蝕的標(biāo)注圖進(jìn)行性能指標(biāo)測試,評價(jià)函數(shù)如下:
TP表示“正樣例被分類成正樣例”像素,F(xiàn)P表示“負(fù)樣例被分類成正樣例”像素,F(xiàn)N表示“正樣例被分類成負(fù)樣例”像素,N表示總的像素值。
我們采用FCN- 8S、Unet[10]、Segnet[11]、DeeplabV3+四種不同的語義分割網(wǎng)絡(luò)進(jìn)行對比分析,從表3 數(shù)據(jù)可以看出,我們設(shè)計(jì)網(wǎng)絡(luò)在均交并比(mIOU)和準(zhǔn)確率(OA)上都有了一定程度的提高,和基礎(chǔ)網(wǎng)絡(luò)FCN-8S 相比,我們的網(wǎng)絡(luò)在mIOU 上提高了5.1%,在OA 上提高了3%,證明我們的網(wǎng)絡(luò)添加了基于注意力機(jī)制的多尺度融合模型是有效的,對于類不平衡的優(yōu)化設(shè)計(jì),我們采用了帶權(quán)重的交叉熵?fù)p失函數(shù),我們的模型在小物體的識別上也有了一定的提高,比如,汽車類別的IOU 達(dá)到了73.06%,在相似物體的識別上也比其他的模型表現(xiàn)要好,比如建筑物比較大而且顏色不一致時(shí),比較難識別,經(jīng)常會(huì)出現(xiàn)中間缺失像素的現(xiàn)象,我們的模型建筑物類別IOU 的比例達(dá)到了90.78%,而且從預(yù)測圖中看識別比較完整。
表3 Vaihingen 數(shù)據(jù)集對比測試數(shù)據(jù)
由圖7 可知,很多的物體是比較相近的,比如一個(gè)建筑物在被識別的時(shí)候就分散開了,中間夾著很多其他的像素,或者樹木和矮植被兩種物體,比較難被區(qū)分開,這是因?yàn)楦鞣N其他的模型不能很好地使用全局的上下文信息,導(dǎo)致某個(gè)像素在識別的時(shí)候只考慮了周圍有限的一些像素信息,從而使得信息的識別不是很完整,我們在模型中添加的注意力機(jī)制模型和多尺度模型在很大程度上可以改進(jìn)這些問題。
圖7 Vaihingen 裁剪圖測試對比
我們對所有的256×256 圖像進(jìn)行了重疊覆蓋拼接的預(yù)測,拼接后測試對比結(jié)果如圖8 所示,經(jīng)測試該方法比單獨(dú)拼接在最終的準(zhǔn)確率上要高1~1.5%左右,在最終結(jié)果中可以去除大部分預(yù)測錯(cuò)誤的小點(diǎn),從整體的預(yù)測效果上看,我們模型的預(yù)測結(jié)果在物體的完整性和預(yù)測的準(zhǔn)確性上都要比其他的模型表現(xiàn)好。
圖8 Vaihingen 30 號圖拼接后整圖測試對比
通過對遙感圖像的分析,我們設(shè)計(jì)了一種新的針對高分辨率遙感圖像端到端的網(wǎng)絡(luò)模型,對IRRG圖像和nDSM 圖像進(jìn)行融合輸入,并在模型的設(shè)計(jì)中引入了空間注意力模塊和多尺度模塊,從最終的預(yù)測性能看,該模型比其他幾種流行的語義分割網(wǎng)絡(luò)模型預(yù)測效果要好,但是在相近物體的識別上還是存在一些問題,比如矮植被的識別沒有凸顯出很大的優(yōu)勢,需要在以后的設(shè)計(jì)中進(jìn)一步改進(jìn)。