高振宇 劉亮 潘浩 馬御棠 黃修乾 耿浩 劉靖 徐崇斌 孫曉敏
(1 電力遙感技術(shù)聯(lián)合實(shí)驗(yàn)室(云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院),昆明 650217)
(2 北京空間機(jī)電研究所,北京 100094)
(3 北京空間飛行器總體設(shè)計(jì)部,北京 100094)
近年來(lái),隨著衛(wèi)星遙感空間分辨率的不斷提升,使其具備快速、大面積獲取輸電走廊地物信息的能力,在電力行業(yè)得到日益廣泛的應(yīng)用。在輸電線路的日常檢測(cè)過程中,通過不同時(shí)間遙感圖像的變化檢測(cè),提取有變化的區(qū)域[1],可以及時(shí)發(fā)現(xiàn)地質(zhì)災(zāi)害、人為破壞和違章建設(shè)等潛在風(fēng)險(xiǎn)。當(dāng)前變化檢測(cè)流程中,需要假設(shè)不同時(shí)期獲取的影像經(jīng)過了幾何校正[2],即用于變化檢測(cè)的不同圖像中相同的行列號(hào)理論上是一樣的。除了幾何校正之外,變化檢測(cè)的影像預(yù)處理還包括輻射糾正、數(shù)據(jù)融合等,通過圖像的預(yù)處理能在一定程度上減少色彩和光照變化等外部條件對(duì)變化檢測(cè)的影響。傳統(tǒng)變化檢測(cè)一般直接基于像元[3]來(lái)進(jìn)行,利用圖像處理和計(jì)算機(jī)視覺技術(shù)來(lái)定位兩張圖像存在差異的像元。為了解決像元級(jí)別變化檢測(cè)精度不高而且碎塊較多的問題,對(duì)象級(jí)變化檢測(cè)[4-6]技術(shù)成為變化檢測(cè)的重要研究方向。檢測(cè)單元不再是獨(dú)立的像元,而是經(jīng)過特征的抽象轉(zhuǎn)變?yōu)閷?duì)象級(jí),對(duì)象中包含了豐富的空間、紋理、形狀等特征,通過對(duì)象特征差異獲取變化檢測(cè)圖,能夠明顯提高變化檢測(cè)的效率和品質(zhì)[1,7]。
深度學(xué)習(xí)通過構(gòu)造深度神經(jīng)網(wǎng)絡(luò),能夠從海量的樣本中自動(dòng)學(xué)習(xí)抽象特征。相比傳統(tǒng)基于人工經(jīng)驗(yàn)挑選的特征,深度學(xué)習(xí)訓(xùn)練得到的特征更加準(zhǔn)確和抽象,能夠反映目標(biāo)的語(yǔ)義特征,因此具有良好的識(shí)別和泛化能力。深度卷積網(wǎng)絡(luò)在圖像識(shí)別中得到了廣泛應(yīng)用,出現(xiàn)了大量的深度卷積網(wǎng)絡(luò)模型,如VGG[8]、GoogLeNet[9]、ResNet[10]等。其中殘差網(wǎng)絡(luò)模型(ResNet)能夠較好的避免梯度消失問題,常常用來(lái)作為圖像特征提取的基礎(chǔ)網(wǎng)絡(luò)。由于深度卷積網(wǎng)絡(luò)模型的參數(shù)較多,對(duì)模型進(jìn)行精簡(jiǎn)的方法也被提出,比如 MobileNet[11]網(wǎng)絡(luò)將一個(gè)標(biāo)準(zhǔn)的卷積核分成深度卷積核和 1×1的點(diǎn)卷積核,能夠極大的降低網(wǎng)絡(luò)模型參數(shù)的數(shù)量,提高訓(xùn)練和計(jì)算速度。相比對(duì)整幅圖像進(jìn)行識(shí)別,語(yǔ)義分割能夠?qū)崿F(xiàn)像元級(jí)別的分類,在遙感中可以用于土地利用分類。常用的語(yǔ)義分割模型包括:FCN[12]、U-Net[13]、Deeplab[14]系列等。
將深度學(xué)習(xí)應(yīng)用到衛(wèi)星遙感圖像變化檢測(cè)領(lǐng)域是目前變化檢測(cè)的研究重點(diǎn)和熱點(diǎn),已經(jīng)有了大量的研究。文獻(xiàn)[15]提出了基于深度學(xué)習(xí)的高分遙感圖像變化檢測(cè)模型,將變化檢測(cè)轉(zhuǎn)換為語(yǔ)義分割問題,分割的兩個(gè)類別為沒有變化區(qū)域和變化區(qū)域,輸入的數(shù)據(jù)為多時(shí)相遙感數(shù)據(jù)得到的差分圖像;文獻(xiàn)[16]對(duì) UNet孿生網(wǎng)絡(luò)進(jìn)行改進(jìn),對(duì)多尺度圖像信息進(jìn)行差分和融合,然后用特征金字塔模塊來(lái)獲取圖像多尺度的上下文信息,最后將編碼端和解碼端對(duì)應(yīng)層跳躍連接,進(jìn)行端到端的預(yù)測(cè),得到前后兩期礦區(qū)遙感影像的變化二值圖像;文獻(xiàn)[17]將RNN中的長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)應(yīng)用于變化檢測(cè)中,利用多時(shí)相遙感影像的時(shí)間信息來(lái)得到二值化的變化影像。在無(wú)監(jiān)督學(xué)習(xí)方面:文獻(xiàn)[18]用預(yù)先訓(xùn)練好的VGG模型來(lái)提取特征,對(duì)特征進(jìn)行差異分析來(lái)得到變化檢測(cè)結(jié)果;文獻(xiàn)[19]提出了用于光學(xué)和雷達(dá)異構(gòu)圖像的變化檢測(cè)深度網(wǎng)絡(luò),采用無(wú)監(jiān)督的方式進(jìn)行訓(xùn)練。通常,深度神經(jīng)網(wǎng)絡(luò)的輸入只有一張圖像以及對(duì)應(yīng)的一張地面真值圖,但用于變化檢測(cè)任務(wù)的神經(jīng)網(wǎng)絡(luò),其輸入需要一對(duì)圖像以及對(duì)應(yīng)的一張地面真值圖。孿生網(wǎng)絡(luò)[11]恰好可以完美的解決這個(gè)問題,并且將輸入的圖片對(duì)映射為高維空間中的特征對(duì)。
遙感圖像的變化檢測(cè)需要對(duì)每個(gè)像元是變化還是非變化進(jìn)行識(shí)別,因此可以看作是一個(gè)語(yǔ)義分割問題。但是變化檢測(cè)的輸入一般包括2張不同時(shí)相獲取的圖像,而采用孿生網(wǎng)絡(luò)可以同時(shí)處理2組數(shù)據(jù),所以本文提出一種綜合語(yǔ)義分割與孿生網(wǎng)絡(luò)模型的變化檢測(cè)算法。算法采用 deeplabv3+語(yǔ)義分割模型來(lái)計(jì)算圖像的抽象特征,然后對(duì)輸出層進(jìn)行歸一化并計(jì)算距離圖,最后利用對(duì)比損失函數(shù)來(lái)作為模型誤差進(jìn)行訓(xùn)練。本文的創(chuàng)新點(diǎn)在于將語(yǔ)義分割網(wǎng)絡(luò)和孿生網(wǎng)絡(luò)進(jìn)行組合來(lái)實(shí)現(xiàn)變化檢測(cè),能夠在原始圖像分辨率上實(shí)現(xiàn)較高精度的變化檢測(cè)。
本文設(shè)計(jì)的變化檢測(cè)深度神經(jīng)網(wǎng)絡(luò)模型如圖1所示。輸入為不同時(shí)期獲取的一對(duì)遙感影像,每張影像都通過孿生網(wǎng)絡(luò)中的語(yǔ)義分割模型(本文采用了Deeplabv3+)來(lái)提取特征圖。孿生網(wǎng)絡(luò)中的模型參數(shù)是共享的,在訓(xùn)練的時(shí)候統(tǒng)一進(jìn)行更新。每張圖像經(jīng)過語(yǔ)義網(wǎng)絡(luò)的處理都可以得到一張和原始圖像大小一致的特征圖像,輸入圖像包含了三個(gè)可見光通道(藍(lán)色、綠色、紅色),所以特征圖像的通道設(shè)置為3。根據(jù)2張?zhí)卣鲌D像可以計(jì)算每個(gè)像元對(duì)應(yīng)的歐式距離(一般指歐幾里得度量),結(jié)合樣本提供的標(biāo)簽數(shù)據(jù)并根據(jù)損失函數(shù)就可以計(jì)算殘差。
圖1 變化檢測(cè)深度神經(jīng)網(wǎng)絡(luò)Fig.1 The change detection deep neural network
本文設(shè)計(jì)的變化檢測(cè)深度網(wǎng)絡(luò)以語(yǔ)義分割模型為基礎(chǔ),綜合孿生網(wǎng)絡(luò)的結(jié)構(gòu)來(lái)計(jì)算損失函數(shù),訓(xùn)練的結(jié)果就是讓有變化的像元對(duì)應(yīng)的歐式距離盡可能大,讓沒有發(fā)生變化的像元?dú)W式距離盡可能的小。圖1中,H代表了圖像的高度,W代表了圖像的寬度,H×W后面的數(shù)字代表了圖像的通道數(shù)量。
Deeplabv3+網(wǎng)絡(luò)是目前常用的深度學(xué)習(xí)網(wǎng)絡(luò)之一,是google公司設(shè)計(jì)的語(yǔ)義分割模型。如圖2所示,Deeplabv3+網(wǎng)絡(luò)將多尺度空洞卷積(dilated CNN)運(yùn)用到深度卷積網(wǎng)絡(luò),通過解碼過程將編碼后的數(shù)據(jù)恢復(fù)到原始分辨率尺寸,能夠?qū)崿F(xiàn)精確的語(yǔ)義分割。Deeplabv3+包含一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)(deep CNN,DCNN)網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)可以有多種選擇,比如:ResNet、MobileNet、Xception、DenseNet等。這個(gè)網(wǎng)絡(luò)的作用就是進(jìn)行編碼。Deeplabv3+最后的輸出層的層數(shù)等于分類的數(shù)量。
圖2 Deeplab v3+網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Deeplab v3+network structure
孿生網(wǎng)絡(luò)用來(lái)計(jì)算圖像之間的相似性,輸入為2張圖像,分別通過網(wǎng)絡(luò)來(lái)生成特征圖,然后根據(jù)特征圖來(lái)計(jì)算2張圖像的相似度構(gòu)造損失函數(shù)。孿生網(wǎng)絡(luò)包含兩個(gè)分支網(wǎng)絡(luò),既可以相同也可以不同,當(dāng)擁有不同分支網(wǎng)絡(luò)時(shí)又被稱為“偽孿生網(wǎng)絡(luò)”。用于變化檢測(cè)的孿生網(wǎng)絡(luò)需要兩個(gè)相同的分支網(wǎng)絡(luò)(如圖1所示),兩個(gè)分支網(wǎng)絡(luò)的權(quán)重用相同的值初始化并通過隨機(jī)梯度下降算法接收相同的梯度,以從圖像對(duì)中提取對(duì)應(yīng)的特征對(duì)。
本文采用對(duì)比損失作為損失函數(shù)。對(duì)比損失的核心思想是擴(kuò)大類間差異、減小類內(nèi)差異。它主要被運(yùn)用在降維處理過程中,即對(duì)相似的樣本進(jìn)行降維處理后,其對(duì)應(yīng)的特征仍然相似,而本不相似的樣本經(jīng)過降維處理后仍舊不相似,因而可以很好的反應(yīng)出樣本對(duì)之間的相似程度loss。其方程表達(dá)式如下
式中N代表特征圖中像元的數(shù)量;n為像元索引;dn代表樣本對(duì)語(yǔ)義分割網(wǎng)絡(luò)得到的特征對(duì)之間的歐式距離;y是樣本標(biāo)簽,當(dāng)y=0時(shí),代表樣本對(duì)是相似或者匹配的,當(dāng)y=1時(shí),代表樣本對(duì)是不匹配的;m是設(shè)置的一個(gè)閾值。其中,本文用于計(jì)算歐式距離的特征對(duì)已經(jīng)過歸一化處理,即dn的取值在0到1之間,m的取值需要保證m-dn的值為一個(gè)正數(shù),因此默認(rèn)可以設(shè)置為2。由式(1)可以看出,當(dāng)樣本對(duì)相似(即y=0)時(shí),函數(shù)只有前半部分 (1-y),若原本相似的樣本對(duì)之間的歐式距離較大,則說(shuō)明此時(shí)網(wǎng)絡(luò)不佳,函數(shù)隨即會(huì)加大網(wǎng)絡(luò)損失;而當(dāng)樣本對(duì)不相似(即y=1)時(shí),函數(shù)只剩后半部分y·m a x(m-dn,0)2,若原本不相似的樣本對(duì)之間的歐式距離較小,則說(shuō)明此時(shí)網(wǎng)絡(luò)不佳,函數(shù)一樣會(huì)加大網(wǎng)絡(luò)損失。
利用“高分一號(hào)”衛(wèi)星、“高分二號(hào)”衛(wèi)星、“高景一號(hào)”衛(wèi)星、Google Earth和部分無(wú)人機(jī)的數(shù)據(jù)整理了一個(gè)不同季節(jié)的變化檢測(cè)數(shù)據(jù)集,訓(xùn)練集包括 10 000對(duì)圖片,驗(yàn)證集和測(cè)試集各 3 000對(duì),總共16 000對(duì)圖像。這個(gè)數(shù)據(jù)考慮了季節(jié)變化,而樹木等的生長(zhǎng)變化不被當(dāng)作變化。制作訓(xùn)練集時(shí),訓(xùn)練圖像的分辨率從0.03~1m,整體屬于高分辨率圖像的范疇。為了方便進(jìn)行訓(xùn)練,原始數(shù)據(jù)被裁剪為256像元×256像元大小的圖像,并隨機(jī)進(jìn)行了旋轉(zhuǎn),部分樣本數(shù)據(jù)如圖3所示。
訓(xùn)練時(shí)的操作系統(tǒng)為ubuntu 18.04 LTS,深度學(xué)習(xí)的訓(xùn)練框架選擇pytorch,計(jì)算機(jī)CPU為Intel? Xeon(R)CPU E5-2623 @2.60GHz×8,顯卡為 Nvidia Quadro M4000,顯存為 8Gbyte。訓(xùn)練的批樣本大?。╞atchsize)設(shè)置為32,訓(xùn)練周期(epoch)設(shè)置為50,初始的學(xué)習(xí)率為0.001,學(xué)習(xí)率隨著訓(xùn)練次數(shù)的增加逐漸降低。Deeplabv3+編碼部分的深度卷積框架選擇MobileNet,最后輸出層的通道設(shè)置為3。輸出層的數(shù)據(jù)采用L2 范數(shù)(normalization)進(jìn)行歸一化。根據(jù)訓(xùn)練結(jié)果輸入的精度—召回率曲線如圖4所示。
圖4 精度—召回率曲線圖Fig.4 The precision-recall graph
從圖4可以看出,精度與召回率曲線表現(xiàn)良好,召回率在70%左右都能接近100%的正確率,這說(shuō)明本文算法模型的有效性。F-Measure(又稱為F-Score)是精度和召回率加權(quán)調(diào)和平均,是信息檢索(IR)領(lǐng)域的常用的一個(gè)評(píng)價(jià)標(biāo)準(zhǔn),常用于評(píng)價(jià)分類模型的好壞。本算法訓(xùn)練后的 F-Measure值為 0.894。文獻(xiàn)[20]中基于對(duì)抗網(wǎng)絡(luò)對(duì)本文使用的數(shù)據(jù)庫(kù)進(jìn)行了變化檢測(cè),并對(duì)變化檢測(cè)得到的變化區(qū)域進(jìn)行了區(qū)域合并,然后根據(jù)不同的交叉比(IoU)來(lái)對(duì)算法進(jìn)行了評(píng)估,0.1、0.2、0.3代表了 IoU的閾值,即當(dāng)交叉比大于設(shè)定閾值時(shí)就認(rèn)為分割后的目標(biāo)是正確的。本文采用同樣的方法來(lái)計(jì)算不同IoU下的準(zhǔn)確率和召回率,比較結(jié)果見表1。
表1 算法精度對(duì)比Tab.1 Comparison of accuracy of algorithms
將本文算法的結(jié)果與文獻(xiàn)[20]中基于對(duì)抗網(wǎng)絡(luò)的算法精度進(jìn)行對(duì)比,可以看出本文的算法精度要優(yōu)于文獻(xiàn)[20]的模型。為了直觀的觀察變化檢測(cè)的效果,根據(jù)本文算法訓(xùn)練的模型來(lái)對(duì)測(cè)試的圖像數(shù)據(jù)進(jìn)行處理,計(jì)算得到歐式距離圖,將距離歸一化到[0,1]之間,然后映射為彩色圖像,效果如圖5所示。
圖5 變化檢測(cè)測(cè)試數(shù)據(jù)效果Fig.5 Change detection test data effect
如圖5所示,最下一排是算法得到的變化檢測(cè)結(jié)果,紅色代表出現(xiàn)變化的概率高,藍(lán)色代表沒有出現(xiàn)變化。從結(jié)果中可以看出,檢測(cè)的結(jié)果與人工標(biāo)記的區(qū)域基本吻合,具有良好的一致性。
利用遙感數(shù)據(jù)能夠?qū)Υ蠓秶牡乇眍愋妥兓M(jìn)行監(jiān)測(cè),提高電網(wǎng)安全巡檢的效率,有效減少人工巡檢的工作量和危險(xiǎn)性。尤其是,云南電網(wǎng)的線路大多分布在山地和丘陵區(qū)域,人工巡檢極為不便。因此,對(duì)輸電線路周圍環(huán)境變化進(jìn)行監(jiān)測(cè),能夠及時(shí)的發(fā)現(xiàn)可能的安全隱患,保障電力設(shè)施以及周邊居民的安全。為了驗(yàn)證本文模型的實(shí)際檢測(cè)與泛化能力,選擇云南省昆明市西南區(qū)域的覆蓋區(qū)域來(lái)進(jìn)行變化檢測(cè),輸電線路沿著圖像中央的山體呈南北分布。
圖6是“高景一號(hào)”衛(wèi)星拍攝的2張同一個(gè)地區(qū)的影像,其中圖6(a)是2018年1月拍攝,圖6(b)是2018年11月拍攝。兩景衛(wèi)星影像經(jīng)過有理多項(xiàng)式參數(shù)(RPC)幾何校正后幾何位置基本上對(duì)齊。圖6中的紅色圓圈為220kV高壓線經(jīng)過的高壓塔的位置,紅色連線代表了高壓線的具體位置和分布情況。從不同時(shí)相的0.5m分辨率遙感圖像上可以看出,由于拍攝的季節(jié)不同,太陽(yáng)高度角也相差較大,導(dǎo)致地表的反射率存在較大的差異,陰影的角度也不同。這些都增大了變化檢測(cè)的難度,如果用傳統(tǒng)的基于顏色或者亮度的算法監(jiān)測(cè),就會(huì)出現(xiàn)大量錯(cuò)誤檢測(cè)區(qū)域。
圖6 2018年1月和11月拍攝的高景圖像Fig.6 High-view images taken in January and November 2018
雖然兩幅圖像存在明顯的輻射品質(zhì)差異,但是本文算法很好的避免了輻射差異導(dǎo)致的錯(cuò)誤檢測(cè)。為了驗(yàn)證檢測(cè)的精度,本文采用人工解譯的方式來(lái)尋找圖像中存在變化的區(qū)域,然后用人工解譯得到的二值圖像和本文提出的變化檢測(cè)模型得到的變化區(qū)域二值圖統(tǒng)計(jì)變化檢測(cè)像元的整體精度,如表2所示。
表2 檢測(cè)精度分析Tab.2 Analysis of detection accuracy
對(duì)人工解譯的結(jié)果分析表明:由于拍攝時(shí)間相差不到一年,圖像中絕大部分的區(qū)域都沒有明顯變化。變化的地方主要出現(xiàn)在高壓線附近的新增蔬菜大棚(如圖7(b)和(c)中的黃色多邊形)。本文算法的檢測(cè)結(jié)果總體準(zhǔn)確率從84.5%提高到93.7%,召回率從81.1%提高到89.5%,特別是相比文獻(xiàn)[20]中的算法在變化檢測(cè)結(jié)果的空間分辨率上有顯著改善。但本文算法也將部分沒有變化的區(qū)域檢測(cè)為變化區(qū)域,這些區(qū)域主要分布在邊緣,容易受到幾何對(duì)齊的影響而被錯(cuò)分為變化區(qū)域。采用本文提出的變化檢測(cè)模型能及時(shí)發(fā)現(xiàn)紋理變化明顯的區(qū)域,如:建筑物、植被變化區(qū)域等,有助于防范可能出現(xiàn)的地質(zhì)災(zāi)害、人為破壞和違章建設(shè)等潛在風(fēng)險(xiǎn),特別是人工巡線難以涉及的區(qū)域,如:密林、高山等地方。
圖7 距離高壓線一定范圍的變化檢測(cè)效果Fig.7 Change detection effect of a certain range from the high-voltage line
本文提出了一種將語(yǔ)義分割網(wǎng)絡(luò)和孿生網(wǎng)絡(luò)組合在一起進(jìn)行遙感圖像變化檢測(cè)的算法,充分利用語(yǔ)義分割網(wǎng)絡(luò)強(qiáng)大的特征提取與分辨率復(fù)原能力,能夠較好的恢復(fù)變化區(qū)域的細(xì)節(jié)?;谕瑯拥木W(wǎng)絡(luò)參數(shù),采用孿生網(wǎng)絡(luò)對(duì)不同時(shí)相的遙感數(shù)據(jù)進(jìn)行處理,保證了訓(xùn)練的有效與靈活性。實(shí)驗(yàn)表明:本文算法能夠較好的處理不同時(shí)相獲取的遙感數(shù)據(jù),對(duì)輻射變化以及季節(jié)變化導(dǎo)致的色彩差異具有較好的識(shí)別能力,能夠有效服務(wù)輸電走廊的日常巡線工作,為電力線路的安全保障提供必要的技術(shù)支撐。