陳繼華,李 響,李 棟
(鄭州大學(xué) 物理工程學(xué)院,鄭州 450001)
?
一種改進的輪廓曲線角點檢測方法
陳繼華,李響,李棟
(鄭州大學(xué) 物理工程學(xué)院,鄭州450001)
角點特征檢測方法是圖像處理的重要研究內(nèi)容,針對傳統(tǒng)的曲率尺度空間角點檢測中,選擇不同尺度會導(dǎo)致角點的漏檢測和誤檢測問題。提出一種改進的輪廓曲線角點檢測方法,先在低尺度下采用較大步長的曲率閾值法剔除小曲率區(qū)域上的偽角點,將偽角點集中在曲率較大的圓弧區(qū)域,再合并微小圖元剔除圓弧上偽角點,并結(jié)合投影高度法判斷圖元屬性,對圖元進行分割和融合,提高了檢測精度。實驗結(jié)果表明,改進的檢測算法在處理由直線和圓弧構(gòu)成的輪廓曲線角點檢測時,可大大提高檢測準確率。
角點檢測;輪廓曲線;曲率尺度空間;圖元分割;自適應(yīng)閾值
角點作為圖像的一個局部特征,既保留了圖像中目標(biāo)物體的重要特征信息又有效地減少了數(shù)據(jù)量,因而成為圖像處理相關(guān)領(lǐng)域的研究熱點。角點檢測技術(shù)在相機標(biāo)定、圖像匹配、運動估計、全景拼接、目標(biāo)檢測與識別領(lǐng)域都有重要的應(yīng)用。角點檢測算法主要可以分為兩類:第一類是基于圖像灰度的角點檢測算法;第二類是基于輪廓的角點檢測算法。
基于圖像灰度的角點檢測算法主要通過計算像素點各個方向灰度變化來檢測角點。這類方法主要有Moravec算法[1]、Harris算法[2]和SUSAN算法[3]。Moravec算法把角點定義為角點各個方向上灰度變化足夠大的點,該算法簡單快速,但不具備旋轉(zhuǎn)不變性,而且對邊緣點反應(yīng)比較強烈。Harris算法是基于Moravec算法的改進方法,通過微分運算和自相關(guān)矩陣檢測角點,對于圖像旋轉(zhuǎn)和光照變換具有很好的效果[4],但是不能在多尺度下檢測角點,提取效果受閾值和高斯窗口的影響較大。SUSAN算法利用圓形模板鄰域的像素灰度與其圓心的相似性計算得到角點響應(yīng)函數(shù)值,設(shè)定閾值,把響應(yīng)函數(shù)值的局部極大值點作為角點。該算法不依賴于圖像導(dǎo)數(shù),具有較強的抗噪能力,但是需要人工設(shè)定閾值,運算量較大。
基于輪廓的角點檢測方法,主要是由Mokhtarian提出的曲率尺度空間角點檢測算法(CSS)[5]。該算法先在高尺度下得到輪廓上曲率極大值點,再設(shè)定閾值得到候選角點,最后通過在低尺度下對得到的角點進行重新定位,得到位置相對準確的角點。一般需要經(jīng)過以下五個步驟[5,7]:
(1)用Canny算子提取目標(biāo)圖像邊緣,獲取二值化邊緣圖像。
(2)得到的邊緣圖像不一定連續(xù),還需要填充邊緣線上的間隙,并找到T型節(jié)點。
(3)在高尺度下計算輪廓點曲率,得到曲率局部極大值點,當(dāng)局部極大值大于臨近局部極小值的兩倍,且大于預(yù)先設(shè)定的閾值時,該點作為候選角點。
(4)在低尺度跟蹤角點,對角點重新定位。
(5)比較T型角點和提取的角點之間的距離,如果兩者距離很小刪除其中一個角點。
從以上步驟可以看出,角點的初步檢測是在高尺度下進行的,輪廓線被過度平滑,導(dǎo)致漏檢真實角點;全局閾值需要人工設(shè)定,不能在保留真實角點的同時剔除所有的偽角點。He等人提出在較小尺度下求取輪廓點曲率的局部極大值,并采用局部自適應(yīng)閾值剔除偽角點[6]。提高了檢測的準確性,但是計算量大,不能剔除邊緣突變形成的偽角點。曾接賢提出一種曲率尺度空間與鏈碼方向統(tǒng)計的角點檢測方法,能很好地剔除直線上邊緣突變造成的偽角點,但是對于圓弧上的突變點沒有進行論證,且不能很好地檢測平滑過渡的角點[4]。
針對CSS角點檢測會漏檢真實角點以及產(chǎn)生錯誤角點的問題,本文在曲率尺度空間的基礎(chǔ)上,提出了一種改進的輪廓曲線角點檢測方法。
傳統(tǒng)的CSS算法在角點檢測過程中常常存在漏檢和誤檢問題。為解決這些問題,首先在較低尺度下對輪廓進行高斯平滑,保證輪廓曲線不會因為過渡平滑而丟失真實角點。其次采用較大步長計算輪廓點曲率,并通過自適應(yīng)閾值剔除部分偽角點。最后合并微小圖元,采用投影高度法[8]判斷角點之間的圖元屬性,對圖元進行分割和融合[9],進一步剔除偽角點并重新定位角點,從而提高角點檢測的準確性。
1.1較大步長的曲率閾值法篩選角點
在尺度空間下求取輪廓點的曲率,實際上就是先用某個尺度的高斯函數(shù)對輪廓線進行濾波,然后再求取濾波后輪廓線上各點的曲率。將原輪廓曲線用弧長參數(shù)u表達為:
F(u)=(x(u),y(u))
曲線隨著尺度變化的演化表達式為:
Fσ=(X(u,σ),Y(u,σ))
其中,X(u,σ)=x(u)?g(u,σ);Y(u,σ)=y(u)?g(u,σ);X(u,σ),Y(u,σ)分別為高斯平滑后輪廓線上的點的橫、縱坐標(biāo);g為一維高斯模板函數(shù);參數(shù)σ代表尺度。
在所有的輪廓點中,角點所占的比例很小,為了減小計算量先剔除部分不可能成為角點的輪廓點。當(dāng)輪廓上相鄰的三個點共線時,剔除中間的那個點,并將該點的曲率設(shè)為0。然后求取其它各點的曲率,曲率求解公式如下:
σ為尺度;k被定義為步長。
在傳統(tǒng)的CSS角點檢測算法中,初步檢測角點時尺度σ的取值比較大,一般取4或8。σ越大輪廓越光滑,雖然減少了噪聲,但是容易丟失真實角點。為避免漏檢真實角點,本文選擇在較低尺度下檢測角點;在傳統(tǒng)的CSS角點檢測中,步長k的取值為1,如圖1所示,圖中黑點代表輪廓上的像素點,a、b、d為直線上的突變點。當(dāng)k=1時,通過a、b、c、d、e五點的坐標(biāo)可以計算出點a的曲率值為1,所得結(jié)果受突變點的影響很大,難以通過全局閾值剔除,容易誤檢直線上的偽角點。為解決這一問題,參考了11點k近似曲率法[10],適當(dāng)?shù)卦龃罅瞬介Lk,k的取值一般在5到15之間,文中取10。如圖1所示,當(dāng)k=10時,可以通過a、f、g、h、i五點的坐標(biāo)計算出點a的曲率值為0.01,遠遠小于通過CSS算法計算出的曲率值,更容易通過全局閾值剔除該偽角點。
圖1 局部輪廓放大圖
通過改進的方法計算出所有輪廓點曲率后,求出局部極大值點,并剔除曲率小于閾值T的點。自適應(yīng)閾值T的求解方法如下:
其中,K(n)為曲率大于0的輪廓點的曲率;n為曲率大于0的輪廓點的個數(shù)。
為了驗證較大步長的曲率閾值法相對CSS算法中步驟(3)的改進效果,分別做了四組對比實驗。圖2是兩種方法對圓盤工件輪廓初步進行角點檢測的結(jié)果,輪廓圖像大小為329×325。本文算法中尺度取1.5,高斯模板長度為5,步長k取10。根據(jù)文獻[5],將CSS算法中尺度取4,并根據(jù)實驗令閾值t取0.35。從初步處理的結(jié)果可以看出本文算法保留了所有的真實角點,并把偽角點都集中在曲率較大的圓弧上。而CSS算法是在高尺度下進行,在初步處理時就已經(jīng)漏檢了部分真實角點。
(a)本文檢測結(jié)果 (b)CSS檢測結(jié)果
圖3是兩種方法對飛機輪廓初步進行角點檢測的結(jié)果,輪廓圖像大小為1026×885。本文算法中尺度取1,高斯模板長度為5,步長k取10。CSS算法中尺度取4,閾值t取0.36。由初步檢測結(jié)果可以看出本文算法保留了所有的真實角點,而且產(chǎn)生的偽角點較少,而CSS算法漏檢了部分真實角點。
(a)本文檢測結(jié)果 (b)CSS檢測結(jié)果
圖4是兩種方法對型材輪廓1初步進行角點檢測的結(jié)果,輪廓圖像大小為352×465。本文算法中尺度取1,高斯模板長度為5,步長k取10。CSS算法中尺度取4,閾值t取0.3。從初步檢測結(jié)果可以看出本文算法保留了所有的真實角點,并把多數(shù)偽角點集中在曲率較大的圓弧上,而CSS算法漏檢了部分真實角點。
(a)本文檢測結(jié)果 (b)CSS檢測結(jié)果
圖5是兩種方法對型材輪廓2初步進行角點檢測的結(jié)果,廓圖像大小為777×583。本文算法中尺度取1.5,高斯模板長度為5,步長k取10。CSS算法中尺度取4,閾值t取0.36。由初步檢測的結(jié)果可以看出本文算法保留了所有真實角點,并把多數(shù)偽角點集中在曲率較大的圓弧上,而CSS算法漏檢了部分真實角點。
(a)本文檢測結(jié)果 (b)CSS檢測結(jié)果
通過對以上實驗結(jié)果進行分析可以看出,CSS算法在初步檢測時已經(jīng)開始漏檢真實角點。而文中算法能夠保留所有真實角點,剔除大部分直線上的突變點,并將多數(shù)偽角點集中在曲率較大的圓弧上,這些偽角點可以通過后文的方法進行剔除。
1.2合并微小圖元
通過采用較大步長的曲率閾值法對圖像進行處理后,剔除了大量直線上的偽角點。但是圓弧上存在很多偽角點,而且這些偽角點之間像素個數(shù)很少,部分呈直線分布,很容易誤判圓弧屬性,難以采用數(shù)值計算的方法直接剔除這類偽角點。
針對這個問題,先對輪廓上的微小圖元進行合并,剔除圓弧上的部分偽角點,使得圓弧上角點之間像素個數(shù)增加,突出圓弧屬性。合并方法如下:計算所有相鄰角點之間輪廓點的個數(shù)Ni,并設(shè)定閾值T1,文中T1取15,如果某個角點與前后相鄰的兩個角點之間輪廓點的個數(shù)滿足:
那么,把這個角點前后兩個圖元看做微小圖元,合并相鄰圖元,并剔除這個角點。這種方法能夠很好地剔除圖3中圓弧上大多數(shù)偽角點,但是同時也可能會剔除圖4中圓弧與直線連接處的真實角點。
圖6 角點分布圖
圖7 角點分布圖
1.3圖元分割與融合
合并微小圖元后,增強了角點之間的圖元屬性,但是也可能會因此丟失真實角點,而且全局自適應(yīng)閾值的設(shè)定可能還會導(dǎo)致一些偽角點未能被剔除掉,采用圖元分割和融合的方法[9]可以很好地解決這個問題。
在進行微小圖元合并后,采用投影高度法[8]能夠更準確地判斷相鄰角點之間的圖元是圓弧還是直線。得到圖元屬性后,通過圖元分割與融合的方法[9]能夠剔除直線和圓弧上的偽角點,增添圖元之間的真實角點,并重新定位角點,檢測結(jié)果準確率高。如圖8所示,通過圖元分割和融合,可以剔除直線上的偽角點b、c、d、e和圓弧上的偽角點f、g、h,并增選直線與圓弧連接處的角點j、k。
(a)圖元分割與融合前
(b)圖元分割與融合后
為了驗證本文算法,繼續(xù)對1.1節(jié)中的四幅圖像進行處理,并與CCS算法處理的最終結(jié)果進行對比驗證。在對這四幅圖像進行處理時,本文算法所取參數(shù)不變,與1.1節(jié)中取值相同,CSS算法中步驟(3)所取參數(shù)值不變,步驟(4)中尺度σ取1。圖9是兩種方法對工件輪廓進行角點檢測的結(jié)果,表1為對應(yīng)的數(shù)據(jù)統(tǒng)計表,本文方法只漏檢了1個角點,且沒有錯誤角點,而CSS檢測方法漏檢和誤檢了多個直線和圓弧連接處的角點,檢測效果明顯不如本文方法;圖10是兩種方法對飛機輪廓進行角點檢測的結(jié)果,表2為對應(yīng)的數(shù)據(jù)統(tǒng)計表,本文方法沒有漏檢和誤檢真實角點,而CSS方法漏檢了4個角點,誤檢了1個角點;圖11是兩種方法對型材輪廓1進行角點檢測的結(jié)果,表3為對應(yīng)的數(shù)據(jù)統(tǒng)計表,CSS檢測方法漏檢了直線與圓弧連接處的角點,比本文方法漏檢的角點多2個,錯誤角點也比本文方法多1個;圖12是兩種方法對型材輪廓2進行角點檢測的結(jié)果,表4為對應(yīng)的數(shù)據(jù)統(tǒng)計表,本文方法沒有漏檢角點,CSS檢測方法漏檢了3個角點,且CSS檢測方法檢測的錯誤角點也比本文方法多1個。
(a)本文方法 (b)CSS檢測方法
(a)本文方法 (b)CSS檢測方法
(a)本文方法 (b)CSS檢測方法
(a)本文方法 (b)CSS檢測方法
檢測方法準確角點漏檢角點偽角點正確率/%錯誤率/%本文方法351097.20CSS檢測297574.414.7
表2 飛機輪廓角點檢測結(jié)果對比(標(biāo)準角點36個)
表3 型材輪廓1角點檢測結(jié)果對比(標(biāo)準角點15個)
表4 型材輪廓2角點檢測結(jié)果對比(標(biāo)準角點36個)
由以上四組對比實驗的結(jié)果可以看出,本文方法比CSS檢測方法的準確性更高。CCS算法對直線與直線連接處角點的檢測效果較好,但是對于步驟(3)中產(chǎn)生的部分偽角點沒有做出很好地處理,當(dāng)直線與圓弧連接處很平滑時,角點檢測的效果明顯不如本文算法。
針對CSS角點檢測算法的不足,在低尺度下采用較大步長的曲率閾值法剔除小曲率區(qū)域的偽角點,再合并微小圖元剔除圓弧上的偽角點,并結(jié)合投影高度法判斷圖元屬性,對圖元進行分割和融合,進而提高了檢測精度。通過實驗驗證了本文算法的有效性,并且角點檢測效果優(yōu)于CSS算法,本文算法在處理由直線和圓弧構(gòu)成的輪廓時,角點檢測的準確率高,錯誤率低,在工件截面幾何尺寸測量方面具有一定的應(yīng)用價值。
[1] 盧瑜,郝興文,王永俊.Moravec和Harris角點檢測方法比較研究[J].計算機技術(shù)與發(fā)展,2011,21(6):95-97.
[2] Harris C,Stephens M.A combined corner and edge detect-or[C].In Alvey Vision Conference,Manchester,UK,1988:147-151.
[3] Smith S,Brady M.SUSAN-A new approach to low-level im-age processing[J].International Journal of Computer Vision,1997,23(1):45-48.
[4] 曾接賢,李煒燁.曲率尺度空間也鏈碼方向統(tǒng)計的角點檢測[J].中國圖象圖形學(xué)報,2014,19(2):234-242.
[5] Mokhtarion F,Suomela R J.Robust image corner detection t-hrough curvature scale space[J].IEEE.Transactions on Pattern Analysis and Machine Intelligence,1998,20(12):1376-1378.
[6] He X C,Yung N H C.Corner detector based on global an-d local curvature properties[J].Optical Engineering,2008,47(5):1-12.
[7] Zhang X H,Lei M,Yang D,et al.Multi-scale curvature scale space[J].Pattern Recognition Letters,2007,28(5):545-554.
[8] 伍濟鋼.薄片零件尺寸機器視覺檢測系統(tǒng)關(guān)鍵技術(shù)研究[D].武漢:華中科技大學(xué),2008.
[9] Sheu H T,Hu W C.Multiprimitive segmentation of plan-ar curves-A two-level breakpoint classification and tuning a-pproach [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1999,21(8):791-797.
[10] 吳維勇,王英惠, 周晏.平面輪廓識別與分段技術(shù)的研究與快速實現(xiàn)[J].工程圖學(xué)學(xué)報,2003(4):14-19.
(編輯李秀敏)
An Improved Corner Detection Method for Contour Curve
CHEN Ji-hua,LI Xiang, LI Dong
(School of Physical Engineering,Zhengzhou University, Zhengzhou 450001,China)
Corner feature detection is very important in the research field of image processing,the traditional Curvature Scale-space(CSS)corner detection may cause leakage or even fake detection of corner when different scales are selected.In this paper an improved corner detection method of contour curve is proposed to improve the detection accuracy.Firstly the larger step curvature threshold method is applied to remove fake corners in small curvature region in low scale.Then fake corners are concentrated in the arc region with larger curvature,and minimal primitives are merged to remove fake corners on the arc.Lastly,the projection height method is applied in the judgment of the properties of the primitives and the separation and fusion of primitives.The results show that the improved detection algorithm can greatly improve the detection accuracy when dealing with the corner points of contour curve made up by lines and arcs.
corner detection;contour curve;curvature scale space;segmentation;adaptive threshold
1001-2265(2016)07-0114-04DOI:10.13462/j.cnki.mmtamt.2016.07.033
2015-09-01;
2015-10-08
陳繼華(1972 —),男,四川大竹人,鄭州大學(xué)副教授,博士,研究方向為大型工業(yè)產(chǎn)品尺寸檢測方法及相關(guān)計算理論、視覺測量技術(shù),(E-mail)zzucsjl@163.com。
TH165;TG506
A