潘慶甫 潘慶茹
摘 要:針對雙目立體視覺中的特征點提取與匹配時計算復(fù)雜度大、圖像匹配時間較長的問題,提出用SIFT算法進行特征點的提取與匹配。利用張正友標定法確定攝像機的內(nèi)外參數(shù),利用Bouguet算法進行圖像的立體矯正。建立以圖像獲取、立體矯正、目標檢測與特征提取、立體匹配與三維重建為主要步驟的雙目立體視覺測距。實驗表明,在保持原有匹配率的前提下,一定程度上提高了運算速度。
關(guān)鍵詞:雙目立體視覺測距,SIFT算法,圖像匹配
一個完整的雙目立體視覺系統(tǒng)一般由攝像機標定、圖像獲取、圖像預(yù)處理、目標檢測與特征提取、立體匹配和三維測距組成。與普通圖像配準不同的是,立體像對之間的差異是由拍攝點的不同一起的,而不是由被拍攝圖像的變換或運動引起的。
1 四個坐標系的轉(zhuǎn)換
如圖1所示,圖中有四個坐標系分別為世界坐標系(Ow-XwYwZw),攝像機坐標系(Oc-XcYcZc),像素坐標系(O0-uv)和圖像坐標系(O1-xy)。其中O1為攝像機光軸與圖像平面的交點,稱為主點,該點的坐標為O1(u0,v0),dx和dy分別為每一個像素在x軸和y軸上的尺寸,則圖像中任意一點的像素在兩個坐標系下的關(guān)系可以表示成:
dx、dy、u0、v0其實都是我們假設(shè)出來的參數(shù),dx、dy表示感光芯片上像素的實際大小,u0、v0是圖像平面中心,最終是要我們求的內(nèi)外參數(shù)。
設(shè)空間一點P在攝像機坐標系Oc-XcYcZc下的坐標為 ,在世界坐標系Ow-XwYwZw下的坐標為 ,該點在圖像坐標系下的成像點為p,p點的圖像坐標和像素坐標分別為 和
R為旋轉(zhuǎn)矩陣,T為平移向量:
其中 , 稱為u軸上的尺度因子, 稱為v軸上
的尺度因子,M1稱為攝像機的內(nèi)部參數(shù),M2稱為攝像機的外部參數(shù),確定內(nèi)外參數(shù)的過程稱為攝像機的標定。
2 雙目立體視覺的測距模型
簡易的雙目立體視覺測距模型如圖2所示,假設(shè)兩攝像頭的光軸平行,Ol和Or分別為左右攝像頭的光心,兩攝像頭的光心之間的距離為b,P為目標點,根據(jù)圖1建立的坐標模型可知P到兩攝像頭之間的距離可看作Z軸上的坐標即為Z,P在左右攝像頭的成像點分別為Xl和Xr,因此,可建立以X-Z的平面模型。將目標點到左攝像頭之間的距離POl向右平移的距離為b,所得到的線段標記為P';Or,據(jù)圖易知P';OrP和XrOrXr';相似,從而可得:
其中,d為P點在左右攝像頭的成像點之間的差值,也即視差值。從公式可以得出目標點P到攝像機之間的距離越大,視差值將越小,從而誤差越大。
3 攝像機標定
確定攝像機內(nèi)外參數(shù)的過程稱為攝像機的標定,由(1)式可知,攝像機的內(nèi)參數(shù)為M1,它包括λx、λy、u0、v0,它主要是由攝像機的內(nèi)部結(jié)構(gòu)決定(如焦距f、光心);攝像機的外參數(shù)為M2,它包括R和T,它主要是由攝像機的擺放位置和拍攝角度決定。
由于攝像頭鏡頭的制造精度與組裝工藝帶來的誤差而產(chǎn)生畸變,會使得成像過程產(chǎn)生畸變,鏡頭的畸變包括徑向畸變與切向畸變。
畸變的數(shù)學(xué)模型可以用主點周圍的泰勒級數(shù)展開式的前幾項來表示:
u';=u(1+k1r2+k21r4) (3)
其中, 是畸變點的原始坐標, 是畸變矯正后的坐標,K1、k2稱為徑向畸變參數(shù)。
切向畸變是由于攝像機制造上的缺陷使得透鏡本身與圖像平面不平行而產(chǎn)生的,產(chǎn)生的原因是透鏡被粘貼到鏡頭模組上的安裝誤差,切向畸變可定量描述為:
u';=u+[2p1v+p2(r2+2u2) (4)
v';=v+[2p1u+p2(r2+2v2)] (5)
4 SIFT算法進行特征點提取與匹配
Sift算法進行特征提取與匹配時的步驟包括以下幾點:
Step1:關(guān)鍵點檢測:由于高斯核是唯一產(chǎn)生多尺度空間的核,一個圖像的尺度空間可以定義為一個原始圖像與二維高斯函數(shù)的卷積運算,高斯差分金子塔是由兩個相鄰高斯金字塔之差組成的。關(guān)鍵點的精確定位主要包括兩部分:去除低對比度的極值點和去除邊緣效應(yīng),利用DOG函數(shù)在尺度空間的Taylor展開式便能求取極值點。
Step2:關(guān)鍵點描述:每一個關(guān)鍵點擁有三個信息,分別為:位置、尺度及方向。通過對關(guān)鍵點周圍的圖像區(qū)域進行分塊,計算這些塊內(nèi)的梯度直方圖,生成具有具有獨特性能的向量,這個向量是圖像區(qū)域的一種信息反映。
Step3:關(guān)鍵點匹配:分別對模板圖和實時圖建立關(guān)鍵點描述子的集合,并用關(guān)鍵點描述子的歐式距離來作為兩幅圖像的關(guān)鍵點的相似性度量。
Step4:消除錯配點:在匹配的過程中可能出現(xiàn)大量的錯配點,這時可用RANSAC算法進行參數(shù)估計,RANSAC算法是一種不斷迭代,不斷測試的過程。
5 實驗結(jié)果
選取具有明顯特征的物體進行測距,當畫面中的物體較多或干擾太大時,可通過手動調(diào)節(jié)進行特征點的提取,以排除干擾。通過匹配的特征點則可以解算出攝像機到目標物體的距離,處理數(shù)據(jù)的方法為測多組數(shù)據(jù)求平均值。實驗表明,測量距離越大則誤差越大,與理論分析相符。
參考文獻
[1]王昌盛.基于ORB算法的雙目視覺測量研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015
[2]Raarel C.Gonzalez,Richard E.woods.數(shù)字圖像處理(MATLAB版)[M].北京:電子工業(yè)出版社,2004:6-37.
[3]孟浩,程康.基于SIFT特征點的雙目視覺定位[J].哈爾濱工程大學(xué)學(xué)報,2009(6):649-652.