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