金兆楠
(中北大學(xué),山西太原030051)
攝像機(jī)標(biāo)定是視覺測量的重要步驟。它需借助靶標(biāo)的標(biāo)定特征點(diǎn)在世界坐標(biāo)系和圖像坐標(biāo)系中的位置特征來求解攝像機(jī)的模型參數(shù)用于后續(xù)的測量計(jì)算。因此,工業(yè)上為了提高測量精度,對圓特征物體的測量需使用與其外形接近的圓陣列靶標(biāo)對其進(jìn)行標(biāo)定[1]。在提取標(biāo)定特征點(diǎn)時(shí),傳統(tǒng)邊緣檢測算子只能定位到像素級精度,比如Robert算子、Sobel算子和Canny算子等,并且這些微分算子對噪聲非常敏感,常會(huì)產(chǎn)生一些偽邊緣,因此定位精度較差[2,3]。矩是基于積分的運(yùn)算,對噪聲具有不敏感的穩(wěn)定特征,并且其定位精度更高。由于圓陣列靶標(biāo)中的圓形經(jīng)透鏡成像后為類橢圓圖像,針對橢圓圖像的中心定位精度問題,本文提出基于Canny算法和Zernike矩(7×7模板系數(shù))相結(jié)合的類橢圓中心亞像素定位方法。
Zernike矩是一種正交復(fù)數(shù)矩,其定位精度高,對噪聲不敏感,并且具有旋轉(zhuǎn)不變性的特點(diǎn)[4,5]。其邊緣檢測原理是:在單位圓上建立理想階躍邊緣模型如圖1所示,圖中直線被單位圓包含的部分代表理想邊緣,圓內(nèi)L兩側(cè)的灰度分別為h和h+k。l是圓盤中心到邊緣的垂直距離,l∈[-1,1];φ 為 l和 x軸的夾角,φ∈[-π/2,π/2]。
圖1 亞像素邊緣檢測理想模型圖
Zernike矩的核心是定義在極坐標(biāo)空間的內(nèi)部單位圓的Zernike多項(xiàng)式的集合,二維圖像密度函數(shù)f(x,y)的Zernike矩可以表示為:
其中* 表示復(fù)共軛,Vnm(ρ,θ)是積分核函數(shù),m、n為整數(shù)且滿足以下條件:n≥0,n-|m|為偶數(shù)且n≥|m|。以極坐標(biāo)的形式表示如下:
根據(jù)復(fù)數(shù)運(yùn)算規(guī)則,將圖像順時(shí)針旋轉(zhuǎn)角度φ后的Zernike矩Z'nm與旋轉(zhuǎn)前Zernike矩Znm具有如下關(guān)系:
式(3)可以看出,Znm和Z'nm的幅值相等,只是相角發(fā)生改變。圖1(b)中圖像邊緣垂直于x軸,根據(jù)矩計(jì)算理論,則有:
式中f'(x,y)表示旋轉(zhuǎn)后的圖像,由于上式左側(cè)正是矩Z'11的虛部,所以將式(3)虛部展開,有:
由此可得出圖像旋轉(zhuǎn)角度:
根據(jù)旋轉(zhuǎn)不變性得出,旋轉(zhuǎn)后的Zernike矩計(jì)算如下:
根據(jù)Zernike矩的定義,可以得到其他理想邊緣模型參數(shù):
在進(jìn)行Zernike矩算子的運(yùn)算過程中,可采用N×N模板,雖然Zernike矩模板數(shù)N值越大,亞像素邊緣定位精度越高但是計(jì)算量越大[6],因此本文選取Zernike矩算子的7×7模板進(jìn)行亞像素邊緣定位,如圖2所示。
圖2 Zernike7×7模板
應(yīng)用Zernike矩算子的7×7模板將類橢圓的亞像素邊緣數(shù)據(jù)計(jì)算出來之后,將這些數(shù)據(jù)對橢圓方程進(jìn)行最小二乘擬合,由方程系數(shù)可直接求出標(biāo)記中心的精確位置。
設(shè)類橢圓邊緣坐標(biāo)數(shù)據(jù)為:Mc=[(x1,y1),(x2,y2)…(xk,yk)…(xn,yn)].
設(shè)橢圓的一般方程可寫為:
其中橢圓圓心坐標(biāo):
根據(jù)最小二乘法原理,建立目標(biāo)函數(shù):
求取Q為極小值時(shí)的最小二乘解來確定參數(shù)A,B,C,D,E,由極值原理,預(yù)使Q最小,必然滿足:
取初值:
采用Levenberg-Marquardt非線性優(yōu)化算法[7]對式(13)中目標(biāo)函數(shù)進(jìn)行非線性遞歸搜索,即可求出橢圓中心(x0,y0),從而可以實(shí)現(xiàn)類橢圓中心的亞像素定位。
為了驗(yàn)證方法的有效性和檢測精度,建立視覺測量系統(tǒng)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)裝置包括:125萬像素工業(yè)CCD高清攝像機(jī)、光刻圓特征平面靶標(biāo)和計(jì)算機(jī)等。首先,應(yīng)用Canny算子提取類橢圓的像素級邊緣,如圖3(a)所示,然后采用Zernike矩提取亞像素邊緣,見圖3(b)所示。經(jīng)過最小二乘橢圓擬合法得到類橢圓中心坐標(biāo),標(biāo)定模板圖像和特征點(diǎn)坐標(biāo)標(biāo)記后的模板圖像分別如圖4(a)和(b)所示。
圖3 像素級和亞像素級邊緣提取圖像
圖4 標(biāo)定圖像和特征點(diǎn)標(biāo)記圖像
根據(jù)圖4(b)得出的圓陣列靶標(biāo)特征點(diǎn)圖像坐標(biāo)如表1所示。(由于篇幅關(guān)系只顯示部分)
表1 圓陣列靶標(biāo)特征點(diǎn)圖像坐標(biāo)位置 (單位:mm)
根據(jù)圓陣列靶標(biāo)特征點(diǎn)圖像坐標(biāo)求出每個(gè)中心坐標(biāo)對應(yīng)的算術(shù)平均值,并計(jì)算每幅圖像中心坐標(biāo)(x,y)與平均值的位置偏差。由Bessel公式計(jì)算每個(gè)中心特征點(diǎn)的標(biāo)準(zhǔn)偏差σ,如表2所示(部分中心坐標(biāo)的標(biāo)準(zhǔn)偏差)。
表2 中心點(diǎn)坐標(biāo)的標(biāo)準(zhǔn)偏差 (單位:像素)
由表2可以看出,本文提出的使用Canny算子進(jìn)行粗定位和Zernike矩亞像素級定位的標(biāo)定特征點(diǎn)獲取方法具有良好的可重復(fù)性,且定位精度在0.1個(gè)像素。
因此,將Zernike矩用于圓陣列靶標(biāo)的亞像素邊緣提取,再擬合求取橢圓中心坐標(biāo),可以很大幅度的提高橢圓中心的定位精度,從而滿足攝像機(jī)標(biāo)定的高精度要求。
本文研究了基于Zernike矩亞像素邊緣定位和橢圓中心亞像素提取的方法,提出了首先利用Canny算子進(jìn)行像素級定位,然后利用Zernike矩進(jìn)行亞像素精確定位的兩步定位方法,采用最小二乘橢圓擬合法求取類橢圓中心用于圓陣列靶標(biāo)標(biāo)定特征點(diǎn)的精確提取。實(shí)驗(yàn)結(jié)果表明,該方法具有較高的精度和穩(wěn)定性。
[1]郭晨霞.光纖環(huán)繞制長度實(shí)時(shí)測量技術(shù)[D].太原:中北大學(xué),2014.
[2]丁興號,鄧善熙,楊永躍,等.基于空間矩和Zernike矩的亞像素邊緣檢測[J].應(yīng)用科學(xué)學(xué)報(bào),2004,22(2):191-194.
[3]祝宏,曾祥進(jìn).Zernike矩和最小二乘橢圓擬合的亞像素邊緣提?。跩].計(jì)算機(jī)工程與應(yīng)用,2011,47(17):148-150.
[4]劉金頌,原思聰,江祥奎.Zernike矩和曲率的圓心中心亞像素定位[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(29):153-155.
[5]Ghosal S,Mehrotra R.Orthogonal Moment Operators for Sub - pixel Edge Detection[J].Pettern Recognition,1993,26(2):295 -306.
[6]高世一,趙明揚(yáng),張雷,等.基于Zernike正交矩的圖像亞像素邊緣檢測算法改進(jìn)[J].自動(dòng)化學(xué)報(bào),2008,34(9):1163-1168.
[7]More JJ.The Levenberg - marquardt Algorithm,Implementation and Theory[M].Numeriacal Analysis,ed.Watson GA,Lecture Notes in Mathematics 630,Springer-Verlag,Berlin,1977:105 -116.
[8]薛婷,孫梅,張濤,等.類橢圓特征自動(dòng)識別及亞像素提取的完整實(shí)現(xiàn)[J].光電子·激光,2008,19(8):1076-1078.