馬 肖,舒博倫,李景春
(1.沈陽航空航天大學 創(chuàng)新學院,遼寧 沈陽 110136;2.沈陽航空航天大學 機電工程學院,遼寧 沈陽 110136)
雙目立體視覺測距技術(shù)
馬 肖1,舒博倫1,李景春2
(1.沈陽航空航天大學 創(chuàng)新學院,遼寧 沈陽 110136;2.沈陽航空航天大學 機電工程學院,遼寧 沈陽 110136)
基于人眼視差的原理,采用兩臺性能相同的相機從不同角度對同一物體進行拍攝,然后再根據(jù)獲取的不同圖像的視差計算出物體的實際距離,從而實現(xiàn)了雙目立體視覺測距。本文對雙目視覺測距系統(tǒng)的各個步驟作了詳細介紹,并在相關理論研究的基礎上,以MATLAB軟件為工具,對其中的步驟進行了一定的改進和優(yōu)化。
雙目立體視覺;視差;測距;MATLAB軟件
所謂的計算機視覺是指用各種成像系統(tǒng)代替視覺器官作為輸入敏感手段,由計算機來代替大腦完成處理和解釋[1]。一臺攝像機機在獲取圖像信息時會丟失掉圖像的深度信息,因此拍出的圖像不會像人的雙眼觀察得有立體感。機器視覺是通過三維世界所感知的二維圖像來研究和提取出三維景物世界的物理結(jié)構(gòu)[2]。所謂的立體視覺,是基于人眼視差的原理,由不同位置的兩臺或多臺攝像機對同一物體進行拍攝,然后通過對同一物體不同圖像中的視差,計算出物體在實際空間中的位置。研究雙目立體視覺系統(tǒng)是一件非常有意義的事情,能像人眼一樣獲取周圍的環(huán)境信息,以便能識別和定位目標物體。隨著電子學、光學以及計算機技術(shù)的發(fā)展,逐漸成為生物醫(yī)學、工業(yè)檢測、虛擬現(xiàn)實等領域的關鍵技術(shù),在軍事偵察、航天遙測及應急救災等領域得到了廣泛的應用[3]。
由不同位置的兩臺性能參數(shù)相同的攝像機對同一物體進行拍攝,再利用兩個圖像的視差,求得圖片獲取過程中所丟失的深度信息。主要由圖像獲取,相機標定,圖像的預處理,特征值提取與立體匹配,三維重構(gòu)五個步驟實現(xiàn)的[4]。下面依次介紹各步驟的實現(xiàn)與特點。
1.1 圖像獲取
圖1為兩個具有相同性能和內(nèi)部參數(shù)的相機放置在同一平面內(nèi),且兩光軸保持平行,對同一目標點P進行成像。
圖1 平行雙目視覺測距示意圖Fig.1 The parallel binocular vision range diagram
其中A1,A2分別為P在左右兩相機上的成像點,Z為目標點與成像面間的距離。設A1坐標為(xl,yl),A2坐標為(xr,yr),則視差B=|xl-xr|,根據(jù)相似三角形原理,
1.2 相機的標定
在相機標定方法中比較典型的是張正友算法,它是介于傳統(tǒng)標定與自標定之間的一種方法,使用的非線性模型,魯棒性好。由求單應性矩陣、計算相機內(nèi)參數(shù)、計算外參數(shù)和求取畸變系數(shù)4個步驟組成的[5]。將兩個相機平行放置,且相對位置保持不變,然后不斷變換標定板的位置,標定板如圖2所示,其大小為30 mm×30 mm。用MATLAB對拍到的圖像進行標定,將同側(cè)相機機所拍的一系列圖片載入程序中,提取圖像的角點,經(jīng)過初始化和最小二乘法計算得出的畸變系數(shù),再通過非線性優(yōu)化,反復迭代使相機的內(nèi)、外參數(shù)和畸變系數(shù)收斂。再將左右相機得到的內(nèi)部參數(shù)載入程序,便得出旋轉(zhuǎn)矩陣R和平移向。
圖2 平面標定板Fig.2 Planar calibration board
設空間點坐標P(Xw,Yw,Zw),圖像點的p(u,v),A為內(nèi)參矩陣,外參矩陣W=[R T]。為計算方便,設標定板為世界坐標系中Z=0的平面,則由世界坐標系中的點到圖像坐標系中的點的齊次變換如下形式:
其中s為深度系數(shù),H=A[R T]為單應性矩陣,H表示空間點坐標P與圖像點間的一種映射關系。
1.3 圖像的預處理與特征提取
該測試系統(tǒng)相機在獲取圖像的時候會因為自身鏡頭的畸變,光照程度等各種無法避免的隨機原因,使拍攝的圖像中含有噪聲。因此,在對圖像特征提取之前進行圖像預處理,抑制或者消除圖像中不利于圖像清晰的噪聲和干擾,會更有利于后續(xù)對圖像的處理和分析。目前主要有均值濾波,中值濾波和納維濾波三種比較經(jīng)典的圖像去噪算法,其中納維濾波是一種自適應線性濾波,可根據(jù)局部方差來調(diào)整濾波效果,對于去除高斯噪聲效果明顯[6-7]。下面是借助MATLAB軟件實現(xiàn)對圖像的自適應納維濾波:
1.4 特征提取與立體匹配
圖3 二維自適應維納濾波處理Fig.3 A two-dimensional adaptive wiener filtering processing
從圖像中提取有用的數(shù)據(jù)或者信息,得到圖像特征的表示或描述,如數(shù)值,符號和向量等,這一過程為圖像特征提取。特征從自身特點上又可以分為兩大類:描述物體外形的形狀特征和描述物體表面灰度變化的紋理特征。因此特征提取的方法又可分為統(tǒng)計特征和結(jié)構(gòu)特征。計算機通過對這些數(shù)值或向量形式的特征的提取,才能確保對所選特征進行準確的匹配。
立體匹配通過通過一定算法完成左右相機圖像的相同特征匹配,得到視差圖。它是雙目立體視覺系統(tǒng)的關鍵技術(shù),可分為區(qū)域匹配,特征匹配和相位匹配3大類[8]。本文中所采用的塊匹配立體算法 cvFindStereoCorrespondenceBM是由OpenCV提供的,但若想在包含了眾多無效或不利因素的圖像中進行準確無歧義地匹配,主要依賴以下3個問題的有效解決,即正確特征的選取,特征本質(zhì)的提取和準確匹配特征算法的選擇。
1.5 三維重構(gòu)
在相機內(nèi)外參數(shù)矩陣確定后,通過空間某點在左右兩圖片中的對應點,便可進行空間的三維重建。根據(jù)式(3)的關系,通過簡單的矩陣間運算,便可求得圖像的深度信息。而影響所測距離精度的原因主要有相機標定產(chǎn)生的誤差,特征提取出現(xiàn)的誤差和匹配準確度。
圖4的雙目立體視覺測距系統(tǒng)的界面是利用MATLAB環(huán)境的GUI設計的,主要模塊有瀏覽圖片,圖像匹配,設置點模塊和測距。能夠?qū)斎胱笥蚁鄼C所獲得的靜態(tài)圖像進行圖像匹配,得出左右相機各自的測量距離。
雙目立體視覺測距系統(tǒng)有著十分廣闊的發(fā)展和應用前景,它在駕車測距,機器人避障和智能拍攝中都起到了關鍵作用。文中主要基于自身的實驗情況,對常用的雙目立體視覺測距技術(shù)進行了闡述和相應的優(yōu)化,并分析了影響精度的主要原因。希望能為廣大科技工作者對雙目測距精度的提高起到一些幫助。
[1]Shapiro G,Stockman C.計算機視覺[M].趙清杰,錢芳,蔡利棟,譯.北京工業(yè)出版社,2005.
圖4 雙目立體視覺測距系統(tǒng)Fig.4 Binocular stereo vision ranging system
[2]鄭南寧.計算機視覺與模式識別[M].北京:國防工業(yè)出版社,1998.
[3]張建德,陸金桂.螺旋槳槳葉寬度的雙目視覺測量方法[J].Journal of Marine Science and Application,2011(2):246-251.
[4]徐可佳.雙目立體視覺技術(shù)在接觸網(wǎng)幾何參數(shù)測量中的應用研究[D].成都:西南交通大學,2004.
[5]胡國元,何平安,王寶龍.視覺測量中的相機標定問題[J].光學與光電技術(shù),2004(9-12):357-389.
[6]高展宏,徐文波.基于MATLAB的圖像處理案例教程[M].清華大學出版社,2009.
[7]高文,陳熙霖.計算機視覺[M].北京:清華大學出版社,1999.
[8]隋婧,金偉其.雙目立體視覺技術(shù)的實現(xiàn)及其進展[J].計算機應用,2004(10):33-89.
Binocular stereo range-measuring technology
MA Xiao1,SHU Bo-lun1,LI Jing-chun2
(1.Innovation College,Shenyang Aerospace University,Shenyang 110136,China;2.Mechanical and Electrical College,Shenyang Aerospace University,Shenyang 110136,China)
Based on the principle about the optical parallax of human's eyes,taking pictures for the same thing by two cameras whose function is identical to each other.Then we could work out the actual distance from cameras to the object according to the optical parallax of different pictures shot before.Thus the binocular stereo vision range would be realized.This paper introduces every step of the optical range-measuring system in detail.It uses MATLAB as a tool to improve and optimize some of the steps and practical methods to some extent,on the basis of some related researches.
binocular stereo vision;optical parallax;range-measuring;MATLAB software
TN98
A
1674-6236(2016)04-0081-03
2015-03-29 稿件編號:201503422
大學生創(chuàng)新訓練項目(201310143068)
馬 肖(1992—),男,山東濟寧人。研究方向:機械電子工程。