張國英,程益鈺,朱 紅
(中國礦業(yè)大學 (北京)計算機系,北京100083)
在遙感影像處理中,線性目標的檢測和提取具有重要的地位。在一幅遙感影像中,道路、機場跑道等都是重要的線性地物,因此線性目標提取具有重要的意義。針對如何提取線性目標的問題,現(xiàn)在已經有很多研究,但都有一定的不足。線性目標檢測具有代表性的方法主要是聚類方法,代表方法有:朱昌盛等人運用Hough變換,提出基于平行線對的線性目標檢測[1]。這類方法具有較強的魯棒性,在檢測直線時,受噪聲和曲線間斷的影響特別小,其缺點是由于是全搜索,計算量和存儲量都很大,不利于實時處理。另外,潘建平等提出的基于數(shù)學形態(tài)學的線性目標檢測方法[2],許華榮等人的基于最小二乘B樣條曲線的線性目標檢測[3],王義敏等的基于區(qū)域生長的線性目標檢測[4]和Yoshihiko的基于神經網(wǎng)絡的線性目標檢測[5]。其優(yōu)點是計算不復雜,處理速度快,缺點在于跟蹤邊緣時不能處理有間斷的直線,邊緣檢測算法一定程度上制約這類算法的性能。
Hough變換[5-7]是一種用來在衛(wèi)星影像中提取線性目標邊緣特征的簡便而有效的方法。其原理是把在圖像空間中的直線檢測轉換到參數(shù)空間里對點的檢測,通過在參數(shù)空間里進行累加統(tǒng)計完成檢測任務。檢測直線時,對參數(shù)空間的二維數(shù)組累加統(tǒng)計,得到最大值所對應的第一條直線,然后依次尋找次最大值對應的其他直線,但在這個過程中容易重復檢測直線。另外,傳統(tǒng)Hough變換算法的處理對象是整幅圖像數(shù)據(jù),導致計算量和存儲量都很大,不利于實時處理。Freeman編碼[9,10]是一種描述邊界的方法,用邊界方向作為編碼依據(jù),一般描述的是邊界點集,只需保存起點和邊界鏈碼,即可描述目標的形態(tài)。因此,用Freeman編碼描述每個區(qū)域目標,大大簡化了目標區(qū)域,可以節(jié)省大量內存空間,并且同時保留了目標的幾何形態(tài),在衛(wèi)星影像中得到大量的使用。根據(jù)以上分析,本文以提取平行對線對為原型,分析了Hough變換和Freeman鏈碼提取直線的優(yōu)缺點,提出了基于Freeman編碼的改進Hough變換檢測線性目標算法。
改進后的Hough變換算法,其處理對象由整幅影像的數(shù)據(jù)改為圖像分割后各區(qū)域的邊界鏈碼數(shù)據(jù)。在尋找圖像中直線的時候,刪除已找到的直線鏈碼數(shù)據(jù),繼續(xù)尋找后續(xù)其他直線,從而避免了重復的直線檢測。在檢測平行線對之前,對圖像進行分割,然后對分割得到的各個區(qū)域使用Hough變換,這樣就能找出整個影像中所有平行線段,從而完成對所有線性目標的檢測。最后,為了驗證檢測出來的準道路是否為實際道路,設計了平行線對模型算法,來提高提取的正確率。
Freeman編碼是圖像處理中最基本的目標描述手段。用不同斜率的8個方向基元來描述輪廓邊界,得到的編碼即為Freeman編碼。對任一閉合區(qū)域,從某個起點開始,將邊界的走向按Freeman編碼的方式記錄下來,就形成連續(xù)的方向序列即為邊界編碼。數(shù)字化二值輪廓曲線用八方向Freeman鏈碼表示,可以形成n條鏈,每條鏈指向8個方向中的一個,即ai∈{0,1,2,…,7}。如圖1所示,其中i為像素索引值,ai表示由像素 (i)指向像素 (i+1)的鏈碼方向,最終n條鏈的曲線鏈碼表示為
式中:S——邊界的起點像素,n——邊界點的個數(shù)。當邊界閉合時,會回到起點,S可省略。
圖1 Freeman 鏈碼的方向取值
如圖2所示的圖像輪廓邊界,使用Freeman編碼表示則為:077666654533212122。
Freeman鏈碼檢測直線應滿足3 個條件,請參見文獻[8]。Freeman檢測直線的一般過程是:對圖像進行去噪、二值化處理后,使用上述的3個約束條件遍歷直線,來完成對直線的初步識別,后續(xù)通過直線段的合并操作能較好地檢測出直線段,不過該算法對噪音較敏感。
圖2 閉合邊界的Freeman編碼
本文算法以平行線特征為依據(jù),檢測衛(wèi)星影像中線性目標主要按以下幾個步驟進行。首先對采集到的遙感影像進行平滑濾波預處理消除椒鹽噪聲,然后通過以灰度一致性為原則,像素生長法為手段對圖像進行分割,分割后得到的各個區(qū)域會具有各自的形態(tài)幾何特征和顏色信息。接下來使用Freeman鏈碼提取區(qū)域邊界來描述分割后的各個局部目標,計算各目標的面積、周長、外接矩形的長和寬及長寬比、復雜度等幾何特征,去除面積較小、長寬比小,復雜度偏小的區(qū)域目標。最后,對剩下的區(qū)域的邊界鏈碼進行Hough變換得到構成線性目標平行邊的直線。對檢測出來的準平行邊,使用平行邊的數(shù)學模型進行鑒別,以確定其是否確實為平行邊。最后,根據(jù)得到的平行邊來確定線性目標的位置。整個算法過程如圖3所示。
圖3 算法流程
本文采用式 (2)所示的雙邊濾波器對圖像進行濾波。雙邊濾波是一種非線性的濾波方法,是結合圖像的空間鄰近度和像素值相似度的一種折衷處理,同時考慮空域信息和灰度相似性,達到保邊去噪的目的,具有簡單、非迭代、局部的保留邊緣特點,參見文獻 [11]。
雙邊濾波器中,輸出像素的值g(i,j)依賴于鄰域像素的值的加權組合
式中:z——中心點(k,l)的大小為 (2N+1)× (2N+1)的鄰域,權重系數(shù)w(i,j,k,l)取決于空間鄰近度因子
和亮度相似度因子
的乘積,即
雙邊濾波器受鄰域半徑N、參數(shù)σs和σr等參數(shù)控制。N 值越大,平滑作用越明顯;σs和σr分別為控制著空間鄰近度因子ws和亮度相似度因子wr的衰減程度的參數(shù)。
本文采用基于生長的分割方法,具體步驟如下:初始點集合A 為一個像素點,灰度平均值Avg 為當前集合A 中所有像素點灰度值的平均值;點集合A 中像素點周圍鄰域的像素點作為候選點,如果候選點的灰度值和Avg 之差小于初始設定的閾值,則將該點加入點集合A 中,并更新Avg 的值。重復該步驟,直到沒有新的點加入,此時集合A 即為具有灰度一致性的區(qū)域。然后用Freeman鏈碼描述這個區(qū)域。
結合道路特征,可根據(jù)幾何形狀篩分出道路段目標。本文通過計算周長C、面積S、長寬比R、復雜度E 等幾何特征進行小目標的去除[12]。面積S 很小的區(qū)域可直接判定為干擾物體。長寬比
式中:L——目標區(qū)域的長;W——目標區(qū)域的寬;長寬比R 較小的區(qū)域明顯也是干擾區(qū)域。
定義了復雜度
式中:C——目標區(qū)域的周長;S——面積;復雜度E 反應了平面內物體形狀的復雜程度。復雜度E 過小的區(qū)域也為干擾區(qū)域。根據(jù)這些幾何特征去除圖像中的小目標。
平行線模型包括長度特征和平行特征。①長度特征,對于一條曲線來說,不能簡單地采用端點之間的距離來表示其長度,應該為其所包含像素的個數(shù)。構成線性目標的邊緣曲線具有一定長度,定義線性目標的長度特征為
式中:C(L)為曲線L 所包含像素的個數(shù),Tlength為線性目標邊緣的最短長度閾值。②平行特征,一般地,平行線的判斷依據(jù)是斜率,由于使用斜率時誤差較大,在本文中使用的是一種平行線對模型。對于兩條光滑的線L 與S,如果他們間的任一點在任意方向上到達L 與S的距離之和為定值。如果兩條直線L 與S同時滿足上述兩個條件,則認為它們構成一組平行線對,用L//S表示。如圖4所示。
圖4 平行線對模型
圖4中,L和S為一對直線,現(xiàn)任意取這對直線內部兩個點A0和B0,|A1A2|和|B1B2|分別是A0和B0在取定的某個方向上 (圖4中的虛線方向)到直線L 與S的距離之和。若|A1A2|=|B1B2|=常數(shù),對于所有的內部點均成立,則可判定這兩條線為一組平行線對。
在統(tǒng)計參數(shù)域中的每一對 θ,( )ρ 時,記錄參與統(tǒng)計這對 θ,( )ρ 的所有點的x 坐標,再根據(jù)得到的ρ 和θ,按求出的式 (9)將平行線上的像素點 (x,y)用不同的顏色標示出來,從而可以標繪出線性目標的位置
圖5 實驗結果對比
實驗的硬件平臺:CPU 為Intel Core(TM),主頻2.8 GHz,內存4GB。在相同的實驗平臺下,運行耗時越少表示算法效率越高。實驗結果對比如下:①傳統(tǒng)Hough變換在提取平行線對的第二條直線時出現(xiàn)了重復檢測第一條直線的情況,而改進后的算法不會出現(xiàn)重復檢測的情況并且可以準確檢測出線性目標的兩條平行邊。②在檢測平行線對的數(shù)量上,當圖像中有多個線性目標時,本文檢測算法能檢測出所有線性目標的平行線對,而傳統(tǒng)Hough變換法只能檢測出最規(guī)則的那對平行線。③在檢測性能上,從表1可以看出,平行線對檢測算法優(yōu)于傳統(tǒng)算法,識別精度有了很大提高。在運算耗時上,由于改進算法只需對邊界鏈碼數(shù)據(jù)進行運算,大大降低了Hough 變換過程中的復雜度,使得本文檢測算法耗時更少。
表1 測試結果
實驗系統(tǒng)采用Visual studio2010平臺開發(fā),實驗中使用的遙感影像大小為580*508,圖中的道路、隔離帶和車輛都可以很容易被人眼識別出來。使用本文算法識別道路的過程,如圖6所示。其中圖6 (a)為原始衛(wèi)星影像,圖6(b)是進行中值濾波和圖像分割后得到的結果,圖6 (c)是使用基于區(qū)域生長的灰度一致化方法去除小目標得到的灰度圖像,圖6 (d)為對圖6 (c)中的灰度圖像進行二值化后得到的結果,圖6 (e)為對二值圖像使用形態(tài)學方法進行膨脹、腐蝕和填充后的結果,圖6 (f)為Hough變換提取出平行線對后標繪出線性目標的位置。實驗中,由于原始圖像中有樹陰遮擋、車輛等因素的干擾,導致分割后的圖像有很多孔洞,所以使用形態(tài)學方法對其進行填充后才進行后續(xù)平行線對的提取。從結果看,對于線條狀的線性道路目標能被有效地提取出來,但對呈弧線型的彎曲支路,沒有提取出來,對提取這類彎曲的支路部分還需進一步研究處理。
圖6 實驗處理過程
在總結現(xiàn)有線性目標檢測算法的基礎上,本文根據(jù)遙感影像中線性道路具有寬度一定、灰度一致、道路有一定的長度等特征提出了一種結合Freeman鏈碼和Hough變換的道路檢測算法。通過實驗分析,改進后的算法,效率高、計算結果更精準、允許少數(shù)點的擾動、內存使用上更靈活、適用性強。但是,在檢測路面噪聲信息較多、局部灰度變化較大的影像中道路時,其性能會受到明顯影響。另外,該算法僅適合檢測直線形道路,在道路寬度忽然改變的情況效果也不是很好,這些都有待改進。
[1]ZHU Changsheng,ZHOU Wei,GUAN Jian.Main roads ex-traction from SAR imagery based on parallel pairs detection[J].Journal of Image and Graphics,2011,16 (10):1908-1917 (in Chinese).[朱昌盛,周偉,關鍵.基于平行線對檢測的SAR 圖像主干道提取算法 [J].中國圖象圖形學報,2011,16 (10):1908-1917.]
[2]PAN Jianping,WU Mingquan.Road detection based on morphology [J].Computer Engineering and Applications,2008,44(11):232-233 (in Chinese).[潘建平,鄔明權.基于數(shù)學形態(tài)學的道路提取 [J].計算機工程與應用,2008,44 (11):232-233.]
[3]XU Huarong,WANG Xiaodong,F(xiàn)ANG Qiu.Structure road detection algorithm based on B-spline curve model[J].Acta Automatica Sinica,2011,37 (3):270-275 (in Chinese).[許華榮,王曉棟,方遒.基于B樣條曲線模型的結構化道路檢測算法 [J].自動化學報,2011,37 (3):270-275.]
[4]WANG Yiming,Qin Yongyuan.Target detection in SAR images based on region growing [J].Journal of Computer Applications,2009,29 (1):45-46 (in Chinese).[王義敏,秦永元.基于區(qū)域生長的SAR 圖像目標檢測方法研究 [J].計算機應用,2009,29 (1):45-46.]
[5]WANG Ping,DONG Yude,LUO Zheshuai.Freeman encodingbased line-segments recognition [J].Computer Engineering,2005,31 (10):171-173 (in Chinese).[王平,董玉德,羅喆帥.基于Freeman 鏈碼的直線識別方法 [J].計算機工程,2005,31 (10):171-173.]
[6]Yoshihiko Mochizuki,Akihiko Torii,Atsushi Imiya.N-Point hough transform for line detection [J].J Vis Commun Image R,2009,20 (4):242-253.
[7]KANG Wenjing,DING Xuemei,CUI Jiwen.Fast straight-line extraction algorithm based on improved hough transform [J].Opto-Electronic Engineering,2007,34 (3):105-108.
[8]Mokhtarzdae M,Valadan Zoej M J.Road detection from high resolution satellite images using artificial neural networks[J].International Journal of Applied Earth Observation and Geoinformation,2007,9 (1):32-40.
[9]Vaddi R S,Boggavarapu L N P,Vankayalapati H D.Contour detection using Freeman chain code and approximation methods for the real-time object detection [J].Asian Journal of Computer Science and Information Technology,2011,1 (1):15-17.
[10]LU Guangquan,XU Hongguo,LI Yibing.Line segment detection based on chain code detection [J].Computer Engineering,2006,32 (14):1-3 (in Chinese).[魯光泉,許洪國,李一兵.基于鏈碼檢測的直線段檢測方法 [J].計算機工程,2006,32 (14):1-3.]
[11]ZHANG Zhiqiang,WANG Wanyu.A modified bilateral filtering algorithm [J].Journal of Image and Graphics,2009,14 (3):443-447(in Chinese).[張志強,王萬玉.一種改進的雙邊濾波算法[J].中國圖象圖形學報,2009,14 (3):443-447.]
[12]LEI Xiaoqi,WANG Weixing,LAI Jun.A method of road extraction from high-resolution remote sensing images based on shape features[J].Acta Geodaetica et Cartographica Sinica,2009,38 (5):457-465 (in Chinese).[雷小奇,王 衛(wèi)星,賴均.一種基于形狀特征進行高分辨率遙感影像道路提取方法[J].測繪學報,2009,38 (5):457-465.]