周少君,佘海龍
(肅南裕固族自治縣水務局,甘肅 張掖 734400)
隨著遙感成像技術的不斷發展,其在水文、水利等研究領域中的運用越來越廣泛。依據遙感圖像可以對水旱災害進行檢測和評估,為水利工程的規劃建設與運行、水文資源調查及水質監測提供服務[1-2]。對水利設施、水體、河道等遙感圖像進行深入分析,有助于排除水利工程中存在的風險,保證設施的完好運行[3-4],河道輪廓的提取是其中的重要一環。然而面對大數據量的遙感圖像,單純依賴人工分析處理難以滿足要求。現階段需要借助一些智能化分析及處理手段實現對河道的提取。
對于遙感圖像的目標檢測智能化分析手段主要分為基于手工設計特征和基于深度學習兩類。前者通過提取候選區域,針對目標人工設計特征,在結合分類器進行分類確定目標類別[5]。這種針對特定目標的特征進行目標檢測能夠快速準確地識別特定目標,因此得到了廣泛的應用。后者隨著人工神經網絡技術的快速發展,能夠提取圖像的深層特征,具有更強的語義表達和判別性[6]。但是河道的遙感圖像具有尺寸大、形狀變化大、背景復雜等特點,這極大地增加了后者的開發和使用難度,因此本文主要采用前者實現對河道輪廓的提取。
目前針對遙感圖像中河道輪廓的檢測和提取算法主要分為兩類。一類是采用灰度或色彩特征的水體區域識別。該方法主要是基于先驗知識的指導,認為水體的光譜或電磁波反射相對于背景或其他的目標具有明顯差異。因此通過對灰度信息或光譜特征建模并尋找出和背景間的差異便能夠識別出相應的河道。但是在復雜背景的條件下,與水體反射率相近的物體將會被錯誤識別,缺乏普遍性。另一類是依賴河道本身的形態學特征,該方法根據同背景目標間輪廓及邊緣形狀的差異,識別出相應的河道。該方法可以擺脫水體反射率多變對目標提取的影響,適用范圍更加廣泛。但是河道輪廓形態的復雜性嚴重影響到該類特征提取的準確度,在復雜背景下河道提取效果較差[7]。將兩者相結合,利用各自優點成為解決河道輪廓準確提取的有效方式。
灰度閾值分割是最為常用的、實現簡單的閾值分割方法,能夠有效地將部分水體與其他地物分割。其中1979年由日本學者提出OSTU閾值分割法就是一種典型的閾值分割方式。由于其能夠自適應的尋找出合適的分割閾值對圖像進行分割,被廣泛使用[8]并不斷改進[9]。形態學方法是利用圖像的形狀或特征,以便進一步進行圖像分析和目標識別的方法。常規的形態學處理方法利用結構元對圖像進行膨脹、腐蝕、聯通等基本操作。形態學方法在遙感圖像識別[10]等方面具有廣泛應用。王鵬程等[11]基于河流的形態學特征,依據遙感圖像,對河流輪廓進行識別提取。朱賀等[7]結合閾值分割和河流條帶狀輪廓形態,較好的提取出了簡單河道的輪廓。但是在實際情況中,河流在彎折處、分叉處等并不是完美的條帶狀,形態更為復雜,條帶形假設并不一定成立。對于形狀更為復雜的河流輪廓提取,需要更改形態學處理的方式。另外,其處理的河道周圍的地物信息并不十分復雜,通過多級的閾值分割便可較好解決。但是在實際情況中,河流周邊可能為城市、農田、山區等,地物信息更為復雜,背景噪聲需要通過合理的手段進行抑制。
本文針對高分辨率圖像(圖像分辨率小于等于10 m)中的河道輪廓識別和提取過程中的建模和背景噪聲抑制難等問題,提出了基于Kirsch算子和多級閾值分割的算法。其總體框架見圖1。首先輸入河道遙感圖像,將其轉化為灰度圖像。利用Kirsch算子獲取圖像主要地物的邊緣輪廓,再使用OSTU閾值分割算法對圖像進行簡單的一次分割,從而對于復雜背景進行抑制。之后依據河道的主要形態學特征提出新的形態學判據對分割后的圖像進行處理,獲取圖像中的河流區域。最后對河流區域再次采用OSTU的閾值分割算法,獲取準確的河流輪廓,提取出河流區域。

圖1 河道輪廓識別和提取算法總框架
高分辨率遙感圖像中所包含的數據是相同面積的中、低分辨率圖像中所包含數據的百倍以上,原本較低分辨率圖像中的孤立點在高分辨率圖像中會變成目標。因而高分辨率圖像中將會包含更多更加豐富的地物信息、紋理及細節信息。但是同時也放大了在中、低分辨率遙感影響中比較弱、甚至可以忽略的干擾噪聲。在河道識別時,豐富的背景信息將會對河道的準確識別產生較大干擾。本文將結合Kirsch算子和閾值分割算法,去除復雜背景的影響。
Kirsch算子是R.Kirsch提出的一種邊緣檢測算法。對于包含復雜背景噪聲的河道遙感圖像,相較于其他傳統算子,Kirsch算子具有更好的適用性。Kirsch算子的原理為:采用8個模板對圖像上的每個像素點進行卷積求導。這8個模板代表8個方向,計算出8個方向的梯度幅值和方向,并以最大的卷積值作為該點的灰度值。圖2為8個梯度方向,式(1)為采用的Kirsch算子。

圖2 Kirsch算子的8個梯度方向
(1)
算例均以中國主要河流及其支流的遙感衛星圖像為例,原始圖像均為RGB三通道圖像。利用相關地圖軟件,全波段的遙感衛星地形圖可較為容易取得。長江某平原地區河流的原始圖像見圖3a。圖形大小為1 024×1 024,圖像分辨率為5 m。將其灰度化后得到灰度(圖3b)。采用Kirsch算子對圖像中所有像素點進行卷積求導后,得到的主要地物的邊緣圖像見圖3c。由圖可知采用Kirsch算子后,主要地物尤其式河流的邊緣形貌已經被提取出來,背景的復雜程度也得到了降低。

a)原始RGB三通道衛星遙感
采用Kirsch算子對原始灰度圖進行處理后,雖然背景一定程度得到了簡化,但是仍比較復雜。此時圖像為連續的灰度圖,可以采用閾值分割算法,將背景進一步簡化,并將其轉化為二值圖像。本文采用OSTU閾值分割算法,其基本原理是將灰度分布的圖像分為前景和背景兩部分,前景為分割出的部分。分割前景和背景的分隔值就是所求解分割閾值。算法基本原理如下。
設圖像灰度為L,灰度級為i的像素點為ni,則直方圖分布為式(2):
(2)
式中,N為總的像素點,pi為灰度級為i的像素點的直方分布。圖像總的灰度值的均值記為ut,見式(3):
(3)
按照灰度級用閾值t將總灰度L劃分為兩類C0(0,1,…,t)和C1(t+1,t+2,…,L-1)。則C0和C1部分像素占總像素的比例分別為w0和w1,見式(4)、(5):
(4)
w1=1-w0
(5)
圖像中C0和C1部分灰度值的均值分別記為u0和u1,見式(6)、(7):
(6)
(7)
依據OSTU法給出類間方差的定義,見式(8):
σB=w0(u0-ut)2+w1(u1-ut)2
(8)
通過運算選取出合適的閾值t,使得類間方差σB的數值最大。在OSTU閾值分割法中分割閾值t可以通過計算機本身的窮舉計算得到,對于不同的情況可以動態的自適應性選取閾值。此時按照閾值t,對圖3b進行閾值分割。圖4為一次閾值分割后的圖像,從圖中可以看出,圖中河流和其他地物的分界線更加清晰明確,背景也得到了進一步的簡化。

圖4 采用OSTU分割后的二值圖像
經過Kirsch算子提取地物邊緣和一次閾值分割后,原始的灰度圖背景噪聲得到了簡化。但是從圖4可以看出,一些零星的背景噪聲仍無法完好地去除。此時需要結合河流的基本形態特征對圖像進行一些基本的降噪處理。
觀察圖中的零星噪聲,可以發現不屬于河流的噪聲為一個個非連通的孤立區域。可以通過一定原則從圖中將這些小對象去除。去除原則為:當孤立區域的面積S小于設定的閾值Sc時,將其去除。參考的Sc取值見式(9):
Sc=k·l1·l2
(9)
式中,l1、l2為圖像的長度、寬度;k為面積系數,取值盡量小,本文推薦k=0.000 5。當k設置為0.000 5時,由于此值足夠小,河流在圖像中的面積必然大于這一數值,因此不會將河流區域誤刪除。由于Sc隨著圖像面積進行變化,可以保證在不同分辨率圖像中較小的噪聲被去除。故對于不同分辨率的圖像,這一閾值具有普適性。
圖5為刪除圖中小型非聯通區域后的圖像。從圖中可以看出此時河流的輪廓已經基本上清晰。但是遺憾的是,仍存在著一些較大的非聯通區域無法去除,如圖5中的紅色虛線所示。此時若增大k值雖然可以去除這些區域,但是可能去除一些細小的河流分支,使得識別出的河流輪廓不完整。

圖5 刪除小型非聯通區域
此時可以利用河流的形態特征:河流長度較長,且順水流方向的長度遠大于河流寬度。此時可以檢查余下的區域,對于每一個非聯通區域,當面積較小,且2個方向的長度d1和d2的比值較小,則可以將該區域去除。設定如下2個去除條件,2個條件同時滿足時,則將該區域去除。

(10)
式中,k2為面積系數,其值相對較大,本文推薦k2=0.01;n為河流長寬比的限定值,本文推薦n=4。當閾值k2設置為0.01時,這一數值也相對較小,一般情況下河流在圖像中的面積會大于這一數值。當然若是河流被截斷后面積較小,長寬比的限制條件將會發揮作用,保證部分河流不被誤刪除。因此該閾值對于不同情況也具有一定的普適性。在后文中2.3節的算例,也證明了這點。
圖6為刪除無河流特征的連通域后的圖像,從圖中可以看出一些較大的噪聲也已經基本上被刪除,僅留下河流附近區域的圖像。在此過程中河流的一些細小的部分也可能被誤刪除。圖6所示,圖中圓形虛線區域所指的區域原本是聯通的,卻在形態學處理時被誤刪除。

圖6 刪除無河流特征的較大型連通域
這種誤刪除的錯誤將會導致識別出的河流區域出現殘缺。此時可以利用基本的形態學處理方式將一些斷開的河流區域進行連接。具體方法為:首先對圖像進行膨脹操作,之后對距離相近的非聯通域進行連接,具體的實施過程可參考王康等[12]關于裂紋識別的處理。圖7為對圖像進行膨脹和連接操作之后的圖像,從圖中可以看出紅色虛線指示區域河流已連接。

圖7 膨脹和連接的形態學運算
對河流圖像進行基本形態學處理后,雖然河流周圍的噪聲已基本被清除,但是河流輪廓和形貌的提取依然存在問題。例如圖7中紅色矩形框是河流與田地的混雜的區域,但是卻完全被劃分為河流。因此仍需要進行二次閾值分割,以獲取更為準確的河流輪廓形貌。
圖7中的白色區域已基本上將河流包含在內,因此可以僅對圖7中的白色區域進行第二次閾值分割,不考慮圖7中的黑色區域。為此將原始的灰度圖中圖像映射至白色區域中,得到圖8,以作為二次閾值分割的原始圖形。

圖8 第二次閾值分割的區域
采用1.2節的OSTU中的閾值分割算法,對剩余圖像進行二次閾值分割,得到圖9a閾值分割結果。此時圖形會存在一些毛刺和細小的噪聲,采用腐蝕膨脹等形態學處理手段,得到相對光滑的河流輪廓和形貌,見圖9b。

a)原始灰度圖
若提取河道輪廓時,未去除背景噪聲的影響,直接采用閾值分割。受到復雜背景的影響,提取內容不僅包含河道,還包含一些背景中的地物,效果極差,見圖10。

圖10 直接閾值剖分的提取效果
為驗證本文方法對于不同情況下的適用性,更換不同地形區域的河道遙感圖像,查看提取效果。分別選取平原地區、山區和丘陵地區河流圖像各20張,總計60張,以驗證本文算法的適用性。圖11為不同地區典型的河道遙感圖像及提取效果,可以看出對于不同地形下的河流遙感圖像,河道輪廓均被準確的提取出來。

a) 平原復雜河道灰度
為更為客觀地評價河道提取的準確性,采用像素精度指標pixel accuracy (PA)和均像素精度指標mean pixel accuracy (MPA)評價該方法識別的準確性。其中像素精度含義為:對于每一類像素,正確分類的像素個數之和與該類所有像素的個數之和的比值。均像素精度含義為:每一類像素的精度平均值,即先求出每一類像素的PA,再取平均值。表1分別為演示算例和平原地區、山區和丘陵地區每類的PA值。從表1中可以看出在不同地形下,背景像素的識別精度達到了98%以上,河流像素的識別精度也均超過了90%。平均像素精度均超過了95%,誤差在5%以內。

表1 河道提取的像素精度值
當然對于遙感信息中河流信息提取精度的評價,還可以采用生產者精度(Producer’s accuracy)和使用者精度(User’s Accuracy)來表征。對于相同的算例,表2中列出了生產者精度和使用者精度。其中河流信息中的使用者精度與像素精度指標的定義相同,因此數值相同。從表2中可以看出河流像素識別的生產者精度和使用者精度相近,均超過90%。

表2 河流信息提取的生產者精度和使用者精度
2種評價指標的結果均表明:本文方法對于河道提取結果較好,識別精度較高,能夠滿足高精度河道提取的需要。
對于較大范圍的河流,本文給出的提取方案仍具有適用性。圖12a為2018年拍攝的穿過重慶主城區的長江和嘉陵江圖像,圖12b提取出的河道輪廓基本上與河流形貌吻合。當然由于河流上橋梁較多,而Kirsch算子提取的邊緣輪廓較粗,這將會導致提取出的河道輪廓存在斷點,見圖12b中的虛線。這需要在之后的研究中加以改善。

a)重慶主城區嘉陵江河道灰度
圖13a為1967年采用鎖眼衛星拍攝的相同地點處的遙感圖像,此時衛星圖像的分辨率低(分辨率大于10 m)。采用本文的算法得到的河道輪廓見圖13b,可以看出此時提取出的河道輪廓與實際情況相吻合。因此本文提出的算法對中等分辨率的圖像也具有適用性。

a)重慶主城區嘉陵江河道灰度
綜合2.3節中的算例,可以發現本文提出的輪廓提取算法對于不同地區,不同范圍以及不同分辨率的衛星遙感圖像,均具有較好的適用性,能夠較好地區分出河流與山丘、城市、農田等其余地物,從而準確地提取出河流的輪廓。由于多次閾值分割均采用OSTU法,而OSTU法閾值本身具有的動態自適應特性,一定程度上也增加了方法的普適性。
主要解決現階段遙感圖像分辨率提高,導致在復雜背景噪聲下河道輪廓難以準確識別和提取的問題。為此提出了一種基于Kirsch算子、多級閾值分割和形態學處理的河道提取方法。采用Kirsch算子對高清灰度圖進行預加工,提取出主要地物的輪廓,之后采用OSTU的閾值分割方法對預處理后的圖像進行預分割,去除了部分背景噪聲。再利用河流面積和長寬比等形態學特征,去除大部分的復雜背景噪聲。最后對圖像局部區域采用二次閾值分割,準確地提取出河道的信息。
該方法能夠去除遙感圖像中的復雜背景噪聲,在不同地形條件下實現對河道輪廓的準確識別和提取。通過生產者精度等客觀的評價指標,對方法的適用性和準確性進行了驗證。結果表明在不同地形條件下,河流區域識別的準確度均超過90%,圖像整體的識別精度超過95%。因此該方法能夠滿足高精度河道提取的需要,為智能化的提取河道信息提供了參考。
當然由于Kirsch算子提取的邊緣輪廓較粗,當河流上存在橋梁時,會導致提取的河道存在斷點,需要在之后的研究中對此加以改善。由于本文主要采用全波段的衛星遙感圖像,對于單波段或者多波段的遙感圖像未作深入的分析和研究。在下一階段的研究中,可以考慮不同波段的選擇對于提取效果的影響,以尋找更為合適的遙感波段,進一步提高河道提取的準確性。