博客專欄

EEPW首頁 > 博客 > 基于雙目視覺的自動駕駛技術(shù)

基于雙目視覺的自動駕駛技術(shù)

發(fā)布人:計算機視覺工坊 時間:2020-12-30 來源:工程師 發(fā)布文章

單目視覺是Mobileye(ME)的看家法寶,其實當(dāng)年它也考慮過雙目,最終選擇放棄(:。

單目的測距和3-D估計靠什么?是檢測目標的Bounding Box(BB),如果無法檢測的障礙物,該系統(tǒng)就無法估計其距離和3-D姿態(tài)/朝向。沒有深度學(xué)習(xí)的時候,ME主要是基于BB,攝像頭標定得到的姿態(tài)和高度以及路面平直的假設(shè)估算距離。

有了深度學(xué)習(xí),可以根據(jù)3-D的ground truth來訓(xùn)練NN模型,得到3D大小和姿態(tài)估計,距離是基于平行線原理(single view metrology)得到的。不久前百度Apollo公布的單目L3解決方案講的比較清楚了,參考論文是“3D Bounding Box Estimation by Deep Learning and Geometry".

雙目當(dāng)然可以算視差和深度了,即使沒有檢測出障礙物(因為有附加的深度信息,檢測器會比單目好),也會報警。問題是,雙目視覺系統(tǒng)估計視差沒那么容易,立體匹配是計算機視覺典型的難題,基線寬得到遠目標測距準,而基線短得到近目標測距結(jié)果好,這里是存在折衷的。

目前市場上ADAS存在的雙目視覺系統(tǒng)就是Subaru EyeSight,據(jù)說性能還行。

17.jpg

百度推出的阿波龍L4擺渡車量產(chǎn)100臺,就安裝了雙目系統(tǒng)。還有歐盟自主泊車項目V-Charge也采用了前向雙目視覺系統(tǒng),另外自動駕駛研發(fā)系統(tǒng)Berta Benz也是,而且和雷達系統(tǒng)后融合,其中雙目匹配的障礙物檢測算法Stixel很出名。以前Bosch和Conti這些Tier-1公司也研制過雙目視覺解決方案,但沒有在市場上產(chǎn)生影響力,據(jù)說被砍掉了。

談到雙目系統(tǒng)的難點,除了立體匹配,還有標定。標定后的系統(tǒng)會出現(xiàn)“漂移”的,所以在線標定是必須具有的。單目也是一樣,因為輪胎變形和車體顛簸都會影響攝像頭外參數(shù)變化,必須在線做標定修正一些參數(shù),比如仰角(pitch angle)和偏角(yaw angle)。

雙目在線標定就更復(fù)雜些,因為雙目匹配盡量簡化成1-D搜索,所以需要通過stereo rectification將兩個鏡頭光軸方向平行并和基線垂直。所以針對獲得的gain相比,增加的復(fù)雜度和成本,如果不劃算商家就會放棄。

最近重提雙目視覺,是因為硅谷芯片公司安霸(Ambarella)在2014年收購意大利帕爾馬大學(xué)的Vis Lab,研制了雙目的ADAS和自動駕駛芯片,去年CES之后就開始進軍車企和Tier-1。而且,安霸目前正在繼續(xù)研究提升該系統(tǒng)的性能。

下圖就是它在車頂安裝6對立體視覺系統(tǒng)的示意圖,其中它們的基線寬度可以不一樣的,相應(yīng)地有效檢測距離也就不同。筆者曾坐過它的自動駕駛車,遠處可以看到200米,近處20-30米。它確實可以做在線標定,隨時調(diào)整一些雙目視覺的參數(shù)。

16.jpg

先說立體匹配。

匹配方法分兩種,全局法和局部法,實用的基本是局部法,因為全局法太慢。深度學(xué)習(xí)可以取代全局法,但目前還不是很成熟。

最著名的局部法就是SGM(semi-global matching),很多產(chǎn)品在用的方法都是基于此的改進,不少視覺芯片都采用這種算法。

Census Transform是將8/24比特的像素變成一個2進制序列,另外一個2值特征叫LBP(local binary pattern)和它相似。立體匹配算法就是基于這個變換將匹配變成一個Hamming距離的最小化搜索。Intel的RealSense當(dāng)年就是收購了一個成立于1994年基于該技術(shù)的雙目視覺創(chuàng)業(yè)公司,還收購另外幾個小公司把他們合在一起做出來的。

PatchMatch是一個加速圖像模版匹配的算法,被用在光流計算和視差估計上。之前微軟研究院曾經(jīng)做過一個基于單目手機相機3-D重建的項目,仿造以前成功的基于RGB-D算法KinectFusion,名字也類似MonoFusion,其中深度圖估計就是采用一個修正的PatchMatch方法。

再說在線標定。

這是一個利用路上標志線(斑馬線)的標定方法:已知斑馬線的平行線模式,計算Homography將模式和路面實現(xiàn)匹配。

15.jpg

這個流程圖比較復(fù)雜,采用SLAM做在線標定,不適合高頻率操作:

14.jpg

和單目方法類似,采用車道線平行和路平面這個假設(shè)可以快速完成在線標定,即消失點(vanishing point)理論:跟初始化的消失點(與線下標定相關(guān))比較可以算出雙目外參數(shù)的漂移量。

13.jpg

下面介紹幾個典型的雙目自動駕駛系統(tǒng)。

Berta Benz采用的障礙物檢測算法Stixel基于以下假設(shè):場景中的目標描述為列,重心的原因目標是站立在地面上,每個目標上的上部比下部的深度大。下圖(a-d) 介紹了SGM視差結(jié)果如何生成Stixel分割結(jié)果:

12.jpg

這是他們加上深度學(xué)習(xí)做視差融合之后再做Stixel的框圖和新結(jié)果:

11.jpg10.jpg

介紹一個早期雙目障礙物的算法,Generic Obstacle and Lane Detection system (GOLD)?;贗PM(Inverse Perspective Mapping),檢測車道線,根據(jù)左右圖像的差計算路上障礙物:

9.png

(a) Left view. (b) Right view. (c) Remapped left view. (d) Remapped right view. (e) Thresholded and filtered difference between remapped views. (f) In light gray, the road area visible from both cameras.

8.jpg

(a) Original. (b) Remapped. (c) Filtered. (d) Enhanced. (e) Binarized

7.jpg

GOLD system architecture

一種經(jīng)典的方法是根據(jù)路面方程(立體視覺)得到路面視差,基于此計算出路面的障礙物:

6.jpg5.jpg

最后介紹一下安霸收購的VisLab雙目系統(tǒng):

4.jpg

這是雙目障礙物檢測流程圖:

3.png

這是基于劃分DSI(disparity space image)加速視差估計的方法:

2.jpg

另外還有提高視差精度的濾波方法:

1.jpg

總的看,雙目檢測障礙物的方法基本基于視差圖,基于路面視差的方法較多。也許隨著深度學(xué)習(xí)發(fā)展的突飛猛進,加上計算平臺的增強,雙目自動駕駛系統(tǒng)也會普及起來。

本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉