李曉曉,楊 濤,雷 進,孫付春,吳昊榮
(1.成都大學(xué)機械工程學(xué)院,四川 成都 610106;2.成都農(nóng)業(yè)科技職業(yè)學(xué)院機電信息學(xué)院,四川 成都 611130;3.成都大學(xué)電子信息與電信工程學(xué)院,四川 成都 610106)
在自動化生產(chǎn)過程中,機器視覺廣泛地應(yīng)用于尺寸測量、工況監(jiān)控和缺陷檢測等領(lǐng)域[1-2]。相機標(biāo)定直接影響視覺測量結(jié)果的精準(zhǔn)性[3]?;跈C器視覺在智能制造測量領(lǐng)域的廣泛應(yīng)用,越來越多的從業(yè)人員開始在標(biāo)定方面進行研究。張夢洋[4]針對單目相機,利用遺傳算法對相機內(nèi)參優(yōu)化求解,獲得更加精確的相機內(nèi)參,該方法在精度上優(yōu)于張正友法,但實時性較差。田少兵等[5]利用改進粒子群算法進行相機內(nèi)參標(biāo)定,相機內(nèi)參準(zhǔn)確性更高,收斂速度更快。覃興勝等[6]針對激光雷達(dá)三維目標(biāo)識別采用棋盤格板定板提出一種標(biāo)定外參的標(biāo)定方法,提高了現(xiàn)行外參標(biāo)定法的精度。赫美琳等[7]和賴文敬等[8]針對棋盤格板定板提出了一種快速獲取單目相機內(nèi)部參數(shù)的標(biāo)定方法,其中賴文敬提出的方法對高精度相機內(nèi)參獲取更為有效??紤]到圓點標(biāo)定板在相機標(biāo)定中也得到相當(dāng)多的應(yīng)用,利用機器視覺商業(yè)軟件Halcon對原點標(biāo)定板進行相機標(biāo)定研究,探索圓點標(biāo)定板圖像數(shù)量對相機參數(shù)的影響及驗證圓點標(biāo)定板的標(biāo)定精度是十分有意義的。
視覺系統(tǒng)由工業(yè)相機、鏡頭、照明光源、標(biāo)定板、工作平臺及相關(guān)軟件等組成,單目視覺系統(tǒng)指的是系統(tǒng)中只使用了一個相機。圖1是為案例搭建的單目視覺測量系統(tǒng),可用來進行缺陷檢測和尺寸測量等實驗。利用視覺系統(tǒng)進行視覺標(biāo)定或測量實驗時,通過光源控制器根據(jù)工業(yè)環(huán)境需求調(diào)整光源。
圖1 單目視覺測量系統(tǒng)實驗平臺
相機成像依據(jù)的是小孔成像原理,由圖像像素坐標(biāo)轉(zhuǎn)換為空間坐標(biāo)實質(zhì)是一個坐標(biāo)系轉(zhuǎn)換過程。在像素距離與實際距離的轉(zhuǎn)換過程中,涉及相機的內(nèi)部參數(shù)和外部參數(shù),相機標(biāo)定的目的在于獲取相機內(nèi)部參數(shù)和外部參數(shù)。
標(biāo)定過程實質(zhì)是機器視覺坐標(biāo)系的轉(zhuǎn)換。機器視覺涉及世界坐標(biāo)系、相機坐標(biāo)系、圖像物理坐標(biāo)系和像素坐標(biāo)系。機器視覺4個坐標(biāo)系間的關(guān)系[6]見圖2。
圖2 機器視覺坐標(biāo)系空間關(guān)系
1)像素坐標(biāo)系(O1-uν):以像平面左上角頂點為坐標(biāo)系原點,從左往右為u軸正方向,從上往下為ν軸正方向,單位為像素。
2)圖像物理坐標(biāo)系(O-xy):以像平面橫縱坐標(biāo)中點為坐標(biāo)原點O,x軸與u軸平行,y軸與ν軸平行,單位為mm。
3)相機坐標(biāo)系(Oc-xcyczc):原點Oc位于鏡頭光心處,xc軸與yc軸分別與像面兩邊平行,zc軸為鏡頭光軸。
4)世界坐標(biāo)系(Ow-xwywzw):用于描述待測物體在三維世界中的位置,可根據(jù)實際需求確定坐標(biāo)原點。
假設(shè)在世界中存在一點,其世界坐標(biāo)為(xw,yw,zw,1),相機坐標(biāo)為(xc,yc,zc,1)。該點世界坐標(biāo)系和相機坐標(biāo)系的轉(zhuǎn)化是通過旋轉(zhuǎn)R和平移T兩個過程完成的,則:
(1)
式中:R=R(γ)R(δ)R(θ),為3×3旋轉(zhuǎn)矩陣;T=T(xt,yt,zt),為3×1平移矩陣,xt,yt,zt的數(shù)值分別為世界坐標(biāo)系和相機坐標(biāo)系原點之間的差值;γ,θ,δ分別為世界坐標(biāo)系(Ow-xwywzw)向相機坐標(biāo)系(Oc-xcyczc)轉(zhuǎn)換過程中繞xw軸、yw軸、zw軸旋轉(zhuǎn)的角度,故而有:
相機坐標(biāo)系中的點投影到圖像物理坐標(biāo)系中,可用式(2)表示:
(2)
式中:焦距f表示焦點到鏡頭中心OcO距離。像素坐標(biāo)系(O1-uν)和圖像坐標(biāo)系(O-xy)之間關(guān)系如式(3):
(3)
結(jié)合公式(1)~(3),三維空間中任一點的世界坐標(biāo)與像素坐標(biāo)關(guān)系有:
(4)
相機外參中,R=R(γ)R(δ)R(θ),R(γ)、R(δ)、R(θ)為3個分別與γ,θ,δ相關(guān)的獨立參數(shù);T=T(xt,yt,zt),xt,yt,zt也為3個獨立參數(shù)。故相機外參共含有6個參數(shù),且可表示為x平移、y平移、z平移、x旋轉(zhuǎn)、y旋轉(zhuǎn)、z旋轉(zhuǎn)。同時在面陣相機(division)模式中,其內(nèi)參表示為:Focus、Kappa、Sx、Sy、Cx、Cy、W、H,F(xiàn)ocus為鏡頭焦距;Kappa為鏡頭畸變系數(shù);Sx,Sy為單個像素寬和高;Cx,Cy為圖像中心點坐標(biāo);W、H為圖像的寬和高。即相機標(biāo)定就是為了獲得相機外參的x平移、y平移、z平移、x旋轉(zhuǎn)、y旋轉(zhuǎn)、z旋轉(zhuǎn)6個參數(shù),以及相機內(nèi)參的Focus、Kappa、Sx、Sy、Cx、Cy、W、H 8個參數(shù)。
Halcon為德國MVtec公司開發(fā)的機器視覺軟件,其自帶相機標(biāo)定助手,有助于快速精準(zhǔn)實現(xiàn)相機參數(shù)標(biāo)定。圖3為利用Halcon軟件的相機標(biāo)定流程。
圖3 相機標(biāo)定流程
實驗所用圓點標(biāo)定板型號為GB050-2-7×7,如圖4所示,由7×7的圓點陣列和一個帶切角的邊框組成,邊框切角描述的是-x和-y的方向,每個圓點理論直徑為2 mm,理論圓心距4 mm,精度±0.1 mm。
圖4 相機參數(shù)標(biāo)定用標(biāo)定板
采用Halcon標(biāo)定助手的具體操作步驟如下。
1)生成標(biāo)定板描述文件。在桌面建立命名為“50-38”的文件夾,在程序窗口運行代碼:gen_caltab(7,7,0.004,0.5,′C:/Users/Desktop/50-38/caltab50-38.descr′,′C:/Users/Desktop/50-38/caltab50-38.ps′),運行該行代碼后,在文件夾“50-38”內(nèi)會生成文件名為“caltab50-38.descr”的標(biāo)定板描述文件。
2)安裝標(biāo)定板描述文件,初步設(shè)置相機參數(shù)。在“安裝”標(biāo)題欄下,加載“50-38”文件夾內(nèi)的標(biāo)定板“描述文件”,即文件名為“caltab50-38.descr”的文件。攝像機模型默認(rèn)“面掃描(多項式)”,通過相機廠家提供的產(chǎn)品說明書提供的相機參數(shù),設(shè)置單個像元尺寸的寬和高為1.85 μm×1.85 μm,焦距25 mm。在標(biāo)定助手中安裝好的“描述文件”和設(shè)置的攝像機參數(shù)如圖5所示。
圖5 標(biāo)定板圖像采集
3)加載標(biāo)定板圖像,完成相機標(biāo)定。單擊“標(biāo)定”標(biāo)簽,相機標(biāo)定需要的標(biāo)定板圖像可以通過事先采集好的圖像文件導(dǎo)入,也可以利用“圖像采集助手”實時采集。以利用“圖像采集助手”實時采集方式為例,通過手動調(diào)整光源、相機光圈和鏡頭,界面中實時采集的標(biāo)定板圖像名稱后的“狀態(tài)”欄下會出現(xiàn)“特征提取失敗”“檢測出品質(zhì)問題”“確定”3種狀態(tài)。當(dāng)出現(xiàn)“特征提取失敗”提示時,表明該標(biāo)定板圖像特征提取失敗,需要重新采集,其余2種狀態(tài)則可以實現(xiàn)相機標(biāo)定,但在“檢測出品質(zhì)問題”狀態(tài)下標(biāo)定結(jié)果精度略有不足。圖5為本案例采集的27張標(biāo)定板圖像。
當(dāng)所有的標(biāo)定板圖像特征提取成功后,還需要設(shè)置一個參考位姿。參考位姿要求靠近相機視野的中心,“01#”標(biāo)定板圖像為本案例參考位姿。單擊“標(biāo)定”按鈕完成相機標(biāo)定,獲得相機標(biāo)定結(jié)果。從標(biāo)定結(jié)果可知:攝像機位姿態(tài)(也稱相機外參)[x平移、x旋轉(zhuǎn)、y平移、y旋轉(zhuǎn)、z平移、z旋轉(zhuǎn)]=[-0.632 341,359.215,0.857 009,0.747 602,329.119,359.356],攝像機參數(shù)(也稱相機內(nèi)參)[Focus、Kappa、Sx、Sy、Cx、Cy、W、H]=[25.000 5,-39.893,1.849 93,1.85,1 999.94,1 499.97,4 000,3 000],且標(biāo)定后的平均誤差為0.070 706 7 mm。
對目標(biāo)圖像進行視覺測量時,對被測目標(biāo)圖像進行校正有利于提高精度。圖6為傾斜的標(biāo)定板圖像校正圖。其中,圖6(a1)和圖6(a2)分別為相機采集的第4幀和第9幀的原始圖像;圖6(b1)和圖6(b2)為圖像旋轉(zhuǎn)角度特征提取過程,紅色連線為圖像旋轉(zhuǎn)角度特征提取路徑;圖6(c1)和圖6(c2)為校正后的標(biāo)定板圖像。
圖6 標(biāo)定板圖像校正
將加載的圖像矯正后,利用Halcon軟件的“測量助手”模塊進行測量。利用Halcon測量助手測量時,選擇被測量對象的圖像顯示形式,在“邊緣”標(biāo)簽下,選擇“測量/繪制線段”,在被測量對象上“劃線”測量,劃線的特征圓點如圖7所示。選擇校正后的第7幀標(biāo)定板圖像,對第4行、第2列的特征圓點進行直徑測量。
圖7 標(biāo)定板單個特征圓點測量
表1為實驗中標(biāo)定板圓點(第4行、第2列)的實際測量數(shù)據(jù)。因為標(biāo)定板圖像上劃線區(qū)域與特征圓點只有2個接觸點,所以測量結(jié)果只顯示2個點,2點間的距離即為標(biāo)定板特征圓點的直徑。標(biāo)定板圓點理論直徑為2 mm,測量結(jié)果為1.961 38 mm,偏差為0.038 62 mm,相對誤差為1.93%,證實了標(biāo)定結(jié)果的準(zhǔn)確性。
表1 單個特征圓點實際圖像的測量尺寸
同時,用同一條測量曲線圈定標(biāo)定板上的多個特征圓點,如圖7標(biāo)定板圖像上第3行的全部7個特征圓點。表2為該排特征圓點實際測量結(jié)果。由表2可以得到,7個特征圓點與劃線區(qū)域共有14個交點,測量的標(biāo)定板特征圓點與標(biāo)定板理論偏差中,最大偏差為0.070 38 mm,最小偏差為0.039 92 mm,平均偏差為0.056 55 mm,精度都高于0.1 mm,說明利用Halcon標(biāo)定助手標(biāo)定的準(zhǔn)確性可以得到保障,且利用機器視覺測量物體的尺寸精度較高。
表2 多個特征圓點實際圖像測量尺寸
利用自搭建的單目視覺系統(tǒng)實驗平臺,借助視覺軟件Halcon對圓點標(biāo)定板進行標(biāo)定實驗,獲取標(biāo)定板圖像數(shù)量對相機標(biāo)定參數(shù)的影響,并通過實驗驗證了圓點標(biāo)定板的標(biāo)定精度。在本實驗條件下,對圓點標(biāo)定板單個特征圓點進行測量時得到偏差為0.038 62 mm,對多個特征圓點進行測量時得到平均偏差為0.056 55 mm,二者測量精度都高于0.1 mm,證明了Halcon軟件在相機標(biāo)定中的準(zhǔn)確性。顯然,作為機器視覺測量應(yīng)用的基礎(chǔ),未來相機標(biāo)定精度和操作簡易度將會得到進一步發(fā)展。