楊 明, 王海暉,2, 陳 君,萬 妮
(1. 武漢工程大學計算機科學與工程學院,湖北 武漢 430205;2.武漢工程大學智能機器人湖北省重點實驗室,湖北 武漢 430205)
隨著機器視覺的不斷發展,雙目標定已經成為機器視覺關鍵技術之一,主要用于工業檢測,三維重建,航空航天等領域.在先進制造業自動化生產技術的發展和產品質量控制體系的不斷完善下,人們對于加工對象的幾何尺寸和形狀位置的檢測精度也越來越高,故提高標定精度也成為人們研究的一個重要方面.攝像機標定方法發展到現在共分為三類[1-3],分別是自標定方法、基于主動視覺的標定法和傳統標定法.自標定法[1-3]主要是不依賴于任何的標定參照物,在獲得多幀圖像信息以后通過分析來得出攝像機的內外參數.這種方法過程比較復雜,對于實時性要求比較高的場合不是很適宜且魯棒性不高.主動視覺標定方法[1-3]主要是根據自主地控制攝像機來獲取圖像線性求解攝像機的模型參數.這種方法需要使用高精度的主動視覺平臺進行攝像機標定,且系統的成本較高,故使用不是很廣泛.傳統標定方法[1-3]必須是在一定的攝像機模型下的,在一定的實驗條件下,運用形狀和尺寸已知的標定物,經過采集圖像后,通過對其圖像進行處理,并利用數學變換和計算方法來得出攝像機的內外參數.這種方法算法比較的發雜,但精度高.在傳統的標定方法中,由張正友提出的平面模板兩步法就是利用已知坐標點的平面標靶,在攝像機中多方位成像,進行最小二乘求解攝像機的內外參數及畸變系數.該方法過程簡單、且精度較高,被廣泛使用.故本文主要是對采用張正友兩步法的攝像機標定系統進行精度提高研究.
簡單來說,由圖像坐標和世界坐標求解內外參數的過程就是攝像機標定.雙目攝像機標定系統中包含四個坐標系如圖1所示.

圖1 雙目標定坐標系Fig.1 Binocular calibration coordinate system
分別為:世界坐標系:owxwywzw、攝像機坐標系:ocxcyczc、圖像坐標系:oxy和計算機圖像坐標系:uv,根據針孔成像原理,可得到從攝像機坐標到圖像坐標系得變換:
(1)
從圖像坐標系到計算機坐標系得變換:
(2)
其中,dx是每個像素在x方向上的物理尺寸,dy是每個像素在y方向上的物理尺寸,(cx,cy)是圖像得中心坐標.
從世界坐標系到攝像機坐標系的變換:
(3)
由(1)、(2)、(3)可得到空間世界坐標系P點坐標與其投影點p的計算機圖像坐標(u,v)變換關系:

M1M2xw=Mxw
(4)
其中M1為內參數矩陣,fx、fy分別是u軸和v軸的有效焦距,u0、v0是光學中心;M2為外參數矩陣,R和t是旋轉矩陣和平移向量;對于非線性模型的內部參數,還包括徑向畸變參數k1、k2和切向畸變參數p1、p2.
本系統是在VC(可視化C++)編程環境中實現,采用標定板如圖2所示.

圖2 標定板 Fig.2 Calibration board
該標定板為鋁合金材料,特征圓成陳列分布,間距30 mm,板子的尺寸為300×300 mm,用特征圓的圓心坐標進行標定.對于特征圓的圓心坐標提取,主要是在獲得4個標志圓坐標,利用仿射變換將特征圓的坐標調正,然后對其進行排序,確定相應特征圓圖像坐標.
首先對左右相機參數進行設置,根據現場的環境調節曝光時間和增益使圖像達到較好的對比度和亮度.對圖像進行采集,讓標靶放在視場范圍內,使標定板與相機的距離適中,并盡可能的平行于相機平面,然后對采集的圖像進行預處理[4-7],使標定板上的特征圓清晰可見,提取特征點對圖像進行標定,獲得標定的內外參數,并多次測量求平均值.流程圖如圖3所示.

圖3 雙目標定系統流程圖Fig.3 Binocular calibration system flow chart
攝像機標定精度可用重投影誤差來表示,假設兩幅圖像中的對應點滿足:
其中,H是平面單應矩陣,x和x′是圖像中的對應點,則重投影誤差的形式如下:

通過對標定方法,標定原理,以及標定系統的介紹可知,標定主要是通過獲取的圖像來完成的,從不同的角度出發,用張正友兩步法,進行實驗:
由雙目標定原理可知,外界環境的干擾、標靶精度以及相機鏡頭、采集次數會對標定結果造成直接的影響,實驗主要針對于圖像預處理算法與標定過程中操作方法來進行(在光照條件、標定板、相機相同,采集次數相同的情況下).
a) 對圖像預處理算法中調節參數大小,即調節二值化閾值、除噪閾值等參數的大小,使預處理算法達到最佳效果,用相同的操作方法得到標定結果,并用重投影誤差[6-7]圖表示所能達到的精度如圖4所示,圖5是一般情況下所得到的結果.

圖4 重投影誤差a1Fig.4 Re-projection errorr a1

圖5 重投影誤差 a2Fig.5 Re-projection errorr a2
從結果可以得出,前者在X、Y軸方向上的誤差不超過0.25像素,后者在X、Y軸方向上的誤差不超過0.3像素.圖像預處理算法對雙目標定結果精度是有一定影響的.
b) 在其他影響條件相同的情況下,采用不同的操作方法來進行標定,首先將標靶放在視場范圍內,調節好焦距和光圈,盡量減少晃動幅度,在相同位置進行標定,得到標定結果,得出重投影誤差如圖6所示,再在相同的條件下,把標靶放在視場范圍內不同位置進行標定,并在測量范圍的深度方向上(Z方向)有一定的平移,或繞X軸和Y軸有一定的旋轉,得到標定結果,得出重投影誤差如圖7所示.

圖6 重投影誤差 b1Fig.6 Re-projection errorr b1

圖7 重投影誤差 b2Fig.7 Re-projection errorr b2
前者在X、Y軸方向上的誤差不超過0.28像素,后者在X、Y軸方向上的誤差不超過0.22像素.可以得出適當的操作方法可提高標定精度.
根據雙目標定原理,通過實驗,進行實驗數據的對比與總結,最后經過分析可知,影響雙目標定系統的主要因素有:
光線過亮或過暗,標靶特征圓與背景對比度低,使所采集的圖像質量較低,產生噪聲,從而引起后面檢測不到標靶,或檢測精度低,造成標定精度低.
光照不均勻,使得標靶過分過亮或過暗同樣會造成所采集的圖像質量降低,產生噪聲,從而也會引起檢測不到標靶,或檢測精度低,造成標定精度降低.
所以在采集圖像時,一定要近可能得在光照條件較好的環境下進行,從而提高檢測的精度.
采集圖像后,選擇合適的算法對圖像進行預處理,減少噪聲,畸變等不利情況,從而使標定板特征圓清晰可見,應該根據實際的情況來選擇適當的圖像處理算法,使在標定圖像特征點檢測和提取的時候更方便分析和計算,從而提高系統標定進度.本實驗采用的是子像素檢測技術.
由攝像機標定原理可知,標定過程中圖像坐標和世界坐標的精度是直接影響攝像機標定精度的因素,所以在圖像坐標當中標靶特征點的檢測精度也是很重要的.
其次就是標靶上特征點的加工精度,在標定過程中,會運用到很多參數來進行計算,在這個過程中需使用到標定板的一些物理參數,比如角點距離等等.所以標靶的加工精度和質量會直接影響到圖像處理算法的效果.本系統標靶加工精度誤差小于0.1 mm,并可以進行二次測量獲取更高精度的特征點坐標值.
同樣的視場范圍內相機的分辨率越大,標定精度也就越高.
在標定過程中,根據不同的操作方法,得到的精度也會不同,所以正確合適的操作方法也能提高標定的精度.
要將標靶放在視場范圍內,調節好鏡頭焦距和光圈,使標靶能夠清晰的成像.
標定的時候要將標靶處于靜止狀態或是小幅度的晃動,以減少由于相機的曝光時間所引起的運動模糊造成的誤差;
讓標靶盡可能得放置在視場范圍內不同位置進行標定,在測量范圍的深度方向上(Z方向)有一定的平移,或繞X軸和Y軸有一定的旋轉.
在標定過程中,所拍攝的標定板圖片越多,計算后所產生的誤差會越小,但是同時也會給系統帶來計算量大的問題,同時,當圖像的采集次數越多,達到一定的數量后,誤差會保持穩定,無法再降低.在實際情況中,需要根據具體的情況選定圖像采集次數,對標定結果求均值可得到較高的精度.
通過以上總結,運用提高精度方法,將一切影響因素都調節到最低時,進行標定,所得重投影誤差如圖8所示.

圖8 重投影誤差Fig.8 Re-projection errorr
由圖中可以看出其在X、Y軸方向上的誤差基本不超過0.2像素,可以認定標定結果的準確性.
影響雙目標定精度的因素眾多,在具體的情況下要進行具體分析.本文通過實驗,由得到的數據分析得出普遍性影響雙目標定系統精度的六大因素,并通過調節,在各個因素影響系數最小時進行標定,實驗結果表明得到了較高的精度,滿足雙目標定系統的實用要求.
參考文獻:
[1] 馬頌德,張正友.計算機視覺——計算機理論與算法基礎[M].北京:北京科學出版社,1998.
[2] 李洪海.雙目立體攝像機標定方法研究[J].軟件天地,2010,26(4):224-226.
[3] 李洪海,王敬東.攝像機標定技術研究[J].光學儀器,2007,29(4):7-12.
[4] 陳 念,李 進,王海暉.雙目立體視覺測量系統的研究與實現[J].武漢工程大學學報,2011,33(5):101-105.
[5] 李洪海.一種簡便的雙目攝像機標定方法 [J].淮陰工學院學報,2009,18(3):56-61.
[6] 莊光明,崔建偉,彭作祥.基于雙目定位原理的系統標定算法[J].計算機工程與應用,2010,46(8):45-47.
[7] 于勇,張暉,林茂松.基于雙目視覺三維重建系統的研究與設計[J].計算機技術與發展,2009,19(6):127-130.