黃玉強,葉磊
(武漢理工大學現代汽車零部件技術湖北省重點實驗室,湖北 武漢 430070)
基于雙目視覺的目標測距
黃玉強,葉磊
(武漢理工大學現代汽車零部件技術湖北省重點實驗室,湖北 武漢 430070)
隨著計算機技術的發展,無人駕駛技術的研究也受到了越來越多的關注,環境感知技術在其中占據著重要的地位,雙目立體視覺技術以其特有的優勢成為了環境感知技術中的主要內容。在研究了雙目立體視覺標定、校正、匹配等技術的基礎上,文章設計了基于MATLAB與OpenCV相結合的雙目立體視覺測距系統。利用MATLAB calibration toolbox進行標定試驗,并且將標定結果導入至OpenCV中進行后續校正、匹配、距離恢復工作以求出目標的三維深度信息。實驗表明,該系統在一定的距離范圍內能夠達到高精度要求。
雙目立體視覺;標定;校正;匹配;測距
CLC NO.:TP39/TN911.73Document Code:AArticle ID:1671-7988 (2017)02-148-04
無人駕駛技術隨著環境感知技術的發展而發展,對周圍環境信息的正確感知是無人駕駛汽車安全行駛的前提。目前環境感知技術主要有五種:雷達感知、紅外線感知、超聲波感知、融合感知、機器視覺感知。雷達感知不需復雜的設計與計算,系統的使用不受天氣、光線等因素干擾,但卻受相近的不同雷達間的電磁波的干擾;紅外線感知環境適應性好,反應速度快,探測范圍更廣,但是探測視角小,測量精度也有待提高;超聲波感知能夠快速簡單的處理數據,且超聲波傳感器也比較耐臟污,但是其精度較低,成本也較高;融合感知是基于單一傳感器難以全面描述路況環境,而綜合利用多個傳感器來正確感知車輛周圍的路況環境,但缺點是數據處理較為復雜并且設備成本高;機器視覺感知容易受到環境的影響,但是其監測范圍更大,能夠更為全面的收集道路信息,并且設備成本較低,普及率也更高。
基于雙目立體視覺的環境感知是今后機器視覺環境感知的一個重要發展方向,現如今其廣泛應用在航空航天、工業檢測、物體識別等領域。雙目立體視覺技術即模擬人類雙眼處理景物的方式,運用攝像機從不同位置對同一目標物體取像,實現對景物立體信息的感知[1]。本文基于Zhang的相機相機標定方法,在雙目平行視覺基礎上,鑒于雙目標定結果很容易受到外部因素的影響[2-4],控制特征點數量、標定圖片數量和棋盤格尺寸三個影響因子,之后用MATLAB calibration toolbox進行標定試驗,并且處理標定結果以求出目標的深度信息[5-6]。
雙目立體視覺測距主要是基于三角法原理,本文基于雙目平行視覺,如下圖1所示,物體上的某點P在攝像機1和攝像機2上的成像點分別為點P1和P2,圖像上成像點P1和P2相對于坐標原點O1和O2(O1和O2是左、右相機透鏡光軸與圖像平面的交點)的距離分別為x1和x2,P點在左、右圖像平面上成像點的位置差(x1-x2)被稱之為視差,由三角形相似原理,有:


圖1 雙目立體視覺測量原理
2.1 雙目標定模型

圖2 雙目視覺攝像機模型
在雙目視覺中,雙目標定實際上解決的就是二維圖像中像素點的位置與三維場景中的點的位置的投影關系的問題,而這種投影關系又可以用攝像機模型中的四個坐標系之間的轉換關系來表述,這四個坐標系分別為圖像坐標系、成像平面坐標系、攝像機坐標系和世界坐標系[7-9]。如下圖圖2所示。
圖像坐標系和成像平面坐標系之間的轉換關系如下:

其中,(u,v)是以像素為單位的圖像坐標系的坐標,(x,y)是以毫米為物理單位的成像平面坐標系的坐標。世界坐標系與攝像機坐標系的剛性變換如下所示:

其中,(Xc,Yc,Zc,1)是點P在攝像機坐標系下的坐標,(Xw,Yw,Zw,1)是點P在世界坐標系下的坐標,由上得知,攝像機坐標系和世界坐標系之間的關系可以用一個矩陣M2來表示,利用針孔模型可以表征攝像機坐標系和成像平面坐標系之間的變換關系:

用齊次坐標和矩陣表示上式:

將式(2)、(3)帶入(5),可以得到以世界坐標系表示的P點坐標與其投影點P的坐標(u,v)間的關系為:

上式即是表征了二維圖像坐標和三維世界坐標之間的基本關系,其中,M1、M2分別是攝像機內外參數矩陣,確定M1、M2的過程即是攝像機的標定。
2.2 攝像機標定
現有的攝像機標定方法總體上分為3大類:傳統標定方法、自標定方法和基于主動視覺的標定方法。前二者的主要區別在于傳統標定法一般需要使用標定物而自定標法無需標定物;傳統方法和理論相對較成熟,而自標定應用廣泛,但精度不高[10]。攝像機的自標定法不需要標定物,僅僅依靠多副圖像對應點之間的關系直接進行標定,主要適用于精度不高的場合;傳統的攝像機標定法需要已知尺寸的標定物,通過建立起標定物上已知的三維坐標點與已知的圖像點之間的一個對應關系來獲取標定結果,該標定方法可以獲得較高的標定精度,但不適應于不可能使用標定物的場合。基于主動視覺的標定方法需要控制攝像機以給定方式運動來求解模型參數,計算簡單,魯棒性較高,缺點是需要使用高精度移動平臺[7]。當應用場合要求的精度很高而且攝像機的參數不經常變化時,傳統的標定法應為首選。
Weng等人根據標定參數的求取方法又將傳統的標定法分為如下三類:非線性優化法、線性法、兩步法。兩步法是在基于非線性優化法和線性法的不足,同時又將這兩種方法相結合的基礎上發展起來的,其中以Tsai, Zhang提出的攝像機標定法為代表,得到了廣泛的應用。本文以基于Zhang相機標定方法為基礎,基于雙目平行視覺,較之基于OpenCV的標定方法有較高的精度和較強的魯棒性,故用matlab calibration toolbox進行標定試驗。實驗設置為采用12×11規格的標定棋盤,標定圖片張數設置為16張,棋盤格尺寸設置為15mm。

圖3 標定棋盤
標定結果如下:

式中:M1和M2分別是左右相機的內參數,D1和D2分別是左右相機的畸變參數,R是左右相機的旋轉矩陣,T是左右相機的平移矩陣。
立體匹配就算法而言,可以分為區域匹配算法和特征匹配算法。基于區域的匹配算法是將一幅圖像中的某一點的灰度鄰域作為基點,按照特定的約束條件在另外一幅圖像中搜索具有相同灰度值分布的對應點鄰域,從而將對應的特征點檢測出來。區域匹配算法簡單,操作容易,但是在出現遮擋物或者圖像不光滑時會使匹配過程變得雜亂,嚴重時還會導致匹配出現錯誤。
基于區域立體匹配算法的缺點,采用OpenCV提供的快速有效的塊匹配立體算法對圖像進行立體匹配。然后,在匹配過程中使用絕對誤差累積(SAD)的小窗口來尋找左右兩幅圖像之間的匹配點,OpenCV中相應算法提供的函數為cvFindStereoCorrespondenceBM(),匹配之后得出的視差圖如下圖4所示:

圖4 視差圖

圖5 左相機原圖
目標物體的深度信息由OpenCV提供的cvReproject ImageTo3D()求出,通過設置鼠標響應函數,實時求出物體上點的距離信息,如下圖6所示,通過將目標物體擺放至不同距離的位置,求出目標物體上某些點的深度信息,并與測出實際距離信息做對比,計算誤差值,測距結果如下表所示:


表1 實際測距結果
本文基于雙目測距的基本原理,查閱相關文獻優化外部影響因素以減少標定誤差,后用MATLAB calibration toolbox進行標定試驗,從而得出精確度較高的標定結果,然后在VS2013的環境下通過OpenCV將標定的內外參數用至后續的校正、匹配環節,通過設置鼠標響應函數,實時的在控制臺上顯示目標點的距離信息,并且最終得到了目標的深度信息。由實驗結果可知,在一定的距離之內該測距方法能夠達到一定的精度,但是鑒于仍然存在圖像噪聲等外部影響因素,而導致的標定誤差、匹配誤差等將會使得測距結果魯棒性有所減弱。
[1]王珂瑋.基于雙目立體的目標測量[D].長春:吉林大學,2013.06.
[2]支健輝,董新民,孔星煒,王旭峰.相機標定的外界影響因素分析[J].應用光學.2014,35(2):286-291.
[3]袁銘,蘇顯渝,劉曉青.影響攝像機標定精度的因素分析[J].光學與光電技術,2010,8(4):18-21.
[4]婁小平,郭美萍.雙目視覺測量系統標定精度提高方法研究[J].北京信息科技大學學報:自然科學版.2010,25 (1).
[5]羅丹,廖志賢.基于OpenCV的雙目立體視覺測距[J].大眾科技. 2011(4):52-53.
[6]汪珍珍,趙連玉,劉振忠.基于MATLAB與OpenCV相結合的雙目立體視覺測距系統[J]. 天津理工大學學報.2013(1):45-48.
[7]曲學軍,張璐,張凌云.基于新的成像模型的攝像機標定與三維重建[J].儀器儀表學報,2011,32(8):1830-1836.
[8]熊凡.雙目立體視覺系統標定及重構方法研究[D].武漢:武漢工程大學.2012.05.
[9]金偉偉.基于雙目視覺的運動小目標三維測量的研究與實現[D].杭州:浙江大學.2010.01.
[10]王曉輝,程健慶,韓瑜. 基于改進模型的攝像機標定[J].電子測量技術.2012(12):40-44.
Range-measuring of Target based on Binocular stereo vision
Huang Yuqiang, Ye Lei
(Hubei Key Laboratory of Advanced Technology of Automotive Parts, Wuhan University of Technology, Hubei Wuhan 430070)
With the development of computer technology, the research of unmanned technology has attached more and more attention,and the technology of environment perception plays an important role in it. Binocular stereo vision technology comes to the major content of unmanned technology,for which possessing the specific advantages.Grounding in the studies of the technology of Binocular stereo vision system’s calibration,stereo rectification ,stereo matching and so on,This paper designs distance measurement system based on a combination of MATLAB and OpenCV.Using MATLAB calibration toolbox to conduct the experiment of calibration, then importing the results calibrated to the OpenCV and conducting the following task of rectification,matching, the recovery of distance to get the three-dimensional depth information of target.The experiment show that the measurement system can meet the demand of high-precision within a destined range.
Binocular stereo vision; Calibration; Rectification; Matching; Range-measuring
TP39/TN911.73
A
1671-7988 (2017)02-148-04
黃玉強,碩士,就讀于武漢理工大學,研究方向為雙目立體視覺。
10.16638/j.cnki.1671-7988.2017.02.051