徐辛超,李涵坤
(遼寧工程技術(shù)大學(xué) 測繪與地理科學(xué)學(xué)院,遼寧 阜新 123000)
隨著計算機(jī)視覺及遙感技術(shù)的發(fā)展,圖像的特征提取在圖像識別、遙感圖像分析以及數(shù)字圖像處理中發(fā)揮著重要作用[1]。圖像的直線特征提取在城市三維建模技術(shù)中至關(guān)重要,對于人工地物,直線可以最直觀、最穩(wěn)定地反映出物體的特征。直線的特征提取在三維目標(biāo)的識別、物體跟蹤等領(lǐng)域中得到廣泛應(yīng)用,通過直線特征能夠反映出目標(biāo)物體的高層信息[2]。
國內(nèi)外研究學(xué)者已經(jīng)對直線檢測算法開展研究。1962年,Paul Hough[3]首次提出經(jīng)典的Hough變換直線提取理論。2012年,Rafael等人[4]提出經(jīng)典LSD直線提取算法,與Hough變換方法相比,可以在較短的時間內(nèi)得到亞像素級精度的直線提取結(jié)果。彭博[5]等人分別用經(jīng)典LSD直線提取方法與Hough變換直線提取方法對高分一號遙感影像進(jìn)行仿真實(shí)驗,結(jié)果表明經(jīng)典LSD直線提取方法具有較好的穩(wěn)定性和適用性。齊永菊[6]等人將EDlines直線檢測算法用于遙感圖像的直線提取,具有較高的精度和計算速度。嚴(yán)少華[7]等人針對具有顯著視角變化的寬基線影像的直線提取,提出一種較為穩(wěn)健的直線特征匹配方法,提高直線匹配的正確率。劉肅艷[8]等人針對近景影像直線匹配,提出結(jié)合同名點(diǎn)及核線約束的近景直線匹配算法,得到可靠的直線匹配結(jié)果。閆兆進(jìn)[9]等人針對如何從大量點(diǎn)云數(shù)據(jù)中準(zhǔn)確提取道路的線,提出一種基于直線特征檢測的道路邊線自動提取方法。林火煅[10]等人針對電力線算法在復(fù)雜的環(huán)境下穩(wěn)定性較差的問題,提出一種基于LSD算法與統(tǒng)計分析的航拍圖像電力線提取算法。張平[11]針對近景影像的特征匹配方法,利用經(jīng)典LSD直線檢測算法對影像進(jìn)行直線提取。上述方法雖然取得一定進(jìn)展,但都是基于圖像的單通道灰度特征,在對彩色圖像處理時均將其轉(zhuǎn)換為灰度圖像,造成部分圖像特征信息的缺失,導(dǎo)致部分直線段無法被檢測或直線段不連續(xù)。針對彩色圖像直線提取問題,李軒[12]等人利用模糊算法檢測彩色圖像的邊緣信息。韓玲燕[13]等人提出一種基于二維直方圖的彩色圖像全局閾值分割算法,可以有效提高分割的精度,進(jìn)而提高彩色圖像特征提取的能力。鮑小麗[14]等人將提出的基于混沌初始化和反向?qū)W習(xí)策略的蜻蜓算法用于多閾值彩色圖像的分割中,具有很好的實(shí)用性。李中健[15]等人將OTSU算法應(yīng)用到多閾值彩色圖像分割中,該方法能夠快速對彩色圖像進(jìn)行閾值分割并且具有較強(qiáng)的抗噪性。但是上述方法的提取結(jié)果很大程度上依賴于邊緣檢測算法的結(jié)果,而且沒有驗證對彩色圖像進(jìn)行直線提取的效果。
綜合上述各類方法的優(yōu)缺點(diǎn)及彩色圖像的多通道梯度特征,提出一種適合彩色圖像的直線提取方法,充分考慮不同通道的梯度特征差異性,而且不需要對圖像進(jìn)行邊緣檢測,可以為直線匹配、相機(jī)標(biāo)定、遙感圖像處理等多個領(lǐng)域提供技術(shù)支持。
經(jīng)典LSD直線提取算法是一種局部的直線提取算法,輸入是灰度圖像,輸出是直線提取結(jié)果,可以檢測到目標(biāo)圖像中直線的輪廓。經(jīng)典LSD直線提取算法首先對灰度圖像進(jìn)行下采樣,計算灰度圖像中每個像素點(diǎn)的梯度值,然后根據(jù)梯度值對所有像素點(diǎn)進(jìn)行偽排序,偽排序后要剔除梯度值小于閾值的像素點(diǎn),這些像素點(diǎn)不能參與線段支撐域和矩形的構(gòu)建(矩形的主方向是線段支撐域的主軸方向,同時矩形的大小需要覆蓋整個線段支撐域)。最后對得到的直線支撐域進(jìn)行直線驗證,得到滿足條件的直線。
多通道梯度特征的直線提取,首先對彩色圖像進(jìn)行高斯降采樣,目的是盡量減少圖像出現(xiàn)鋸齒效應(yīng),然后對多個通道進(jìn)行梯度計算,對像素點(diǎn)的梯度最大值進(jìn)行偽排序構(gòu)建直線支撐域,最后利用Helmholtz準(zhǔn)則對直線支撐域進(jìn)行直線驗證,不符合驗證條件的丟棄,符合條件的記錄存儲,表示為一條檢測到的直線。Helmholtz準(zhǔn)則是由Desolneux等人建立的數(shù)學(xué)模型,這一模型可以抑制虛假線段的出現(xiàn)。
由于彩色圖像的R,G,B 3個通道中存儲的信息存在差異,導(dǎo)致每個通道的梯度特征與灰度圖像的梯度特征各不相同,為充分利用彩色圖像的多通道梯度特征,對每個像素的R,G,B和灰度4個通道分別進(jìn)行梯度計算。為盡量減少在進(jìn)行梯度計算時像素之間的彼此依賴,采用2×2的Robert算子進(jìn)行梯度運(yùn)算。假設(shè)i(x,y)為像素點(diǎn)(x,y)處的某一通道的灰度值,則像素的單方向梯度可以根據(jù)式(1)計算。
(1)
其中,gx和gy分別代表水平方向和垂直方向的梯度。
基于單方向梯度運(yùn)算結(jié)果,得到該像素梯度的方向θ為:
(2)
根據(jù)像素的水平和垂直方向梯度,計算出像素的梯度幅值G(x,y)為:
(3)
由于彩色圖像中邊緣部分的梯度值較高,位于邊緣中間的像素通常有最高的梯度幅值,因此在進(jìn)行彩色圖像的直線檢測時采用梯度最大值原則來提高直線檢測的效果。由于采用1 024個.bin文件可以涵蓋梯度0~255變化范圍,因此,將圖像的梯度強(qiáng)度范圍設(shè)置為[0,1 023],即分為1 024個等級。統(tǒng)計每個像素在R,G,B通道及灰度通道的梯度最大值,即計算彩色圖像3個通道以及灰度圖像的梯度最大值,將圖像的梯度強(qiáng)度范圍設(shè)置為[0,1 023],即分為1 024個等級。統(tǒng)計每個像素在R,G,B通道及灰度通道的梯度最大值,并將所有像素的梯度最大值分配至1 024個等級中,將梯度最大值進(jìn)行偽排序來構(gòu)建直線支撐域(梯度最大值小于閾值ρ的點(diǎn)不能參與直線支撐域的構(gòu)建)。排序算法最快的也需要n·logn次操作,而偽排序可以將時間縮短到線性時間內(nèi),并不是真正的進(jìn)行梯度排序,只是按梯度值進(jìn)行一定程度的排序。
取偽排序的首位像素當(dāng)作種子點(diǎn)作為初始檢查點(diǎn),依次進(jìn)行檢查,將種子點(diǎn)的LLA(Level-Line-Angle)作為區(qū)域的初始角度,當(dāng)加入新的像素到區(qū)域后,區(qū)域的角度就會通過式(4)進(jìn)行一次區(qū)域的更新(j是遍歷時像素的下標(biāo))。當(dāng)LLA和區(qū)域角度之間的差值在容忍值內(nèi),則將該點(diǎn)加入到直線區(qū)域中,否則舍棄。依次檢查直到直線支撐域構(gòu)建完畢。直線支撐域是一個直線分割的備選區(qū)域,同時需要一個矩形與它進(jìn)行一一對應(yīng),直線支撐域的主軸用來表示這個矩形的主方向。
(4)
在進(jìn)行直線提取時,受外界環(huán)境的干擾和采集設(shè)備的影響會使圖像中存在噪聲,導(dǎo)致錯誤檢測直線的概率較高,因此,采用Helmholtz準(zhǔn)則來降低在直線提取過程中由于噪聲影響產(chǎn)生的偽直線檢測。利用Helmholtz準(zhǔn)則進(jìn)行直線驗證時,首先判斷由直線支撐域構(gòu)造的矩形R內(nèi)同向點(diǎn)的密度是否滿足閾值,如果不滿足則截斷R變成多個矩形框,直到密度滿足條件為止。若條件滿足則計算錯誤警報次數(shù)(Number of False Alarms,NFA),當(dāng)NFA的值小于設(shè)定的閾值,可以判斷提取的直線是正確直線,保留輸出R,表示為一條檢測到的直線。
(5)
當(dāng)?shù)玫阶罱K的直線支撐區(qū)域后,就可以完成直線段的提取。
1)對彩色圖像的R,G,B通道以及對應(yīng)的灰度圖像進(jìn)行高斯降采樣。
2)計算R,G,B通道及灰度通道的梯度,并統(tǒng)計其梯度的最大值,記錄其對應(yīng)的梯度方向。
3)根據(jù)梯度最大值進(jìn)行偽排序,建立狀態(tài)列表,將所有點(diǎn)的初始狀態(tài)都設(shè)為unused。
4)將梯度最大值小于閾值ρ的狀態(tài)設(shè)置為used。
5)取偽排序首位的點(diǎn)作為種子點(diǎn)進(jìn)行區(qū)域擴(kuò)散并做好標(biāo)記。
6)將擴(kuò)散后的區(qū)域進(jìn)行矩形擬合,計算擬合矩陣的誤差,根據(jù)式(5),計算NFA值,如果誤差在閾值內(nèi),則滿足條件,將擬合的矩陣進(jìn)行記錄,表示為一條檢測到的直線,繼續(xù)檢測下一個種子點(diǎn)直至結(jié)束。
為驗證文中方法對彩色圖像的直線提取的效果,采用彩色棋盤格圖像、York城市圖像數(shù)據(jù)庫[17]中的圖像以及真實(shí)航拍影像進(jìn)行實(shí)驗。需要首先確定縮放、模糊等參數(shù)的大小,選取York城市數(shù)據(jù)庫中的室內(nèi)圖像,對不同縮放尺度sca和不同大小的高斯濾波參數(shù)sig進(jìn)行對比實(shí)驗,實(shí)驗結(jié)果如表1所示。
表1 經(jīng)典LSD與文中方法不同參數(shù)下的直線提取結(jié)果統(tǒng)計
首先在高斯濾波參數(shù)sig等于0.6,縮放尺度sca等于0.9、0.8、0.7、0.6時對文中方法進(jìn)行測試,直線提取結(jié)果如圖1所示。
圖1 同一高斯濾波參數(shù)下的直線提取結(jié)果
通過實(shí)驗得到的結(jié)果可以看出當(dāng)高斯濾波參數(shù)sig=0.6時,縮放尺度sca=0.9、0.8、0.7、0.6時,在sca=0.9時提取的效果最好,因此,最終確定文中方法在直線提取時的縮放尺度sca=0.9。
為確定高斯濾波參數(shù)的大小,在縮放尺度sca=0.9時,sig=0.6、0.7、0.8、0.9各4種情況進(jìn)行了實(shí)驗,直線提取結(jié)果如圖2所示。
圖2 同一縮放尺度下的直線提取結(jié)果
通過實(shí)驗得到的結(jié)果可以得出,當(dāng)縮放尺度sca=0.9時,高斯濾波參數(shù)sig=0.6、0.7、0.8、0.9時,直線提取的數(shù)量逐漸減少,在sig=0.6時提取的直線效果最好,因此,最終確定高斯濾波參數(shù)sig=0.6。
為證明文中對彩色圖像的直線提取效果要好于經(jīng)典LSD直線提取算法。選取一張彩色棋盤格圖3(a)、兩張YORK城市數(shù)據(jù)庫中的圖像,包括一張室內(nèi)圖3(b)和一張室外圖3(c)以及一張航拍影像圖3(d)進(jìn)行實(shí)驗分析,如圖3所示。圖4—圖6為原始測試圖像經(jīng)過經(jīng)典LSD直線檢測和文中方法直線檢測的結(jié)果對比。
圖3 測試圖像
彩色棋盤格在經(jīng)過經(jīng)典LSD直線提取算法和文中方法后的直線檢測結(jié)果對比如圖4所示。
由圖4的直線提取結(jié)果可以得出,文中方法是基于多通道梯度特征的直線提取,提取結(jié)果明顯優(yōu)于基于單通道灰度梯度特征的經(jīng)典LSD直線提取結(jié)果。從數(shù)量上講,文中方法的直線提取結(jié)果多于經(jīng)典LSD直線提取算法,而且文中方法的直線提取連續(xù)性更好。
圖4 彩色棋盤格提取結(jié)果對比
室內(nèi)外圖像經(jīng)過經(jīng)典LSD直線提取算法和文中方法后的直線檢測結(jié)果對比如圖5所示。
由圖5的直線提取結(jié)果及框選部分為典型區(qū)域提取,對于室內(nèi)圖像(b)中,在房頂和墻的交界處、房屋結(jié)構(gòu)變化的區(qū)域,從紅、藍(lán)、綠、黃、紫、橙色框選出來的部分來觀察能明顯看出經(jīng)典LSD方法出現(xiàn)了直線缺失或者斷裂的情況,而文中方法比較完整的提取該直線,其它局部細(xì)節(jié)的提取效果也優(yōu)于經(jīng)典LSD方法。對于室外圖像(c)中,墻面的裝飾材料間的直線特征中,經(jīng)典LSD方法缺失的部分比較多,而文中方法的實(shí)際提取效果更好,提取的直線數(shù)量更多,直線的連續(xù)性更好。
圖5 York圖像提取結(jié)果對比
航拍影像經(jīng)過經(jīng)典LSD直線提取算法和文中方法后的直線檢測結(jié)果對比如圖6所示。
由圖6的直線提取結(jié)果可以得出,在實(shí)際航攝影像中,特別是房頂?shù)戎本€特征較多的區(qū)域中,經(jīng)典LSD方法沒有提取出所有的直線,而文中的方法直線提取結(jié)果更優(yōu)。
圖6 航拍影像提取結(jié)果對比
對上述實(shí)驗結(jié)果進(jìn)行統(tǒng)計,結(jié)果見表2,表2中實(shí)驗圖像即為圖3中測試圖像。
表2 直線提取結(jié)果對比
由表2可得,在圖3(a)進(jìn)行試驗時,提取的直線數(shù)量增加20%;在對York城市圖像數(shù)據(jù)庫中的室內(nèi)圖3(b)進(jìn)行實(shí)驗時,提取的直線數(shù)量增加37.9%;對York城市圖像數(shù)據(jù)庫中的室外圖3(c)進(jìn)行實(shí)驗時,提取的直線數(shù)量增加26.5%;對航拍影像圖3(d)進(jìn)行實(shí)驗時,提取的直線數(shù)量增加18.7%。
由上述實(shí)驗結(jié)果與分析得到以下結(jié)論:
1)經(jīng)典LSD直線提取算法是基于灰度圖像的,在對彩色圖像進(jìn)行直線提取時,由于彩色圖像中的不同色彩可能有相近似的灰度,當(dāng)彩色圖像轉(zhuǎn)換為灰度圖像時,容易使部分的直線段無法被檢測到,所以文中提出基于彩色圖像的LSD直線提取,防止當(dāng)彩色圖像轉(zhuǎn)換為灰度圖像過程中造成的彩色圖像中信息丟失以至于直線段無法被檢測到的問題。
2)經(jīng)典LSD直線提取算法是基于梯度的,在對圖像中像素的梯度值進(jìn)行計算時需要計算灰度圖像的梯度值,然后對所有的梯度值進(jìn)行排序,當(dāng)梯度大于一定閾值之后,判定可以參加直線區(qū)域的構(gòu)建。當(dāng)輸入的是彩色圖像轉(zhuǎn)化為灰度圖像后,容易將強(qiáng)邊緣變成弱邊緣,造成直線段無法被檢測到。文中方法是取彩色圖像R,G,B三通道以及灰度圖像的梯度最大值,對每一維都取梯度的最大值,那么這個像素被判定可以參加直線區(qū)域構(gòu)建的概率就增加,并且文中方法不會破壞彩色圖像的信息,能夠較好地提取到彩色圖像中的直線。
直線提取是圖像的特征提取中的重要部分,在對物體的輪廓提取,三維目標(biāo)的識別以及物體的追蹤等方面廣泛應(yīng)用。經(jīng)典LSD直線提取算法在進(jìn)行直線提取時僅僅采用了圖像的灰度信息,當(dāng)彩色圖像轉(zhuǎn)化為灰度圖像時,容易導(dǎo)致原來圖像中的直線無法被檢測到或者檢測到的直線長度不連續(xù)等問題,因此文中提出一種基于多通道梯度特征的彩色圖像直線提取的方法,通過計算彩色圖像R,G,B三通道以及其對應(yīng)灰度圖像的梯度值,取這4種梯度最大值及其對應(yīng)梯度方向作為初始梯度值進(jìn)行直線檢測。通過對彩色棋盤格圖像、York城市圖像以及航拍影像進(jìn)行實(shí)驗驗證,結(jié)果表明文中的方法能夠更好利用圖像中的彩色信息,提取的直線數(shù)量更多,且可靠性更好,為目標(biāo)識別、相機(jī)標(biāo)定等技術(shù)奠定更好的基礎(chǔ)。