本發明涉及遙感應用領域,特別涉及一種基于高分辨率衛星影像的道路寬度估計方法。
背景技術:
衛星遙感技術具有高效性、實時性以及信息多元化等特點,其作為一種先進的對地觀測方法在城市交通領域中發揮了重要的作用。而且隨著遙感技術的發展,分辨率的極大提高,讓衛星圖像能夠更清楚的表達地物目標的特征,為計算機從衛星圖像中提取道路信息提供了必要的條件,使得基于高分辨率衛星影像的道路寬度估計成為可能。
從上個世紀七十年代開始,眾多學者在道路信息提取領域進行了大量的研究工作并取得了豐碩的成果,特別是對道路的現狀特征提取更是提出了很多具有實用價值的方法。但是對于道路寬度估計,相關的研究成果卻并不多見。
技術實現要素:
本發明的目的在于提供一種基于高分辨率衛星影像的道路寬度估計方法。
為實現上述目的,本發明采用以下技術方案:
基于高分辨率衛星影像的道路寬度估計方法,包括以下步驟:
s1、截取不同寬度等級的道路塊樣本,將道路塊樣本轉換為道路寬度描述符,利用不同寬度等級道路塊樣本轉換得到的寬度描述符訓練卷積神經網絡以得到道路寬度類別預測模型;
s2、提取待進行寬度估計的衛星圖像的道路中心線,沿道路中心線進行滑窗,以道路中心線上每個像素點為中心截取固定大小的道路塊并轉換為道路寬度描述符,利用s1所獲得的道路寬度類別預測模型對該步驟所獲得的道路寬度描述符進行預測,得到道路塊屬于每個寬度類別的概率;
s3、根據道路寬度的連續性及空間一致性定義道路寬度估計能量函數,對道路中心線上的每個像素點尋求一個最優的寬度類別使其對應的道路寬度估計能量函數取值最小,則各像素點所對應的最優的寬度類別的寬度范圍即以各像素點為中心的道路塊的寬度范圍;
其中,道路寬度估計能量函數記為
進一步地,步驟s1具體如下:
s11、將衛星圖像中的道路寬度分為若干個等級,針對每種道路寬度圖像等級,截取大量屬于其寬度范圍的道路塊樣本,所截取的道路塊樣本大小相同;
s12、將所截取的道路塊樣本轉換為道路寬度描述符;
s121、以截取的道路塊樣本的中心為圓心,構建a個同心圓,a個同心圓的半徑分別為道路塊內切圓半徑的1/a、2/a……7/a及1倍,將a個同心圓標記為cn(n=1,2……a);
s122、根據道路塊中的像素值分布,將道路塊中的像素值分為b個等長的像素值區間,記為im(m=1,2……b),令max和min分別為道路塊中最大像素值和最小像素值,則每個像素值區間的長度為(max-min)/b;統計每個圓范圍內落在各像素值區間里的像素個數,將第n個圓內屬于第m個區間范圍內的像素個數記為nn,m,并將每個圓范圍內落在各像素值區間內的像素個數歸一化到0-255范圍內;
s123、將第n個圓內的像素值分布作為描述符的第n行,獲得道路寬度描述符;
s13、將道路寬度描述符制作為訓練樣本,所述訓練樣本包括訓練集和驗證集,利用卷積神經網絡對訓練樣本進行學習,獲得道路寬度類別預測模型。
進一步地,步驟s2采用與步驟s12相同的方式將其截取的道路塊轉化為道路寬度描述符。
進一步地,步驟s1與s2中,還包括采用圖像放大算法將所獲得的道路寬度描述符放大若干倍的步驟。
進一步地,所述圖像放大算法為最近鄰插值算法。
進一步地,步驟s3中s(l)的計算具體為:
其中,np表示道路中心線上與像素p相鄰的若干個像素的集合;li和lq分別表示以像素p和q為中心的道路塊的寬度類別;||p-q||為像素p與像素q之間的距離;當li=lq時,符號函數sign(li,lq)取值為0,否則sign(li,lq)取值為1。
采用上述技術方案后,本發明能夠通過道路寬度描述對道路的寬度特征進行很好描述并對不同寬度等級的道路進行區分,在此基礎之上引入卷積神經網絡得到道路寬度類別預測模型,該模型可以給出道路塊屬于每種寬度類別的概率,最后結合空間一致性可以對道路的寬度進行合理的估計,為基于高分辨率衛星影像的道路寬度估計提供了一種新穎的解決方案。
附圖說明
圖1為本發明流程圖;
圖2為本發明的道路寬度描述符轉換結果示例圖,圖(a)-圖(c)為原道路塊,圖(d)-圖(f)分別為圖(a)-圖(c)轉換得到的道路寬度描述符;
圖3為本發明在不同圖像上進行道路寬度估計的效果圖,圖3(a),(c),(e)是pleiades-1a測試圖像、gaofen2測試圖像和航拍測試圖像的道路寬度估計結果的局部圖,其中局部放大圖為寬度估計錯誤區域,圖3(b),(d),(f)分別為對應的道路寬度類別真值圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
如圖1所示的是本發明的流程圖,主要包括以下三個步驟:
s1、截取不同寬度等級的道路塊樣本,將道路塊樣本轉換為道路寬度描述符,利用不同寬度等級道路塊樣本轉換得到的寬度描述符訓練卷積神經網絡以得到道路寬度類別預測模型。
具體為:
s11、將衛星圖像中的道路寬度分為若干個等級,針對每種道路寬度圖像等級,截取大量屬于其寬度范圍的道路塊樣本,所截取的道路塊樣本大小相同;
s12、將所截取的道路塊樣本轉換為道路寬度描述符;
s121、以截取的道路塊樣本的中心為圓心,建立一個a*a大小的二維直方圖來統計道路塊中像素的分布。具體為構建a個同心圓(本實施例中a=8),a個同心圓的半徑分別為道路塊內切圓半徑的1/a、2/a……7/a及1倍,將a個同心圓標記為cn(n=1,2……a);
s122、根據道路塊中的像素值分布,將道路塊中的像素值分為b個等長的像素值區間,記為im(m=1,2……b),令max和min分別為道路塊中最大像素值和最小像素值,則每個像素值區間的長度為(max-min)/b,本實施例中b=8;統計每個圓范圍內落在各像素值區間里的像素個數,將第n個圓內屬于第m個區間范圍內的像素個數記為nn,m,并將每個圓范圍內落在各像素值區間內的像素個數歸一化到0-255范圍內;
s123、將第n個圓內的像素值分布作為描述符的第n行(即將各個圓范圍內歸一化后的像素值分布作為描述符的一行,第一個圓內的像素值分布作為描述符的第一行,第二個圓內的像素值分布作為描述符的第二行,依此類推),獲得道路寬度描述符;
則道路寬度描述符中第n行、第m列的像素值為
其中,nn,m為圓cn內屬于區間im的像素個數,k為圓cn內的總像素個數。
s124、圖像放大算法將所獲得的道路寬度描述符放大若干倍。
為了便于利用卷積神經網絡對這些道路寬度描述符進行訓練,需要將這些道路寬度描述符從8×8放大為32×32,為了不改變道寬度描述符對道路塊寬度信息的描述,所使用的圖像放大算法為最近鄰插值算法。
圖2是道路寬度描述符轉換實例。其中圖(a)與圖(b)為相同寬度等級的道路塊,圖(c)為較窄的道路塊,圖(d)-圖(f)分別為圖(a)-圖(c)轉換得到的道路寬度描述符。從圖中可以看出,相同寬度等級的道路塊轉換得到的寬度描述符非常相似,而不同寬度等級的道路塊的寬度描述符之間具有明顯差異。
s13、將道路寬度描述符制作為訓練樣本,所述訓練樣本包括訓練集和驗證集,利用cifar-10卷積神經網絡對訓練樣本進行學習,獲得道路寬度類別預測模型。
s2、提取待進行寬度估計的衛星圖像的道路中心線,沿道路中心線進行滑窗,以道路中心線上每個像素點為中心截取固定大小的道路塊并轉換為道路寬度描述符,利用s1所獲得的道路寬度類別預測模型對該步驟所獲得的道路寬度描述符進行預測,得到道路塊屬于每個寬度類別的概率;
s3、根據道路寬度的連續性,結合空間一致性定義了一種道路寬度估計能量函數,通過最小化該能量函數可以實現對道路寬度的合理估計。
對于一個位于道路中心線c上的像素p,用l={l1…ln}表示以p像素為中心的道路塊的寬度類別集合,則寬度估計能量函數可以記為:
其中,d(p)為數據項,由概率圖p決定;s(l)為平滑項,由類別集合l決定。參數ε為平衡因子,該參數可以決定平滑項對整個寬度估計結果的影響程度,ε為經驗值,其取值范圍為[0.1,1]。
數據項中d(p)的定義如下所示:
d(p)=1-p(p,li)
其中,p(p,li)為以像素p為中心的道路塊屬于寬度類別li的概率,表示道路自身的寬度信息,該概率值由訓練好的卷積神經網絡模型給出。
平滑項s(li,lq)表示在對以像素p為中心的道路塊寬度進行估計時,來自相鄰道路塊寬度類別的影響,定義如下:
其中,np表示道路中心線上與像素p相鄰的像素集合,是一個一維的范圍,通常取為與像素p最近的12個像素。li和lq分別表示以像素p和q為中心的道路塊的寬度類別。||p-q||為像素p與像素q之間的距離。當li=lq時,符號函數sign(li,lq)取值為0,否則sign(li,lq)取值為1。
目標是,對于每一個位于道路中心線c上的像素p,找到一個最優的寬度類別lp使得能量函數取值最小,這是一個經典的馬爾科夫隨機場(mrf)問題,可以使用圖割(graphcuts)算法解決該問題,最后道路中心線上的每個像素都獲得一個道路寬度類別,表示以該像素為中心的道路塊的寬度類別,該寬度類別的寬度范圍即為道路塊的寬度范圍。
圖3是在不同圖像上進行寬度估計的效果圖,呈現了本發明應用于高分辨率衛星影像上的道路寬度估計效果。本發明在pleiades-1a、gaofen2的衛星圖像以及航拍圖像上進行了測試,這些測試圖像的分辨率均為0.5m,pleiades-1a測試圖像大小為3200×3200,gaofen2測試圖像和航拍測試圖像的大小均為6400×4800。其中圖3(a),(c),(e)是分別本發明對pleiades-1a測試圖像、gaofen2測試圖像和航拍測試圖像的道路寬度估計結果的局部圖,其中局部放大圖為寬度估計錯誤區域,圖3(b),(d),(f)分別為對應的道路寬度類別真值圖。根據測試圖像中所存在道路的寬度信息,將pleiades-1a測試圖像、gaofen2測試圖像和航拍測試圖像中的道路分別分為3個、4個和3個寬度類別,并用不同顏色來對不同寬度類別(a、b、c及d)進行標記,則三幅測試圖像中的寬度范圍如下表所示:
將算法估計結果與真值圖相比較可以發現,對于三種不同傳感器記錄的數據,算法都能夠正確的估計大部分道路的寬度。經統計,算法對pleiades-1a測試圖像、gaofen2測試圖像和航拍測試圖像的道路寬度估計準確率分別為85.2%、90.8%、92.1%。
以上,僅為本發明較佳的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。