黃 磊 程鐵洪
(中國電建集團(tuán)江西省電力設(shè)計(jì)院有限公司,江西 南昌 330096)
近年來,高分辨率衛(wèi)星遙感影像的使用越來越普及,使得基于高分遙感影像的解譯和地物提取在土地資源管理、城市規(guī)劃和環(huán)境保護(hù)等許多領(lǐng)域的應(yīng)用中發(fā)揮著越來越重要的作用[1-3]。高分辨率影像在提供更加豐富的地表細(xì)節(jié)信息的同時(shí),也給影像分類帶來了更多的挑戰(zhàn)[4]。
僅使用光譜特征難以描述影像中完整的語義信息,傳統(tǒng)的衛(wèi)星影像解譯方法主要使用人工設(shè)計(jì)的影像特征[5-6],但是空間分辨率的提高使得特征類內(nèi)方差變大、類間方差變小,對(duì)地物的識(shí)別能力下降[7]。
近年來,隨著硬件發(fā)展和深度學(xué)習(xí)方法的普及,基于深度學(xué)習(xí)的影像語義分割網(wǎng)絡(luò)[8-9]在多個(gè)領(lǐng)域得到廣泛關(guān)注。卷積神經(jīng)網(wǎng)絡(luò)通過多層卷積逐步提取地物的語義描述,提取的深度特征被許多研究者證實(shí)優(yōu)于傳統(tǒng)人工設(shè)計(jì)的特征[10]。但是深度學(xué)習(xí)方法需要大量的樣本[11],而樣本的獲取往往需要大量的人力進(jìn)行標(biāo)注。為此,研究者們構(gòu)建了大量標(biāo)準(zhǔn)數(shù)據(jù)集,這些數(shù)據(jù)集基本是由紅-綠-藍(lán)三個(gè)可見光波段影像組成,因此基于此構(gòu)建的神經(jīng)網(wǎng)絡(luò)無法直接用于處理更多波段的衛(wèi)星影像。為此,許多研究者直接將網(wǎng)絡(luò)模型的輸入層進(jìn)行擴(kuò)展以處理更多的波段,雖然成功利用了多波段影像,但是破壞了原有的網(wǎng)絡(luò)結(jié)構(gòu),導(dǎo)致需要完全重新訓(xùn)練網(wǎng)絡(luò),不僅浪費(fèi)了計(jì)算機(jī)視覺領(lǐng)域通過大量樣本訓(xùn)練的網(wǎng)絡(luò)成果,同時(shí)也需要構(gòu)建專門的遙感影像海量樣本庫[12]。
針對(duì)這個(gè)問題,本文提出了一種面向高分辨率衛(wèi)星影像語義分割的雙分支遷移神經(jīng)網(wǎng)絡(luò),一個(gè)分支輸入可見光影像,另一個(gè)分支輸入其他波段影像。本文將殘差網(wǎng)絡(luò)(residual network,ResNet)進(jìn)行遷移,將ResNet-101[13]的網(wǎng)絡(luò)結(jié)構(gòu)和其對(duì)應(yīng)的參數(shù)遷移到其中的可見光分支,在訓(xùn)練時(shí)僅更新深層的網(wǎng)絡(luò)參數(shù)而保持淺層參數(shù)不變。另一個(gè)分支采用ResNet-50[13]網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)網(wǎng)絡(luò)參與參數(shù)的更新。
本文提出的網(wǎng)絡(luò)基本框架見圖1,該框架為全卷積網(wǎng)絡(luò)[14]??v向來看網(wǎng)絡(luò)分為編碼器和解碼器兩部分,橫向來看編碼器有兩個(gè)輸入分支。兩個(gè)輸入分支通過跳躍連接[15]相連,同時(shí)解碼器和編碼器也通過跳躍連接相連。編碼器主要通過殘差模塊進(jìn)行特征提取,而解碼器通過卷積和上采樣逐步提高特征的分辨率,直至得到原始分辨率的語義分割結(jié)果。
如圖1所示,橫向看編碼器,有兩個(gè)輸入分支,一個(gè)分支輸入紅-綠-藍(lán)的三波段可見光影像,另一個(gè)分支輸入其他波段,不同分支之間通過跳躍連接相連。可見光分支采用殘差網(wǎng)絡(luò)RseNet-101的骨干框架,表1是ResNet-101骨干網(wǎng)絡(luò)的參數(shù)。
圖1 本文提出的網(wǎng)絡(luò)框架
其他特征影像輸入分支仍然是殘差結(jié)構(gòu)[16],為了降低訓(xùn)練難度和對(duì)訓(xùn)練樣本的要求,此分支采用ResNet-50的骨干網(wǎng)絡(luò),表2是ResNet-50骨干網(wǎng)絡(luò)的參數(shù)。
表1 ResNet-101骨干網(wǎng)絡(luò)參數(shù)
表2 ResNet-50骨干網(wǎng)絡(luò)參數(shù)
可以看出,兩個(gè)分支的結(jié)構(gòu)基本相同,主要是“殘差層4”層,Resnet-50的殘差模塊較ResNet-101少了17個(gè),由于一個(gè)殘差模塊由三個(gè)卷積組成,故總共少了51個(gè)卷積。每個(gè)圖層輸出的特征影像大小是相同的,因此可以通過跳躍連接直接進(jìn)行合并,將可見光分支圖層輸出的特征影像直接合并到其他特征影像分支對(duì)應(yīng)的圖層之后,并將合并結(jié)果作為其他特征影像分支下一個(gè)圖層的輸入。
縱向來看網(wǎng)絡(luò)分為編碼器和解碼器兩部分。編碼器通過卷積網(wǎng)絡(luò)逐層提取多尺度特征,解碼器通過上采樣逐層恢復(fù)特征影像分辨率,同時(shí)對(duì)應(yīng)尺度層之間通過跳躍連接相連。由于通常網(wǎng)絡(luò)淺層的特征細(xì)節(jié)信息豐富而網(wǎng)絡(luò)深層特征影像語義信息豐富,因此通過跳躍連接可以使解碼器獲取不同粒度的特征信息,得到高精度的語義分割結(jié)果[15]。
由于編碼器兩個(gè)分支也通過跳躍連接相連,因此其他特征影像分支每個(gè)圖層輸出的特征實(shí)際上包含了影像所有的波段特征,因此解碼器只需要與其他特征影像分支里每個(gè)圖層的輸出結(jié)果相連即可。
本文提出的網(wǎng)絡(luò)最大的優(yōu)點(diǎn)在于不需要訓(xùn)練所有的分支,而僅需要訓(xùn)練其他波段分支和可見光分支靠后的卷積層。這是由于可見光分支可以將計(jì)算機(jī)視覺領(lǐng)域被廣泛使用的高精度ResNet-101分類網(wǎng)絡(luò)直接進(jìn)行遷移[17],而不需要再對(duì)該網(wǎng)絡(luò)全部進(jìn)行訓(xùn)練。深度神經(jīng)網(wǎng)絡(luò)淺層通常是低級(jí)視覺特征,這部分特征是遙感影像和普通可見光影像所共有的特征,可以直接進(jìn)行遷移,而深層的網(wǎng)絡(luò)則包含高級(jí)的語義特征,需要重新訓(xùn)練。
語義分割網(wǎng)絡(luò)訓(xùn)練完成后,需要進(jìn)行精度評(píng)定。本文使用兩種精度指標(biāo)來評(píng)價(jià)網(wǎng)絡(luò)的分類性能,一種是F1分?jǐn)?shù)(F1-score),用于評(píng)價(jià)網(wǎng)絡(luò)對(duì)不同地物的分類能力;另一種是總體精度,用于評(píng)價(jià)網(wǎng)絡(luò)整體的分類能力。
(1)
其中
(2)
對(duì)于某個(gè)地物的分類而言,精確率(Rp)是指分類正確的像素個(gè)數(shù)與所有分類為該地物的像素個(gè)數(shù)的比值;召回率(Rr)指分類正確的像素個(gè)數(shù)與該地物實(shí)際像素個(gè)數(shù)的比值,那么F1-score為
(3)
實(shí)驗(yàn)使用的是武漢大學(xué)提供的高分二號(hào)衛(wèi)星影像數(shù)據(jù)集(Gaofen image dataset,GID)。GID包含了150幅帶有真實(shí)標(biāo)注的多光譜影像,影像包含四個(gè)波段,分別是藍(lán)色(0.45~0.52 μm)、綠色(0.52~0.59 μm)、紅色(0.63~0.69 μm)和近紅外(0.77~0.89 μm),影像分辨率為4 m。圖2顯示了8幅樣例數(shù)據(jù),GID數(shù)據(jù)集中標(biāo)注了建筑、農(nóng)田、森林、草地和水體五個(gè)類別,分別用紅色、綠色、青色、黃色和藍(lán)色進(jìn)行標(biāo)記,對(duì)于沒有標(biāo)注的區(qū)域用黑色標(biāo)記。圖3顯示了某典型區(qū)域的真彩色影像(紅-綠-藍(lán)波段)和彩色紅外影像(紅外-紅-藍(lán)波段)。
圖2 GID數(shù)據(jù)集樣例數(shù)據(jù)
為了驗(yàn)證本文提出方法的精度和效率,將本文提出的網(wǎng)絡(luò)與其他兩種經(jīng)典網(wǎng)絡(luò)進(jìn)行了對(duì)比,分別是ResNet-50和ResNet-101[13]。本實(shí)驗(yàn)直接將原始的網(wǎng)絡(luò)的輸入影像波段數(shù)改為4,其他的網(wǎng)絡(luò)結(jié)果不變。三種網(wǎng)絡(luò)皆通過GID數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試,其中100幅影像用于訓(xùn)練,50幅影像用于測(cè)試。
實(shí)驗(yàn)使用的操作系統(tǒng)為Windows-10,采用Tensorflow2.4作為深度學(xué)習(xí)框架,訓(xùn)練的ResNet-50和ResNet-101網(wǎng)絡(luò)皆由Tensorflow官方提供,顯卡為一塊NVIDIA Geoforce 2080Ti。
圖4顯示不同方法對(duì)圖3區(qū)域的分類結(jié)果,可以發(fā)現(xiàn)本文方法分類錯(cuò)誤的區(qū)域少于其他兩種網(wǎng)絡(luò),如圖4(b)和圖4(c)中灰色圓圈內(nèi)的分類錯(cuò)誤區(qū)域在圖4(d)中基本被分類正確,同時(shí)圖4(b)和圖4(c)的建筑區(qū)域有一些細(xì)碎的區(qū)域被分為了綠色農(nóng)田。
圖3 典型區(qū)域的真彩色影像(紅-綠-藍(lán)波段)和彩色紅外影像(紅外-紅-藍(lán)波段)
圖4 三種網(wǎng)絡(luò)的分類結(jié)果
表3顯示了三種網(wǎng)絡(luò)的量化精度評(píng)價(jià),本文提出方法的總體精度更高,同時(shí)迭代次數(shù)最少,訓(xùn)練時(shí)間也最短。這是由于本文使用遷移學(xué)習(xí)方法,直接使用大量數(shù)據(jù)訓(xùn)練的RensetNet-101網(wǎng)絡(luò)處理可見光波段,充分利用了先驗(yàn)知識(shí),因此用較少的迭代次數(shù)和訓(xùn)練時(shí)間就可以取得高精度分類結(jié)果。
表3 三種網(wǎng)絡(luò)的精度評(píng)價(jià)
為了驗(yàn)證樣本數(shù)量對(duì)網(wǎng)絡(luò)精度的影響,本文設(shè)計(jì)了五組樣本對(duì)三種網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練樣本數(shù)目分別是10、40、70、100、130,得到的總體精度見表4。可以發(fā)現(xiàn),在樣本充足的情況下,本文提出方法的精度相較ResNet-101提升不明顯,但是當(dāng)樣本數(shù)量較少時(shí),ResNet-50和ResNet-101精度劇烈下降。當(dāng)樣本數(shù)量只有10時(shí),ResNet-50和ResNet-101總體精度不足0.7,而本文方法仍有0.791,說明本文方法可以適應(yīng)樣本數(shù)量較小的遙感影像分類的應(yīng)用。
表4 不同樣本數(shù)量的精度評(píng)價(jià)
為了降低基于深度學(xué)習(xí)的遙感影像語義分割對(duì)樣本數(shù)量的要求,充分利用已被大量數(shù)據(jù)集訓(xùn)練的經(jīng)典網(wǎng)絡(luò)的參數(shù),本文提出了一種面向高分辨率衛(wèi)星影像語義分割的雙分支遷移神經(jīng)網(wǎng)絡(luò),一個(gè)分支輸入可見光影像,基于遷移學(xué)習(xí)方法將殘差網(wǎng)絡(luò)ResNet-101的網(wǎng)絡(luò)結(jié)構(gòu)和其對(duì)應(yīng)的參數(shù)遷移到其中可將光分支,在訓(xùn)練時(shí)僅更新深層的網(wǎng)絡(luò)參數(shù)而保持淺層參數(shù)不變;另一個(gè)分支輸入其他波段和特征影像,采用ResNet-50網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)網(wǎng)絡(luò)都參與參數(shù)的更新。通過武漢大學(xué)提供的高分二號(hào)衛(wèi)星影像數(shù)據(jù)集上對(duì)本文方法、ResNet-50和ResNet-101進(jìn)行實(shí)驗(yàn)對(duì)比,證明了本文方法的在訓(xùn)練影像充足時(shí),分類精度較ResNet-50和ResNet-101略有提高,同時(shí)僅需較少的訓(xùn)練收斂次數(shù)和訓(xùn)練時(shí)間;在訓(xùn)練樣本不足時(shí),本文方法分類精度較ResNet-50和ResNet-101有明顯提升,說明本文方法可以適應(yīng)樣本數(shù)量較小的遙感影像分類的應(yīng)用。