李曉曉,楊 濤,雷 進,孫付春,吳昊榮
(1.成都大學機械工程學院,四川 成都 610106;2.成都農業科技職業學院機電信息學院,四川 成都 611130;3.成都大學電子信息與電信工程學院,四川 成都 610106)
在自動化生產過程中,機器視覺廣泛地應用于尺寸測量、工況監控和缺陷檢測等領域[1-2]。相機標定直接影響視覺測量結果的精準性[3]。基于機器視覺在智能制造測量領域的廣泛應用,越來越多的從業人員開始在標定方面進行研究。張夢洋[4]針對單目相機,利用遺傳算法對相機內參優化求解,獲得更加精確的相機內參,該方法在精度上優于張正友法,但實時性較差。田少兵等[5]利用改進粒子群算法進行相機內參標定,相機內參準確性更高,收斂速度更快。覃興勝等[6]針對激光雷達三維目標識別采用棋盤格板定板提出一種標定外參的標定方法,提高了現行外參標定法的精度。赫美琳等[7]和賴文敬等[8]針對棋盤格板定板提出了一種快速獲取單目相機內部參數的標定方法,其中賴文敬提出的方法對高精度相機內參獲取更為有效。考慮到圓點標定板在相機標定中也得到相當多的應用,利用機器視覺商業軟件Halcon對原點標定板進行相機標定研究,探索圓點標定板圖像數量對相機參數的影響及驗證圓點標定板的標定精度是十分有意義的。
視覺系統由工業相機、鏡頭、照明光源、標定板、工作平臺及相關軟件等組成,單目視覺系統指的是系統中只使用了一個相機。圖1是為案例搭建的單目視覺測量系統,可用來進行缺陷檢測和尺寸測量等實驗。利用視覺系統進行視覺標定或測量實驗時,通過光源控制器根據工業環境需求調整光源。

圖1 單目視覺測量系統實驗平臺
相機成像依據的是小孔成像原理,由圖像像素坐標轉換為空間坐標實質是一個坐標系轉換過程。在像素距離與實際距離的轉換過程中,涉及相機的內部參數和外部參數,相機標定的目的在于獲取相機內部參數和外部參數。
標定過程實質是機器視覺坐標系的轉換。機器視覺涉及世界坐標系、相機坐標系、圖像物理坐標系和像素坐標系。機器視覺4個坐標系間的關系[6]見圖2。

圖2 機器視覺坐標系空間關系
1)像素坐標系(O1-uν):以像平面左上角頂點為坐標系原點,從左往右為u軸正方向,從上往下為ν軸正方向,單位為像素。
2)圖像物理坐標系(O-xy):以像平面橫縱坐標中點為坐標原點O,x軸與u軸平行,y軸與ν軸平行,單位為mm。
3)相機坐標系(Oc-xcyczc):原點Oc位于鏡頭光心處,xc軸與yc軸分別與像面兩邊平行,zc軸為鏡頭光軸。
4)世界坐標系(Ow-xwywzw):用于描述待測物體在三維世界中的位置,可根據實際需求確定坐標原點。
假設在世界中存在一點,其世界坐標為(xw,yw,zw,1),相機坐標為(xc,yc,zc,1)。該點世界坐標系和相機坐標系的轉化是通過旋轉R和平移T兩個過程完成的,則:
(1)
式中:R=R(γ)R(δ)R(θ),為3×3旋轉矩陣;T=T(xt,yt,zt),為3×1平移矩陣,xt,yt,zt的數值分別為世界坐標系和相機坐標系原點之間的差值;γ,θ,δ分別為世界坐標系(Ow-xwywzw)向相機坐標系(Oc-xcyczc)轉換過程中繞xw軸、yw軸、zw軸旋轉的角度,故而有:
相機坐標系中的點投影到圖像物理坐標系中,可用式(2)表示:
(2)
式中:焦距f表示焦點到鏡頭中心OcO距離。像素坐標系(O1-uν)和圖像坐標系(O-xy)之間關系如式(3):
(3)
結合公式(1)~(3),三維空間中任一點的世界坐標與像素坐標關系有:
(4)

相機外參中,R=R(γ)R(δ)R(θ),R(γ)、R(δ)、R(θ)為3個分別與γ,θ,δ相關的獨立參數;T=T(xt,yt,zt),xt,yt,zt也為3個獨立參數。故相機外參共含有6個參數,且可表示為x平移、y平移、z平移、x旋轉、y旋轉、z旋轉。同時在面陣相機(division)模式中,其內參表示為:Focus、Kappa、Sx、Sy、Cx、Cy、W、H,Focus為鏡頭焦距;Kappa為鏡頭畸變系數;Sx,Sy為單個像素寬和高;Cx,Cy為圖像中心點坐標;W、H為圖像的寬和高。即相機標定就是為了獲得相機外參的x平移、y平移、z平移、x旋轉、y旋轉、z旋轉6個參數,以及相機內參的Focus、Kappa、Sx、Sy、Cx、Cy、W、H 8個參數。
Halcon為德國MVtec公司開發的機器視覺軟件,其自帶相機標定助手,有助于快速精準實現相機參數標定。圖3為利用Halcon軟件的相機標定流程。

圖3 相機標定流程
實驗所用圓點標定板型號為GB050-2-7×7,如圖4所示,由7×7的圓點陣列和一個帶切角的邊框組成,邊框切角描述的是-x和-y的方向,每個圓點理論直徑為2 mm,理論圓心距4 mm,精度±0.1 mm。

圖4 相機參數標定用標定板
采用Halcon標定助手的具體操作步驟如下。
1)生成標定板描述文件。在桌面建立命名為“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”內會生成文件名為“caltab50-38.descr”的標定板描述文件。
2)安裝標定板描述文件,初步設置相機參數。在“安裝”標題欄下,加載“50-38”文件夾內的標定板“描述文件”,即文件名為“caltab50-38.descr”的文件。攝像機模型默認“面掃描(多項式)”,通過相機廠家提供的產品說明書提供的相機參數,設置單個像元尺寸的寬和高為1.85 μm×1.85 μm,焦距25 mm。在標定助手中安裝好的“描述文件”和設置的攝像機參數如圖5所示。

圖5 標定板圖像采集
3)加載標定板圖像,完成相機標定。單擊“標定”標簽,相機標定需要的標定板圖像可以通過事先采集好的圖像文件導入,也可以利用“圖像采集助手”實時采集。以利用“圖像采集助手”實時采集方式為例,通過手動調整光源、相機光圈和鏡頭,界面中實時采集的標定板圖像名稱后的“狀態”欄下會出現“特征提取失敗”“檢測出品質問題”“確定”3種狀態。當出現“特征提取失敗”提示時,表明該標定板圖像特征提取失敗,需要重新采集,其余2種狀態則可以實現相機標定,但在“檢測出品質問題”狀態下標定結果精度略有不足。圖5為本案例采集的27張標定板圖像。
當所有的標定板圖像特征提取成功后,還需要設置一個參考位姿。參考位姿要求靠近相機視野的中心,“01#”標定板圖像為本案例參考位姿。單擊“標定”按鈕完成相機標定,獲得相機標定結果。從標定結果可知:攝像機位姿態(也稱相機外參)[x平移、x旋轉、y平移、y旋轉、z平移、z旋轉]=[-0.632 341,359.215,0.857 009,0.747 602,329.119,359.356],攝像機參數(也稱相機內參)[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],且標定后的平均誤差為0.070 706 7 mm。
對目標圖像進行視覺測量時,對被測目標圖像進行校正有利于提高精度。圖6為傾斜的標定板圖像校正圖。其中,圖6(a1)和圖6(a2)分別為相機采集的第4幀和第9幀的原始圖像;圖6(b1)和圖6(b2)為圖像旋轉角度特征提取過程,紅色連線為圖像旋轉角度特征提取路徑;圖6(c1)和圖6(c2)為校正后的標定板圖像。

圖6 標定板圖像校正
將加載的圖像矯正后,利用Halcon軟件的“測量助手”模塊進行測量。利用Halcon測量助手測量時,選擇被測量對象的圖像顯示形式,在“邊緣”標簽下,選擇“測量/繪制線段”,在被測量對象上“劃線”測量,劃線的特征圓點如圖7所示。選擇校正后的第7幀標定板圖像,對第4行、第2列的特征圓點進行直徑測量。

圖7 標定板單個特征圓點測量
表1為實驗中標定板圓點(第4行、第2列)的實際測量數據。因為標定板圖像上劃線區域與特征圓點只有2個接觸點,所以測量結果只顯示2個點,2點間的距離即為標定板特征圓點的直徑。標定板圓點理論直徑為2 mm,測量結果為1.961 38 mm,偏差為0.038 62 mm,相對誤差為1.93%,證實了標定結果的準確性。

表1 單個特征圓點實際圖像的測量尺寸
同時,用同一條測量曲線圈定標定板上的多個特征圓點,如圖7標定板圖像上第3行的全部7個特征圓點。表2為該排特征圓點實際測量結果。由表2可以得到,7個特征圓點與劃線區域共有14個交點,測量的標定板特征圓點與標定板理論偏差中,最大偏差為0.070 38 mm,最小偏差為0.039 92 mm,平均偏差為0.056 55 mm,精度都高于0.1 mm,說明利用Halcon標定助手標定的準確性可以得到保障,且利用機器視覺測量物體的尺寸精度較高。

表2 多個特征圓點實際圖像測量尺寸
利用自搭建的單目視覺系統實驗平臺,借助視覺軟件Halcon對圓點標定板進行標定實驗,獲取標定板圖像數量對相機標定參數的影響,并通過實驗驗證了圓點標定板的標定精度。在本實驗條件下,對圓點標定板單個特征圓點進行測量時得到偏差為0.038 62 mm,對多個特征圓點進行測量時得到平均偏差為0.056 55 mm,二者測量精度都高于0.1 mm,證明了Halcon軟件在相機標定中的準確性。顯然,作為機器視覺測量應用的基礎,未來相機標定精度和操作簡易度將會得到進一步發展。