先說一下單/雙目的測距原理區(qū)別:
單目測距原理:
先通過圖像匹配進行目標識別(各種車型、行人、物體等),再通過目標在圖像中的大小去估算目標距離。這就要求在估算距離之前首先對目標進行準確識別,是汽車還是行人,是貨車、SUV還是小轎車。準確識別是準確估算距離的第一步。
要做到這一點,就需要建立并不斷維護一個龐大的樣本特征數據庫,保證這個數據庫包含待識別目標的全部特征數據。比如在一些特殊地區(qū),為了專門檢測大型動物,必須先行建立大型動物的數據庫;而對于另外某些區(qū)域存在一些非常規(guī)車型,也要先將這些車型的特征數據加入到數據庫中。如果缺乏待識別目標的特征數據,就會導致系統無法對這些車型、物體、障礙物進行識別,從而也就無法準確估算這些目標的距離。
單/雙目方案的優(yōu)點與難點
從上面的介紹,單目系統的優(yōu)勢在于成本較低,對計算資源的要求不高,系統結構相對簡單;缺點是:(1)需要不斷更新和維護一個龐大的樣本數據庫,才能保證系統達到較高的識別率;(2)無法對非標準障礙物進行判斷;(3)距離并非真正意義上的測量,準確度較低。
雙目檢測原理:
通過對兩幅圖像視差的計算,直接對前方景物(圖像所拍攝到的范圍)進行距離測量,而無需判斷前方出現的是什么類型的障礙物。所以對于任何類型的障礙物,都能根據距離信息的變化,進行必要的預警或制動。雙目攝像頭的原理與人眼相似。
人眼能夠感知物體的遠近,是由于兩只眼睛對同一個物體呈現的圖像存在差異,也稱“視差”。物體距離越遠,視差越小;反之,視差越大。視差的大小對應著物體與眼睛之間距離的遠近,這也是3D電影能夠使人有立體層次感知的原因。
上圖中的人和椰子樹,人在前,椰子樹在后,最下方是雙目相機中的成像。其中,右側相機成像中人在樹的左側,左側相機成像中人在樹的右側,這是因為雙目的角度不一樣。再通過對比兩幅圖像就可以知道人眼觀察樹的時候視差小,而觀察人時視差大。因為樹的距離遠,人的距離近。這就是雙目三角測距的原理。雙目系統對目標物體距離感知是一種絕對的測量,而非估算。
理想雙目相機成像模型
根據三角形相似定律:
? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
由式(1),解方程得:
? ? ? ? (2)
z=b*f/d, x=z*xl/d, y=z*y/f (3)
根據上述推導,要求得空間點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不是在同一直線上怎么辦呢?事實上,這種情況非常常見,因為有些場景下兩個相機需要獨立固定,很難保證光心完全水平,即使固定在同一個基板上也會由于裝配的原因導致光心不完全水平,如下圖所示:兩個相機的極線不平行,并且不共面。
這種情況下拍攝的兩張左右圖片,如下圖所示。左圖中三個十字標志的點,右圖中對應的極線是右圖中的三條白色直線,也就是對應的搜索區(qū)域。我們看到這三條直線并不是水平的,如果進行逐點搜索效率非常低。
圖像矯正技術
圖像矯正是通過分別對兩張圖片用單應性矩陣(homography matrix)變換得到,目的是把兩個不同方向的圖像平面(下圖中灰色平面)重新投影到同一個平面且光軸互相平行(下圖中黃色平面),這樣轉化為理想情況的模型。
經過圖像矯正后,左圖中的像素點只需要沿著水平的極線方向搜索對應點就可以了。從下圖中我們可以看到三個點對應的視差(紅色雙箭頭線段)是不同的,越遠的物體視差越小,越近的物體視差越大。
上面的主要工作是在極線上尋找匹配點,但是由于要保證兩個相機參數完全一致是不現實的,并且外界光照變化和視角不同的影響,使得單個像素點魯棒性很差。所以匹配工作是一項很重要的事情,這也關系著雙目視覺測距的準確性。
雙目視覺的工作流程
相機鏡頭畸變校正原理及方法,之前介紹過,這個基本是通用的,可以用張正友校準法。
雙目測距的優(yōu)點與難點
從上面的介紹看出,雙目系統優(yōu)勢:(1)成本比單目系統要高,但尚處于可接受范圍內,并且與激光雷達等方案相比成本較低;(2)沒有識別率的限制,因為從原理上無需先進行識別再進行測算,而是對所有障礙物直接進行測量;(3)直接利用視差計算距離,精度比單目高;(4)無需維護樣本數據庫,因為對于雙目沒有樣本的概念。
雙目系統的難點:
(1)計算量非常大,對計算單元的性能要求非常高,這使得雙目系統的產品化、小型化的難度較大。所以在芯片或FPGA上解決雙目的計算問題難度比較大。國際上使用雙目的研究機構或廠商,絕大多數是使用服務器進行圖像處理與計算,也有部分將算法進行簡化后,使用FPGA進行處理。
(2)雙目的配準效果,直接影響到測距的準確性。
2.1、對環(huán)境光照非常敏感。雙目立體視覺法依賴環(huán)境中的自然光線采集圖像,而由于光照角度變化、光照強度變化等環(huán)境因素的影響,拍攝的兩張圖片亮度差別會比較大,這會對匹配算法提出很大的挑戰(zhàn)。
2.2、不適用于單調缺乏紋理的場景。由于雙目立體視覺法根據視覺特征進行圖像匹配,所以對于缺乏視覺特征的場景(如天空、白墻、沙漠等)會出現匹配困難,導致匹配誤差較大甚至匹配失敗。
2.3、計算復雜度高。該方法需要逐像素匹配;又因為上述多種因素的影響,為保證匹配結果的魯棒性,需要在算法中增加大量的錯誤剔除策略,因此對算法要求較高,想要實現可靠商用難度大,計算量較大。
2.4、相機基線限制了測量范圍。測量范圍和基線(兩個攝像頭間距)關系很大:基線越大,測量范圍越遠;基線越小,測量范圍越近。所以基線在一定程度上限制了該深度相機的測量范圍。
審核編輯:劉清
-
攝像頭
+關注
關注
60文章
4865瀏覽量
96317 -
相機成像
+關注
關注
0文章
15瀏覽量
5689
原文標題:雙目視覺測距原理,數學推導及三維重建資源
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
基于SoC的雙目視覺ADAS解決方案
鉅芯發(fā)布業(yè)內首顆智能雙目視覺芯片
雙目立體視覺原理大揭秘(二)
【WRTnode2R申請】雙目視覺隨動平臺
基于SoC的雙目視覺ADAS解決方案
LabVIEW雙目視覺 【轉載】
基于IMX214+ZYNQ XC7Z100的1080P雙目視覺智能平臺
基于神經網絡的雙目視覺傳感器建模
雙目視覺立體匹配算法研究
雙目視覺傳感器的現場標定技術
![<b class='flag-5'>雙目視覺</b>傳感器的現場標定技術](https://file.elecfans.com/web2/M00/49/50/pYYBAGKhtEWAQ0EKAAAWMXuJWsk636.jpg)
一種基于圖像處理的雙目視覺校準方法
雙目立體視覺是什么?單目視覺與雙目立體視覺的區(qū)別?
![<b class='flag-5'>雙目</b>立體<b class='flag-5'>視覺</b>是什么?單<b class='flag-5'>目視覺</b>與<b class='flag-5'>雙目</b>立體<b class='flag-5'>視覺</b>的區(qū)別?](https://file1.elecfans.com/web2/M00/90/DD/wKgaomTderWAPhf4AAJG5BpbDsc656.png)
評論