黃 梅,楊文忠,汪傳建,魏文鈺
(1.新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046;2.新疆多語種信息技術(shù)實驗室,新疆 烏魯木齊 830046;3.安徽大學(xué)互聯(lián)網(wǎng)學(xué)院,安徽 合肥 230039)
耕地一直以來都是人類生存的必要條件,但是,隨著森林采伐以及過度游耕,耕地面積在不斷地減少.目前我國人均面積較少,人地矛盾愈發(fā)尖銳,耕地質(zhì)量有所下降,退化嚴(yán)重[1],并且可以開墾的耕地資源非常有限,我國耕地保護(hù)迫在眉睫.快速、準(zhǔn)確地檢測出耕地的變化情況是十分有必要的[2].
目前國內(nèi)外學(xué)者對遙感圖像變化檢測的研究眾多[3-6],主要分為無監(jiān)督方法和有監(jiān)督方法,通常利用圖像差分、主成分分析、變化向量分析(CVA)等方法檢測變化區(qū)域,但這些方法不能利用先驗知識,只能依賴假設(shè)的差異圖來檢測變化.然而遙感圖像常常因拍攝角度不同、光照不同或是傳感器本身的原因而產(chǎn)生差異,無監(jiān)督方法不能很好地適應(yīng)這種變化.有監(jiān)督方法使用標(biāo)記好的數(shù)據(jù)來檢測變化,檢測結(jié)果的準(zhǔn)確率相對較高.基于對象的方法[7-10]雖然能很好地利用空間信息,不易受噪聲影響,但可以使用的分割算法比較局限.基于像素的方法[11-14]能夠保留更多原始信息,具有豐富的細(xì)節(jié)特征信息.傳統(tǒng)的方法通過閾值分割的方法處理差異圖像得到最終的變化圖.這類方法對閾值和特征指標(biāo)的選擇要求極高,而且很容易受到噪聲(例如亮度或大氣條件)的影響,泛化能力較差,準(zhǔn)確率較低[15-16].近年來,深度學(xué)習(xí)已逐漸成為計算機(jī)中的研究的熱點,很多國內(nèi)外學(xué)者開始將深度學(xué)習(xí)應(yīng)用到解決實際問題當(dāng)中并取得了很好的研究成果[17-22].深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)能夠通過數(shù)值來描述輸入數(shù)據(jù),因此這種結(jié)構(gòu)可以用在圖像分類任務(wù)當(dāng)中,傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)[23]通常是在卷積層后連接一些全連接層,其輸入圖像的大小是固定不變的,并且網(wǎng)絡(luò)冗余太大,十分耗費資源,不能在增大感受野的同時提高定位精度,效率不高.為完成語義級分割任務(wù),文獻(xiàn)[24]提出全卷積神經(jīng)網(wǎng)絡(luò)FCN,將CNN網(wǎng)絡(luò)的全連接層換成卷積層,采用下采樣與上采樣結(jié)合的方式,不僅可以訓(xùn)練任意大小的網(wǎng)絡(luò),還能保留圖像的空間信息,但是FCN的分割結(jié)果還是不夠精細(xì).后來Ronneberger 等[25]在FCN的基礎(chǔ)上提出一種能夠結(jié)合深層特征和淺層特征的U-net架構(gòu),在圖像分割領(lǐng)域中取得了顯著成果[26-29].U-net是一種端到端的網(wǎng)絡(luò)結(jié)構(gòu),可以完整保留上下文信息,并在數(shù)據(jù)量很少的情況下取得了不錯的分割效果.文獻(xiàn)[30-32]也將U-net用在變化檢測任務(wù)中,效果俱佳.但是現(xiàn)有的模型提取到的特征有限,模型檢測變化區(qū)域的準(zhǔn)確度仍然有待提升.本文提出一種基于U-net改進(jìn)的模型來檢測耕地變化,該模型巧妙地將U-net與VGG[33]、SE-Net[34]和殘差結(jié)構(gòu)[35]相結(jié)合.首先,利用更深的卷積層提取到更多復(fù)雜的地物特征,獲取到更加高級的語義特征,同時這種方式能夠增大感受野,增強(qiáng)模型的抗干擾能力;其次,引入SE模塊和殘差結(jié)構(gòu),SE模塊對圖像各通道分配權(quán)重,讓網(wǎng)絡(luò)能夠自動學(xué)習(xí)到對變化檢測任務(wù)有用的特征,殘差結(jié)構(gòu)則能降低模型復(fù)雜度,提升模型性能.所提出的模型經(jīng)過實驗對比,效果優(yōu)于其他模型.
本文采用Landsat-8衛(wèi)星遙感圖像.使用的圖像為預(yù)處理后的RGB真彩色圖像.創(chuàng)建地面真實標(biāo)簽的過程完全是人工完成的.白色表示變化區(qū)域,黑色表示未變化區(qū)域(見圖1).研究區(qū)域為新疆的3個地區(qū):巴音郭楞蒙古自治州地區(qū)、昌吉回族自治州地區(qū)和烏蘇市地區(qū)(見表1).它們對應(yīng)的圖像尺寸分別為1 408×2 304像素、1 920×1 792像素、1 536×2 048像素.預(yù)處理后,雙時相圖像和對應(yīng)的標(biāo)簽被分成共600組128×128像素大小的圖像.隨機(jī)抽取一半樣本作為訓(xùn)練集,另一半作為測試集,僅對訓(xùn)練集進(jìn)行數(shù)據(jù)增強(qiáng).一共生成了1 792個訓(xùn)練樣本和300個測試樣本.
表1 Landsat數(shù)據(jù)集
圖1 數(shù)據(jù)集
本文模型融合VGG[34]來增加網(wǎng)絡(luò)深度,VGGNet采用3×3的卷積核和2×2的池化核,并不會使網(wǎng)絡(luò)因深度的增加而降低性能,也不會帶來參數(shù)爆炸問題.兩個串聯(lián)的3×3卷積層感受野大小與1個5×5的卷積層的感受野一樣(見圖2),這種操作將小片區(qū)域參數(shù)轉(zhuǎn)換為單個值以進(jìn)行比較,可以很好地處理由傳感器的不同視角等因素引起的配準(zhǔn)問題.3個串聯(lián)的3×3卷積層感受野大小與7×7的卷積層感受野一樣,但是3個3×3的卷積層的參數(shù)總和只有1個7×7的一半左右.并且利用3個非線性操作會讓網(wǎng)絡(luò)學(xué)習(xí)特征的能力更強(qiáng).這種結(jié)構(gòu)在不增加網(wǎng)絡(luò)復(fù)雜度的同時也增大了感受野,能夠獲取到更多的信息,因此本文采用VGGNet的方式改進(jìn)了U-net的卷積模塊.
圖2 2個3×3卷積層串聯(lián)感受野示意圖
在利用更深的深度網(wǎng)絡(luò)進(jìn)行變化檢測時,網(wǎng)絡(luò)是否越深越好并不清楚,為了探索出合適深度的網(wǎng)絡(luò)進(jìn)行變化檢測,本文探索了18層、24層、27層的U-net在耕地變化檢測任務(wù)中的表現(xiàn).
SE-DRUnet網(wǎng)絡(luò)架構(gòu)包含兩個部分:編碼路徑和解碼路徑(見圖3).在編碼路徑中,多組卷積和池化操作將自動提取圖像特征并將其映射至高維,殘差結(jié)構(gòu)防止梯度消失,使網(wǎng)絡(luò)有更好的收斂能力.編碼路徑的核心包含5組卷積模塊,SE模塊添加在每個模塊的捷徑連接層之前,不同之處是1,2組卷積模塊均包含兩個卷積層,3,4,5組卷積模塊均包含3個卷積層.激活函數(shù)均為Relu函數(shù),為提高模型的魯棒性,降低特征圖的維度,在捷徑連接層之后做2×2的池化并添加了BN層來防止過擬合,同時提高網(wǎng)絡(luò)的收斂速度,使模型的訓(xùn)練更加穩(wěn)定.
圖3 網(wǎng)絡(luò)結(jié)構(gòu)
解碼路徑中,每層輸入不但包括上采樣得到的深層特征圖,還包括對應(yīng)編碼部分生成的淺層特征圖.隨著網(wǎng)絡(luò)的層數(shù)加深,得到的特征會更加有區(qū)分度,但也更加抽象,損失的原圖信息也更多,這種將兩張?zhí)卣鲌D通過通道連接的方式進(jìn)行融合的方法,能夠讓高分辨率的圖片與低分辨率的圖片相結(jié)合從而獲取到更豐富的信息.解碼路徑的核心包含4組卷積模塊,SE模塊添加在每個模塊的捷徑連接層之前,不同之處是,6,7組卷積模塊均包含兩個卷積層,8,9組卷積模塊均包含3個卷積層.
SE-Net(Squeeze-and-Excitation Networks)[34]是2017年的ImageNet冠軍模型.該模型采用了“特征重標(biāo)定”方法,其主要思想是讓網(wǎng)絡(luò)自動學(xué)習(xí)每個特征通道的重要程度,通過特征的重要程度來判斷特征的作用并加強(qiáng)對任務(wù)有用的特征,忽略作用不大的特征.此外,文獻(xiàn)[34]也將SE模塊應(yīng)用到Inception模型和ResNet模型中,在一定程度上提升了模型的性能.U-net是一種基于像素的變化檢測方法,此類方法能夠保留更多原始信息,具有豐富的細(xì)節(jié)特征信息,但其使用局部感受野,不能充分考慮像素的空間位置特征,比較容易受噪聲影響.因此將SE模塊引入U-Net中,SE模塊能獲取全局信息,對各通道特征之間的相互依賴性建模,找到更加具有區(qū)分度的特征,提升網(wǎng)絡(luò)表征能力和抗噪能力.
SE模塊一共包含3個部分(見圖4):(1)Squeeze操作,該操作采用全局平均池化來壓縮特征,將二維的特征通道轉(zhuǎn)變成實數(shù),利用這個實數(shù)獲取全局信息.(2)Excitation操作,該操作包含兩個全連接層和一個Sigmoid層.全連接層能融合全部的特征信息,Sigmoid層則將輸入數(shù)據(jù)映射到0~1之間,由此來獲取特征圖各通道的權(quán)重.(3)Scale操作,該操作通過乘法讓權(quán)重與特征融合,從而實現(xiàn)特征的重標(biāo)定.
圖4 SE模塊示意圖
ResNet在2015年由He等[35]提出,并在2016年對深度學(xué)習(xí)的發(fā)展方向產(chǎn)生了巨大影響.ResNet在輸入和輸出之間做捷徑連接,從而形成殘差函數(shù).該殘差函數(shù)易于優(yōu)化,非常適用于深度網(wǎng)絡(luò).研究人員[36-37]巧妙地將殘差網(wǎng)絡(luò)與深度學(xué)習(xí)網(wǎng)絡(luò)模型相結(jié)合得到了很好的分割效果,殘差模塊將不同卷積層級聯(lián)的輸入和輸出相加來提取特征,在一定程度上能夠減少模型參數(shù),從而減少模型訓(xùn)練時間,能更好地防止梯度消失.本文將SE模塊與殘差結(jié)構(gòu)相結(jié)合的示意圖如圖5所示.
(a)兩層殘差卷積模塊 (b)三層殘差卷積模塊
為了評估模型的性能,我們使用混淆矩陣(Confusion matrix)對分類結(jié)果進(jìn)行評估.像素的分類結(jié)果共4種:TP,F(xiàn)P,TN和FN分別表示真陽性的數(shù)量,假陽性的數(shù)量,真陰性的數(shù)量和假陰性的數(shù)量,根據(jù)這些來計算這4個指標(biāo):準(zhǔn)確率(A)、精確率(P)、召回率(R)和F1值(F1-score),具體描述如下:
(1)
(2)
(3)
(4)
模型的預(yù)測結(jié)果圖中會出現(xiàn)一些小面積的空洞區(qū)和誤報區(qū),為了提升模型的檢測效果,本文采用孔洞填充和腐蝕的方法來消除這些預(yù)測錯誤的地方,效果見圖6.
圖6 后處理效果圖
在觀察預(yù)測結(jié)果后發(fā)現(xiàn)少數(shù)耕地變化預(yù)測結(jié)果圖中出現(xiàn)孔洞現(xiàn)象,影響實驗效果,因此對圖像進(jìn)行了孔洞填充.本文先利用label( )函數(shù)標(biāo)記出連通區(qū)域,再利用remove_small_holes( )函數(shù)將連通區(qū)域內(nèi)的小面積黑色區(qū)域填充成白色.
在網(wǎng)絡(luò)模型的檢測結(jié)果中,存在一些零散的小塊的區(qū)域,這些區(qū)域的意義不大,但影響效果,本文利用morphology子模塊的remove_small_objects()函數(shù)來消除這些誤報區(qū),該函數(shù)會先計算出連通區(qū)域的面積,然后刪除給定閾值的連通區(qū)域.通過計算發(fā)現(xiàn),標(biāo)簽中耕地的最小面積為64,因此閾值設(shè)為64,預(yù)測結(jié)果中,面積小于64的區(qū)域都會被腐蝕.
本次實驗的硬件環(huán)境為Intel(R) Core(TM) i9-9900K CPU (3.6 GHz,8核和32 GB RAM)和單個NVIDIA-SMI GeForce GTX 2080 Ti GPU,內(nèi)存64 GB,軟件環(huán)境為Ubuntu 18.04.3,python3.6,tensorflow1.14.0.在訓(xùn)練和測試的時候僅讀取標(biāo)簽圖像中一個通道(R通道)的像素值,將每個像素值除以255(轉(zhuǎn)換成0和1)使之成為一個二值圖像,與兩個時相的原圖堆疊后一起輸入模型訓(xùn)練.訓(xùn)練集和測試集圖像讀入時的形狀為(128,128,6),標(biāo)簽讀入時的形狀為(128,128,1).模型按批次處理圖像,批處理的大小為32,共需要56個批次完成一次模型的訓(xùn)練.使用學(xué)習(xí)率為0.001的Adam優(yōu)化器不斷更新網(wǎng)絡(luò)的權(quán)重,直到找到全局最優(yōu)點,當(dāng)損失函數(shù)降低并趨于平緩時,模型訓(xùn)練結(jié)束.本文使用的損失函數(shù)是網(wǎng)絡(luò)模型預(yù)測結(jié)果的像素值和標(biāo)簽真實的像素值的交叉熵,此損失函數(shù)常與Softmax函數(shù)搭配在分類問題中使用.
表2是不同深度網(wǎng)絡(luò)模型的參數(shù)數(shù)量以及準(zhǔn)確率對比.從參數(shù)上來看,隨著網(wǎng)絡(luò)層數(shù)的加深模型的參數(shù)會提升很多,但24個卷積層的網(wǎng)絡(luò)模型檢測比18層和27層的效果都要好.因此選用24層網(wǎng)絡(luò)進(jìn)行變化檢測.
表2 不同深度模型對比
圖7 不同模型在巴音郭楞蒙古自治州地區(qū)的預(yù)測結(jié)果
圖8 不同模型在昌吉回族自治州地區(qū)的預(yù)測結(jié)果
圖9 不同模型在烏蘇市地區(qū)的預(yù)測結(jié)果
本文計算了4個評價指標(biāo)(A,P,R,F(xiàn)1),并匯總于表3.圖7—9分別是不同模型在3個地區(qū)檢測耕地變化的預(yù)測結(jié)果.可以看出,本文模型具有最好的變化檢測性能,結(jié)果與人工標(biāo)注的結(jié)果更加相似.與其他模型相比,SE-DRUnet模型的預(yù)測結(jié)果圖中多邊形的邊緣更加清晰且漏檢情況較少,其他模型檢測結(jié)果邊緣非常不規(guī)則,且孔洞的發(fā)生更為嚴(yán)重.通過比較,發(fā)現(xiàn)U-net模型的A,P,R,F(xiàn)1值在這些網(wǎng)絡(luò)模型中最低(見圖7d、圖8d、圖9d).其他模型的變化檢測效果均優(yōu)于U-net.其中,Res-Unet模型 (見圖7e、圖8e、圖9e)沒有使用傳統(tǒng)的卷積塊,而是使用殘差連接,極大地促進(jìn)了深度網(wǎng)絡(luò)的訓(xùn)練,提高了空間精度,可見殘差結(jié)構(gòu)在一定程度上能提升模型的性能;FlowS-Unet模型[38](見圖7f、圖8f、圖9f)結(jié)合了FlowNet和U-net,在檢測建筑的變化取得了不錯的效果,但檢測耕地變化的效果有待提升.Forest-Unet模型(見圖7g、圖8g、圖9g)是Hamdi等[39]找出的最適合檢測森林破壞的網(wǎng)絡(luò)模型,可以看出該模型在檢測耕地變化時效果也并非最佳;SE-DRUnet模型(見圖7h,圖8h和圖9h)將VGG結(jié)構(gòu)和SE模塊引入U-net并采用殘差結(jié)構(gòu),可以提取更加具有區(qū)分度的特征,并且不容易受噪聲數(shù)據(jù)的影響.該模型極大地促進(jìn)了深度網(wǎng)絡(luò)的訓(xùn)練,提高了空間精度.
表3 SE-DRUnet與其他模型性能比較 %
由表3可以看出,SE-DRUnet在沒有進(jìn)行后處理的情況下準(zhǔn)確度已經(jīng)比其他方法好很多,在經(jīng)過后處理之后也準(zhǔn)確度略微上升,A,P,R和F1值分別達(dá)到95.61%,92.33%,86.62%,89.39%,是幾個模型中表現(xiàn)最好的.證明本文提出的SE-DRUnet方法更適合于耕地變化的檢測.
針對目前變化檢測方法的準(zhǔn)確性不高、容易受到噪聲影響的問題,本文在U-Net的基礎(chǔ)上提出了SE-DRUnet模型.該網(wǎng)絡(luò)采用編碼器-解碼器架構(gòu),能夠融合高分辨率特征和語義特征.SE-DRUnet有較好的魯棒性,在提取的特征時抗噪能力較強(qiáng).模型采用VGGNet思想加深了U-net的深度,不僅能增大感受野,增強(qiáng)模型抗噪能力,還能提取到更加具有區(qū)分度的特征,并且引入SE模塊和殘差結(jié)構(gòu),SE模塊對圖像各通道分配權(quán)重,讓網(wǎng)絡(luò)能夠?qū)W習(xí)到變化檢測的重要特征,殘差結(jié)構(gòu)則能降低模型復(fù)雜度,提升模型性能.訓(xùn)練后的模型在新疆3個地區(qū)進(jìn)行了測試.與其他模型相比,本文提出方法的預(yù)測結(jié)果更加接近人工標(biāo)注的結(jié)果.但是由于硬件設(shè)備的限制,模型的訓(xùn)練周期較長.在提高邊緣精度的同時,減少模型的訓(xùn)練時間和預(yù)測時間是下一步研究的主要內(nèi)容.