沈 瑜 苑玉彬 彭 靜 陳小朋 楊 倩
(蘭州交通大學(xué)電子與信息工程學(xué)院, 蘭州 730070)
遙感圖像的語(yǔ)義分割應(yīng)用非常廣泛。河流是生態(tài)系統(tǒng)的重要組成部分,從遙感影像中準(zhǔn)確提取河流信息在環(huán)境監(jiān)測(cè)、災(zāi)害預(yù)警、農(nóng)業(yè)規(guī)劃等方面具有重要意義。寒旱區(qū)在中國(guó)分布較廣,是眾多河流的發(fā)源地,生態(tài)環(huán)境脆弱。因此,針對(duì)寒旱區(qū)特點(diǎn)尋找到快速、精確的河流提取方法顯得尤為重要[1-3]。
傳統(tǒng)的河流提取方法提取效率較低、精度較差[4-7]。近年來(lái),深度學(xué)習(xí)成為人工智能科學(xué)研究的熱點(diǎn),其中,卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的重要發(fā)展方向,在圖像分類[8-10]和語(yǔ)義分割[11-12]等領(lǐng)域取得了一定成果,深度學(xué)習(xí)的方法在遙感圖像的河流提取應(yīng)用方面也取得了較大進(jìn)展。由于在卷積神經(jīng)網(wǎng)絡(luò)后3層都是一維向量,計(jì)算方式不再采用卷積,所以丟失了二維信息。全卷積神經(jīng)網(wǎng)絡(luò)(Fully convolutional networks, FCN)[13]將后3層全部轉(zhuǎn)換為1×1的卷積核所對(duì)應(yīng)等同向量長(zhǎng)度的多通道卷積層,即全部采用卷積計(jì)算。FCN學(xué)習(xí)像素到像素的映射,輸入一幅圖像,輸出也是一幅圖像,實(shí)現(xiàn)了水體的快速分割,相對(duì)于傳統(tǒng)方法以及卷積神經(jīng)網(wǎng)絡(luò),在河流提取上具有明顯的優(yōu)勢(shì)[14-15]。
OLAF等[16]在FCN的基礎(chǔ)上構(gòu)建了U-Net網(wǎng)絡(luò),引入捷徑連接,將反卷積作為上采樣結(jié)構(gòu),并將網(wǎng)絡(luò)編碼器部分的特征連接到解碼器部分,將低維信息和高維信息進(jìn)行融合,使得網(wǎng)絡(luò)在上采樣過(guò)程恢復(fù)了更多的空間信息。WANG等[17]將Unet網(wǎng)絡(luò)與遷移學(xué)習(xí)相結(jié)合,采用弱監(jiān)督訓(xùn)練的方法訓(xùn)練網(wǎng)絡(luò),在只有100幅圖像的情況下,利用神經(jīng)網(wǎng)絡(luò)優(yōu)越的分類性能獲得了像素級(jí)的分割效果。ResNet網(wǎng)絡(luò)將殘差學(xué)習(xí)引入深度學(xué)習(xí)[18],大大提高了圖像分類的提取精度,并在遙感影像提取上取得了較廣泛的應(yīng)用[19]。WANG等[20]提出了一種多連接ResNet,以融合與FCN不同層相對(duì)應(yīng)的多層深度特征。CHAURASIA等[21]提出LinkNet深度學(xué)習(xí)網(wǎng)絡(luò)模型,LinkNet采用U-shape結(jié)構(gòu),網(wǎng)絡(luò)具有豐富的shortcut,更加有利于將淺層信息傳導(dǎo)至網(wǎng)絡(luò)深層,實(shí)現(xiàn)了像素級(jí)的圖像語(yǔ)義分割,在執(zhí)行過(guò)程中,避免了參數(shù)增加過(guò)多,提高了運(yùn)行效率。為了解決特征圖分辨率和感受野之間的矛盾,Deeplab系列引入了擴(kuò)張卷積和金字塔池化結(jié)構(gòu)(Atrous spatial pyramid pooling, ASPP)[22-24]。ASPP利用了多尺度信息,進(jìn)一步強(qiáng)化了分割效果,面對(duì)高分辨率的輸入,ASPP為了獲取足夠大的感受野,需足夠大的擴(kuò)張率,但隨著擴(kuò)張率增加(d>24),擴(kuò)張卷積的衰退衰減變得無(wú)效[25-27]。YANG等[28]將Deeplab系列中的ASPP和DenseNet[29]中的密集連接相結(jié)合,構(gòu)成了密集空間金字塔池化(Dense atrous spatial pyramid pooling, Dense ASPP)。新的模塊具有更大的接收野和更密集的采樣點(diǎn)。
針對(duì)寒旱區(qū)河流較細(xì)、存在山體陰影遮擋等特點(diǎn),本文結(jié)合遷移學(xué)習(xí),將ResNet50遷移到Linknet網(wǎng)絡(luò),構(gòu)建R-Linknet網(wǎng)絡(luò),并聯(lián)合密集空間金字塔池用于寒旱區(qū)遙感影像的河流提取,通過(guò)設(shè)計(jì)實(shí)驗(yàn)證明方法的有效性。
本文數(shù)據(jù)來(lái)自中國(guó)寒旱區(qū)區(qū)域,如圖1所示。該區(qū)域最冷月平均氣溫小于-3.0℃、月平均氣溫大于10℃不超5個(gè)月、多年平均降水量小于500 mm,屬于典型的寒旱區(qū)區(qū)域。寒旱區(qū)生態(tài)環(huán)境脆弱,存在生態(tài)退化、水資源分布不均、資源過(guò)度開(kāi)發(fā)等問(wèn)題。同時(shí)寒旱區(qū)包含眾多河流發(fā)源地,寒旱區(qū)的生態(tài)問(wèn)題亟待解決。
圖1 實(shí)驗(yàn)區(qū)域示意圖Fig.1 Schematic of experimental area
采集含河流的圖像100幅,尺寸為1 024像素×1 024像素,并使用Labelme工具人工標(biāo)注了語(yǔ)義圖。將圖像中的像素分為河流和非河流兩種,河流標(biāo)注為1,非河流標(biāo)注為0。采集的圖像包含了具有多種河流尺度的圖像,以及有各種代表性干擾的圖像,例如山的陰影、云的遮擋、道路干擾、河流含沙量不同、干涸河床干擾和圖像拼接變化等具有寒旱區(qū)多個(gè)特征的高覆蓋性,部分示例如圖2所示。
圖2 數(shù)據(jù)集樣本圖Fig.2 Samples of data set
圖3為本文河流提取的整體方案,遙感影像經(jīng)過(guò)由R-Linknet網(wǎng)絡(luò)與Dense ASPP相結(jié)合的語(yǔ)義分割網(wǎng)絡(luò),Dense ASPP位于R-Linknet網(wǎng)絡(luò)的Encoder與Decoder中間,用以擴(kuò)增特征圖譜尺寸和網(wǎng)絡(luò)感受野。將Decoder輸出的預(yù)測(cè)圖同Ground Truth經(jīng)損失函數(shù)進(jìn)行對(duì)比,直至得到最小值,若不是最小值則進(jìn)行反向傳播調(diào)參,得到最終的輸出語(yǔ)義圖。
圖3 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Network structure diagram
Linknet網(wǎng)絡(luò)是在U型全卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入了ResNet,實(shí)現(xiàn)了像素級(jí)的圖像語(yǔ)義分割,原始的Linknet使用ResNet18作為Encoder,屬于輕量級(jí)的ResNet,但是精度不高且表征能力較弱。本文將ResNet50作為網(wǎng)絡(luò)的Encoder,提升網(wǎng)絡(luò)性能和收斂速度,同時(shí)將ELU函數(shù)作為激活函數(shù),構(gòu)成R-Linknet網(wǎng)絡(luò),結(jié)構(gòu)如圖4所示。整個(gè)結(jié)構(gòu)包含:2個(gè)卷積層,用以融合鄰域內(nèi)像素的信息;1個(gè)反卷積層, 4個(gè)編碼層,每個(gè)編碼層包含6個(gè)Res-block;4個(gè)解碼層,每個(gè)解碼層包含2層卷積和1層反卷積。
圖4 R-Linknet網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 R-Linknet network structure diagram
(1)
f——激活函數(shù)ELU
*——卷積運(yùn)算符號(hào)
d——卷積核數(shù)量
在編碼層中,4次編碼輸出圖像特征通道數(shù)分別為64、128、256、512,擴(kuò)展到編碼之前的8倍。解碼層含有2個(gè)卷積層和1個(gè)反卷積層。4次解碼輸出圖像特征通道數(shù)分別為512、256、128和64,圖像尺寸和特征通道數(shù)變?yōu)榕c編碼前相同。
與傳統(tǒng)的卷積算子相比,空洞卷積能夠在不增加核參數(shù)數(shù)量的情況下獲得更大的接受域。由空洞卷積產(chǎn)生的特征圖可以與輸入尺寸相同,但每個(gè)輸出神經(jīng)元擁有更大的接受域,因此可以編碼更高層次的語(yǔ)義。其原理如圖5所示,最上層為一個(gè)普通的卷積核,可以理解為膨脹率為1的空洞卷積,是空洞卷積的特殊形式;中間層是膨脹率為2的空洞卷積,在普通的卷積核基礎(chǔ)上,通過(guò)在9個(gè)點(diǎn)的周圍增加權(quán)重為0的空洞點(diǎn),增大感受野;最下層膨脹率為4。空洞卷積的目的是在不使用池化與下采樣操作的情況下,起到同樣增大感受野的功能,讓卷積的每一個(gè)輸出都擁有較大范圍的信息。
雖然空洞卷積解決了特征圖分辨率與接受域之間的矛盾,空洞卷積輸出的特征圖中所有神經(jīng)元都具有相同的接受域,意味著語(yǔ)義掩碼的生成過(guò)程只利用了單一尺度上的特征。但是多尺度信息將有助于解決模糊情況,并產(chǎn)生更穩(wěn)健的提取結(jié)果。
Dense ASPP由一個(gè)基礎(chǔ)網(wǎng)絡(luò)和一系列層疊的卷積層組成。Dense ASPP結(jié)合了并行和級(jí)聯(lián)使用空洞卷積層的優(yōu)點(diǎn),在更大的范圍內(nèi)產(chǎn)生了更多的尺度特征。通過(guò)一系列的特征連接,每個(gè)中間特征圖上的神經(jīng)元從多個(gè)尺度對(duì)語(yǔ)義信息進(jìn)行編碼,不同的中間特征圖從不同的尺度范圍對(duì)多尺度信息進(jìn)行編碼。通過(guò)一系列的空洞卷積,較后層次的神經(jīng)元獲得越來(lái)越大的感受野,而不會(huì)出現(xiàn)ASPP的核退化問(wèn)題。因此,Dense ASPP最終的輸出特征圖不僅涵蓋了大范圍的語(yǔ)義信息,而且以非常密集的方式覆蓋了該范圍。Dense ASPP原理圖如圖6所示,由編碼器輸出的特征圖經(jīng)5個(gè)卷積層,每個(gè)卷積層的卷積核尺寸均為3,步長(zhǎng)分別為3、6、12、18、24,前一級(jí)的輸出均與后面的每一級(jí)連接,然后作為后一級(jí)的輸入,最后輸入解碼器。
圖6 Dense ASPP原理圖Fig.6 Dense ASPP schematic
損失函數(shù)可以估量模型預(yù)測(cè)值與真實(shí)值不一致的程度,是一個(gè)非負(fù)實(shí)值函數(shù),損失函數(shù)越小,模型魯棒性越好。
語(yǔ)義分割問(wèn)題中使用最廣泛的損失函數(shù)為Dice系數(shù)損失函數(shù)(Dice Loss)[30],其能夠真實(shí)反映預(yù)測(cè)圖像與真實(shí)語(yǔ)義圖之間的重疊,但在預(yù)測(cè)圖像與真實(shí)語(yǔ)義圖都非常小的極端情況下,容易出現(xiàn)訓(xùn)練不穩(wěn)定現(xiàn)象,因此在Dice系數(shù)損失函數(shù)的基礎(chǔ)上引入了二分類交叉熵?fù)p失函數(shù)(Binary cross entropy loss, BCE Loss)[31],相加作為新的損失函數(shù)LNEW,避免訓(xùn)練不穩(wěn)定。
Dice系數(shù)損失函數(shù)在V-Net網(wǎng)絡(luò)中引入,用于計(jì)算預(yù)測(cè)類和地面實(shí)況類之間的重疊。Dice系數(shù)(范圍為[0, 1])計(jì)算式為
(2)
式中 |T|——真實(shí)語(yǔ)義圖像素?cái)?shù)量
|P|——預(yù)測(cè)語(yǔ)義圖像素?cái)?shù)量
其中,分子中存在系數(shù) 2是分母存在重復(fù)計(jì)算T和P之間共同元素的原因。相當(dāng)于預(yù)測(cè)結(jié)果區(qū)域和真實(shí)語(yǔ)義區(qū)域的交并比,所以它是把一個(gè)類別的所有像素作為一個(gè)整體計(jì)算損失值。Dice Loss直接把分割效果評(píng)估指標(biāo)作為損失值監(jiān)督網(wǎng)絡(luò),計(jì)算交并比時(shí)還忽略了大量背景像素,解決了正負(fù)樣本不均衡的問(wèn)題,所以收斂速度較快。
本文目標(biāo)是最大化預(yù)測(cè)真實(shí)類和基礎(chǔ)真值類之間的重疊(即最大化骰子系數(shù))。通常最小化目標(biāo),計(jì)算式為
(3)
交叉熵可以衡量系統(tǒng)的混亂程度,表示系統(tǒng)中信息量的總和;熵越大,表明系統(tǒng)不確定性越大。河流提取問(wèn)題可以視為二分類問(wèn)題,因此二分類交叉熵?fù)p失函數(shù)能夠很好地表現(xiàn)系統(tǒng)的穩(wěn)定性。
BCE Loss的展開(kāi)形式為
BCELoss(P,T)=
(4)
新的損失函數(shù)LNEW將Dice系數(shù)損失函數(shù)與二分類交叉熵?fù)p失函數(shù)相加,提高了訓(xùn)練網(wǎng)絡(luò)的精度,又解決了網(wǎng)絡(luò)訓(xùn)練時(shí)的不穩(wěn)定問(wèn)題,計(jì)算式為
LNEW=DiceLoss+BCELoss
(5)
使用召回率(Recall)、F1值、像素準(zhǔn)確率(Accuracy, ACC)和交并比(Intersection over union, IOU)作為評(píng)價(jià)指標(biāo)。河流提取被視為一個(gè)語(yǔ)義分割問(wèn)題,將河流像素取1,背景像素取0。
召回率計(jì)算式為
(6)
式中TP——正確預(yù)測(cè)的河流像素?cái)?shù)量
FN——錯(cuò)誤預(yù)測(cè)為背景的河流像素?cái)?shù)量
像素準(zhǔn)確率計(jì)算式為
(7)
式中FP——錯(cuò)誤預(yù)測(cè)為河流的背景像素?cái)?shù)量
F1值計(jì)算式為
(8)
交并比(IOU)計(jì)算式為
(9)
遙感影像因季節(jié)變化、光照變化以及圖像的拼接會(huì)產(chǎn)生一些色度變化,本文使用改變圖像色度的方法擴(kuò)增數(shù)據(jù);同時(shí)遙感影像從各個(gè)方向觀察均不會(huì)引起語(yǔ)義的變化,可以通過(guò)圖像的旋轉(zhuǎn)擴(kuò)增數(shù)據(jù);影像的放大縮小不會(huì)改變由鳥(niǎo)瞰拍攝的遙感影像的語(yǔ)義信息。通過(guò)色度變換、圖像旋轉(zhuǎn)、放大截取和縮小填零的方法將采集到的圖像擴(kuò)增了9倍達(dá)到了900幅,能夠加速網(wǎng)絡(luò)的收斂速度,并且提高準(zhǔn)確率,示意圖如圖7所示。測(cè)試數(shù)據(jù)在寒旱區(qū)截取了20幅邊長(zhǎng)為10 km的含水圖像,且包含了各種尺度的河流,含有山體陰影、道路干擾、圖像拼接和河流顏色變化等。
圖7 數(shù)據(jù)庫(kù)擴(kuò)展Fig.7 Database extension
硬件平臺(tái)為I9-9900k CPU、64 GB內(nèi)存和NVIDIA GeForce RTX 2080Ti(11G)GPU,本文涉及網(wǎng)絡(luò)均在TensorFlow框架下搭建,迭代次數(shù)為100次,優(yōu)化器均選擇Adam優(yōu)化器,初始學(xué)習(xí)率設(shè)為2×10-4,為防止神經(jīng)網(wǎng)絡(luò)后期訓(xùn)練的學(xué)習(xí)率過(guò)小,導(dǎo)致網(wǎng)絡(luò)參數(shù)陷入某個(gè)局部最優(yōu)解,并按多項(xiàng)式衰減,衰減率為0.9,動(dòng)量為0.9,權(quán)重衰減率為10-4。
為了驗(yàn)證R-Linknet網(wǎng)絡(luò)的有效性,在不添加Dense ASPP的情況下,與多種語(yǔ)義分割網(wǎng)絡(luò)做了實(shí)驗(yàn),對(duì)比網(wǎng)絡(luò)選用FCN_8s、ResNet50、DeeplabV3、Unet和Linknet網(wǎng)絡(luò)。參數(shù)初始化方式均采用MSRA初始化方法[32],只考慮輸入的個(gè)數(shù),權(quán)值初始化服從均值為0、方差為2/n(n為輸入數(shù)量)的高斯分布。實(shí)驗(yàn)中所有網(wǎng)絡(luò)的損失函數(shù)均采用Dice Loss。
網(wǎng)絡(luò)測(cè)試中像素準(zhǔn)確率變化曲線如圖8所示,評(píng)價(jià)指標(biāo)如表1所示。由圖8和表1可知,本文所提出的R-Linknet與其他圖像語(yǔ)義分割方法相比具有一定優(yōu)勢(shì),訓(xùn)練過(guò)程中能夠快速收斂,像素準(zhǔn)確率較FCN_8s、ResNet50、DeeplabV3、Unet、原始Linknet網(wǎng)絡(luò)分別提高0.216、0.099、0.031、0.056、0.023,交并比分別提高0.190、0.142、0.056、0.105、0.028。圖9~12為在數(shù)據(jù)集多種情形下的分割效果。由圖可知,F(xiàn)CN_8s誤提了許多山體陰影、道路以及植被等,在一些含有細(xì)小河流處容易出現(xiàn)中斷,提取結(jié)果較為雜亂;ResNet50和DeeplabV3相對(duì)FCN_8s有較大提升,但同樣誤提了陰影、道路和植被等。Linknet的河流提取效果相對(duì)較好,降低了山體陰影、道路、植物等的干擾,但在河流邊緣細(xì)節(jié)處理上較差,同時(shí)也沒(méi)有避免陰影的影響。與對(duì)比網(wǎng)絡(luò)相比,R-Linknet提取的河流信息受到道路、植被影響較小,陰影影響也沒(méi)能完全避免,河流邊緣細(xì)節(jié)上有了較大提升。
圖9 各個(gè)網(wǎng)絡(luò)提取對(duì)比結(jié)果(1)Fig.9 Comparison results of each network extraction(1)
圖8 各個(gè)網(wǎng)絡(luò)測(cè)試中的像素準(zhǔn)確率變化曲線Fig.8 Curves of pixel accuracy during each network test
表1 各個(gè)網(wǎng)絡(luò)評(píng)價(jià)指標(biāo)Tab.1 Evaluation indicators of each network
圖10 各個(gè)網(wǎng)絡(luò)提取對(duì)比結(jié)果(2)Fig.10 Comparison results of each network extraction (2)
圖11 各個(gè)網(wǎng)絡(luò)提取對(duì)比結(jié)果(3)Fig.11 Comparison results of each network extraction (3)
圖12 各個(gè)網(wǎng)絡(luò)提取對(duì)比結(jié)果(4)Fig.12 Comparison results of each network extraction (4)
為了驗(yàn)證Dense ASPP和LNEW損失函數(shù)在高分辨率遙感影像水體提取上的效果,將R-Linknet、R-Linknet+Dense ASPP和R-Linknet+ Dense ASPP+LNEW進(jìn)行對(duì)比。其準(zhǔn)確率變化如圖13所示,各項(xiàng)評(píng)價(jià)指標(biāo)如表2所示。加入Dense ASPP之后像素準(zhǔn)確率提高0.023,交并比提高0.050,采用新的損失函數(shù)后,像素準(zhǔn)確率和交并比又分別提高0.019和0.022。由圖13可知,Dense ASPP能夠有效提升河流提取準(zhǔn)確率,同時(shí)沒(méi)有影響整個(gè)網(wǎng)絡(luò)的收斂,證明了Dense ASPP及LNEW的有效性。圖14為各個(gè)網(wǎng)絡(luò)在數(shù)據(jù)集上的河流提取效果,河流提取的連續(xù)性得到提升,細(xì)小河流更加連貫,邊緣細(xì)節(jié)提取也更加準(zhǔn)確。將LNEW作為損失函數(shù)能夠有效優(yōu)化水體邊緣細(xì)節(jié),且河流網(wǎng)絡(luò)提取完整。
圖14 各種網(wǎng)絡(luò)提取對(duì)比結(jié)果Fig.14 Comparison results of each network extraction
圖13 網(wǎng)絡(luò)測(cè)試像素準(zhǔn)確率變化曲線Fig.13 Changing curves of network pixel accuracy
表2 網(wǎng)絡(luò)各項(xiàng)評(píng)價(jià)指標(biāo)Tab.2 Network evaluation indicators
針對(duì)寒旱區(qū)河流提取存在的問(wèn)題提出高效的提取方法。首先,根據(jù)寒旱區(qū)遙感影像的特點(diǎn)制作了面向寒旱區(qū)遙感影像河流識(shí)別的數(shù)據(jù)集;其次,結(jié)合遷移學(xué)習(xí)和Linknet神經(jīng)網(wǎng)絡(luò),將ResNet50遷移到Linknet中,并使用ELU函數(shù)作為激活函數(shù)構(gòu)成R-Linknet網(wǎng)絡(luò);該網(wǎng)絡(luò)能夠完全恢復(fù)圖像的分辨率,同時(shí)保證河流提取的連貫性,結(jié)合Dense ASPP,有效提升了河流提取的準(zhǔn)確性;在訓(xùn)練過(guò)程中,將二次交叉熵?fù)p失函數(shù)和骰子損失函數(shù)相加,作為損失函數(shù),有效提升了圖像質(zhì)量。實(shí)驗(yàn)結(jié)果表明,本文提出的R-Linknet與主流的圖像語(yǔ)義分割網(wǎng)絡(luò)相比,在河流提取上有較大的性能提升,將R-Linknet與Dense ASPP相結(jié)合,提取到的河流網(wǎng)絡(luò)更加連貫。使用LNEW作為損失函數(shù),訓(xùn)練后網(wǎng)絡(luò)提取到的河流信息細(xì)節(jié)更加豐富。