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