李賀林,趙建軍
(河南大學(xué)先進(jìn)控制與智能信息處理研究所,河南開(kāi)封475001)
角點(diǎn)特征是圖像的重要特征,可以定義為:兩條或多條邊界的鏈接點(diǎn)。在各種圖像特征中,角點(diǎn)具有旋轉(zhuǎn)不變和不隨光照條件變化改變而變化的優(yōu)點(diǎn)。用角點(diǎn)作為特征點(diǎn),不但減少了參與計(jì)算的數(shù)據(jù)量,而且又不丟失圖像的灰度信息[1]。利用角點(diǎn)特征進(jìn)行匹配可以大大提高匹配的速度[2]。角點(diǎn)作為輸入可應(yīng)用3D建模,尤其在實(shí)時(shí)處理中有很高的應(yīng)用價(jià)值。在實(shí)體黃河模型的實(shí)驗(yàn)中,河深的測(cè)量是其中重要的一個(gè)方面,深度測(cè)量實(shí)現(xiàn)的關(guān)鍵技術(shù)在于特征提取和特征匹配,對(duì)黃河模型來(lái)說(shuō),要測(cè)量河面到測(cè)量點(diǎn)的距離,第一步就是要在河面上提取體特征和特征匹配;因此,河面的邊緣特征提取成了研究的重點(diǎn)。而角點(diǎn)又是邊緣的特殊點(diǎn),邊緣檢測(cè)是圖像處理的最基本內(nèi)容,是提取特征和特征匹配的第一步,為后續(xù)的物體識(shí)別與三維重建提供了重要信息。為此,我們?cè)诎渡匣蚴撬锓胖梅叫蔚臉?biāo)示物,用距離河岸一定距離并在同一直線上的兩攝像機(jī)拍攝左右兩張圖片。為了測(cè)量水深,就要測(cè)量河岸或水面到攝像機(jī)的距離,為此我們把標(biāo)示物上的角點(diǎn)作為特征點(diǎn)來(lái)檢測(cè)和匹配,就能實(shí)現(xiàn)測(cè)量目的。經(jīng)典的檢測(cè)方法如Robert,Sobel,Canny等方法,都是對(duì)原始圖像中像素的小鄰域構(gòu)造檢測(cè)算子,進(jìn)行微分運(yùn)算,求得梯度最大值或二階導(dǎo)數(shù)的過(guò)零點(diǎn),最后選取適當(dāng)?shù)拈撝祦?lái)提取。算法涉及梯度的運(yùn)算,因此均存在對(duì)噪聲敏感,計(jì)算量復(fù)雜等缺點(diǎn)。在實(shí)踐中,發(fā)現(xiàn)SUSAN算法只基于對(duì)周邊像素的灰度比較,完全不涉及梯度運(yùn)算,對(duì)局部噪聲不敏感;具有算法簡(jiǎn)單,定位準(zhǔn)確,抗噪能力強(qiáng)等特點(diǎn)。適于含噪圖像邊緣和角點(diǎn)檢測(cè),所以本文選擇了SUSAN算法來(lái)提取黃河模型的角點(diǎn)信息。
SUSAN算法是由Smith和Brady首先提出的[3]。其算法的基本依據(jù)是圖像中同一特征區(qū)域的內(nèi)部特征(通常指灰度值)是一致或相近的。在介紹SUSAN方法前首先介紹USAN區(qū)域定義。
如圖1所示,用一個(gè)圓形模板在圖像上移動(dòng),若模板內(nèi)像素灰度與模板中心像素(稱為核)灰度的差值小于一定閾值,就認(rèn)為該點(diǎn)與核具有相同或相近的灰度。由滿足這樣條件的像素組成的區(qū)域稱為吸收核值相似區(qū)USAN。圖像中平坦區(qū)域像素點(diǎn)USAN面積最大,邊緣點(diǎn)次之,角點(diǎn)處最小。其中角點(diǎn)越尖,USAN區(qū)域面積越小??梢钥闯霎?dāng)圓形模板完全處在圖像或背景中時(shí),USAN區(qū)域面積最大(如圖1中的1和2);當(dāng)模板移向圖像邊緣時(shí),USAN區(qū)域逐漸變小(如圖1中4);當(dāng)模板中心處于邊緣時(shí),USAN區(qū)域很小(如圖1中的3);當(dāng)模板的中心位于角點(diǎn)時(shí),USAN區(qū)域最小(如圖1中的5)。通過(guò)計(jì)算圖像中每一個(gè)像素的USAN值,設(shè)定一個(gè)USAN閾值,查找小于閾值的像素點(diǎn),即可確定角點(diǎn)。
圖1 SUSAN特征檢測(cè)原理
對(duì)整幅圖像中的所有像素,用圓形模板進(jìn)行掃描,比較模板內(nèi)每一像素與中心像素的灰度值,通過(guò)與給定的閾值比較,來(lái)判別該像素是否屬于USAN區(qū)域,如下式:
式(1)中c(x,y)為模板內(nèi)屬于USAN區(qū)域的像素的判別函數(shù);I(x0,y0)是模板中心像素(核)的灰度值;I(x,y)為模板內(nèi)其任意像素的灰度值;t是灰度差門(mén)限。圖像中每一點(diǎn)的USAN區(qū)域大小可用下式表示:
得到每個(gè)像素的USAN值以后,再與預(yù)先設(shè)定的門(mén)限進(jìn)行比較,當(dāng)n(x,y)<g時(shí),可以認(rèn)為所檢測(cè)到的像素位置(x,y)是一個(gè)角點(diǎn)。下式來(lái)產(chǎn)生角點(diǎn)初始響應(yīng):
由式(3)得到的角點(diǎn)初始響應(yīng)值大小符合SUSAN原理,即SUSAN區(qū)越小,初始角點(diǎn)響應(yīng)就越大.而且為產(chǎn)生各向同性的角點(diǎn)響應(yīng)。
為了更為精確地檢測(cè),在實(shí)際應(yīng)用中通常對(duì)式(1)采用下面更穩(wěn)定、更有效的相似比較函數(shù):
理論和試驗(yàn)證明,指數(shù)取6時(shí),錯(cuò)誤的否定和錯(cuò)誤的肯定的概率最?。?]。門(mén)限t表示所能檢測(cè)邊緣的最小對(duì)比度,也是能忽略噪聲的最大容限。它主要決定了能夠提取的特征數(shù)量。t越小,從對(duì)比度越低的圖像中提取角點(diǎn)特征越清晰,而且提取的特征也越多。因此對(duì)于不同對(duì)比度和噪聲情況的圖像,應(yīng)取不同的t值。然而一個(gè)好的算法,門(mén)限的取值不應(yīng)該依賴于人為的干涉,而應(yīng)根據(jù)不同條件自動(dòng)給出最優(yōu)值。通過(guò)對(duì)圖像灰度值和對(duì)比度進(jìn)行分析,提出不同圖像對(duì)比度下t的自適應(yīng)取值方法。即
式中,Iimax,Iimin分別代表圖像中最大的i個(gè)灰度值和最小的i個(gè)灰度值。經(jīng)實(shí)驗(yàn)驗(yàn)證,角點(diǎn)檢測(cè)時(shí),t為ΔI的(ΔI=Iimax-Iimin在目標(biāo)和背景均勻情況下,ΔI為圖像的絕對(duì)對(duì)比度)20%左右時(shí),能夠較好地提取不同對(duì)比度下的邊緣特征,m一般取圖像中總像素的千分之一。
在傳統(tǒng)的SUSAN算法中,幾何閾值g是一個(gè)上限閾值。只要當(dāng)前點(diǎn)的USAN面積小于g,就將當(dāng)前點(diǎn)檢測(cè)為角點(diǎn)。這樣的閾值,會(huì)將孤立的噪聲點(diǎn)檢測(cè)為角點(diǎn),因?yàn)橐粋€(gè)孤立噪聲點(diǎn)的USAN面積為零。也會(huì)將一些細(xì)長(zhǎng)線段上的多個(gè)點(diǎn)當(dāng)作角點(diǎn)檢測(cè)出來(lái),因?yàn)檫@些點(diǎn)的USAN區(qū)域都比較小。有些過(guò)于尖銳的三角區(qū)域,易受干擾,有時(shí)候并不是感興趣的點(diǎn),也易被檢測(cè)。
為了解決這個(gè)問(wèn)題,考慮一種采用上下限的幾何閾值。將式(3)的響應(yīng)函數(shù)改為:
其中g(shù)2是幾何閾值的上限,閾值g2決定了角點(diǎn)的USAN區(qū)域的最大值,g2過(guò)大時(shí),角點(diǎn)附近的像素可能作為角被提取出來(lái);過(guò)小則會(huì)漏檢部分角點(diǎn)。當(dāng)UNSAN區(qū)域小于此門(mén)限時(shí),才認(rèn)為當(dāng)前點(diǎn)是角點(diǎn),與式(3)中的g作用一致。實(shí)驗(yàn)證明,角點(diǎn)提取時(shí)g=1nmax/2時(shí)[5](nmax為模板的最大USAN值),可以較好地提取出角點(diǎn),g1是幾何閾值的下限,只有當(dāng)USAN區(qū)域大于此閾值時(shí),才認(rèn)為當(dāng)前點(diǎn)是角點(diǎn),否則,當(dāng)作噪聲丟棄。通過(guò)下門(mén)限g1的設(shè)置,可以非常簡(jiǎn)單有效地把像素點(diǎn)數(shù)小于g1的噪聲去除。門(mén)限t的選取確定了所能檢測(cè)角點(diǎn)的最小對(duì)比度和能忽略噪聲的最大容限。
SUSAN算法的大致流程圖如圖2所示。
圖2 改進(jìn)SUSAN算法流程圖
SUSAN原則中的模板采用近似圓,以使檢測(cè)達(dá)到各向同性。模板較小時(shí),如果門(mén)限選取不恰當(dāng),可能會(huì)發(fā)生角點(diǎn)漏檢的情況。模板也不宜取得太大,否則會(huì)增大運(yùn)算量。通??扇?×7像素模板。本文采用半徑為R=3.4的近似圓形模板,即37像素模版。
圖3(1)原始圖像(2)原SUSAN算法(3)改進(jìn)SUSAN算法
我們用matlab7.0作為實(shí)驗(yàn)平臺(tái)進(jìn)行了仿真實(shí)驗(yàn)。經(jīng)過(guò)仿真驗(yàn)證,設(shè)定原來(lái)的SUSAN算法的幾何閾值g=20,改進(jìn)的算法g1=7,g2=20這樣是比較合適的。小噪聲和細(xì)小線段上的點(diǎn)被剔除,角點(diǎn)提取清晰,細(xì)致,定位精確。傳統(tǒng)的canny算法和本文改進(jìn)的SUSAN算法對(duì)黃河模型圖像提取角點(diǎn)后作對(duì)比,從提取的圖上可以很直觀地看出(見(jiàn)圖3),和原SUSAN算法比較,改進(jìn)的SUSAN算法提取角點(diǎn),定位精確,消除了一些虛假角點(diǎn),不必要的噪聲被剔除。這對(duì)下一步立體匹配創(chuàng)造了條件。
上述改進(jìn)的SUSAN角點(diǎn)提取算法,一是用自適應(yīng)灰度差閾值和上下限幾何閾值替代經(jīng)典算法中的閾值,避免了將孤立噪聲點(diǎn)和細(xì)線段上的點(diǎn)被誤檢測(cè)為角點(diǎn)的情況;去噪性能好,計(jì)算量小,定位準(zhǔn)確。二是通過(guò)增加邊緣像素的對(duì)比度,從而使圖像邊界細(xì)致,區(qū)分度高。此效果優(yōu)于原算法,但幾何閾值的選取方法,需要具體的實(shí)驗(yàn)驗(yàn)證,運(yùn)行的時(shí)間較長(zhǎng)一些。所以如何提高運(yùn)算的效率將是下一步需要進(jìn)行的工作。
[1]SHEN F,WNAG H.Real Time Gray Level Corner Detector[J].Pattern Rection it ion Letters,2002,23(8):1-6.
[2]Harris C,Stephens M.A Combined Corner and Edge Detector[C].Proc.4th Alvey Vision Conf,1988.
[3]SMITH S M,BRADY J M.SUSAN-A New Approach to Low Level Image Processing[J].Journal of Computer Vision,1997,23(1):45 -78.
[4]魏光杏,吳錫生.新型邊緣檢測(cè)法[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(4):882 -883,887.
[5]翁木云,何明一.圖像綜合特征及其在圖像檢測(cè)與匹配中的應(yīng)用[J].中國(guó)圖像圖形學(xué)報(bào),2007,12(1):121-126.