崔 樂 李 春 李 英
(1.商洛學院電子信息與電氣工程學院 商洛 726000)(2.陜西省尾礦資源綜合利用重點實驗室(商洛學院) 商洛 726000)
特征提取是圖像配準和圖像分析的基礎(chǔ),是物體運動跟蹤的關(guān)鍵步驟之一[1]。采用場景的幾何和物理屬性來產(chǎn)生圖像中局部灰度級的顯著變化,從而產(chǎn)生圖像特征。圖像特征的獲取是成功進行相機立體視覺和校準研究的基礎(chǔ)和前提[2]。圖像的邊緣點、紋理、角點、拐點等是圖像特征的主要特點,標定精度和匹配精度受特征提取質(zhì)量的直接影響。因此,提取角落信息在研究和處理圖像中的重要信息中起著重要作用。
基于圖像特征在圖像處理中的重要性,國內(nèi)外眾多學者借助計算機視覺針對不同的實體物件開展了大量的研究工作。Ma Qin[3]等基于圖像HSV顏色空間,獲得了多玉米穗三維育種特征的快速測量方法,果穗的測量精度可達94%,從而大大提高了玉米品種的評價效率。梁文東[4]等利用Matlab,成功提取了指紋圖像的特征點,并實現(xiàn)偽特征點的剔除,其算法簡單、速度快且運算量小。王國林[5]等通過提取輪胎接地的投影面積、接觸面積、印痕寬度和印痕長度等幾何信息,實現(xiàn)了印痕幾何參數(shù)的快速測量。然而,目前在計算機視覺和圖像處理領(lǐng)域中沒有適當?shù)慕屈c數(shù)學定義,但是有很多方法可以描述角點檢測[6~10]。為了防止或減少錯誤特征的出現(xiàn),許多方法都要求有大量的訓練集和數(shù)據(jù)冗余來避免這種錯誤[11~12]?;诖耍疚闹饕肕atlab 提供的平臺進行Harris 算法和Susan 算法的圖像處理,并結(jié)合Matlab語言編寫的程序?qū)崿F(xiàn)兩個算法的比較和分析。
對于一副照片,Harris 角點檢測的原理是:通過局部圖像的灰度變化程度反映給自相關(guān)函數(shù),進而實現(xiàn)對角點的檢測。Harris 算子是一個簡單的點特征提取算子,它源于信號處理中的自相關(guān)函數(shù),自相關(guān)函數(shù)的階梯曲率是M矩陣的特征值[13]。
1988 年,C. Harris 和J. Stephens 提出一種基于信號的點特征提取算法,即Harris 算子,也稱為Plessey 角點檢測算法[14]。根據(jù)自相關(guān)函數(shù)的尖頂圖像進行判斷是該算法的核心,此尖頂處的點是角點。也就是說,通過建立對稱矩陣M(與照片X 方向一階導數(shù)和Y 方向一階導數(shù)自相關(guān)函數(shù)相聯(lián)系的矩陣),求得M的兩個特征值,而自相關(guān)函數(shù)的一階曲率是M 陣的特征值。若自相關(guān)函數(shù)圖像在這一點呈尖頂形,則說明兩個曲率值都很高。對于圖像I(x,y),在點(x,y)處平移(Dx,Dy)之后的自相似性可以通過自相關(guān)函數(shù)給出:
其中,W(x,y)是以點(x,y)為中心的窗口,w(x,y)為加權(quán)函數(shù),可以用常數(shù)或者高斯加權(quán)函數(shù)表示。
根據(jù)Taylor 展開,在平移(Dx,Dy) 后對圖像I(x,y)執(zhí)行一階近似:
在式(2)中,Ix、Iy是圖像I(x,y)的偏導數(shù)。這樣,式(1)就能近似表示為
其中:
在圖像I(x,y)在點(x,y)處平移(Dx,Dy)后,其自相關(guān)函數(shù)可近似為
根據(jù)二次函數(shù)的特征值計算方法,可以得到等式(4)的特征值。Harris 算法中給出的角點辨別方法不需要計算特定的特征值,而是計算角點響應(yīng)值R以確定角點。R的計算公式為
Harris角點檢測實現(xiàn)步驟如下:
1)求出I(x,y)在x、y方向上的的梯度Ix、Iy;
2)分別求出在x、y 方向上的梯度乘積,I2x=Ix?Ix,I2y=Iy?Iy,Ixy=Ix?Iy;
3)對I2x、I2y和Ixy執(zhí)行高斯加權(quán),從而產(chǎn)生三個元素A、B和C,如下所示:
4)獲得每個像素的Harris 響應(yīng)值R,使得小于閾值的響應(yīng)值R為零;
5)進行3 3鄰域非極大值抑制,并且圖像中的角點由局部極大值點表示;
6)記錄圖像角點的位置。
由于Susan 算法無需計算梯度,因此非常適用于噪聲圖像或者低對比度的灰度圖像的邊緣檢測。它具有噪聲能力強、定位準確等特點,可直接與圖像灰度的相似性進行比較。此算法不但運算量少,也能夠達到細化邊緣的目的[15]。
1)算法描述
對于圖像中的所有像素,利用設(shè)置的圓形模板掃描整個圖像,并將模板內(nèi)的每個像素與中心像素的灰度值進行比較,通過與設(shè)定的閾值進行比較,判斷像素是否在Susan 區(qū)域內(nèi),并且定義的區(qū)域由式(8)表示:
式中:c(r,r0)為模板中屬于Susan 區(qū)域的像素判別函數(shù),I(r0)為中心像素的灰度值,I(r)是模板內(nèi)任何像素的灰度值,t為灰度差門限。那么,圖像中某一點Susan區(qū)域的大小可以表示為
式中c(r0)是以r0為圓心的圓形模板部分。獲得每一個像素的Susan 的n(r0)以后,將其與先前設(shè)置的閾值進行比較,當n(r0)<g 時,檢測到的像素位置r0可以被區(qū)分為邊緣點。
2)模板的選擇
實際上,不能實現(xiàn)常規(guī)的循環(huán)模板。然而模板較小的時候,如果出現(xiàn)邊緣點漏檢的現(xiàn)象,則是由于門限值選取的不恰當。所以為了不增加運算量,模板也就不適合取的過大,通??梢匀?*5 或象素為37 的模板[16]。本文圖像處理時都是采用的5*5的模板。
3)門限t,g的確定
門限g 確定邊緣點Susan 區(qū)域最大值,假設(shè)照片中像素的Susan 值小于g,那么該點被視為邊緣點。當g 太小時,將丟失部分邊緣點;當g 太大時,可以選擇邊緣點附近的像素作為邊緣。選取出初始的邊緣點要有一定的質(zhì)量,進一步刪除其中冗余象素,則就有可能實現(xiàn)單象素的精度。
可以檢測的邊緣點的最小對比度由閾值t 表示,閾值t也是可以忽略的最大噪聲容限。要從對比度較低的照片中提取特征,需要使用較小的t值。因此,采用不同的t值,可以獲得不同噪聲條件和對比度的圖像。
圖1 所示為cnt分別為534 和2000 時,Harris 算法近距離采集照片的圖像。從圖中分析可得:對近距離采集的圖像進行Harris 算法處理可較精準地標定出目標圖像的輪廓,且計算速度快。有助于進一步對目標圖形做更精確的處理,可無需對剩余部分圖像再做相同處理。
圖1 Harris算法近距離采集照片的實現(xiàn)
圖2 所示為Harris算法遠距離采集照片時的圖像。從圖中可以看出:對較遠距離采集的圖像做相同的Harris 算法處理,效果遠差于近距離圖像的,目標圖像太遠,故而所得圖像包含太多除目標圖像以外的部分,雖然角點信息量大,但對目標圖像干擾大,究其原因在于Harris 算法的抗干擾能力弱,從而造成誤差很大,同時,所檢測目標物體的運動狀態(tài)以及光線的明暗程度對其也有較大的影響。
圖2 Harris算法遠距離采集照片的實現(xiàn)
為了進一步分析Harris 角點檢測過程中影響因素,圖3顯示了Harris角點檢測cnt與距離和光線之間的關(guān)系。由圖3(a)可以看出:隨著距離的增大,cnt值也逐漸增大,進而導致使得對目標圖像的干擾愈來愈大,在檢測過程中容易出現(xiàn)多連續(xù)的點,并存在嚴重的檢漏現(xiàn)象。所以在實際應(yīng)用中應(yīng)注意,例如對行駛車輛攝像時應(yīng)該調(diào)節(jié)攝像頭的焦距,便于抓住關(guān)鍵圖像的主要信息成分。圖3(b)所示為cnt 值與光線的關(guān)系,隨著光線增強,其cnt值增大,同時目標物體的運動狀態(tài)對cnt 值有較大的影響,對于靜止的車輛,其cnt值隨光線增強的增大速率較大,而靜止車輛較小。圖像的灰度變化會明顯改變cnt的值,結(jié)合圖1 和圖2 可知,cnt值的變化嚴重影響圖像的輪廓標定,進而影響著所采集圖像的清晰程度。
圖3 Harris角點檢測cnt與距離、光線的關(guān)系
綜合以上分析檢測結(jié)果,可以看出,Harris 算法的優(yōu)點在于:可直接對原圖像中的特征點進行檢測,對興趣點的檢測不受圖像的灰度變化、干擾噪聲和旋轉(zhuǎn)等因素的影響。然而其缺點也甚為明顯,精確定位不夠好,在有需要的情況下不能滿足精確定位的要求。
Susan算法用于檢測道路區(qū)域中車輛的角點信息,然后獲得原始圖像中的特征點的二維坐標,最后確定相關(guān)信息。圖4 所示為近距離光線良好情況下Susan 角點檢測的實現(xiàn)。圖4(a)顯示出了車輛牌照號碼的灰度處理之后的圖片。車牌等物品自身污損較嚴重、拍攝的距離和角度、拍攝時光線的調(diào)節(jié)以及車輛的運動狀態(tài)均會對圖像的灰度處理造成一定的影響。目標物體清晰度越高,圖像灰度處理后目標圖像的輪廓越清楚,圖4(a)是在較為理想的條件下得到的灰度處理圖,故此,圖像的灰度處理圖較為清晰。圖4(b)顯示出了由Susan 算法處理的圖4(a)的角點檢測圖,我們可以從處理后的圖像清楚的看到輪廓,但所檢測到的點有部分不連續(xù),因此,可從更細微點對圖像做進一步處理,得到更精準的圖像。
圖4 近距離光線良好情況下Susan角點檢測的實現(xiàn)
為了進一步分析在遠距離情況下,采用Susan算法能否實現(xiàn)圖像的清晰檢測,圖5 給出了較遠距離光線較暗情況下Susan 角點算法的實現(xiàn)。圖5(a)顯示了牌照狀態(tài)和拍攝角度等的灰度處理圖,類似于圖4(a)。從圖中可以看出,灰度處理后的圖像清晰度類似于圖4(a)的圖像清晰度,這表明在灰度處理期間圖像對其距離的影響很小。然而在采用Susan檢測,在遠距離檢測過程中,有大量不連續(xù)的點出現(xiàn),判斷出圖像的輪廓比較模糊,這樣可能會漏掉圖像中的重要信息,最終致使檢測信息發(fā)生錯誤。
圖5 較遠距離光線較暗情況下Susan角點算法的實現(xiàn)圖
圖6 所示為Susan 角點檢測圖像清晰度與距離、光線強弱的關(guān)系,從圖6 中可以看出:距離與光線可直接影響圖像的清晰度,從而進一步影響Susan 算法處理的結(jié)果,也可以從圖中判斷出1m~1.5m 范圍內(nèi)采集的圖像,經(jīng)處理后,得到了更為清晰的圖像輪廓,圖像的形狀更直觀。
圖6 清晰度與距離、光線強弱的關(guān)系圖
綜合以上分析檢測結(jié)果可以看出,Susan 算法的優(yōu)點在于:不需要去噪處理,不需要依賴于前期分割結(jié)果,而是直接利用圖像灰度信息的檢測算法。其缺點在于:自行設(shè)置的閾值會直接影響檢測準確性,穩(wěn)定性不夠好。
1)Harris 算法僅采用差分求導方式,易于計算,角點提取的可靠性比較高,穩(wěn)定性和魯班性較高,但抗噪能力較弱,很難實現(xiàn)準確的定位。
2)Susan 算法可以檢測到任意類型的角,抗干擾能力也比較強,但其穩(wěn)定性不好,圖像檢測的準確性取決于閾值的選取。
3)基于圖像的灰度自相關(guān)函數(shù)的Harris 角點檢測算法,能夠直接從原始照片中檢測到特征點,并且能夠在照片自身發(fā)生灰度變化、旋轉(zhuǎn)、和干擾噪聲等情況下檢測圖像中的所有點。它達到了效率和精度兩方面的要求,且抗噪能力有了很大提高,誤檢測率也降低。
4)直接利用圖像灰度信息的Susan角點檢測算法,要使檢測過程不依賴前期分割結(jié)果,且不需要進行求導和梯度運算,那么它必須具有很強的抗干擾能力。與此同時,由于可以不用計算圖像的灰度導數(shù),因此不需要進行去噪處理,