陳龍燦,楊佳義,黨曉圓,陸 地,方健紅
(重慶移通學院,重慶 401520)
在工業視覺檢測中通過相機的標定能夠獲得相機的內部參數以及如果發生圖像畸變的參數,在這個過程中還可以獲得相機的每1 張圖片對應的外參矩陣,和外參矩陣不同的是內參是相機的固有內在屬性,每個相機都有1 個固定值,外參表示的是世界坐標系與相機坐標系間的相對位置關系。因為在標定的時候,拍攝的每1張圖都是不同的,因此每張圖都對應有1 個外參。本文利用Matlab 軟件來進行相機的標定,并識別和計算圖片角點像素坐標值,然后通過分析像素坐標系與圖像坐標系之間的關系,最終得出像素坐標系與世界坐標系的矩陣方程之間的轉換關系,經過矩陣計算出圖片角點的像素坐標所對應的世界坐標,再計算出經過該設計得到的長度與標定板上棋盤格真實長度的誤差,最后設計制作對應的GUI 界面,可以將結果更加清晰直觀地展現出來。這為后期的視覺檢測和測量奠定了一定的基礎,使后期操作更為方便,為后期的工業機械視覺檢測及視覺圖像處理奠定一定的基礎。
已知現場采集到的圖像中心像素坐標假定為(u0,v0),相機中圖片的物理尺寸用dx×dy表示,則相機像素坐標系(u,v)與相機所得的圖像坐標系(x,y)之間的關系經過矩陣變換后經過相機坐標與世界坐標變換得到

式中:R=RxRyRz;T=[tx ty tz]。由上述的二維坐標、相機坐標、世界坐標的幾個矩陣表達式,可以進一步推導出從像素坐標到世界坐標系的關系

通過攝像機得到的每1 張圖像都會有1 個外參矩陣組成,外參矩陣對應圖像中的角點坐標可以通過將標定板上的點坐標(x,y,0,1)連續左乘外參矩陣和內參矩陣得到。在計算過程中需要設定參考坐標系,在此次研究中設定標定板左上方角點為參考坐標系,Z軸垂直標定板平面,因此z為0,1 表示齊次坐標。
在相機的標定過程中,按照原本的原理分析與對應的矩陣運算,計算當前攝像機的內外參數、從像素坐標到世界坐標過程中的旋轉矩陣和平移矩陣表達式分析,可以得出世界坐標系。
利用Matlab 代碼獲取圖像的內參和外參,使用旋轉矩陣后再次進行平移,得到平移矩陣和外參矩陣。使用rightMatrix =inv (R)*inv(M)*imagePoint;leftMatrix=inv(R)*t,s=(zConst+leftMatrix(3))/rightMatrix(3)等完成深度計算。
轉換世界坐標使用的兩種方法:第一種world Point1=inv(R)*(s*inv(M)*imagePoint-t);simplify(world-Point1),第二種cameraPoint=inv(M)*imagePoint*s;image->camera。
整個系統設計,大致流程如圖1 所示。

圖1 系統設計流程圖
相機標定的目的是根據之前的矩陣關系式計算得出每1 個攝像機的內部參數和外部參數,得出之后主要作用是當每1 次獲得新的圖片后,如果圖片發生畸變,則可以在標定的情況下獲得最小的畸變圖像,進而可以進行后期的圖像處理或參數獲取。
相機標定的輸入:主要包含在假設Z=0 時的標定圖像內角點圖像坐標值,此時只需要知道x、y2 軸的值即可,同時還需要對應的世界坐標系下的坐標軸值。
相機標定的輸出:目標在于輸出攝像機的內外系數。這個也是進行標定的基本要求和基本參數的獲取,因此一般Matlab 標定相機的完整流程如圖2 所示。

圖2 相機標定流程
在本設計中首先對相機產生的14 張圖片進行逐一標定。將圖片導入到軟件工具箱中讀取,讀取圖片時要將默認路徑改至圖片所在文件夾,并且要統一命名前綴。然后進行到下一步對每張圖片標角點,如圖3 所示。

圖3 14 張驗證圖片
按照要求對每1 張圖片標注腳點之后,利用Matlab 自動保存相關數據。進行下一步的標定工作,點擊工具箱菜單欄里的calibration,工具箱就會對標腳點所錄入的數據進行標定,馬上就獲取到結果,顯示標定結果如圖4 所示。

圖4 文件夾下的所有照片標定結果
其中讀取原圖設計中,設置按鈕后寫入程序,其中axes(handles.axes1)中表示指定了圖片讀取后顯示在axes1 中。接下來,將棋盤上的點轉換成對應的世界坐標系后標注在該棋盤的圖像上最后的計算X,Y,Z坐標換算后顯示在GUI 的最右側,程序段xlabel('x(mm)'),ylabel('y(mm)'),zlabel('z(mm)')實現功能,具體如圖5 所示。

圖5 世界坐標系的計算和標注
接下來需要分析坐標換算的坐標誤差關系,計算圖像像素坐標與世界坐標映射之間的誤差關系,RMSE=(sum((distC-5).^2)/length(distC))^0.5 為誤差計算的最終計算式,計算后的結果在axes6 坐標系中顯示。
由圖6 可知經程序運行后得出的結果,從結果顯示可以看出經多張圖對比及演示后得出,最終誤差基本恒定在2 mm 以內,達到目前工業中的大部分工藝需求。

圖6 均方差RMSE
在像素坐標到世界坐標的分析過程中,誤差分析也實現了在2 mm 以內,達到了大部分工業的要求,如圖7 所示。這為后續的機械視覺檢測及視覺分析打下了一定的基礎,能夠在現有的分析基礎上繼續改進和設計出更適合工業現場分析的視覺分析質檢系統等。

圖7 系統整體圖