簡單來說,基于雙目立體視覺的測距類似人類的雙眼,和基于TOF、結構光原理的測距不同,它不對外主動投射光源,完全依靠拍攝的兩張圖片( RGB 或者灰度圖)來計算距離。
在正文開始之前,我們先厘清單目和雙目的測距原理有哪些區別。
? 單目測距原理
單目是先通過圖像匹配進行目標識別(各種車型、行人、物體等),再通過目標在圖像中的大小去估算目標距離。這就要求在估算距離之前首先對目標進行準確識別,是汽車還是行人,是貨車、SUV還是小轎車。準確識別是準確估算距離的第一步。要做到這一點,就需要建立并不斷維護一個龐大的樣本特征數據庫,保證這個數據庫包含待識別目標的全部特征數據。比如在一些特殊地區,為了專門檢測大型動物,必須先行建立大型動物的數據庫;而對于另外某些區域存在一些非常規車型,也要先將這些車型的特征數據加入到數據庫中。如果缺乏待識別目標的特征數據,就會導致系統無法對這些車型、物體、障礙物進行識別,從而也就無法準確估算這些目標的距離。
? 單/雙目方案的優點與難點
從上面的介紹,單目系統的優勢在于成本較低,對計算資源的要求不高,系統結構相對簡單;缺點是:
(1)需要不斷更新和維護一個龐大的樣本數據庫,才能保證系統達到較高的識別率;
(2)無法對非標準障礙物進行判斷;
(3)距離并非真正意義上的測量,準確度較低。
? 雙目檢測原理
通過對兩幅圖像視差的計算,直接對前方景物(圖像所拍攝到的范圍)進行距離測量,而無需判斷前方出現的是什么類型的障礙物。所以對于任何類型的障礙物,都能根據距離信息的變化,進行必要的預警或制動。雙目攝像頭的原理與人眼相似。人眼能夠感知物體的遠近,是由于兩只眼睛對同一個物體呈現的圖像存在差異,也稱“視差”。物體距離越遠,視差越小;反之,視差越大。視差的大小對應著物體與眼睛之間距離的遠近,這也是3D電影能夠使人有立體層次感知的原因。
上圖中的人和椰子樹,人在前,椰子樹在后,最下方是雙目相機中的成像。其中,右側相機成像中人在樹的左側,左側相機成像中人在樹的右側,這是因為雙目的角度不一樣。再通過對比兩幅圖像就可以知道人眼觀察樹的時候視差小,而觀察人時視差大。因為樹的距離遠,人的距離近。這就是雙目三角測距的原理。雙目系統對目標物體距離感知是一種絕對的測量,而非估算。
? 理想雙目相機成像模型
根據三角形相似定律:
根據上述推導,要求得空間點P離相機的距離(深度)z,必須知道:
1、相機焦距f,左右相機基線b(可以通過先驗信息或者相機標定得到)。
2、視差 :,即左相機像素點(xl, yl)和右相機中對應點(xr, yr)的關系,這是雙目視覺的核心問題。
重點來看一下視差(disparity),視差是同一個空間點在兩個相機成像中對應的x坐標的差值,它可以通過編碼成灰度圖來反映出距離的遠近,離鏡頭越近的灰度越亮;
? 極線約束
對于左圖中的一個像素點,如何確定該點在右圖中的位置?需要在整個圖像中地毯式搜索嗎?當然不用,此時需要用到極線約束。
如上圖所示。O1,O2是兩個相機,P是空間中的一個點,P和兩個相機中心點O1、O2形成了三維空間中的一個平面PO1O2,稱為極平面(Epipolar plane)。極平面和兩幅圖像相交于兩條直線,這兩條直線稱為極線(Epipolar line)。
P在相機O1中的成像點是P1,在相機O2中的成像點是P2,但是P的位置是未知的。我們的目標是:對于左圖的P1點,尋找它在右圖中的對應點P2,這樣就能確定P點的空間位置。
極線約束(Epipolar Constraint)是指當空間點在兩幅圖像上分別成像時,已知左圖投影點p1,那么對應右圖投影點p2一定在相對于p1的極線上,這樣可以極大的縮小匹配范圍。即P2一定在對應極線上,所以只需要沿著極線搜索便可以找到P1的對應點P2。
? 非理性情況
上面是兩相機共面且光軸平行,參數相同的理想情況,當相機O1,O2不是在同一直線上怎么辦呢?事實上,這種情況非常常見,因為有些場景下兩個相機需要獨立固定,很難保證光心完全水平,即使固定在同一個基板上也會由于裝配的原因導致光心不完全水平,如下圖所示:兩個相機的極線不平行,并且不共面。
這種情況下拍攝的兩張左右圖片,如下圖所示。左圖中三個十字標志的點,右圖中對應的極線是右圖中的三條白色直線,也就是對應的搜索區域。我們看到這三條直線并不是水平的,如果進行逐點搜索效率非常低。
? 圖像矯正技術
圖像矯正是通過分別對兩張圖片用單應性矩陣(homography matrix)變換得到,目的是把兩個不同方向的圖像平面(下圖中灰色平面)重新投影到同一個平面且光軸互相平行(下圖中黃色平面),這樣轉化為理想情況的模型。
圖像校正示意圖
經過圖像矯正后,左圖中的像素點只需要沿著水平的極線方向搜索對應點就可以了。從下圖中我們可以看到三個點對應的視差(紅色雙箭頭線段)是不同的,越遠的物體視差越小,越近的物體視差越大。
圖像校正后的結果。紅色雙箭頭線段是對應點的視差
上面的主要工作是在極線上尋找匹配點,但是由于要保證兩個相機參數完全一致是不現實的,并且外界光照變化和視角不同的影響,使得單個像素點魯棒性很差。所以匹配工作是一項很重要的事情,這也關系著雙目視覺測距的準確性。
? 雙目視覺的工作流程
相機鏡頭畸變校正原理及方法,之前介紹過,這個基本是通用的,可以用張正友校準法。
? 雙目測距的優點與難點
從上面的介紹看出,雙目系統優勢:
(1)成本比單目系統要高,但尚處于可接受范圍內,并且與激光雷達等方案相比成本較低;
(2)沒有識別率的限制,因為從原理上無需先進行識別再進行測算,而是對所有障礙物直接進行測量;
(3)直接利用視差計算距離,精度比單目高;
(4)無需維護樣本數據庫,因為對于雙目沒有樣本的概念。
? 雙目系統的難點
(1)計算量非常大,對計算單元的性能要求非常高,這使得雙目系統的產品化、小型化的難度較大。所以在芯片或FPGA上解決雙目的計算問題難度比較大。國際上使用雙目的研究機構或廠商,絕大多數是使用服務器進行圖像處理與計算,也有部分將算法進行簡化后,使用FPGA進行處理。
(2)雙目的配準效果,直接影響到測距的準確性。
a. 對環境光照非常敏感。雙目立體視覺法依賴環境中的自然光線采集圖像,而由于光照角度變化、光照強度變化等環境因素的影響,拍攝的兩張圖片亮度差別會比較大,這會對匹配算法提出很大的挑戰。
b. 不適用于單調缺乏紋理的場景。由于雙目立體視覺法根據視覺特征進行圖像匹配,所以對于缺乏視覺特征的場景(如天空、白墻、沙漠等)會出現匹配困難,導致匹配誤差較大甚至匹配失敗。
c. 計算復雜度高。該方法需要逐像素匹配;又因為上述多種因素的影響,為保證匹配結果的魯棒性,需要在算法中增加大量的錯誤剔除策略,因此對算法要求較高,想要實現可靠商用難度大,計算量較大。
d. 相機基線限制了測量范圍。測量范圍和基線(兩個攝像頭間距)關系很大:基線越大,測量范圍越遠;基線越小,測量范圍越近。所以基線在一定程度上限制了該深度相機的測量范圍。
審核編輯:郭婷
-
相機
+關注
關注
4文章
1343瀏覽量
53502 -
TOF
+關注
關注
9文章
476瀏覽量
36268
原文標題:前沿丨雙目視覺測距原理,數學推導及三維重建資源
文章出處:【微信號:gh_c87a2bc99401,微信公眾號:INDEMIND】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論