麻連偉,寧衛遠,焦利偉,薛帥棟
(1.河南省地球物理空間信息研究院,河南 鄭州 450009; 2.河南省地質物探工程技術研究中心,河南 鄭州 450009)
為響應自然資源部關于建立對各類違規或突發問題的實時發現機制,緊緊圍繞“實時發現”的總體建設目標,基于人工智能、大數據等先進技術,亟需開展研究一種提高自然資源動態監測效率的方法。現階段,隨著社會和經濟的高速發展,不論是自然現象,還是人類活動,時時刻刻都對地球表面產生不斷的影響,動態、高效、精確的提取地球表面的變化信息對于生態環境修復和保護、自然資源長效監管、社會經濟蓬勃發展,以及各類數據的更新維護,均有非凡的意義[1-2]。然而,在目前的自然資源監管中,比較常規的方法仍是通過人工目視解譯,勾畫出變化圖斑,然后進行后續工作。這些傳統方法不僅耗時、耗力,而且滿足不了各類違規行為的及時發現,監管總是滯后。因此,注重精度的同時,研究提高變化檢測的效率已經迫在眉睫[2]。如今,人工智能、大數據等先進技術隨著海量數據的增長、計算機硬件設備的提高,深度學習迅速成為了一種高效且精確的方法,基于深度學習方法進行遙感影像的變化信息提取也成為目前研究的重點方向[3]。
目前遙感影像傳統的變化檢測技術體系中有兩大類比較常用,分別是基于影像直接比對的方法和先分類后對比的方法。基于影像直接比對的方法是利用像素之間的差異性得到變化區域的范圍,是在像素這一層級上,不能獲得變化像素的屬性信息。而且,由于噪聲的干擾使得精準范圍線的提取成為了難點。先分類后對比的方法是基于對象級的變化信息提取方法,由于這是在對象這一層級上。因此,不僅可以得到變化區域的范圍,而且還可以得到該變化區域的屬性信息。另外,該方法可以抵抗一定的影像噪聲[4]。Hinton等[5]于2006年提出深度學習方法后,沉寂多年的深度學習方法再次因為其優秀的性能為大眾所熟知,直至今天一直有學者進行不斷的研究,拓展到了各行各業3[6]。隨著海量數據的增長和計算機硬件設備的提高,神經網絡機器學習方法在遙感影像的像素級變化檢測中也有著不俗的表現。徐真等[7]利用卷積神經網絡(CNN)對SAR圖像進行變化檢測,取得了不錯的效果。張鑫龍等[8-9]將神經網絡機器學習方法引入到了高分辨率遙感影像中,驗證了該方法的有效性。李進[10]更加深入的研究了各種深度學習網絡模型,如高斯金字塔等,提升了神經網絡機器學習方法的變化提取的精度。王慶[11]結合傳統方法和深度學習方法,綜合兩者各自的優勢,分別對面向像元、面向對象和面向區域進行了非常細致的研究。
總的來說,這些學者推進先進技術應用到傳統領域邁出了堅實的一步,但是大多數研究還停留在理論層面,本文主要是結合實際工程項目,基于深度學習方法,提出一種基于Pytorch深度學習平臺實現U-Net神經網絡進行遙感影像變化檢測的方法,探索深度學習在實際應用中的可行性。本文選擇了一種典型的地物—水體進行試驗,首先,制作水體樣本;其次,對樣本數據進行清洗,并以最終清洗后的樣本訓練出精度較好的水體提取模型;然后,利用該模型對試驗區前后時相影像進行水體提取,再通過分類后比較法得到前后時相分類后的遙感影像變化檢測結果;最后,通過對比基于支持向量機(SVM)的分類后比較法后發現,相比傳統方法精度有所提升,說明本文方法進行變化檢測有一定的可用性。
Hinton等[5]于2006年發表了利用RBM編碼的深層神經網絡,在特征提取方面表現優異,它可以通過大數據分析的方法,自動提取影像的代表特征,而傳統的特征提取方法大多只能對特定的影像有比較好的提取效果和精度。卷積神經網絡結構如圖 1所示。卷積神經網絡(CNN)是深度學習方法的一種,其權值共享的網絡結構明顯降低了模型的復雜度,減少了權值數量,可以直接將圖片作為網絡的輸入,自動提取特征,并且對圖片的變形具有高度不變形。神經網絡的基本組成包括輸入層、隱藏層、輸出層,卷積神經網絡的特點在于隱藏層分為卷積層和池化層,卷積層通過一塊塊卷積核在原始圖像上平移來提取特征[12]。

圖1 卷積神經網絡結構Fig.1 Structure diagram of CNN
Ronneberger等[6]提出U-Net神經網絡模型,從此成為深度學習中非常重要的語義分割模型。U-Net網絡結構如圖2所示。

圖2 U-Net網絡結構Fig.2 Structure diagram of U-Net network
它是一個非常對稱的結構,類似U形。因此,命名為U-Net。其網絡結構由2部分組成:左半部分為下采樣和右半部分為上采樣。下采樣對輸入的影像進行卷積和池化操作,主要是用來得到更多的信息。上采樣則是為了對圖片中所需要分割出來的部分進行精準定位。對影像進行反卷積和上采樣操作,最后得到與輸入影像尺寸相同的影像輸出[13-15]。
本文選擇泌陽縣范圍內一塊比較有代表性的區域作為試驗區,來研究水體變化檢測的可行性。其中,泌陽縣位于河南省駐馬店市西南區域,縣域內有平原、丘陵、山地等地貌類型,森林資源、水資源豐富,礦產資源種類多、儲量大,其區域情況能夠體現河南省整體特征[14]。本文試驗采用的數據是2017—2019年的2期多源遙感影像,投影坐標系為高斯—克呂格3度分帶,帶號為38,分辨率為1 m。試驗區域大小均為2 000×3 000像素,如圖 3所示。

圖3 試驗數據展示Fig.3 Image data of test
本文結合實際工程項目,基于深度學習方法,提出一種基于Pytorch深度學習平臺實現U-Net神經網絡進行遙感影像變化檢測的方法。該方法主要有以下6個步驟:配準影像、制作樣本、網絡訓練與試驗、數據清洗、分類后變化檢測、精度評價。詳細的技術路線如圖 4所示。

圖4 技術路線Fig.4 Technical routes
以泌陽縣除試驗區以外的其他區域作為水體樣本的制作范圍,人工勾畫標記出水體的位置。勾畫完成的標記圖經矢量柵格化處理后,標記圖中水體的像素值為1,其他值為0,就形成了標記柵格圖。為便于質量檢查,將水體內像素值為1的映射為藍色,其他值為0的映射為黑色,檢查合格后方可進行小樣本的制作。最后,將影像數據與標記圖同時分塊裁切為512×512像素大小的小樣本,方便用于深度學習深度學習訓練。
實驗基于 Windows 10專業版操作系統配置Pytorch深度學習平臺,利用2塊顯存為24 GB的英偉達顯卡并行處理。樣本的數據為4 000張小圖,寬和高均為512像素,試驗過程中,樣本進行了數據增強操作。訓練過程中,采用2.5×10-4的學習率,每次迭代處理16張圖片,共迭代25 000次,以最佳結果保存模型。
深度學習模型較好的性能取決于樣本庫的質量。樣本庫的質量越好,神經網絡模型的訓練越快、精度越高。本文數據清洗主要針對樣本庫,思路:①先利用初始未經過清理的樣本,訓練一個初始模型;②利用該初始模型,對所有的初始未經過清理的樣本進行評價;③對評分較低的單個樣本,處理方法是直接剔除和修正錯誤標記;④按照前3步,再重新處理2次,或者繼續循環得到理想的結果為止。
為客觀公正的評價本文方法的效果,本文采用2種精度評價的指標,分別為總體精度(OA)和卡帕系數(Kappa)。總體精度(OA)是神經網絡模型在所有測試集上預測正確的個數與總體數量之間的比值,數學公式如下:
(1)
式中,xii為分類正確的樣本數;N為所有樣本數。
卡帕系數(Kappa)是評價模型預測結果多大程度上符合真實參考值,數學公式如下:
(2)
式中,N為像元總數;xii為混淆矩陣對角線元素;xi+和x+i分別為混淆矩陣各行、各列的和。
利用數據清洗后的最終樣本對U-Net神經網絡進行訓練,得到最優的模型情況如下:樣本訓練損失值為0.014、精度為93.7%;同時驗證集的損失值為0.017、精度為94.7%。這些數據表明,通過數據清洗后的樣本庫的質量較好,數據一致性較好;模型的訓練也比較充分,基本達到了最優解。
分別利用支持向量機(SVM)先分類后變化檢測方法、本文方法對泌陽縣試驗區進行變化提取后的結果(圖5)可以看出,基于SVM的先分類后比較法的提取結果中,雖然主體的變化信息已經提取出來,但是還有一些地方,比如左上部分存在錯提,右下部分存在漏提,而且整體上有比較大的噪聲點。通過分析發現,基于SVM的先分類后比較法容易將深色的耕地、林地、陰影等與水體光譜特征相似的區域誤提為水體導致誤檢,而采用深度學習的方法則能夠有效避免耕地、林地和其他陰影造成的影響,提取到的水體變化信息范圍更精準且沒有噪聲點。

圖5 不同水體變化檢測方法結果Fig.5 Result of different methods of water body change detection
為便于精度計算,首先利用預測圖像和真實值圖像計算出混淆矩陣;然后通過混淆矩陣,計算出總體精度和卡帕系數。SVM先分類后變化檢測方法,與本文方法精度評定結果見表1。前者總體精度為96.47%,卡帕系數為0.85;本文方法總體精度為97.06%,卡帕系數為0.88。相比傳統方法精度有所提升,說明本文方法進行變化檢測具有一定的可用性。

表1 2種方法的精度評定結果Tab.1 Result of precision of two methods
結合實際工作業務,基于大數據分析與挖掘和人工智能等時下先進的技術,提出了一種基于深度學習的遙感影像變化檢測技術,探討了先進技術在實際應用中的可行性。通過試驗結果分析,本文方法相比傳統方法精度有所提升,驗證了本文方法的有效性。但是,本文方法也存在一些不足之處:①本文方法的試驗還不夠充分,還需要大量不同季節、不同地形數據的分析驗證;②本文方法還有待提高,還有很多優秀的神經網絡模型,如Deeplab、PSPNet、SegNet等模型都可以進行試驗,這些都可以作為以后的研究方向。