王春林 孫金彥 錢海明
(安徽省·水利部淮河水利委員會水利科學(xué)研究院 合肥 230088)
在衛(wèi)星遙感影像上,大多數(shù)物體都是由線性組成,同樣在水利遙感影像中,河流、堤岸和水工建筑等多為線性結(jié)構(gòu),因此線性結(jié)構(gòu)提取成為水利遙感解譯不可缺少的一環(huán)。Hough變換作為一種經(jīng)典的線性提取方法在圖像處理和模式識別等領(lǐng)域得到了廣泛的應(yīng)用。由于其計算耗時和內(nèi)存占用較大,提出改進(jìn)隨機(jī)Hough變換方法,但是在獲取局部信息時易受噪聲和斷裂的影響,導(dǎo)致復(fù)雜場景中的線性提取效果不理想。
針對隨機(jī)Hough變換在處理局部信息時易受噪聲和斷裂的影響,導(dǎo)致復(fù)雜場景中的線性提取效果不理想等問題,本文擬提出一種基于Radon變換的隨機(jī)Hough變換線性檢測算法:首先采用Radon變換獲取穩(wěn)健的局部信息,然后運(yùn)用隨機(jī)霍夫變換處理已經(jīng)提取的局部線性,保證隨機(jī)Hough變換能夠高效準(zhǔn)確地提取出各類遙感影像中的線性。結(jié)果證明此方法降低隨機(jī)霍夫變換在處理局部信息時所受到噪音及斷裂的影響。
為了便于使用Radon變換檢測局部線性特征,需要對圖像分為11×11,17×17等奇數(shù)×奇數(shù)個子塊。實驗中將圖像分成多個11×11的子塊。
根據(jù)線性特點(diǎn),即線性方向的投影值最大,采用Radon變換來檢測局部線性。沿著線性方向?qū)D像進(jìn)行Radon變換所得峰值最大,同時峰值持續(xù)寬度最窄,其他方向形成峰值偏小,且峰值持續(xù)寬度較大。應(yīng)用Radon變換檢測局部線性邊緣時,子圖中的邊緣本身就不是嚴(yán)格的線性,通過峰值可以發(fā)現(xiàn)線段的存在,但是不能查找得到其上的所有點(diǎn),且圖像分塊也會導(dǎo)致部分邊緣點(diǎn)未被查找,為了提取出局部邊緣線段上的所有點(diǎn),需要對每條Radon變換得到的線段進(jìn)行在全局范圍延伸。如圖1所示,Radon所提取的邊緣不完全,其周圍還存在其他邊緣點(diǎn),通過對邊緣進(jìn)行延伸,可以得到比較好的邊緣。
隨機(jī)霍夫變換是由Xu Lei等突出的一種改進(jìn)的霍夫變換方法。隨機(jī)霍夫變換采用多對一的映射,避免了傳統(tǒng)Hough變換一到多映射的龐大計算量;采用動態(tài)鏈表結(jié)構(gòu),只對多到一映射所得到的參數(shù)分配單元進(jìn)行累積,從而降低了內(nèi)存需求,同時使得RHT具有參數(shù)空間無限大、參數(shù)精度任意高等優(yōu)點(diǎn)。當(dāng)用RHT處理簡單圖像時,它表現(xiàn)出相當(dāng)優(yōu)異的性能但在處理復(fù)雜圖像時,由于隨機(jī)采樣會引入大量的無效采樣和累積,使算法的性能下降,且易受周圍噪聲和斷裂的影響。
參數(shù)公式:
計算公式:
RHT檢測線性具體步驟如下:
(1)讀取圖像。掃描邊緣圖像,獲得邊緣點(diǎn)集R,R中的像素數(shù)目為number;
圖1 線性短延伸圖
(2)定義參數(shù)空間P為空,并對累加器置零,迭代步驟數(shù)K=0;
(3)從 R 中隨機(jī)選取兩點(diǎn)(X1,Y1)和(X2,Y2)將其代入公式(1)中,聯(lián)力解得參數(shù)空間中一點(diǎn)Pj(ρj,θj);
(4)在參數(shù)空間 P 中,如果存在 Pc:|Pc—Pi|<ε(ε 為一個給定的很小的閾值),則對應(yīng)的累加器計數(shù)加1,并根據(jù)公式(2)重新計算(ρi,θi);如果不存在,把Pi插入到參數(shù)空間P中,K=K+1;
(5)當(dāng)K>KMAX,即達(dá)到指定最大閾值時結(jié)束,否則繼續(xù)下一步;
(6)輸出對應(yīng)的線性參數(shù)(ρi,θi),將R中對于線性上的點(diǎn)抹掉。初始化參數(shù)空間,轉(zhuǎn)到步驟(2),再次開始。
針對RHT對局部信息獲取局部信息時易受噪聲和斷裂的影響,引入Radon變換。本文主要思想將隨機(jī)Hough變換中點(diǎn)獲取線性投票,改為直接用局部線性投票。這樣可以減少局部噪聲,局部斷裂的影響,同時避免了Hough變換丟失線性的端點(diǎn)及長度信息。本文首先對圖像采用Canny算子對圖像提取邊緣,然后對圖像進(jìn)行分塊(注意分成的子塊最好為9×9,11×11,13×13等子塊行列值最好為奇數(shù)),對于每一個子塊使用Radon變換,通過Radon峰值獲得可能線性所在的位置T,對(T-1,T+1)區(qū)域內(nèi)所有點(diǎn)采用最小二乘擬合出線性的斜率與截距(注意點(diǎn)數(shù)必須達(dá)到閾值,才可以擬合線性)。最后在采用隨機(jī)Hough變換的原理在全局范圍內(nèi)對獲得的線性特征進(jìn)行處理,從而獲得比較準(zhǔn)確的線性特征。
圖2 實驗1流程結(jié)果圖
本文中改進(jìn)的RHT線性檢測算法具體步驟如下:
(1)先將圖像進(jìn)行分割成11×11的小方塊區(qū)域,而后針對每一個子塊進(jìn)行處理;
(2)對每個子塊采用Radon變換向四個方向進(jìn)行投影,對投影結(jié)果卷積(卷積算子[111],[0.510.5]),尋找其峰值;
(3)針對峰值所對應(yīng)的線性,尋找峰值區(qū)域內(nèi)可能位于線性上的點(diǎn),對獲得點(diǎn)采用最小二乘擬合,從而獲取線性的斜率及截距(a,b),將投影方向,線性的斜率、截距,線性的起始點(diǎn)、終止點(diǎn)存儲到數(shù)組中;
(4)對所有區(qū)域計算結(jié)束后,再采用隨機(jī)Hough變換的方法對獲得的線性信息進(jìn)行處理。首先對獲得的局部線性作線性延伸,然后對所有線性按照投影方向進(jìn)行投票,投票過程中,將斜率,截距都相近線性合并,斜率、截距計算公式:
ki=(ki×(n-1)+kj/n,di=(di×(n-1)+dj)/n(3)
圖2所示,實驗中(b)邊緣點(diǎn)非常密集,直接采用經(jīng)典的Hough變換計算量大且效果很不理想。(c)是采用Radon變換提取的邊緣線并延伸,與(b)相比,減少了大量的噪聲點(diǎn)及不重要的短邊緣。(d)是Hough變換提取的邊緣且去除毛刺等的最終結(jié)果。線性邊緣長度至少為30,端點(diǎn)間隔最大不超過3,分類時線性間距離最大為1。(e)是令邊緣點(diǎn)像素值為0疊加原圖的結(jié)果。
從實驗中可看出,對比標(biāo)準(zhǔn)霍夫變換提取結(jié)果,新方法在提取邊緣點(diǎn)較為密集的遙感影像邊緣線時具有很好的效果。
該方法主要針對復(fù)雜場景中隨機(jī)Hough變換在處理局部信息時易受噪聲和斷裂的影響導(dǎo)致局部信息丟失的情況,引入Radon變換可以很好地降低噪聲、斷裂的影響,維護(hù)局部信息的完整性,保證隨機(jī)Hough變換高效準(zhǔn)確地提取出各類遙感影像中的線性。同時,避免了霍夫變換在處理圖像時丟失線性起止點(diǎn)信息的情況發(fā)生,且算法并沒有降低計算速度,增加內(nèi)存消耗??捎糜谔崛【€性彎曲度不強(qiáng)的線性信息,對于遙感影像中線性特征提取,具有一定的參考價值