周少君,佘海龍
(肅南裕固族自治縣水務(wù)局,甘肅 張掖 734400)
隨著遙感成像技術(shù)的不斷發(fā)展,其在水文、水利等研究領(lǐng)域中的運用越來越廣泛。依據(jù)遙感圖像可以對水旱災(zāi)害進行檢測和評估,為水利工程的規(guī)劃建設(shè)與運行、水文資源調(diào)查及水質(zhì)監(jiān)測提供服務(wù)[1-2]。對水利設(shè)施、水體、河道等遙感圖像進行深入分析,有助于排除水利工程中存在的風(fēng)險,保證設(shè)施的完好運行[3-4],河道輪廓的提取是其中的重要一環(huán)。然而面對大數(shù)據(jù)量的遙感圖像,單純依賴人工分析處理難以滿足要求。現(xiàn)階段需要借助一些智能化分析及處理手段實現(xiàn)對河道的提取。
對于遙感圖像的目標(biāo)檢測智能化分析手段主要分為基于手工設(shè)計特征和基于深度學(xué)習(xí)兩類。前者通過提取候選區(qū)域,針對目標(biāo)人工設(shè)計特征,在結(jié)合分類器進行分類確定目標(biāo)類別[5]。這種針對特定目標(biāo)的特征進行目標(biāo)檢測能夠快速準(zhǔn)確地識別特定目標(biāo),因此得到了廣泛的應(yīng)用。后者隨著人工神經(jīng)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,能夠提取圖像的深層特征,具有更強的語義表達和判別性[6]。但是河道的遙感圖像具有尺寸大、形狀變化大、背景復(fù)雜等特點,這極大地增加了后者的開發(fā)和使用難度,因此本文主要采用前者實現(xiàn)對河道輪廓的提取。
目前針對遙感圖像中河道輪廓的檢測和提取算法主要分為兩類。一類是采用灰度或色彩特征的水體區(qū)域識別。該方法主要是基于先驗知識的指導(dǎo),認為水體的光譜或電磁波反射相對于背景或其他的目標(biāo)具有明顯差異。因此通過對灰度信息或光譜特征建模并尋找出和背景間的差異便能夠識別出相應(yīng)的河道。但是在復(fù)雜背景的條件下,與水體反射率相近的物體將會被錯誤識別,缺乏普遍性。另一類是依賴河道本身的形態(tài)學(xué)特征,該方法根據(jù)同背景目標(biāo)間輪廓及邊緣形狀的差異,識別出相應(yīng)的河道。該方法可以擺脫水體反射率多變對目標(biāo)提取的影響,適用范圍更加廣泛。但是河道輪廓形態(tài)的復(fù)雜性嚴(yán)重影響到該類特征提取的準(zhǔn)確度,在復(fù)雜背景下河道提取效果較差[7]。將兩者相結(jié)合,利用各自優(yōu)點成為解決河道輪廓準(zhǔn)確提取的有效方式。
灰度閾值分割是最為常用的、實現(xiàn)簡單的閾值分割方法,能夠有效地將部分水體與其他地物分割。其中1979年由日本學(xué)者提出OSTU閾值分割法就是一種典型的閾值分割方式。由于其能夠自適應(yīng)的尋找出合適的分割閾值對圖像進行分割,被廣泛使用[8]并不斷改進[9]。形態(tài)學(xué)方法是利用圖像的形狀或特征,以便進一步進行圖像分析和目標(biāo)識別的方法。常規(guī)的形態(tài)學(xué)處理方法利用結(jié)構(gòu)元對圖像進行膨脹、腐蝕、聯(lián)通等基本操作。形態(tài)學(xué)方法在遙感圖像識別[10]等方面具有廣泛應(yīng)用。王鵬程等[11]基于河流的形態(tài)學(xué)特征,依據(jù)遙感圖像,對河流輪廓進行識別提取。朱賀等[7]結(jié)合閾值分割和河流條帶狀輪廓形態(tài),較好的提取出了簡單河道的輪廓。但是在實際情況中,河流在彎折處、分叉處等并不是完美的條帶狀,形態(tài)更為復(fù)雜,條帶形假設(shè)并不一定成立。對于形狀更為復(fù)雜的河流輪廓提取,需要更改形態(tài)學(xué)處理的方式。另外,其處理的河道周圍的地物信息并不十分復(fù)雜,通過多級的閾值分割便可較好解決。但是在實際情況中,河流周邊可能為城市、農(nóng)田、山區(qū)等,地物信息更為復(fù)雜,背景噪聲需要通過合理的手段進行抑制。
本文針對高分辨率圖像(圖像分辨率小于等于10 m)中的河道輪廓識別和提取過程中的建模和背景噪聲抑制難等問題,提出了基于Kirsch算子和多級閾值分割的算法。其總體框架見圖1。首先輸入河道遙感圖像,將其轉(zhuǎn)化為灰度圖像。利用Kirsch算子獲取圖像主要地物的邊緣輪廓,再使用OSTU閾值分割算法對圖像進行簡單的一次分割,從而對于復(fù)雜背景進行抑制。之后依據(jù)河道的主要形態(tài)學(xué)特征提出新的形態(tài)學(xué)判據(jù)對分割后的圖像進行處理,獲取圖像中的河流區(qū)域。最后對河流區(qū)域再次采用OSTU的閾值分割算法,獲取準(zhǔn)確的河流輪廓,提取出河流區(qū)域。
圖1 河道輪廓識別和提取算法總框架
高分辨率遙感圖像中所包含的數(shù)據(jù)是相同面積的中、低分辨率圖像中所包含數(shù)據(jù)的百倍以上,原本較低分辨率圖像中的孤立點在高分辨率圖像中會變成目標(biāo)。因而高分辨率圖像中將會包含更多更加豐富的地物信息、紋理及細節(jié)信息。但是同時也放大了在中、低分辨率遙感影響中比較弱、甚至可以忽略的干擾噪聲。在河道識別時,豐富的背景信息將會對河道的準(zhǔn)確識別產(chǎn)生較大干擾。本文將結(jié)合Kirsch算子和閾值分割算法,去除復(fù)雜背景的影響。
Kirsch算子是R.Kirsch提出的一種邊緣檢測算法。對于包含復(fù)雜背景噪聲的河道遙感圖像,相較于其他傳統(tǒng)算子,Kirsch算子具有更好的適用性。Kirsch算子的原理為:采用8個模板對圖像上的每個像素點進行卷積求導(dǎo)。這8個模板代表8個方向,計算出8個方向的梯度幅值和方向,并以最大的卷積值作為該點的灰度值。圖2為8個梯度方向,式(1)為采用的Kirsch算子。
圖2 Kirsch算子的8個梯度方向
(1)
算例均以中國主要河流及其支流的遙感衛(wèi)星圖像為例,原始圖像均為RGB三通道圖像。利用相關(guān)地圖軟件,全波段的遙感衛(wèi)星地形圖可較為容易取得。長江某平原地區(qū)河流的原始圖像見圖3a。圖形大小為1 024×1 024,圖像分辨率為5 m。將其灰度化后得到灰度(圖3b)。采用Kirsch算子對圖像中所有像素點進行卷積求導(dǎo)后,得到的主要地物的邊緣圖像見圖3c。由圖可知采用Kirsch算子后,主要地物尤其式河流的邊緣形貌已經(jīng)被提取出來,背景的復(fù)雜程度也得到了降低。
a)原始RGB三通道衛(wèi)星遙感
采用Kirsch算子對原始灰度圖進行處理后,雖然背景一定程度得到了簡化,但是仍比較復(fù)雜。此時圖像為連續(xù)的灰度圖,可以采用閾值分割算法,將背景進一步簡化,并將其轉(zhuǎn)化為二值圖像。本文采用OSTU閾值分割算法,其基本原理是將灰度分布的圖像分為前景和背景兩部分,前景為分割出的部分。分割前景和背景的分隔值就是所求解分割閾值。算法基本原理如下。
設(shè)圖像灰度為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)
依據(jù)OSTU法給出類間方差的定義,見式(8):
σB=w0(u0-ut)2+w1(u1-ut)2
(8)
通過運算選取出合適的閾值t,使得類間方差σB的數(shù)值最大。在OSTU閾值分割法中分割閾值t可以通過計算機本身的窮舉計算得到,對于不同的情況可以動態(tài)的自適應(yīng)性選取閾值。此時按照閾值t,對圖3b進行閾值分割。圖4為一次閾值分割后的圖像,從圖中可以看出,圖中河流和其他地物的分界線更加清晰明確,背景也得到了進一步的簡化。
圖4 采用OSTU分割后的二值圖像
經(jīng)過Kirsch算子提取地物邊緣和一次閾值分割后,原始的灰度圖背景噪聲得到了簡化。但是從圖4可以看出,一些零星的背景噪聲仍無法完好地去除。此時需要結(jié)合河流的基本形態(tài)特征對圖像進行一些基本的降噪處理。
觀察圖中的零星噪聲,可以發(fā)現(xiàn)不屬于河流的噪聲為一個個非連通的孤立區(qū)域??梢酝ㄟ^一定原則從圖中將這些小對象去除。去除原則為:當(dāng)孤立區(qū)域的面積S小于設(shè)定的閾值Sc時,將其去除。參考的Sc取值見式(9):
Sc=k·l1·l2
(9)
式中,l1、l2為圖像的長度、寬度;k為面積系數(shù),取值盡量小,本文推薦k=0.000 5。當(dāng)k設(shè)置為0.000 5時,由于此值足夠小,河流在圖像中的面積必然大于這一數(shù)值,因此不會將河流區(qū)域誤刪除。由于Sc隨著圖像面積進行變化,可以保證在不同分辨率圖像中較小的噪聲被去除。故對于不同分辨率的圖像,這一閾值具有普適性。
圖5為刪除圖中小型非聯(lián)通區(qū)域后的圖像。從圖中可以看出此時河流的輪廓已經(jīng)基本上清晰。但是遺憾的是,仍存在著一些較大的非聯(lián)通區(qū)域無法去除,如圖5中的紅色虛線所示。此時若增大k值雖然可以去除這些區(qū)域,但是可能去除一些細小的河流分支,使得識別出的河流輪廓不完整。
圖5 刪除小型非聯(lián)通區(qū)域
此時可以利用河流的形態(tài)特征:河流長度較長,且順?biāo)鞣较虻拈L度遠大于河流寬度。此時可以檢查余下的區(qū)域,對于每一個非聯(lián)通區(qū)域,當(dāng)面積較小,且2個方向的長度d1和d2的比值較小,則可以將該區(qū)域去除。設(shè)定如下2個去除條件,2個條件同時滿足時,則將該區(qū)域去除。
(10)
式中,k2為面積系數(shù),其值相對較大,本文推薦k2=0.01;n為河流長寬比的限定值,本文推薦n=4。當(dāng)閾值k2設(shè)置為0.01時,這一數(shù)值也相對較小,一般情況下河流在圖像中的面積會大于這一數(shù)值。當(dāng)然若是河流被截斷后面積較小,長寬比的限制條件將會發(fā)揮作用,保證部分河流不被誤刪除。因此該閾值對于不同情況也具有一定的普適性。在后文中2.3節(jié)的算例,也證明了這點。
圖6為刪除無河流特征的連通域后的圖像,從圖中可以看出一些較大的噪聲也已經(jīng)基本上被刪除,僅留下河流附近區(qū)域的圖像。在此過程中河流的一些細小的部分也可能被誤刪除。圖6所示,圖中圓形虛線區(qū)域所指的區(qū)域原本是聯(lián)通的,卻在形態(tài)學(xué)處理時被誤刪除。
圖6 刪除無河流特征的較大型連通域
這種誤刪除的錯誤將會導(dǎo)致識別出的河流區(qū)域出現(xiàn)殘缺。此時可以利用基本的形態(tài)學(xué)處理方式將一些斷開的河流區(qū)域進行連接。具體方法為:首先對圖像進行膨脹操作,之后對距離相近的非聯(lián)通域進行連接,具體的實施過程可參考王康等[12]關(guān)于裂紋識別的處理。圖7為對圖像進行膨脹和連接操作之后的圖像,從圖中可以看出紅色虛線指示區(qū)域河流已連接。
圖7 膨脹和連接的形態(tài)學(xué)運算
對河流圖像進行基本形態(tài)學(xué)處理后,雖然河流周圍的噪聲已基本被清除,但是河流輪廓和形貌的提取依然存在問題。例如圖7中紅色矩形框是河流與田地的混雜的區(qū)域,但是卻完全被劃分為河流。因此仍需要進行二次閾值分割,以獲取更為準(zhǔn)確的河流輪廓形貌。
圖7中的白色區(qū)域已基本上將河流包含在內(nèi),因此可以僅對圖7中的白色區(qū)域進行第二次閾值分割,不考慮圖7中的黑色區(qū)域。為此將原始的灰度圖中圖像映射至白色區(qū)域中,得到圖8,以作為二次閾值分割的原始圖形。
圖8 第二次閾值分割的區(qū)域
采用1.2節(jié)的OSTU中的閾值分割算法,對剩余圖像進行二次閾值分割,得到圖9a閾值分割結(jié)果。此時圖形會存在一些毛刺和細小的噪聲,采用腐蝕膨脹等形態(tài)學(xué)處理手段,得到相對光滑的河流輪廓和形貌,見圖9b。
a)原始灰度圖
若提取河道輪廓時,未去除背景噪聲的影響,直接采用閾值分割。受到復(fù)雜背景的影響,提取內(nèi)容不僅包含河道,還包含一些背景中的地物,效果極差,見圖10。
圖10 直接閾值剖分的提取效果
為驗證本文方法對于不同情況下的適用性,更換不同地形區(qū)域的河道遙感圖像,查看提取效果。分別選取平原地區(qū)、山區(qū)和丘陵地區(qū)河流圖像各20張,總計60張,以驗證本文算法的適用性。圖11為不同地區(qū)典型的河道遙感圖像及提取效果,可以看出對于不同地形下的河流遙感圖像,河道輪廓均被準(zhǔn)確的提取出來。
a) 平原復(fù)雜河道灰度
為更為客觀地評價河道提取的準(zhǔn)確性,采用像素精度指標(biāo)pixel accuracy (PA)和均像素精度指標(biāo)mean pixel accuracy (MPA)評價該方法識別的準(zhǔn)確性。其中像素精度含義為:對于每一類像素,正確分類的像素個數(shù)之和與該類所有像素的個數(shù)之和的比值。均像素精度含義為:每一類像素的精度平均值,即先求出每一類像素的PA,再取平均值。表1分別為演示算例和平原地區(qū)、山區(qū)和丘陵地區(qū)每類的PA值。從表1中可以看出在不同地形下,背景像素的識別精度達到了98%以上,河流像素的識別精度也均超過了90%。平均像素精度均超過了95%,誤差在5%以內(nèi)。
表1 河道提取的像素精度值
當(dāng)然對于遙感信息中河流信息提取精度的評價,還可以采用生產(chǎn)者精度(Producer’s accuracy)和使用者精度(User’s Accuracy)來表征。對于相同的算例,表2中列出了生產(chǎn)者精度和使用者精度。其中河流信息中的使用者精度與像素精度指標(biāo)的定義相同,因此數(shù)值相同。從表2中可以看出河流像素識別的生產(chǎn)者精度和使用者精度相近,均超過90%。
表2 河流信息提取的生產(chǎn)者精度和使用者精度
2種評價指標(biāo)的結(jié)果均表明:本文方法對于河道提取結(jié)果較好,識別精度較高,能夠滿足高精度河道提取的需要。
對于較大范圍的河流,本文給出的提取方案仍具有適用性。圖12a為2018年拍攝的穿過重慶主城區(qū)的長江和嘉陵江圖像,圖12b提取出的河道輪廓基本上與河流形貌吻合。當(dāng)然由于河流上橋梁較多,而Kirsch算子提取的邊緣輪廓較粗,這將會導(dǎo)致提取出的河道輪廓存在斷點,見圖12b中的虛線。這需要在之后的研究中加以改善。
a)重慶主城區(qū)嘉陵江河道灰度
圖13a為1967年采用鎖眼衛(wèi)星拍攝的相同地點處的遙感圖像,此時衛(wèi)星圖像的分辨率低(分辨率大于10 m)。采用本文的算法得到的河道輪廓見圖13b,可以看出此時提取出的河道輪廓與實際情況相吻合。因此本文提出的算法對中等分辨率的圖像也具有適用性。
a)重慶主城區(qū)嘉陵江河道灰度
綜合2.3節(jié)中的算例,可以發(fā)現(xiàn)本文提出的輪廓提取算法對于不同地區(qū),不同范圍以及不同分辨率的衛(wèi)星遙感圖像,均具有較好的適用性,能夠較好地區(qū)分出河流與山丘、城市、農(nóng)田等其余地物,從而準(zhǔn)確地提取出河流的輪廓。由于多次閾值分割均采用OSTU法,而OSTU法閾值本身具有的動態(tài)自適應(yīng)特性,一定程度上也增加了方法的普適性。
主要解決現(xiàn)階段遙感圖像分辨率提高,導(dǎo)致在復(fù)雜背景噪聲下河道輪廓難以準(zhǔn)確識別和提取的問題。為此提出了一種基于Kirsch算子、多級閾值分割和形態(tài)學(xué)處理的河道提取方法。采用Kirsch算子對高清灰度圖進行預(yù)加工,提取出主要地物的輪廓,之后采用OSTU的閾值分割方法對預(yù)處理后的圖像進行預(yù)分割,去除了部分背景噪聲。再利用河流面積和長寬比等形態(tài)學(xué)特征,去除大部分的復(fù)雜背景噪聲。最后對圖像局部區(qū)域采用二次閾值分割,準(zhǔn)確地提取出河道的信息。
該方法能夠去除遙感圖像中的復(fù)雜背景噪聲,在不同地形條件下實現(xiàn)對河道輪廓的準(zhǔn)確識別和提取。通過生產(chǎn)者精度等客觀的評價指標(biāo),對方法的適用性和準(zhǔn)確性進行了驗證。結(jié)果表明在不同地形條件下,河流區(qū)域識別的準(zhǔn)確度均超過90%,圖像整體的識別精度超過95%。因此該方法能夠滿足高精度河道提取的需要,為智能化的提取河道信息提供了參考。
當(dāng)然由于Kirsch算子提取的邊緣輪廓較粗,當(dāng)河流上存在橋梁時,會導(dǎo)致提取的河道存在斷點,需要在之后的研究中對此加以改善。由于本文主要采用全波段的衛(wèi)星遙感圖像,對于單波段或者多波段的遙感圖像未作深入的分析和研究。在下一階段的研究中,可以考慮不同波段的選擇對于提取效果的影響,以尋找更為合適的遙感波段,進一步提高河道提取的準(zhǔn)確性。