甘曉川 孫安斌 葉 欣 馬驪群
(中航工業(yè)北京長城計量測試技術研究所,北京 100095)
視覺測量技術是建立在計算機視覺研究基礎上的一門新的檢測技術,其研究重點是物體的幾何尺寸及物體在空間的位置、姿態(tài)等的測量[1]。視覺測量的分類方法有多種,其一是按所用視覺傳感器數(shù)量可以分為單目視覺測量、雙目視覺(立體視覺)測量和三(多)目視覺測量等[2]。其中,單相機位姿測量系統(tǒng)(以下簡稱單目系統(tǒng))是指僅使用單臺圖像傳感器采集圖像,經過對圖像的處理計算,實現(xiàn)對被測物的6個參數(shù),即3個平移參數(shù)和3個旋轉參數(shù)進行測量的系統(tǒng)。一般是由成像原件(多為CCD或CMOS)、光學鏡頭、濾光片、目標靶、測量軟件等組成。單目系統(tǒng)由于具有非接觸、結構簡單、標定步驟少等優(yōu)點而受到關注,多用于機器人自主導航、手眼系統(tǒng)、目標對接等任務中。目前,位置測量誤差能達到0.2mm,角度誤差能達到0.05°[3]。
在實際的測量任務中,可能不需要測量所有的參數(shù)或者僅對某個參數(shù)有測量精度要求。例如,僅關心被測物體相對于相機光軸的轉動。本文針對這種需求,設計和實現(xiàn)了一種單目系統(tǒng),用于測量被測工件沿相機光軸方向的轉角,并利用多齒分度臺對本系統(tǒng)的測量誤差進行了驗證。
在本測量任務中,需要測量被測零件沿自身主軸方向的旋轉角,如圖1所示。測量時相機正對被測物,并且相機和被測物體沒有相對運動。根據(jù)工件的使用要求相機的工作距離為600mm,被測物體直徑約150mm,進過計算,選擇鏡頭的焦距為16mm。根據(jù)相機校準和使用過程中需要達到一定的景深范圍,選擇了F4的光圈,此時景深大約為30mm??紤]到使用環(huán)境為實驗室環(huán)境,具備常規(guī)的光照條件,所以采用被動照明方式。
本系統(tǒng)使用的CCD相機型號為DH-SV1421GM,像素數(shù)量為1,392×1,040,像素尺寸為4.65μm×4.65μm。由于試驗條件限制沒有直接使用16mm鏡頭,而是使用了8mm定焦鏡頭Computar M0814-MP2和2倍擴倍鏡Computar EX2C,組成等效焦距16mm的定焦鏡頭,對試驗結果沒有影響。在被測工件面對相機的端面上,安裝有棋盤板。棋盤板與被測物固定在一起,可一同旋轉,如圖1所示。
圖1 系統(tǒng)組成示意圖
目標物體位姿測量方法一般可分為兩種[4]:一是利用標定得到的攝像機外部參數(shù)確定攝像機坐標系與物體坐標系的轉換關系,當目標物體在空間坐標系中的位置發(fā)生改變時,物體在空間坐標系的坐標就相應地發(fā)生變化,物體位姿測量就是要求取目標物體在空間坐標系下的位姿信息;二是設目標物體在空間坐標系中的坐標相對固定,當目標物體發(fā)生移動時,可假設空間坐標系隨目標物體一起移動,這樣空間坐標系的坐標原點不是固定不變的,而物體在空間坐標系中的位姿是保持不變的,我們所要求取的是攝像機坐標系與隨目標物體一起移動的空間坐標系之間的轉換關系。
本文中我們采用的是第二種方法。
1.3.1成像模型和坐標系
關于相機的針孔成像模型和畸變模型,有很多文獻可以參考,如文獻[5-6],在此不再詳述,為了便于描述,僅將常用的坐標系,物體坐標系、相機坐標系、像素坐標系在圖2中表示出來。Oc為相機鏡頭光心,Xc軸與Yc軸分別與圖像平面的x軸和y軸平行,Zc軸相機的光軸,它垂直于圖像平面,與圖像平面的交點,即為圖像坐標系的原點Oxy。
圖2 坐標系示意圖
設物體上有一點Pw(xw,yw,zw),經過兩次的坐標變換得到在相機坐標系下的坐標p(u,v)。采用針孔模型來描述成像的過程可分成兩步,即兩次坐標變換。第一次是從物體坐標系變換到相機坐標系。
(1)
其中,
R為3×3旋轉矩陣,R-1=RT,detR=1(正交單位矩陣);T為3×1平移矩陣。第二次是從相機坐標系變換到像素坐標系。
(2)
p′=MR′P′
(3)
此處,P′可以理解為棋盤板上各個角點,其坐標為已知,p′為各角點對應的在圖像上的坐標。M為相機內參數(shù),可事先通過校準來確定其數(shù)值。R′為外參數(shù),為待求。求解公式(3),就可以得到R′中的r1、r2,進而得到
(4)
1.3.2相機校準
相機校準所要解決的問題就是建立物體的世界坐標與攝像機內圖像的像平面坐標的轉換關系。在此實質上將攝像機標定問題轉換為求兩平面——攝像機成像平面和目標平面之間的透視投影矩陣。攝像機標定的作用就是一旦確立了這種關系,只要知道了攝像機內圖像的像平面坐標,我們就可以知道物體的世界坐標了,知道物體的世界坐標也就知道它在攝像機內圖像的像平面坐標了。
相機內參數(shù)校準方法有多種,其中使用標準板的方法,校準過程比較簡易,能獲得比較滿意的結果,本文中的標準板使用了9×6的棋盤板圖樣來校準相機。詳細的過程可參見文獻[5-7]。圖3為用于校準相機內參數(shù)的圖像之一。
圖3 校準相機的圖像
1.3.3外參數(shù)的計算
在不進行調節(jié)的情況下,相機的內參數(shù)是不變的,這也是相機能進行測量的一個基礎。每幅圖像都有自己的外參數(shù),它包含了被測物體坐標系與相機坐標系之間的旋轉和平移關系。正是因為不同圖像的外參數(shù)不同,也就是物體坐標系在相機坐標系中的位置的不同,使得我們才能利用外參數(shù)來計算兩個坐標系之間的關系。計算外參數(shù)時需要使用事先已經通過相機校準得到的內參數(shù),用于減小鏡頭畸變對測量結果的影響。
1.3.4旋轉角度的計算
在實際測量中,相機的位置固定不動,被測物體繞自身軸線(與相機光軸大致平行)旋轉一定角度,該角度即為被測量。對該旋轉角度進行測量,實際上就是求解R矩陣。從R矩陣即可求解出物體坐標系分別繞x軸、y軸和z軸各自的旋轉角度a、β和g。由
(5)
可得,
(6)
g即為所求的角度。
測量軟件在VS2010開發(fā)環(huán)境下,利用C#語言調用了部分Emgu CV 2.4.2.1777的數(shù)據(jù)結構和函數(shù),編寫了測量軟件。Emgu CV是Open CV的C#版本,對其中的數(shù)據(jù)結構和函數(shù)進行了封裝。關于Open CV和Emgu CV的更多信息可參見文獻[8-11]。測量軟件具有的主要功能有:
1)識別圖像中的棋盤板圖像,獲取角點在圖像中的坐標;
2)利用棋盤板圖像校準相機,獲得相機的內參數(shù);
3)計算所獲得的內參數(shù)的重投影誤差;
4)計算測量圖像的外參數(shù),并利用外參數(shù)解算得到g角。
測量角度的過程并不復雜。步驟如下:
1)調整相機與被測物體之間的距離和角度,使得棋盤板幾乎位于圖像的中間部分,并且盡可能的正對被測件,還要盡可能覆蓋較大的面積。這是為了保證a和β的角度符合測量要求,一般不超過5°即可;
2)用標準板對相機進行校準,獲得相機的內參數(shù)。標準板要充分覆蓋圖像區(qū)域,標準板上的特征點數(shù)量要充分多;
3)分別對旋轉前后的被測零件拍照,用事先得到的畸變參數(shù)對測量的圖像進行矯正,減小畸變對測量結果的影響;
4)最后,分別計算兩幅圖像的外參數(shù),進而計算兩幅圖像各自的g角,它們的差即為被測零件的旋轉角度。
測量任務要求能實現(xiàn)不超過3′的測角誤差,選擇型號為WDFT-360E,編號為30507的360齒的多齒分度臺作為角度的標準器,見圖4,用于驗證系統(tǒng)的測角精度。
圖4 多齒分度臺和目標板的圖像
將相同的棋盤板圖像固定在多齒分度臺的表面上,從分度臺的0°開始,以10°為步距,一直測量到360°,每個位置拍攝一幅圖像,共測量37個位置。由于多齒分度臺的最大分度間隔誤差不超過2.0″,遠小于系統(tǒng)要求的測角誤差,此處將轉臺的轉角不加修正值使用。分別計算每幅圖像的g參數(shù),角度測量誤差曲線圖見圖5,角度誤差測量結果見表1。
圖5 角度測量誤差曲線
表1 角度誤差測量結果
續(xù)表
注:數(shù)學上反正切函數(shù)的值域是±90°,所以此處給出的g角也是此角度。在計算角度增量時,加上了180°或者360°的角度修正量,使得角度范圍在0°~360°范圍內,便于與多齒分度臺的角度進行誤差計算。
文中介紹了在我所設計實現(xiàn)的一種非接觸的旋轉角度測量系統(tǒng),詳細的給出了該角度測量系統(tǒng)的構成和原理。該系統(tǒng)利用棋盤板圖像實現(xiàn)對相機內參數(shù)的校準,進而實現(xiàn)了對被測零件圖像外參數(shù)的計算,利用外參數(shù)與旋轉角度之間的關系,最后得到了旋轉角度。對測量的步驟進行了說明。利用立式多齒分度臺作為標準器,對系統(tǒng)的測角誤差進行了測量,試驗數(shù)據(jù)表明,測量誤差不超過±0.01°,取得了較理想的結果。
實驗中發(fā)現(xiàn),目標板覆蓋圖像較大范圍時能獲得更小的測角誤差。所以要根據(jù)使用要求,合理的設計相機的工作距離,選擇適當焦距的鏡頭。
由于條件限制,還有可以改進的地方。如選用畸變更小的鏡頭,選用更高分辨率的CCD,提高棋盤板的制造精度等。目前每幅圖像的處理時間平均為0.2s~0.3s,還可以進一步優(yōu)化測量軟件提高處理速度。
[1]胡寶潔,曹密,熊偉,等.基于立體視覺的目標姿態(tài)測量技術.計算機測量與控制[J].2007,15(1):27-28
[2]吳斌,薛婷,邾繼貴,等.任意位姿平面靶標實時立體視覺傳感器標定.光電子·激光[J].2006,2007(11):1293-1296
[3]解邦福.基于單目視覺的剛體位姿測量系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學,2009
[4]趙軍.基于單目視覺的物體位姿測量方法研究[D].安徽:合肥工業(yè)大學,2005
[5]Zhang Z.Y., A Flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11): 1330-1334
[6]甘曉川,赫明釗,葉孝佑.數(shù)字近景攝影測量中相機內參數(shù)校準.計量學報,2012,33(5):391-394
[7]張寧,張友彬,張召才,等.基于同市場參考點的落點坐標測量系統(tǒng)的設計與應用.計量技術,2008,(4):12-14
[8]Gary Bradski, Adrian Kaebler,學習OpenCV(中文版)(第一版)[M].北京:清華大學出版社,2009
[9]http://www.emgu.com/wiki/index.php/Main_Page,2013-09-22
[10]http://sourceforge.net/projects/emgucv/,2013-09-22
[11]http://www.emgu.com/forum/,2013-09-22