祝文瑾,郭峰林
(武漢輕工大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北武漢 430023)
我國(guó)的陶瓷墻地磚工業(yè)在短短的幾十年時(shí)間里得到迅速的發(fā)展,中國(guó)已然成為陶瓷磚生產(chǎn)大國(guó),但國(guó)內(nèi)墻地磚產(chǎn)品的檢測(cè)技術(shù)和檢測(cè)設(shè)備與陶瓷墻地磚現(xiàn)代化生產(chǎn)工藝相比仍明顯滯后?;跈C(jī)器視覺(jué)的的瓷磚檢測(cè)方法,改變了現(xiàn)有的人工檢測(cè)手段方式精度低,穩(wěn)定性差等問(wèn)題。而相機(jī)標(biāo)定技術(shù)在機(jī)器視覺(jué)檢測(cè)中是必不可少,它是提高系統(tǒng)檢測(cè)精度的關(guān)鍵所在。本文結(jié)合瓷磚檢測(cè)的特點(diǎn)及要求,提出了一種基于平面網(wǎng)格的相機(jī)標(biāo)定方法。
傳統(tǒng)的相機(jī)標(biāo)定方法有直接線性變換方法[1]、Tsai兩步法[2]和 zhang 標(biāo)定方法[3]。直接線性變換法的方便之處在于通過(guò)求解線性方程解得到相機(jī)的參數(shù),但是忽略了攝像機(jī)鏡頭的非線性畸變。Tsai兩步法考慮畸變的影響,并且以直接線性變換方法求得的相機(jī)參數(shù)作為基礎(chǔ),通過(guò)最優(yōu)化算法進(jìn)一步提高標(biāo)定精度。該方法優(yōu)點(diǎn)是考慮鏡頭的徑向畸變影響同時(shí)求解相機(jī)內(nèi)外參數(shù),并且求解過(guò)程是線性的,不足之處在:①在高精度測(cè)量時(shí),要準(zhǔn)確選取優(yōu)化初值;②只考慮了徑向畸變忽略了切向畸變。zhang標(biāo)定方法特點(diǎn)是需要確定模板上點(diǎn)陣的物理坐標(biāo)以及圖像和模板之間的點(diǎn)的匹配。與傳統(tǒng)方法相比zhang標(biāo)定方法對(duì)設(shè)備要求不高,操作簡(jiǎn)單,并且標(biāo)定精度高,缺點(diǎn)是需要使用者熟悉機(jī)器視覺(jué)。瓷磚尺寸檢測(cè)的特點(diǎn)是攝像機(jī)和標(biāo)定板的相對(duì)位置固定,屬于平面尺寸檢測(cè)?;谠撎攸c(diǎn),本文中采用的是基于2D平面靶標(biāo)的標(biāo)定方法,將復(fù)雜的三維空間標(biāo)定簡(jiǎn)化為二維平面標(biāo)定。該方法使用平面矩形網(wǎng)格作為模板圖案,以圖格線條交點(diǎn)作為靶標(biāo)點(diǎn),標(biāo)定裝置易于制作,標(biāo)定方法簡(jiǎn)單易行,完全滿足瓷磚檢測(cè)中對(duì)相機(jī)標(biāo)定方法的要求。
照相機(jī)成像的幾何模型滿足空間透視原理,決定了照相機(jī)圖像上每一點(diǎn)位置和空間相應(yīng)點(diǎn)之間的相互關(guān)系。攝像機(jī)幾何成像各坐標(biāo)系轉(zhuǎn)換關(guān)系如下。
1)圖像物理坐標(biāo)系與圖像像素坐標(biāo)系之間的轉(zhuǎn)換關(guān)系:
式中,(u0,vo)是圖像坐標(biāo)系原點(diǎn)在像素坐標(biāo)系中的坐標(biāo),(x,y)為圖像物理坐標(biāo)系,(u,v)為像素坐標(biāo)系。像素坐標(biāo)系在X方向和Y方向相鄰兩個(gè)像素間的距離分別用dx,dy表示。
2)圖像物理坐標(biāo)系與攝像機(jī)坐標(biāo)系轉(zhuǎn)換關(guān)系如下:
其中f為相機(jī)的焦距,(Xc,Yc,Zc)為一空間點(diǎn) P在相機(jī)坐標(biāo)系中的坐標(biāo)。
3)攝像機(jī)坐標(biāo)系與世界坐標(biāo)系轉(zhuǎn)換關(guān)系如下:
式中,(Xw,Yw,Zw)為空間點(diǎn)P在相機(jī)坐標(biāo)系中的坐標(biāo)。M稱為投影矩陣。R和T是照相機(jī)的外部參數(shù),分別表示從世界坐標(biāo)系到攝像機(jī)坐標(biāo)系的旋轉(zhuǎn)參數(shù)矩陣和平移參數(shù)矩陣。
被檢測(cè)瓷磚的規(guī)格為800 mm×800 mm。采用2百萬(wàn)德國(guó)映美精DMK 41BF02單色1394工業(yè)相機(jī),像素分辨率1 280×960。鏡頭采用35 mm computer百萬(wàn)像素鏡頭。
標(biāo)定算法中采用一種標(biāo)準(zhǔn)的網(wǎng)格模板。網(wǎng)格大小2 mm×2 mm。網(wǎng)格模板放在瓷磚表面,建立相機(jī)與網(wǎng)格模板之間的相對(duì)位置。精確提取網(wǎng)格交點(diǎn)的像素坐標(biāo)是采用網(wǎng)格標(biāo)定板求取攝像機(jī)參數(shù)一個(gè)關(guān)鍵步驟。一般方法是先提取交點(diǎn)附近的四個(gè)角點(diǎn),再由角點(diǎn)坐標(biāo)的平均得到線條交點(diǎn)的坐標(biāo)(如圖1所示)。攝像機(jī)成像時(shí),圖像上產(chǎn)生的模糊的過(guò)渡帶會(huì)導(dǎo)致角點(diǎn)坐標(biāo)獲取不準(zhǔn)確,影響最后標(biāo)定結(jié)果。
圖1 相機(jī)標(biāo)定模型
采用的標(biāo)定算法:首先提取網(wǎng)格線條邊界點(diǎn),根據(jù)提取的邊界點(diǎn)來(lái)擬合每條邊界對(duì)應(yīng)的函數(shù)。由擬合的邊界函數(shù)求網(wǎng)格線條中心線上的離散點(diǎn)的坐標(biāo),以這些坐標(biāo)為基礎(chǔ)擬合中心線的函數(shù)。對(duì)求得的網(wǎng)格線條中心線相互求交即可得到網(wǎng)格線交點(diǎn),再根據(jù)所求的交點(diǎn)像素坐標(biāo)求得相機(jī)參數(shù)。計(jì)算瓷磚尺寸時(shí),如果采集整塊瓷磚的整幅圖像,則單位像素所代表的絕對(duì)尺寸較大,檢測(cè)精度達(dá)不到生產(chǎn)廠家的要求。采用相對(duì)測(cè)量方法,分別拍攝被檢測(cè)瓷磚四個(gè)角獲取角點(diǎn)坐標(biāo),根據(jù)標(biāo)準(zhǔn)瓷磚相對(duì)應(yīng)角點(diǎn)坐標(biāo)信息得到被檢測(cè)瓷磚尺寸。采用的標(biāo)定算法具體實(shí)現(xiàn)如下。
1)提取每條網(wǎng)格邊界對(duì)應(yīng)的邊界點(diǎn)
首先用邊緣檢測(cè)算子[4]與待處理像素周圍一定范圍內(nèi)的像素點(diǎn)進(jìn)行加權(quán)運(yùn)算,運(yùn)算的結(jié)果作為是否為邊界點(diǎn)的判斷依據(jù)。提取邊界點(diǎn)后,將每個(gè)點(diǎn)存儲(chǔ)于其對(duì)應(yīng)的邊界數(shù)組中。
2)邊界點(diǎn)擬合曲線
一般線性特征擬合使用的Hough變換與隨機(jī)采樣一致性(RANdomSAmple Consensus,RANSAC)算法,前者適用性廣,靈活性強(qiáng),但存在量化誤差和噪聲處理的問(wèn)題,后者能很好的解決前者存在的問(wèn)題。
使用RANSAC算法來(lái)擬合曲線,消除因圖像中噪聲對(duì)邊界點(diǎn)提取所帶來(lái)的影響,從而提高曲線擬合的精度。RANSAC算法的特點(diǎn)是它可以魯棒的估計(jì)模型參數(shù)。例如,它能從包含大量局外點(diǎn)的數(shù)據(jù)集中估計(jì)出高精度的參數(shù),并能剔除數(shù)據(jù)集中的少量外點(diǎn)。
3)曲線求交
擬合的為二次曲線,因此必須通解一元四次方程求得曲線交點(diǎn)。為解決該求解過(guò)程復(fù)雜且耗費(fèi)時(shí)間的問(wèn)題,在一個(gè)小坐標(biāo)區(qū)間內(nèi)通過(guò)直線求交代替曲線求交來(lái)獲取坐標(biāo)近似值,該坐標(biāo)區(qū)間為曲線上包含解的一個(gè)小坐標(biāo)區(qū)間。
以提取的網(wǎng)格點(diǎn)坐標(biāo)作為基礎(chǔ),在各網(wǎng)格點(diǎn)位置對(duì)網(wǎng)格圖像與標(biāo)準(zhǔn)的網(wǎng)格十字圖做最小二乘影像匹配[4]。最終的網(wǎng)格點(diǎn)坐標(biāo)在x、y方向的調(diào)整量均在0.1個(gè)像素以內(nèi),可知通過(guò)上述方法提取到的網(wǎng)格點(diǎn)定位精度優(yōu)于0.1個(gè)像素。
4)求解相機(jī)內(nèi)外參數(shù)
以網(wǎng)格線向右為x軸,向上為y軸。在網(wǎng)格上確定某個(gè)網(wǎng)格點(diǎn)作為空間坐標(biāo)系原點(diǎn)記為(x0,y0)。提取的網(wǎng)格點(diǎn)對(duì)應(yīng)的網(wǎng)格縱橫線引索記為(x,y)。對(duì)于每個(gè)網(wǎng)格點(diǎn),其空間坐標(biāo)表示如下。
為了使空間點(diǎn)的理想位置(ui,vi)與實(shí)際成像位置()的距離最小,標(biāo)定采用基于投影方程的優(yōu)化方法。設(shè)攝像機(jī)參數(shù)向量為 ξ=(ξ1,...,ξq,p1,p2,k1,k2)T(q≥11) ,其中包含了相機(jī)內(nèi)外參數(shù)和各種畸變系數(shù)。
最小方差函數(shù)如下:
其中:t11,...,t33是旋轉(zhuǎn)矩陣的元素;r1,r2,r3為平移向量元素;p1,p2為徑向畸變系數(shù);k1,k2為偏心畸變系數(shù)。最小化式(6)是一個(gè)非線性最小二乘問(wèn)題,利用Levenberg-Marquardt算法迭代求解,當(dāng)||Δξ||小于設(shè)定門限時(shí)停止迭代,繼而得到優(yōu)化后的相機(jī)內(nèi)外參數(shù)[4]。在非線性問(wèn)題的迭代求解過(guò)程中,Levenberg-Marquardt算法解決了高斯牛頓迭代由于Hessian矩陣可能變成奇異陣而導(dǎo)致穩(wěn)定性較差的問(wèn)題。Levenberg-Marquardt算法公式描述為:
其中:H表示為能量函數(shù)E在W(K)處的Hessian陣,DH為對(duì)角陣,▽E為E在w(k)的導(dǎo)數(shù)陣。
表1四組數(shù)據(jù)分別為迭代十次的標(biāo)定結(jié)果,迭代解算時(shí)設(shè)fx=fy。為了提高像素坐標(biāo)與三維空間轉(zhuǎn)換的精確度引入畸變系數(shù) k1,k2,p1,p2.。徑向畸變p1,p2來(lái)自于透鏡形狀缺陷,產(chǎn)生徑向位置的偏差。偏心畸變k1,k2.是指光學(xué)中心(光軸與像平面的交點(diǎn))偏離像平面中心。Ex,Ey分別為圖片x,y方向的畸變量,Ep為網(wǎng)格點(diǎn)理想投影位置與實(shí)際像點(diǎn)的均方誤差。
表1 相機(jī)標(biāo)定實(shí)驗(yàn)結(jié)果
計(jì)算公式如下。
實(shí)驗(yàn)結(jié)果采集了四組數(shù)據(jù),其中第一,二組數(shù)據(jù)中相機(jī)與標(biāo)靶之間距離比第三,四組數(shù)據(jù)中的略遠(yuǎn)。通過(guò)分析結(jié)果可以看出,實(shí)驗(yàn)中的重投影均方誤差EP控制在1個(gè)像素內(nèi),解算過(guò)程收斂很好,且在迭代6次后結(jié)果趨于穩(wěn)定?;兞縀x,Ey控制在0.5個(gè)像素內(nèi),可見(jiàn)畸變系數(shù)吻合比較好?;兪怯绊懸曈X(jué)測(cè)量精度的主要因素,因此該方法能得到可靠穩(wěn)定的畸變系數(shù)。
本文提出的結(jié)合相機(jī)標(biāo)定的瓷磚尺寸檢測(cè)方法有如下特點(diǎn):①擬合網(wǎng)格線條的方法改進(jìn)了傳統(tǒng)方法中由角點(diǎn)直接求交點(diǎn)過(guò)程中模糊過(guò)渡帶對(duì)標(biāo)定結(jié)果精度和穩(wěn)定的影響,矯正和補(bǔ)償由于鏡頭失真和機(jī)械安裝誤差等因素所帶來(lái)的系統(tǒng)失真;②標(biāo)定用的靶標(biāo)制作簡(jiǎn)單,可穩(wěn)定、快速的獲得較精確地標(biāo)定結(jié)果。實(shí)驗(yàn)表明,此方法標(biāo)定精確度高,不需要人工干預(yù),魯棒性強(qiáng),方法簡(jiǎn)單且穩(wěn)定性好,適用于瓷磚檢測(cè)工作。
[1]王東紅,羅均,胡釜峰,等.攝像機(jī)標(biāo)定中的直接線性變換法[J].機(jī)械與電子,2006,9(6):9-11.
[2]Tsai R Y.A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses[J].IEEE Journal of Robotics and Automation,1987,3(4):323-344.
[3]Zhang Z Y.A Flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[4]楊阿華,李學(xué)軍,劉濤,等.基于網(wǎng)格模板的相機(jī)標(biāo)定方法[J].計(jì)算機(jī)應(yīng)用,2013(A01):174-177.