馬鴻飛,苗振海,陳妍言,賀志強(qiáng),魏 淼
(1.機(jī)科發(fā)展科技股份有限公司,北京 100044;2.北京機(jī)床研究所,北京 100102)
機(jī)器視覺也稱為計(jì)算機(jī)視覺,是一種研究用計(jì)算機(jī)來模擬生物視覺功能的科學(xué)和技術(shù),它是計(jì)算機(jī)科學(xué)、自動(dòng)化技術(shù)、人工智能技術(shù)、模式識(shí)別和光學(xué)等學(xué)科的綜合。機(jī)器視覺的基本任務(wù)之一是從攝像機(jī)獲取的圖像信息出發(fā)計(jì)算三維空間中物體的幾何信息,并由此重建和識(shí)別物體。而空間物體表面某點(diǎn)的三維位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系是由攝像機(jī)成像的幾何模型決定的,這些幾何模型參數(shù)就是攝像機(jī)參數(shù),通過實(shí)驗(yàn)與計(jì)算得到這些參數(shù)的過程就叫攝像機(jī)標(biāo)定。標(biāo)定精度的高低,直接影響著機(jī)器視覺系統(tǒng)的精度。所以,在標(biāo)定過程中,高刻畫精度的標(biāo)定模板和與之相匹配的標(biāo)定算法是保證標(biāo)定精度的必要條件。由于相關(guān)標(biāo)定算法的研究已很多,本文在論述了攝像機(jī)標(biāo)定原理和模型后,重點(diǎn)通過Halcon 視覺處理軟件實(shí)驗(yàn)分析論證攝像機(jī)標(biāo)定圖像數(shù)量對(duì)標(biāo)定精度的影響,以及通過對(duì)游標(biāo)卡尺的圖像處理,來對(duì)比分析矯正圖像前后的區(qū)別。
在實(shí)際應(yīng)用中,一般應(yīng)用面陣攝像機(jī)標(biāo)定,它的針孔攝像機(jī)模型如圖1所示。其中,圖像坐標(biāo)系(r,c),成像平面坐標(biāo)系(u,v),攝像機(jī)坐標(biāo)系(x,y,z),世界坐標(biāo)系(xw,yw,zw), Sx,Sy是縮放比例因子, 它們表示圖像傳感器上水平和垂直方向上相鄰像素之間的距離。f 表示的并不是鏡頭的焦距,而是攝像機(jī)主距。點(diǎn)P 是世界坐標(biāo)系中點(diǎn)Pw在成像平面上的投影。
世界坐標(biāo)系中的點(diǎn) Pw=(xw,yw,zw)T變換到它在成像平面坐標(biāo)系上的投影點(diǎn)P,需要經(jīng)歷以下四個(gè)步驟:
圖1 針孔攝像機(jī)模型Fig.1 The pinhole camera model distortion
(1)點(diǎn) Pw=(xw,yw,zw)T變換到攝像機(jī)坐標(biāo)系中的點(diǎn) P=(x,y,z)T, 關(guān) 系 為 Pc=RPw+T。 T=(tx,ty,tz)T是一個(gè)平移向量,R=(α,β,γ)是一個(gè)旋轉(zhuǎn)矩陣,α,β,γ 是分別繞攝像機(jī)坐標(biāo)系 x,y,z軸的旋轉(zhuǎn)角度。在R和T中6個(gè) 參 數(shù)(α,β,γ,tx,ty,tz)稱為攝像機(jī)外參,它們決定了攝像機(jī)坐標(biāo)系與世界坐標(biāo)系之間的相對(duì)位置。
(2)攝像機(jī)坐標(biāo)系中點(diǎn)Pc變換到成像平面坐標(biāo)系,它們之間是透視投影關(guān)系:
(3)在不考慮鏡頭畸變的情況下,世界坐標(biāo)系中的點(diǎn)Pw與成像平面中的投影點(diǎn)P之間的直線過攝像機(jī)光學(xué)中心。大部分情況下,鏡頭的畸變可以近似為徑向畸變,即:
式中:參數(shù)k決定了徑向畸變的程度,k>0為枕形畸變,k<0為桶形畸變。
式中:(Cx,Cy)T是光心在成像坐標(biāo)系中的投影點(diǎn)。由以上可知,攝像機(jī)標(biāo)定的實(shí)質(zhì)就是確定內(nèi)部參數(shù)(f,k,Cx,Cy,Sx,Sy)和外部參數(shù)(α,β,γ,tx,ty,tz)的過程。
在Halcon軟件中主要使用了read_image,find_caltab,find_marks_and_pose, camera_calibration, write_cam_par等算子來獲得攝像機(jī)標(biāo)定的內(nèi)外參數(shù)。
為了分析標(biāo)定圖像次數(shù)對(duì)內(nèi)外參數(shù)的影響,實(shí)驗(yàn)中將標(biāo)定板放置于視野不同位置進(jìn)行多次標(biāo)定,經(jīng)過實(shí)驗(yàn)所得結(jié)果如圖所示,主要使用calibrate_cameras(),get_calib_data()兩個(gè)算子。
放置過程中,標(biāo)定板移動(dòng)既有平行也有旋轉(zhuǎn)。處理結(jié)果如圖2~5所示。圖中橫坐標(biāo)為圖像的張數(shù),縱坐標(biāo)分別為主距F、畸變系數(shù)K、縮放因子Sx,光心 Cy的真實(shí)值和標(biāo)準(zhǔn)差,可以看到隨著圖片張數(shù)的增加,其標(biāo)準(zhǔn)差越來越小,最終趨于穩(wěn)定。所以為了使得到攝像機(jī)參數(shù)的更加準(zhǔn)確,就需要有相當(dāng)多的標(biāo)定圖像。標(biāo)定板在標(biāo)定圖像中最好能覆蓋整個(gè)視野并盡可能覆蓋攝像機(jī)外參的范圍,當(dāng)標(biāo)定板在標(biāo)定圖像中覆蓋每個(gè)角落,可以計(jì)算得到更準(zhǔn)確的畸變系數(shù)K,當(dāng)其可以覆蓋較大的深度范圍時(shí)所有攝像機(jī)參數(shù)都會(huì)更準(zhǔn)確。因此進(jìn)行標(biāo)定攝像機(jī)的圖像數(shù)量和位置是影響攝像機(jī)參數(shù)準(zhǔn)確度不能忽視的因素。
圖2 主距F隨著標(biāo)定圖像增加趨于準(zhǔn)確Fig.2 Principal distance is more accurate
圖3 畸變系數(shù)K隨標(biāo)定圖像增加趨于準(zhǔn)確Fig.3 Deformation cofficient is more accurate
圖4 縮放因子Sx隨標(biāo)定圖像增加趨于準(zhǔn)確Fig.4 Scale factor is more accurate
圖5 光心Cy隨標(biāo)定圖像增加趨于準(zhǔn)確Fig.5 Optical center is more accurate
在精確測(cè)量和定位中,一般需要通過標(biāo)定后的參數(shù)對(duì)原始圖像進(jìn)行矯正,以防止鏡頭畸變和相機(jī)安裝傾斜造成的誤差,為很好的驗(yàn)證攝像機(jī)標(biāo)定及矯正的必要性,利用游標(biāo)卡尺進(jìn)行了相關(guān)驗(yàn)證。實(shí)驗(yàn)中所用的相機(jī)為30萬像素,像元大小為7μm,鏡頭為畸變數(shù)K 約為-734的普通鏡頭,將相機(jī)與鏡頭固定調(diào)節(jié)至較好位置,將游標(biāo)卡尺放置于平面內(nèi),將標(biāo)定板平放于游標(biāo)卡尺一端進(jìn)行標(biāo)定后,接著單獨(dú)采集到游標(biāo)卡尺圖像如圖6所示。采用圖7 處理流程來計(jì)算刻度線的平均寬度,最終結(jié)果如圖8。從處理結(jié)果可以得到兩個(gè)刻度線的平均距離為0.78945mm,最小誤差為17μm,最大誤差為25μm。造成如此大的誤差的原因主要有兩個(gè):一是鏡頭的畸變,使得成像中不同區(qū)域的刻度線寬度不同。二是攝像頭安裝角度偏移3 度造成,這樣攝像機(jī)采集的圖像就有會(huì)出現(xiàn)離鏡頭相對(duì)近的地方兩刻度線的像素?cái)?shù)較少,離鏡頭相對(duì)較遠(yuǎn)的地方兩刻度線內(nèi)的像素較多,而標(biāo)定板獲得的像元大小是在離鏡頭較近處進(jìn)行標(biāo)定獲得的,使得最終誤差相對(duì)標(biāo)準(zhǔn)值1mm 有較大的距離。經(jīng)過攝像機(jī)標(biāo)定后的內(nèi)外參數(shù)來矯正圖形后處理結(jié)果如圖9所示,可獲得刻度線的平均長(zhǎng)度為0.99mm,其最大誤差在10μm。這是因?yàn)橥ㄟ^矯正和轉(zhuǎn)換得到的圖像相當(dāng)于攝像機(jī)在與世界平面絕對(duì)垂直并且鏡頭基本不存在畸變的情況下拍攝的圖像,使圖像中所有像素在世界坐標(biāo)中所代表的實(shí)際大小與真實(shí)相符。所以從實(shí)驗(yàn)可知,在進(jìn)行高精度測(cè)量定位以及模板匹配時(shí)需要進(jìn)行攝像機(jī)標(biāo)定及矯正圖像。
圖6 游標(biāo)卡尺圖像Fig.6 Vernier caliper image
圖7 刻度線平均寬度圖像處理流程圖Fig.7 The image processing flow chart of the average width of Scale line
圖8 未矯正前處理結(jié)果Fig.8 The processing results without correction
圖9 矯正后處理結(jié)果Fig.9 The processing results with correction
攝像機(jī)標(biāo)定建立了圖像坐標(biāo)系和世界坐標(biāo)的關(guān)系,是機(jī)器視覺理論研究的熱點(diǎn)之一,本文在對(duì)攝像機(jī)原理進(jìn)行論述后,結(jié)合了攝像機(jī)標(biāo)定參數(shù)準(zhǔn)確性研究和攝像機(jī)矯正技術(shù)的研究,對(duì)攝像機(jī)不同位置標(biāo)定次數(shù)對(duì)精度的影響進(jìn)行了相關(guān)論述和驗(yàn)證,得出了多次不同位置的標(biāo)定可以提高攝像機(jī)內(nèi)外參數(shù)準(zhǔn)確性的結(jié)論;選用了游標(biāo)卡尺作為攝像機(jī)矯正前后的參考,得出了為保證精度,在使用普通鏡頭時(shí)進(jìn)行高精度測(cè)量和匹配時(shí)必須進(jìn)行攝像機(jī)標(biāo)定和矯正圖像的結(jié)論。所得結(jié)論為以后的工程應(yīng)用提供了較好的依據(jù)。
[1]苗振海,等.基于Halcon的FPC 不規(guī)則貼膠片的視覺定位算法研究與開發(fā)[J].制造業(yè)自動(dòng)化,2013,1.
[2]Milan Sonka,VaclavHlavac,Roger Boyle.圖像處理分析與機(jī)器視覺[M].清華大學(xué)出版社,2011.
[3]張錚,等.數(shù)字圖像處理與機(jī)器視覺—Vc++與Matlab 實(shí)現(xiàn)[M].人民郵電出版社,2011.
[4]Carsten Steger,Markus Ulrich.機(jī)器視覺算法與應(yīng)用[M].清華大學(xué)出版社,2008.
[5]羅珍茜,薛雷,等.基于HALCON的攝像機(jī)標(biāo)定[J].視頻應(yīng)用與工程,2010,5.