翟敬梅,唐會華,鄒焱飚
(華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣東 廣州 510641)
面向數(shù)控雕刻的圖像角點檢測研究
翟敬梅,唐會華,鄒焱飚
(華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣東 廣州 510641)
基于圖像處理的數(shù)控雕刻中,角點檢測是圖像處理的重要環(huán)節(jié),該文通過相對鏈碼和絕對鏈碼引入三點鏈碼和與三點鏈碼差判定角點,提出鄰域最大值和相鄰角點斜率差值辨別偽角點的方法。通過剪紙圖像對算法進(jìn)行仿真并與其他算法比較,結(jié)果表明該算法檢測到的真實角點占檢測角點的比率大幅提高。
數(shù)控雕刻;角點檢測;鏈碼;偽角點
傳統(tǒng)手工雕刻勞動強(qiáng)度大,耗費時間長,成品率低,無法批量生產(chǎn),而且只有技藝高超的人才能雕刻出完美的藝術(shù)品。具有圖像處理的數(shù)控雕刻系統(tǒng)很好地解決了這一問題,其只需獲取雕刻工藝品的原始圖像,經(jīng)過一系列圖像處理操作,通過數(shù)控設(shè)備加工出來,從而大大提高產(chǎn)品的質(zhì)量和效率。
在雕刻系統(tǒng)圖像處理中,角點檢測是很重要的一環(huán)。角點是圖像的重要局部特征[1],如對角點處理不當(dāng),會使圖像的棱角模糊不清。目前,許多研究者對角點做了研究。王崴等[2]對Harris算法進(jìn)行了改進(jìn),改進(jìn)后的算法能夠準(zhǔn)確定位T型和斜T型角點,并且提高了角點的檢測速度,但該算法沒有考慮T型和斜T型之外的角點檢測情況。Ryu J.B.等[3]指出Harris算法對T、Y、X型角點的定位精度差,提出運用Log-log對數(shù)變換提高角點的定位精度。趙萬金等[4]針對Harris算法的不足,提出了一種自適應(yīng)的改進(jìn)算法,經(jīng)改進(jìn)后算法檢測到的角點分布更加均勻。Awrangjeb等[5]提出多曲率積弦到點距離累加的角點檢測算法,該算法能減少噪聲對角點檢測的影響,但易去除角度較大或較小的真實角點。汪劍等[6]
用Freeman鏈碼表示輪廓,根據(jù)差別碼判定角點,并用曲率極大值法去除偽角點,取得了一定效果,但該方法所需設(shè)置的參數(shù)過多,針對不同的參數(shù)設(shè)置,檢測結(jié)果會發(fā)生變化。
本研究采用鏈碼表示圖像輪廓,引入相對鏈碼和絕對鏈碼計算輪廓像素點的三點鏈碼和與三點鏈碼差,三點鏈碼和表示邊界輪廓特征,三點鏈碼差判定輪廓中的角點。為進(jìn)一步提高角點檢測的正確率,提出鄰域最大值法和斜率差值法辨別偽角點并進(jìn)行去除。
1.1 基本概念
八鄰域鏈碼的定義如圖1所示。其中,P表示輪廓中的某個像素點,0~7為該像素點在不同方向的鏈碼值。運用輪廓跟蹤算法[7-9]可將輪廓用鏈碼表示。圖2所示的輪廓(黑色方框代表輪廓中的像素點),從點A開始按順時針方向移動時,輪廓的邊界鏈碼表示為L=1701765554322。
相對鏈碼為當(dāng)前點與前一點的鏈碼值之差,當(dāng)前點與前一點的鏈碼差大于4時,相對鏈碼值為其差值減8。絕對鏈碼為相對鏈碼從起始點開始的累加值,設(shè)起始點的絕對鏈碼值為0。當(dāng)絕對鏈碼從起始點繞輪廓一周后,由于相對鏈碼的累加,其值將增加8,即:
式中:A(N)——輪廓末端點的絕對鏈碼值;
A(1)——輪廓起始點的鏈碼值。
相對鏈碼和絕對鏈碼計算如下:
設(shè)C(i)和C(i-1)分別為像素點i和i-1的鏈碼,R(i)為相對鏈碼,A(i)和A(i-1)為絕對鏈碼,則
1.2 三點鏈碼和與三點鏈碼差計算
三點鏈碼和是指當(dāng)前點與前兩點的絕對鏈碼之和,在輪廓邊界的局部可以將其近似看作一條直線,表示該點的斜率,其計算如式(3):
對封閉輪廓,計算起始兩點的三點鏈碼和時,部分絕對鏈碼值要從末端取,而末端的絕對值比起始點的大8,具體計算如式(4):
根據(jù)式(4)得到起始點的三點鏈碼和不一定等于0,為了統(tǒng)一,在計算每個邊界點的三點鏈碼和時,將所有點的三點鏈碼和均減去起始點的三點鏈碼和,得到從0開始的三點鏈碼和序列。
三點鏈碼差是指當(dāng)前點鄰域內(nèi)的三點鏈碼和之差,即:
同理,對封閉輪廓,在計算起始點和末端兩點的三點鏈碼和之差時,部分?jǐn)?shù)據(jù)要在末端和起始點取,即:
圖3為五角星輪廓,圖4(a)和圖4(b)為五角星輪廓對應(yīng)的三點鏈碼和與三點鏈碼差曲線圖。
三點鏈碼和將輪廓分成24等分,而鏈碼只將輪廓分成8等分。因此,用三點鏈碼和可以更好地表示邊界的輪廓特征。在鏈碼和曲線上,直線段的部分對應(yīng)邊界上的直線,傾斜的直線對應(yīng)邊界上的斜線或圓弧,當(dāng)鏈碼和曲線對應(yīng)的是圓弧時,曲線上的傾角越小,圓弧的半徑就越大,反之則越小。
三點鏈碼差表示兩個切線方向的差值,是一個與曲率成正比的量[10]。三點鏈碼差為1,表示兩切線方向的夾角為15°[11]。三點鏈碼差曲線中的極值點即為圖像輪廓的角點。當(dāng)邊界輪廓沿著逆時針走向時,差值為正的點為凸角點,差值為負(fù)的點為凹角點。
1.3 基于鄰域最大值和斜率差值的偽角點辨別方法
角點檢測中,圖像中一些非真實的角點會被誤檢測為角點,稱為偽角點。本文對偽角點的產(chǎn)生原因進(jìn)行了研究,根據(jù)分析結(jié)果進(jìn)行了如下處理。
(1)偽角點出現(xiàn)在真實角點的鄰域。對這類偽角點,在檢測到某點為角點時,檢測其鄰域內(nèi)N個像素點(N一般取3~8)是否還有其他角點,若存在其他角點,則取這N+1個像素中三點鏈碼差的絕對值最大的那一點為真實角點,然后刪除其他角點;否則保留該點為真實角點并進(jìn)行下一角點的檢測。
(2)偽角點出現(xiàn)在近似直線的輪廓線段中。對這類偽角點,只需計算相鄰兩角點與該點的斜率,然后根據(jù)斜率差值的絕對值判定該點是否為角點,若斜率差值較小,則該點為偽角點并刪除,否則保留該點為真實角點。計算過程如下:
設(shè)(xi-1,yi-1)、(xi,yi)、(xi+1,yi+1)分別為像素點i-1、i、i+1的坐標(biāo)值,ki、ki+1為像素點i-1到i、i到i+1的斜率,ki和ki+1的計算如式(7):
對此類偽角點,判定依據(jù)為
式中,δ為一常數(shù),其取值為0~0.2。若則像素點i-1、i、i+1在同一直線上,像素點i為偽角點,將其去除并保留i-1和i+1兩個角點;否則,i為真實角點需保存。
在封閉輪廓中,對起始和末端角點進(jìn)行偽角點檢測時,其坐標(biāo)值應(yīng)分別從末端和起始點取。設(shè)(x1、y1)、(xm、ym)分別為某輪廓角點序列的起始和末端坐標(biāo)值,則起始角點的斜率計算如式(9):
末端角點的斜率計算如式(10):
1.4 角點檢測算法
角點判定方法為
其中u和ν分別代表上下閾值,u值為負(fù),ν值為正。u和ν的大小對角點檢測的效果有直接影響。u、ν的值越大,表示對角點的判定越嚴(yán)格,檢測到的角點越少;反之,u、ν的值越小,檢測到的角點越多,甚至有一些不是角點的點也會被檢測為角點。因此,對于u和ν的值一般要根據(jù)具體情況進(jìn)行調(diào)整。通常情況下,u、ν的絕對值以1~3為宜。
綜合分析,角點檢測算法的總流程如圖5所示。
本研究以某個剪紙圖像輪廓(實際角點數(shù)為144個)為例。取角點檢測的閾值u=-2,ν=2,N=5,δ=0.1,將其與harris(取harris算法中矩陣的兩特征值的比為0.09)、Freeman鏈碼算法比較,檢測結(jié)果如圖6。
仿真結(jié)果對比如表1所示。
從表1可以看出,Harris算法檢測的角點數(shù)為288個,其中真實角點占123個,偽角點數(shù)165個;Freeman鏈碼算法檢測的角點數(shù)為664個,偽角點數(shù)多達(dá)534個;本算法檢測的角點數(shù)為189個,其中真實角點126個,占檢測角點的66.7%,真實角點的檢測率達(dá)87.5%,檢測效果明顯優(yōu)于傳統(tǒng)兩個角點檢測算法。
針對具有圖像處理的數(shù)控雕刻系統(tǒng)中的角點檢測問題,研究了運用三點鏈碼和與三點鏈碼差檢測圖像輪廓的角點,并首次應(yīng)用鄰域最大值和斜率差值法去除偽角點。仿真結(jié)果表明,本算法計算簡單,穩(wěn)定可靠,可以更有效地檢測出圖像的真實角點。
[1]邵澤明,朱劍英,王化明.基于SUSAN算法的分層快速角點檢測[J].華南理工大學(xué)學(xué)報:自然科學(xué)版,2006,34(7):65-68.
[2]王崴,唐一平,任娟莉,等.一種改進(jìn)的Harris角點提取算法[J].光學(xué)精密工程,2008,16(10):1995-2000.
[3]Ryu J B,Park H H.Log-log scaled harris corner detector[J].Electronicsletters,2010,46(24):1602-1604.
[4]趙萬金,龔聲蓉,劉純平,等.一種自適應(yīng)的Harris角點檢測算法[J].計算機(jī)工程,2008,34(10):212-214.
[5]Awrangjeb M, Lu G.Robust image corner detection based on the chord-to-point distance accumulation technique[J].Multimedia, IEEE Transactions,2008,10(6):1059-1072.
[6]汪劍,皮佑國,劉明友.基于Freeman鏈碼的漢字圖像輪廓曲線拐角點檢測方法[J].模式識別與仿真,2009,28(1):88-92.
[7]劉梅華,汪東,柳惠秋.一種改進(jìn)的輪廓跟蹤算法[J].機(jī)械設(shè)計與制造,2008(5):45-47.
[8]王金川,黃雪梅,郝園.一種改進(jìn)的醫(yī)學(xué)圖像目標(biāo)輪廓跟蹤算法[J].現(xiàn)代制造工程,2012(10):33-36.
[9]陳士金,鄧勇.基于鏈碼的輪廓跟蹤技術(shù)在二值圖像中的應(yīng)用[J].華中理工大學(xué)學(xué)報,1998,26(12):26-28.
[10]陸宗騏,童韜.鏈碼和在邊界形狀分析中的應(yīng)用[J].中國圖像圖形學(xué)報,2002,7(12):1323-1328.
[11]馬寧.基于圖像的數(shù)控雕刻系統(tǒng)研究[D].西安:西安理工大學(xué),2007.
Research on image corner detection oriented to NC engraving
ZHAI Jing-mei,TANG Hui-hua,ZOU Yan-biao
(School of Mechanical and Automotive Engineering,South China University of Technology,Guangzhou 510641,China)
The NC engraving system based on image processing gradually replaces traditional NC engraving.In the NC engraving system,corner detection is an important link.This paper introduces the chain code to express contour,and image corner is detected by using three-chain code sum and three-chain code difference calculated with relative chain codes and absolute chain codes.After that,neighbor maximum and adjacent corner methods were firstly used to eliminate the false corners.Then this paper simulates the algorithm and compares it to other algorithms,the simulation result shows the algorithm has the highest rate of detecting the real corners.
NC engraving;corner detection;chain code;false corner
TP242.2;TP391.411;TP752.1;TP301.6
:A
:1674-5124(2014)04-0094-04
10.11857/j.issn.1674-5124.2014.04.024
2014-02-25;
:2014-04-16
廣東省戰(zhàn)略性新興產(chǎn)業(yè)項目(2011A091101001)廣東省科技計劃項目(2012B090600028)中山市科技計劃項目(201207A002)
翟敬梅(1967-),女,遼寧鞍山市人,教授,博士,主要從事機(jī)器人化自動裝備理論與應(yīng)用研究。