基於深度神經網絡的超像素級SAR圖像變化檢測方法與流程
2023-05-16 05:27:42 1

本發明屬於圖像處理技術領域,涉及圖像變化檢測,具體是一種基於深度神經網絡的超像素級SAR圖像變化檢測方法,可用於遙感影像監測、醫學診斷、自然災害評估等技術領域中。
背景技術:
遙感影像變化檢測技術用於檢測同一地區在不同時間內所發生的變化情況,具有重要的應用價值。而基於合成孔徑雷達的(Synthetic Aperture Radar,SAR)影像的變化檢測由於SAR傳感器不受時段、天氣條件影響等優良特徵而受到廣泛關注。對於SAR圖形的變化檢測問題,研究者已經提出了很多方法,這些方法對差異圖的生成以及閾值、聚類、圖切、水平集四種常用的差異圖分析方法進行了不同程度的研究,將傳統方法進行了改善,取得了良好的效果。
近些年來,深度神經網絡(Deep learning)已經成為一種新的機器學習方法廣泛應用。它通過構建深層的神經網絡模型來表達和分析數據,具有更強的學習能力。在深度學習中,我們可以不需要預處理而直接輸入數據,而數據的特徵通過每一層被學習出來。深度神經網絡的模型主要包括卷積神經網絡(CNN),深度信念網絡(DBN)和自編碼器(AE)。因為深度神經網絡對圖像有更好的表達方式,提取更深層次的特徵,所以有一些研究人員已經將深度神經網絡應用到SAR圖像的變化檢測中,並取得了很好的效果,比如:Maoguo Gong等人提出了一種基本深度學習的變化檢測方法,參見M.Gong,J.Zhao,J.Liu,Q.Miao,L.Jiao.Change Detection in Synthetic Aperture Radar Images Based on Deep Neural Networks.IEEE Transactions on Neural Networks and Learning Systems,Vol.27,No.1,2016:125-138.將深度神經網絡的優勢引入到圖像變化檢測中已經成為變化檢測方向新的熱點。
根據處理的目標不同,變化檢測也分為像素級別和目標級別,分別對應處理的對象是像素和圖像中的目標。閾值、聚類以及上述的基於深度神經網絡的變化檢測都是像素級別的變化檢測,他們處理的對象是圖像的像素。這些像素級別的變化檢測分類相對準確,但是主要缺陷是易受噪聲幹擾(尤其是閾值和聚類方法),並且由於處理的對象是每一個圖像的像素,所以處理時計算量比較大。目標級別的變化檢測主要是通過圖像分割的技術先將待處理的圖像進行目標分割,然後再進行分類。其處理速度快,但是精確度主要取決於圖像分割的結果,穩定性差。
超像素是一種介於像素與目標之間的圖像區域,概念就是把圖像分割成很多小區域,每個子區域內部之間具有某個特徵很強的一致性,然後可以把這一整個塊當成一個整體來處理,每一小塊就是超像素,這樣處理有一些便捷,比如數據點數減少,或者這一塊有圖像語義,利於後續其他應用。
技術實現要素:
本發明的目的在於克服上述已有技術的不足,提出一種基於深度神經網絡的超像素級SAR圖像變化檢測方法,以實現在圖像變化檢測中既能得到比目標級別變化檢測更好的結果,又能降低像素級變化檢測方法計算量比較大的缺點,使得變化檢測結果更穩定。
本發明的技術方案是:基於深度神經網絡的超像素級SAR圖像變化檢測方法,包括如下步驟:
(1)對兩幅原始圖像進行超像素分割,分別得到分割後的圖像SI1、SI2和分割輪廓C1、C2;
(2)根據兩幅原始圖像的分割輪廓,進一步進行精細化分割,使得兩幅圖像得到相同的精細化分割輪廓C和精細化分割後圖像S1和S2,並且兩幅圖像都得到M個對應的超像素塊;
(3)求兩幅原始圖像的差異圖,用閾值法或模糊聚類法變化檢測方法得到初始變化檢測結果圖;
(4)使用精細化分割輪廓C去分割初始變化檢測結果圖,並統計被分割的初始變化檢測結果圖中每個超像素塊中變化與未變化的像素點數目,如果變化的像素點數目大於80%,則該超像素塊的標籤為變化類,如何未變化的像素點數目大於80%,則該超像素塊的標籤為未變化類;否則該超像素塊為不確定;
(5)建立堆棧去噪自編碼深度神經網絡模型;
(6)將S1和S2中有確定標籤的對應位置的超像素塊分別取出,疊加成列向量,輸入到建立的堆棧去噪自編碼深度神經網絡模型中訓練;
(7)根據初始變化檢測結果圖得到的標籤,使用反向傳播算法調整堆棧去噪自編碼深度神經網絡模型中各個神經元之間的連接權重,得到最終訓練好的模型;
(8)再次將S1和S2對應位置的所有超像素塊分別疊加成列向量,輸入到訓練好的堆棧去噪自編碼深度神經網絡模型中,深度神經網絡模型將判斷對應的超像素塊是變化的還是未變化的,最終輸出變化檢測結果的二值圖。
上述步驟(2)所述的精細化分割,具體步驟如下:
將不同的分割輪廓C1和C2進行精細化分割,得到相同的精細化分割輪廓,即C1=C2=C;具體過程為遍歷C1和C2每個超像素輪廓的值,如果對應位置輪廓標記相同,則該位置標記不變;如果不同,則該位置賦新的輪廓標記;
其中,
上述公式(1)中,newlabel是表示與C1和C2的標記都不相同的新的標記;
用得到的精細化分割輪廓C重新分割兩幅原始圖像,得到精細化分割後圖像S1和S2,每幅圖像都被分割為M個對應的超像素塊。
上述步驟(4)中用精細化分割輪廓C去分割初始變化檢測結果圖,得到每個超像素塊的標籤,按如下方法進行:
用得到的精細化分割輪廓C去分割初始變化檢測結果圖,並得到分割後的圖像D;根據分割後的初始變化檢測結果圖,確定每一塊超像素塊的標籤;
其中,
上述公式(2)中,(label)j代表第j個超像素塊的標籤,Dj代表第j個超像素塊中像素的總個數,Djunchanged和Djchanged分別代表第j個超像素塊中未變化的像素個數和變化的像素個數;用上述公式(2)確定每一塊超像素塊的標籤,0代表該像素塊是未變化的,1代表該像素塊是變化的。
上述步驟(6)所述的將S1和S2中有確定標籤的對應超像素塊分別取出,疊加成列向量,輸入到堆棧去噪自編碼深度神經網絡模型中訓練,按如下方法進行:
分別取出兩幅原始圖像對應位置的超像素塊,將取出的兩個對應位置的超像素塊中的每個像素組成列向量,並把兩個列向量疊加為一個列向量作為訓練樣本輸入到堆棧去噪自編碼深度神經網絡模型中進行訓練,該過程是無監督的,訓練的數據不需要標籤,從底層開始,一層一層的往頂層訓練。
上述步驟(7)所述的根據初始變化檢測結果圖得到的標籤,調整堆棧去噪自編碼深度神經網絡模型中各個神經元之間的連接權重,得到最終訓練好的深度神經網絡模型,按如下方法進行:
堆棧去噪自編碼深度神經網絡模型在訓練之後,使用反向傳播算法進行參數調整,即通過帶標籤的數據去訓練,誤差自頂向下傳輸,對深度神經網絡模型中節點之間連接的參數進行調整,該過程需要使用標籤為0或1的超像素塊去訓練,通過調整節點之間連接的參數得到最終訓練好的深度神經網絡模型。
本發明的有益效果:與現有的技術相比本發明具有以下優點:
1、本發明由於採用了超像素級別的處理目標,直接檢測像素塊是變化的還是未變化的,相對像素級別的變化檢測降低了計算量,相對目標級別的變化檢測增加了準確性;
2、採用了深度神經網絡模型,提取了超像素塊的深層的內部特徵,通過訓練能更好的分辨變化類與未變化類。
附圖說明
圖1是本發明實現步驟的流程框圖;
圖2是本發明精細化超像素分割的示意圖;
圖3是本發明中使用的堆棧去噪自編碼深度神經網絡模型的原理圖;
圖4是兩幅原始圖像對應的超像素塊疊加為列向量,作為訓練樣本輸入到深度神經網絡模型中進行訓練過程的示意圖;
圖5是待變化檢測的兩幅原始的SAR圖像I1和I2;
圖5(a)是待變化檢測的原始的SAR圖像I1;
圖5(b)是待變化檢測的原始的SAR圖像I2;
圖6是用本發明方法對圖5進行變化檢測得到的仿真實驗結果圖;
圖7是用現有KI閾值算法對圖5進行變化檢測得到的仿真實驗結果圖;
圖8是用現有FCM聚類算法對圖5進行變化檢測得到的仿真實驗結果圖。
具體實施方式
參照圖1,本發明將深度神經網絡引入到變化檢測算法中以達到更好的分類性能,並且提出了超像素級別的處理對象,避免了像素級別和目標級別的變化檢測的缺陷,其具體實現步驟如下:
步驟1、使用超像素分割方法分割兩幅原始圖像。
使用超像素分割方法,分別分割兩幅原始圖像。本發明中用的超像素分割方法是SLIC超像素分割,它會根據圖像本身區域的特性對圖像進行超像素分割,使得統一超像素塊內像素點的性質近似,而不同超像素塊之間的性質差別比較大。
分別對兩幅原始圖像I1和I2進行超像素分割,得到分割後的圖像SI1、SI2和分割輪廓C1、C2。因為兩幅原始圖像存在差異,所以超像素分割後的輪廓是不同的,即C1≠C2。
步驟2、精細化分割,得到相同的超像素分割輪廓。
如圖2所示,將不同的分割輪廓C1和C2進行精細化分割,得到相同的精細化分割輪廓,即C1=C2=C。具體過程為遍歷C1和C2每個超像素輪廓的值,如果對應位置輪廓標記相同,則該位置標記不變;如果不同,則該位置賦新的輪廓標記。
其中,newlabel是表示與C1和C2都不相同的新的標記。
用得到的精細化分割輪廓C重新分割兩幅原圖,得到精細化分割後的圖像S1和S2,每幅圖像都被分割為M個對應超像素塊。
步驟3、用傳統的變化檢測方法得到初始變化檢測結果圖。
在之後的深度神經網絡模型訓練過程中,我們需要使用一定量的帶標籤的超像素塊,所以我們提前用閾值法(FCM),模糊聚類法(FCM)等傳統的變化檢測方法得到初始變化檢測結果圖。
步驟4、分割初始變化檢測結果圖,得到每個超像素塊的標籤。
用得到的精細化分割輪廓C去分割初始變化檢測結果圖,得到分割後的圖像D。根據分割後的變化檢測結果,我們確定每一塊超像素塊的標籤。
其中,(label)j代表第j個超像素塊的標籤,Dj代表第j個超像素塊中像素的總個數,Djunchanged和Djchanged分別代表第j個超像素塊中未變化和變化的像素個數。用上述公式(2)確定每一塊超像素塊的標籤,0代表該像素塊是未變化的,1代表該像素塊是變化的。
步驟5、建立堆棧去噪自編碼(SDAE)深度神經網絡模型。
SDAE是將多個DAE(去噪自編碼)堆疊起來形成的一種算法。由P.Vincent等人在Stacked Denoising Autoencoders:Learning Useful Representations in a Deep Network with a Local Denoising Criterion一文中進行了詳細的闡述。
DAE的主要思想是一個好的表示(特徵)能夠從一個腐蝕輸入魯棒地得到,並且可以較好地恢復出未腐蝕的輸入。SDAE的思想就是將多個DAE堆疊在一起形成一個深度的架構。需要注意的是,只有在訓練的時候才會對輸入進行腐蝕,一旦訓練完成,就不需要再進行腐蝕。關於DAE和SDAE的原理圖參見圖3。
步驟6、訓練深度神經網絡模型。
分別取出兩幅原始圖像對應位置的超像素塊,將兩個對應位置的超像素塊中的每個像素組成列向量,並把兩個列向量疊加為一個列向量作為訓練樣本輸入到深度神經網絡中進行訓練。具體過程參見圖4,這個過程是無監督的,訓練的數據不需要標籤,從底層開始,一層一層的往頂層訓練。
步驟7、調整深度神經網絡模型的參數。
深度神經網絡模型在訓練之後,需要使用反向傳播(BP)算法進行參數調整,就是通過帶標籤的超像素塊去訓練,誤差自頂向下傳輸,對深度神經網絡模型中各個神經元之間的連接權重進行調整。這個過程需要使用label為0或1的超像素塊進行訓練,最終得到訓練好的深度神經網絡。
步驟8、用訓練好的深度神經網絡模型進行分類,得到最終的結果。
通過步驟7之後,我們得到了具有良好分類功能的深度神經網絡模型。現在需要把兩幅原始圖像的所有的對應超像素塊分別疊加為列向量,輸入到深度神經網絡模型中進行分類。深度神經網絡模型會對輸入的超像素塊進行分類,判斷是變化的超像素塊還是未變化的超像素塊,最終得到最後的分類二值圖像。
本發明的效果可通過以下仿真進一步說明:
1.仿真條件及仿真內容:
本實例在Intel(R)Core(TM)2Duo CPU 2.33GHz Windows 7系統下,Matlab R2015a運行平臺上,完成本發明以及KI閾值方法和FCM聚類方法的SAR圖像變化檢測仿真實驗。
2.仿真實驗內容
A.本發明圖像變化檢測方法的仿真
將本發明應用在如圖5所示290×350的兩幅SAR圖像上,該SAR圖像是Ottawa地區洪水前後的圖像。圖6為用本發明方法對圖5進行變化檢測得到的仿真實驗結果圖,其中白色區域代表變化的區域,黑色區域代表未變化的區域。
B.現有KI和FCM圖像變化檢測方法的仿真
將現有的閾值方法應用在如圖5所示290×350的SAR圖像上,仿真實驗結果如圖7所示,其中白色區域代表變化的區域,黑色區域代表未變化的區域。
將現有的聚類方法應用在如圖5所示290×350的SAR圖像上,仿真實驗結果如圖8所示,其中白色區域代表變化的區域,黑色區域代表未變化的區域。
3.仿真實驗結果
從圖6可以看出,本發明得到的仿真實驗結果有較好的主觀視覺效果,邊緣平滑清晰,能比較準確的把兩幅圖像中的變化部分和未變化部分提取分類,尤其對於圖5中的洪水與陸地部分,變化部分檢測比較準確。
從圖7可以看出,現有閾值方法得到的仿真實驗結果主觀視覺效果較差,錯誤變化檢測區域比較嚴重,邊緣模糊不清,且產生了很大的噪聲,無法準確的將洪水前後的變化情況準確的反映出來。
從圖8可以看出,現有聚類方法得到的仿真實驗結果主觀視覺效果優於閾值算法得到的仿真實驗結果,能基本反映兩幅圖像的變化情況,但與本發明得到的仿真實驗結果相比,邊緣不夠平滑準確,產生的噪聲較多。
由以上的仿真實驗可以說明,針對SAR圖像的變化檢測,本發明存在一定的優勢,克服了現有閾值和聚類變化檢測技術應用在SAR圖像上的不足,不論是視覺效果還是準確性,本發明均優於現有的KI閾值和FCM聚類變化檢測技術。
綜上所述,本發明針對SAR圖像的變化檢測效果明顯優於現有的KI閾值和FCM聚類技術對SAR圖像的變化檢測效果;與現有的技術相比其優點包括:
1、本發明由於採用了超像素級別的處理目標,直接檢測像素塊是變化的還是未變化的,相對像素級別的變化檢測降低了計算量,相對目標級別的變化檢測增加了準確性;
2、採用了深度神經網絡模型,提取了超像素塊的深層的內部特徵,通過訓練能更好的分辨變化類與未變化類。
本實施方式中沒有詳細敘述的部分屬本行業的公知的常用手段,這裡不一一敘述。以上例舉僅僅是對本發明的舉例說明,並不構成對本發明的保護範圍的限制,凡是與本發明相同或相似的設計均屬於本發明的保護範圍之內。