摘 要: 為了提高刀具預(yù)調(diào)測量儀的檢測精度,,提出了一種改進(jìn)的圖像快速亞像素邊緣檢測算法——基于正交多項式擬合的亞像素邊緣檢測算法。首先,,利用傳統(tǒng)的Sobel算子完成邊緣點整像素級別的檢測,,確定邊緣的主體區(qū)域;然后,,過邊緣點沿邊緣法線方向拓展像素,,取一系列像素點并計算其灰度值;最后根據(jù)像素點灰度分布的數(shù)學(xué)特征,,利用正交多項式和最小二乘法求擬合函數(shù),,通過擬合曲線確定圖像邊緣點的精確位置,實現(xiàn)圖像亞像素邊緣檢測,。實驗證明,,該算法運行時間短,約為0.63 s,;檢測精度高,,可達(dá)0.1 pixels。
關(guān)鍵詞: 邊緣檢測,; 亞像素,; Sobel;正交多項式,; 曲線擬合
0 引言
在機械加工時,,刀具的幾何參數(shù)對數(shù)控機床的生產(chǎn)效率和加工質(zhì)量有著重大影響,因此,,刀具必須在使用前明確其精確參數(shù),。目前,國內(nèi)常用的刀具測量方法,,如機械式測量法,、光學(xué)投影法等已無法滿足現(xiàn)代工業(yè)生產(chǎn)的要求,以圖像處理為核心的圖像測量技術(shù)具有高精度,、高效率,、非接觸和自動化程度高等優(yōu)點,能實現(xiàn)對刀具參數(shù)的精確檢測,。圖像測量技術(shù)的實質(zhì)是提取刀具精確的輪廓邊緣,,邊緣檢測是圖像處理的基礎(chǔ)和關(guān)鍵。傳統(tǒng)的邊緣檢測算法,如Sobel算子,、Canny算子,、LOG算子等雖然其形式簡單,易實現(xiàn),,速度快,,但檢測精度不理想,僅能達(dá)到整像素級別,,且對噪聲特別敏感,,常產(chǎn)生偽邊緣。欲提高檢測系統(tǒng)的精度,,通過優(yōu)化算法的軟處理比提高系統(tǒng)硬件分辨率的硬處理更加實用,、有效[1]。
提出一種改進(jìn)的圖像亞像素邊緣檢測算法,,利用傳統(tǒng)的Sobel算子和五次正交多項式最小二乘擬合原理實現(xiàn)邊緣精定位,。
1亞像素邊緣檢測算法理論
1.1邊緣主體區(qū)域粗定位
Sobel算子既能確定邊緣點的位置和方向,還能根據(jù)像素點上下,、左右鄰點的灰度加權(quán)差,,對噪聲具有平滑作用,能提供較好的圖像邊緣信息,,所以在邊緣主體區(qū)域粗定位時選用Sobel算子,。Sobel算子是一種梯度幅值,其表現(xiàn)形式為:
其中,,M(x,,y)是像素點灰度值,Sx,、Sy分別是邊緣點橫向,、縱向的檢測灰度值。當(dāng)M(x,,y)大于給定的閾值時,,可確定點(x,y)為邊緣點,,并根據(jù)Sx,、Sy判斷梯度方向,=arctan(Sy/Sx),。從圖1可以看出,,Sobel算子對邊緣主體區(qū)域粗定位有很好的效果[2]。
1.2 邊緣亞像素精定位
CCD是光強積分器件,,在CCD采樣過程中,,物空間突變的灰度在光學(xué)成像后會成為漸變的形式,。如圖2(a)所示,圖像兩側(cè)分別表示背景和物體各自內(nèi)部的灰度變化情況,,兩者之間表示圖像邊緣附近的灰度變化情況,;如圖2(b)所示,,沿邊緣法線方向,,物體與背景內(nèi)部區(qū)域的灰度差分值微小,而邊緣附近的灰度差分最大,,這就是經(jīng)典邊緣提取的理論,。
以上述理論為基礎(chǔ),對過粗定位所得邊緣點,,沿邊緣法線方向拓展像素,,得到一系列過邊緣線的像素點,求得這些點對應(yīng)的灰度值,,然后根據(jù)這些點灰度分布的數(shù)學(xué)特征,,利用五次正交多項式最小二乘法擬合原理求得擬合函數(shù)與曲線,再根據(jù)擬合曲線確定圖像邊緣亞像素點的位置,,從而實現(xiàn)邊緣點的亞像素精確定位,,這就是本文改進(jìn)的亞像素邊緣檢測算法的原理。
1.2.1 正交多項式擬合函數(shù)
在實際應(yīng)用中,,要在保證檢測精度的前提下盡可能地縮短運算時間,,從而提高運算效率,因此選擇適當(dāng)數(shù)量的邊緣點是十分重要的,。選點過多會增加運算時間,,降低效率;選點過少會降低檢測精度,,定位不準(zhǔn),。綜合以上因素,本課題選取5個像素點,,橫坐標(biāo)x代表像素值,,其取值分別設(shè)為-2、-1,、0,、1、2,,其縱坐標(biāo)y代表各點對應(yīng)的灰度值,。根據(jù)施密特正交化公式[3]可得正交基函數(shù),如式1所示,。
為了能取得較理想的擬合效果,,選取[G0(x),,G1(x),G2(x),,G3(x),,G4(x),G5(x)]為基底進(jìn)行擬合,,擬合函數(shù)方程為:
F5(x)=a0·G0(x)+a1·G1(x)+a2·G2(x)+a3·G3(x)+a4·G4(x)+a5·G5(x)(2)
其中,,a0、a1,、a2,、a3、a4,、a5是五次正交多項式函數(shù)的未知系數(shù)[4],。
假設(shè)任一坐標(biāo)點(xi,yi)的橫,、縱坐標(biāo)隨機誤差分別為pi,、qi,則實測點坐標(biāo)到擬合曲線的距離殘差為:
全部點到曲線的距離殘差平方和為:
求取式(4)最小值min(S)時,,根據(jù)正交多項式最小二乘法擬合原理推導(dǎo)得系數(shù)為:
直接使用式(5)求多項式系數(shù)計算量大,,較困難,且不能直觀體現(xiàn)各變量之間的內(nèi)在規(guī)律與聯(lián)系,,因此對公式進(jìn)行變換轉(zhuǎn)化為如下更直觀的矩陣表達(dá)式:
由式(6)可求得多項式系數(shù)值:
將式(7)代入式(2)得擬合函數(shù)F5(x):
1.2.2 計算圖像邊緣位置
根據(jù)亞像素邊緣檢測原理可知,,擬合函數(shù)表達(dá)式F5(x)是以點的灰度值為基本元素求得的。從數(shù)學(xué)意義上來講,,F(xiàn)5(x)描述了圖像邊緣線的情況,,而函數(shù)一階微分
則描述了邊緣線變化程度的情況,即點的灰度值變化率的情況,。那么,,函數(shù)二階微分
則描述了點的灰度值變化率的變化情況。
由以上分析可知,,亞像素點的位置就是點的灰度值變化率變化最大的位置,,依據(jù)極值求解條件,將函數(shù)F5(x)對x求二階微分并令其等于零,,即
求得x的數(shù)值即是亞像素點的位置,。
2 亞像素邊緣檢測算法的實驗
利用Visual C++6.0語言在MATLAB V201b2軟件平臺編寫Sobel算子和本文改進(jìn)的算法程序?qū)崿F(xiàn)對圖像的數(shù)字處理。
實驗1 算法抗噪性能研究
圖像信噪比等于信號與噪聲的功率譜之比,。由此可知,,邊緣點的檢測精度與噪聲成負(fù)相關(guān)關(guān)系。分別用兩種算法處理圖像,,效果如圖3所示,??梢钥闯觯疚乃惴ㄅcSobel算子相比同樣具有完整且較細(xì)的邊緣,,但前者生成的噪點明顯更少,,因而具有更好的抗噪聲性能。
實驗2 算法檢測精度研究[5]
制作了尺寸為100×100的二值化圖像,,如圖4所示,。白色矩形所在區(qū)域的灰度值為0,其余背景灰度值為255,,底邊在圖像第20行,、第20~80列位置上,。首先提取了部分邊緣點理論坐標(biāo)值,,再使用改進(jìn)的算法處理圖像并提取了相應(yīng)邊緣點的亞像素坐標(biāo)檢測值,如表1所示,。通過分析與計算可知改進(jìn)算法的檢測精度,。
以單個像素點坐標(biāo)理論值與檢測值的坐標(biāo)差值作為算法偏差,經(jīng)計算可得其標(biāo)準(zhǔn)偏差約為0.1 pixels,。
實驗3 算法時間研究
取尺寸為1 600×1 455的同一圖像在同一實驗平臺進(jìn)行多次測試,,得到多組運行時間,如表2所示,。為了提高數(shù)據(jù)的可靠性,,首先從數(shù)據(jù)中去掉一個最小值和一個最大值,再求取其他組的平均值作為運行時間,。經(jīng)計算,,Sobel處理時間約為0.34 s,本文算法的處理時間約為0.63 s,。
3 結(jié)束語
從理論分析與仿真實驗可以看出,,本文改進(jìn)的亞像素邊緣檢測算法具有抗噪性能強、檢測精度高,、運行速度快的優(yōu)點,,主要適用于對處理速度和檢測精度要求較高的機器視覺檢測系統(tǒng),而且已試用于數(shù)控機床刀具預(yù)調(diào)測量儀,,極大地提高了數(shù)控機床的效能,,運行穩(wěn)定、可靠,。
參考文獻(xiàn)
[1] 李東光,,景芳盛,張國雄.計算機視覺二維刀具預(yù)調(diào)測量儀的研究[J].制造技術(shù)與機床,,2001(5):20-22.
[2] 劉力雙,,張銚,,盧慧卿,等.圖像的快速亞像素邊緣檢測算法[J].光電子·激光,,2005,,16(8):993-996.
[3] 王新民,術(shù)洪亮.工程數(shù)學(xué)計算方法[M].北京:高等教育出版社,,2005.
[4] 徐中宇,,寧闖,周亞洲.一種快速亞像素邊緣檢測算法[J].吉林大學(xué)學(xué)報(理學(xué)版),,2014,,52(2):308-313.
[5] PERKINS W A. INSPECTOR: a computer vision system which Learn to inspect parts[C]. IEEE Trans. on Pattern Analysis and Machine Intelligence,PAMI-5,,1983:584-592.