雙目攝像頭測距算法
輸入輸出接口
Input:
(1)左右兩個攝像頭采集的實時圖像視頻分辨率(整型int)
(2)左右兩個攝像頭采集的實時圖像視頻格式 (RGB,YUV,MP4等)
(3)攝像頭標定參數(中心位置(x,y)和5個畸變
系數(2徑向,2切向,1棱向),浮點型float)
(4)攝像頭初始化參數(攝像頭初始位置和三個坐標方向
的旋轉角度,車輛寬度高度車速等等,浮點型float)
Output:
(1)左右兩幀圖像匹配的圖像視頻分辨率(整型int)
(2)左右兩幀圖像匹配的圖像視頻格式(RGB,YUV,MP4等)
(3)左右兩幀圖像image/video 匹配后的深度信息(浮點型float)
(4)目標物與攝像頭的距離 (浮點型float)
1. 功能定義
雙目測距實際操作分4個步驟:相機標定——雙目校正——雙目匹配——計算深度信息。
相機標定:攝像頭由于光學透鏡的特性使得成像存在著徑向畸變,可由三個參數k1,k2,k3確定;由于裝配方面的誤差,傳感器與光學鏡頭之間并非完全平行,因此成像存在切向畸變,可由兩個參數p1,p2確定。單個攝像頭的定標主要是計算出攝像頭的內參(焦距f和成像原點cx,cy、五個畸變參數(一般只需要計算出k1,k2,p1,p2,對于魚眼鏡頭等徑向畸變特別大的才需要計算k3))以及外參(標定物的世界坐標)。而雙目攝像頭定標不僅要得出每個攝像頭的內部參數,還需要通過標定來測量兩個攝像頭之間的相對位置(即右攝像頭相對于左攝像頭的旋轉矩陣R、平移向量t)。
雙目校正:雙目校正是根據攝像頭定標后獲得的單目內參數據(焦距、成像原點、畸變系數)和雙目相對位置關系(旋轉矩陣和平移向量),分別對左右視圖進行消除畸變和行對準,使得左右視圖的成像原點坐標一致(CV_CALIB_ZERO_DISPARITY標志位設置時發生作用)、兩攝像頭光軸平行、左右成像平面共面、對極線行對齊。這樣一幅圖像上任意一點與其在另一幅圖像上的對應點就必然具有相同的行號,只需在該行進行一維搜索即可匹配到對應點。雙目匹配:雙目匹配的作用是把同一場景在左右視圖上對應的像點匹配起來,這樣做的目的是為了得到視差圖。雙目匹配被普遍認為是立體視覺中最困難也是最關鍵的問題。得到視差數據,通過上述原理中的公式就可以很容易的計算出深度信息。
2. 技術路線方案
雙目視覺廣泛應用在機器人導航,精密工業測量、物體識別、虛擬現實、場景重建,勘測領域。
雙目視覺是模擬人類視覺原理,使用計算機被動感知距離的方法。從兩個或者多個點觀察一個物體,獲取在不同視角下的圖像,根據圖像之間像素的匹配關系,通過三角測量原理計算出像素之間的偏移來獲取物體的三維信息。
它的物理原理是這樣的,首先請看下圖:
圖1. 雙目測距
如圖1,P是待測物體上的某一點,OR與OT分別是兩個相機的光心,點P在兩個相機感光器上的成像點分別為P和P’(相機的成像平面經過旋轉后放在了鏡頭前方),f為相機焦距,B為兩相機中心距,Z為我們想求得的深度信息,設點P到點P’的距離為dis,則:
根據相似三角形原理:
可得:
公式中,焦距f和攝像頭中心距B可通過標定得到,因此,只要獲得了
(即視差d)的值即可求得深度信息,即:
假設目標點在左視圖中的坐標為(x,y),在左右視圖上形成的視差為d,目標點在以左攝像頭光心為原點的世界坐標系中的坐標為(X,Y,Z),則存在所示的變換矩陣Q,使得
為了精確地求得某個點在三維空間里的距離Z,我們需要獲得的參數有焦距f、視差d、攝像頭中心距B。如果還需要獲得X坐標和Y坐標的話,那么還需要額外知道左右像平面的坐標系與立體坐標系中原點的偏移cx和cy。其中f,d,cx和cy可以通過立體標定獲得初始值,并通過立體校準優化,使得兩個攝像頭在數學上完全平行放置,并且左右攝像頭的cx,cy和f相同。而立體匹配所做的工作,就是在之前的基礎上,求取最后一個變量:視差d。從而最終完成求一個點三維坐標所需要的準備工作。在清楚了上述原理之后,我們也就知道了,所有的這幾步:標定、校準和匹配,都是圍繞著如何更精確地獲得 f,d,B,cx 和cy 而設計的。
標定:攝像頭標定一般都需要一個放在攝像頭前的特制的標定參照物(棋盤紙),攝像頭獲取該物體的圖像,并由此計算攝像頭的內外參數。標定參照物上的每一個特征點相對于世界坐標系的位置在制作時應精確測定,世界坐標系可選為參照物的物體坐標系。在得到這些已知點在圖像上的投影位置后,可計算出攝像頭的內外參數。
校準與匹配:雙目攝像頭標定不僅要得出每個攝像頭的內部參數,還需要通過標定來測量兩個攝像頭之間的相對位置。要計算目標點在左右兩個視圖上形成的視差,首先要把該點在左右視圖上兩個對應的像點匹配起來。然而,在二維空間上匹配對應點是非常耗時的,為了減少匹配搜索范圍,我們可以利用極線約束使得對應點的匹配由二維搜索降為一維搜索。而雙目校正的作用就是要把消除畸變后的兩幅圖像嚴格地行對應,使得兩幅圖像的對極線恰好在同一水平線上,這樣一幅圖像上任意一點與其在另一幅圖像上的對應點就必然具有相同的行號,只需在該行進行一維搜索即可匹配到對應點。
圖2. 雙目校正與匹配
3. 關鍵技術參數和性能指標
利用雙目攝像頭的數據估計車輛和車輛距離。假設攝像頭分辨率1280′720像素,焦距1458像素,角度誤差小于0.5度。下表描述精度指標: