任繼昌,楊曉東
(海軍潛艇學院,山東 青島 266042)
雙目視覺測距技術是計算機視覺技術的一種具體應用,它仿照人類雙眼感知周圍環(huán)境空間深度的功能[1],利用兩個攝像頭從不同位置拍攝同一場景,通過各種算法對所拍攝的立體圖像對進行匹配,并計算視差,然后利用三角測量原理實現(xiàn)距離測量。立體匹配是雙目視覺測距的關鍵環(huán)節(jié),其目的是在圖像對的左右圖像上尋找到同名的點,并通過某種手段計算出視差。針對立體匹配問題,國內(nèi)外眾多學者進行了深入研究[2-5],常用算法有基于相位的匹配、基于特征的匹配和基于區(qū)域的匹配這3種。以上方法計算量大、缺乏針對性,且存在誤匹配的情況,因而效率較低。事實上,在進行測距時無需知道目標上每個點的坐標,而只需知道目標上一些特征點坐標即可達到測距目的,因而只需進行局部匹配即可。基于此思路,本文提出一種基于亞像素級角點檢測的人工匹配方法,在一定程度上提高了匹配效率。
雙目立體視覺測量基于視差原理,圖1所示為簡單的雙目平視立體成像原理圖,Ol、Or分別表示左右攝像機光心,兩攝像機的投影中心線的距離,即基線距為B,fc表示攝像機的有效焦距。兩攝像機在同一時刻觀看空間物體的同一特征點P,分別在“左眼”和“右眼”上獲取了點P的圖像,它們的圖像坐標分別為pl=(Xl,Yl),pr=(Xr,Yr)。假定兩攝像機的圖像在同一個平面上,則特征點P的圖像坐標Y相同,即Yl=Yr=Y,則由三角幾何關系得到
圖1 雙目立體成像原理Fig.1 Principle of binocular vision
設視差為D=Xl-Xr。由此可計算出特征點P在攝像機坐標系下的三維坐標為
同時可以容易得到特征點到坐標系原點的距離
因此,左攝像機像面上的任意一點只要能在右攝像機像面上找到對應的匹配點(二者是空間同一點在左、右攝像機像面上的點),就可以確定出該點的三維坐標。
立體標定是計算空間上兩臺攝像機之間的幾何關系,立體標定前需要完成單個攝像機的標定工作。攝像機標定是指建立攝像機圖像像素位置與場景點位置之間的關系,其途徑是根據(jù)攝像機模型,由已知特征點的圖像坐標和世界坐標求解攝像機的模型參數(shù)。
圖像坐標系是存儲在計算機中的數(shù)字圖像的坐標系,表示方法有兩種:1)以像素單位表示,坐標系原點位于圖像的左上角,以(u,v)表示圖像中的某一坐標;2)用物理單位mm表示,設坐標的原點位于(u0,v0)像素點,即主點(攝像機光軸與圖像平面的交點)。兩種坐標表示方法比較如圖2所示[6]。則圖像中任意一個像素在兩個坐標系下的坐標有如下關系,
式中,像素點的物理大小為k×l,單位為mm。
圖2 圖像坐標系Fig.2 Image reference frame
攝像機坐標系(X0,Y0,Z0)是以攝像機鏡頭的光心為原點,X0軸和Y0軸與圖像坐標系的x軸和y軸平行,Z0垂直于圖像平面。攝像機坐標系與圖像坐標系的關系為
式中:f為攝像機焦距;θ為攝像機坐標系的偏斜度(一般情況下,攝像機坐標系垂直于圖像坐標系,即成90°)。
結合式(4)與式(5)可得
式中,A為攝像機內(nèi)參數(shù),包含了攝像機的6個內(nèi)參數(shù)(k,l,u0,v0,f,θ)。
世界坐標系是用來描述攝像機位置的基準坐標系,同時也用來描述環(huán)境中任何物體的位置,它由(Xw,Yw,Zw)表示。攝像機坐標系與世界坐標系之間的關系可以用旋轉(zhuǎn)矩陣R與平移向量T來描述,R與T稱為攝像機的外參數(shù)。它們之間的關系如下
式中:R為3×3正交單位矩陣;T為三維平移向量;0=(0,0,0)T;M2為4×4矩陣。
攝像機標定是指建立攝像機圖像像素位置與場景點位置之間的關系,需要解算攝像機的內(nèi)參矩陣A中6個參數(shù)。本文采用ZHANG標定法[7],結果如下。
右攝像機內(nèi)參數(shù)為
在真實世界中,攝像機幾乎不可能像圖1那樣嚴格的前向平行對準,但可以通過數(shù)學方法計算投影圖和畸變圖,從而將左右攝像機圖像校正為前向平行對準。本文按文獻[8]中提及的Bouguet立體校正算法對雙目視覺系統(tǒng)進行立體校正,結果如下。
校正后的右攝像機內(nèi)參數(shù)為
結果顯示R為單位矩陣,表明兩攝像機已校正為前向平行,即校正后對應的左右攝像機圖像滿足行對準。同時T也發(fā)生了變化,參數(shù)ty,tz很小,幾乎可以忽略,即可認為校正后的雙目視覺系統(tǒng)在豎直方向和前后方向沒有發(fā)生平移,達到了立體校正的要求。圖3和圖4分別為未校正和立體校正后的左右攝像機圖像。
由圖4邊緣可以看出,校正后的圖像與原圖(圖3)有一定變化(左視圖上部、右視圖下部有變化),且兩幅圖處于平行對準狀態(tài)。
圖3 未校正的左右攝像機圖像Fig.3 Unrectified pictures
圖4 立體校正后左右攝像機圖像Fig.4 Rectified pictures
按文獻[9]提出的檢測方法對圖3中測距目標進行角點檢測,如圖5所示。
圖5 角點檢測Fig.5 Corner detecting
本文要測量圖中標定紙右上角到左攝像機光心(世界坐標系原點)的距離。選取右圖像標定紙右上角作為特征點,然后以改點為中心畫適當大小的矩形(只需大致包含特征點即可),該矩形即為角點檢測區(qū)域,進行亞像素級角點檢測,測得該點Pr坐標為xr=803.521,yr=362.512。
按照同樣方法測得左圖像相同特征點Pl坐標為xl=1218.93,yl=362.373,Pl為對應Pr的匹配點。
測得Pl、Pr坐標后即可依式(2)~式(5)進行三維坐標計算,但式(2)~式(4)是理想情況下的計算公式,即認為兩攝像頭完全一致,從Ar、Al可以看出,校正后的兩個攝像頭并非完全一致,光心點坐標(u0,v0)不完全一樣,因而公式修正為
經(jīng)計算可得xc=877.63 mm,yc=39.39 mm,zc=3270.27 mm,依式(5)可得距離s=3386.21 mm。
本文針對雙目視覺測距中匹配過程復雜、運算量大、效率低的問題,提出更為簡捷的基于角點檢測的人工匹配方法,并基于該方法實現(xiàn)了雙目測距。實驗所測距離為3386.21 mm,而利用激光測距儀測得距離為3401 mm,測量誤差為0.44%,具有較高精度。結果表明,本文提出的基于角點檢測的人工匹配測距方法運算量小、效率高且匹配方法簡單,同時測距結果也比較理想。本文所用方法同樣適用于遠距離測距,可通過增大基距,采用長焦距、高分辨率攝像機,以及提高標定精度等方法來保證最終的測距精度。
[1]高文,陳熙霖.計算機視覺-算法與系統(tǒng)原理[M].北京:清華大學出版社,1998.
[2]王軍,張明柱.圖像匹配算法的研究進展[J].大氣與環(huán)境光學學報,2007,2(1):11-15.
[3]徐奕,周軍,周源華.基于小波及動態(tài)規(guī)劃的相位匹配[J].上海交通大學學報,2003,37(3):388-392.
[4]王年,范益政,鮑文霞,等.基于圖割的圖像匹配算法[J].電子學報,2006,34(2):232-236.
[5]徐彥君,杜利民,侯自強.基于相位的尺度自適應立體匹配方法[J].電子學報,1999,27(7):38-41.
[6]張廣軍.機器視覺[M].北京:科學出版社,2005.
[7]ZHANGZY.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[8]BRADSKIG,KAEHLERA.學習OpenCV(中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學出版社,2009.
[9]SHI J,TOMASI C.Good features to track[C]//The 9th IEEE Conference on Computer Vision and Pattern Recognition,1994:593-600.