/ 導(dǎo)讀 /
雙目立體視覺(jué)(Binocular Stereo Vision)是機(jī)器視覺(jué)的一種重要形式,它是基于視差原理并利用成像設(shè)備從不同的位置獲取被測(cè)物體的兩幅圖像,通過(guò)計(jì)算圖像對(duì)應(yīng)點(diǎn)間的位置偏差,來(lái)獲取物體三維幾何信息的方法。
1偽激光雷達(dá)-雙目立體相機(jī)
深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)在自動(dòng)駕駛系統(tǒng)中已經(jīng)非常流行且被廣泛應(yīng)用。計(jì)算機(jī)視覺(jué)領(lǐng)域在過(guò)去的十年里得到了迅猛的發(fā)展,特別是在障礙物檢測(cè)方面。障礙物檢測(cè)算法,如YOLO或RetinaNet提供了二維邊界框,用邊界框給出了障礙物在圖像中的位置。
目前,大多數(shù)的目標(biāo)檢測(cè)算法都是基于單目RGB攝像機(jī)的,不能返回每個(gè)障礙物的距離。為了能夠返回每個(gè)障礙物的距離,工程師們將相機(jī)與激光雷達(dá)(LiDAR,光探測(cè)和測(cè)距)傳感器進(jìn)行融合,后者使用激光來(lái)返回深度信息。將計(jì)算機(jī)視覺(jué)信息和激光雷達(dá)輸出進(jìn)行傳感器的融合。這種方法的問(wèn)題是使用激光雷達(dá),就會(huì)導(dǎo)致價(jià)格昂貴。所以經(jīng)常有人使用的一個(gè)雙目攝像頭進(jìn)行替代,并使用幾何信息來(lái)定義每個(gè)障礙物的距離,故可以將雙目相機(jī)獲取的數(shù)據(jù)稱之為偽激光雷達(dá)
雙目視覺(jué)利用幾何學(xué)來(lái)構(gòu)建深度圖,并將其與目標(biāo)檢測(cè)相結(jié)合以獲得三維距離。那么如何利用立體視覺(jué)實(shí)現(xiàn)距離估計(jì)?以下是雙目障礙物檢測(cè)的5步偽代碼:
標(biāo)定 2 個(gè)攝像頭(內(nèi)外參的標(biāo)定)
創(chuàng)建極線約束
先構(gòu)建視差圖,然后構(gòu)建深度圖
然后將深度圖與障礙物檢測(cè)算法相結(jié)合
估計(jì)邊界框內(nèi)像素的深度。
2相機(jī)內(nèi)外參標(biāo)定
每個(gè)攝像機(jī)都需要標(biāo)定。相機(jī)的標(biāo)定是指將三維世界中的[X,Y,Z]坐標(biāo)的三維點(diǎn)轉(zhuǎn)換為具有[X,Y]坐標(biāo)的二維像素。這里簡(jiǎn)單的介紹一下針孔相機(jī)模型。顧名思義就是用一個(gè)針孔讓少量光線穿過(guò)相機(jī),從而得到清晰的圖像。
針孔相機(jī)模型可以設(shè)置焦距,使得圖像更加的清晰。為了相機(jī)標(biāo)定,我們需要通過(guò)攝像機(jī)坐標(biāo)系計(jì)算世界坐標(biāo)點(diǎn)到像素坐標(biāo)的變換關(guān)系。
從世界坐標(biāo)系到相機(jī)坐標(biāo)的轉(zhuǎn)換稱為外參標(biāo)定,外部參數(shù)稱為R(旋轉(zhuǎn)矩陣)和T(平移矩陣)。
從攝像機(jī)坐標(biāo)到像素坐標(biāo)的轉(zhuǎn)換稱為內(nèi)參標(biāo)定,它獲取的是相機(jī)的內(nèi)部參數(shù),如焦距、光心等…
內(nèi)參我們常稱之為K的矩陣。
內(nèi)參標(biāo)定,通常使用棋盤和自動(dòng)算法獲得,如下圖我們?cè)诓杉瘶?biāo)定板時(shí),將告訴算法棋盤上的一個(gè)點(diǎn)(例如世界坐標(biāo)系點(diǎn) 0, 0 , 0)對(duì)應(yīng)于圖像中的一個(gè)像素為(545,343)。
為此,相機(jī)標(biāo)定必須用攝像機(jī)拍攝棋盤格的圖像,在得到一些圖像和對(duì)應(yīng)的點(diǎn)之后,標(biāo)定算法將通過(guò)最小化平方誤差來(lái)確定攝像機(jī)的標(biāo)定矩陣。得到標(biāo)定參數(shù)后為了得到校正后的圖像,需要進(jìn)行畸變校正。畸變可以是徑向的,也可以是切向的。畸變校正有助于消除圖像失真。
以下是攝像機(jī)標(biāo)定返回的矩陣形式
f是焦距-(u?,v?) 是光學(xué)中心:這些是固有參數(shù)。
我認(rèn)為每一個(gè)計(jì)算機(jī)視覺(jué)工程師都應(yīng)該必須知道并掌握相機(jī)的標(biāo)定,這是最基本且重要的要求。
在相機(jī)標(biāo)定的過(guò)程中涉及到一些齊次坐標(biāo)轉(zhuǎn)換的問(wèn)題,這里簡(jiǎn)單的介紹一下有兩個(gè)公式可以得到從世界坐標(biāo)系到像素坐標(biāo)系的關(guān)系:
(1)世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換(外參標(biāo)定公式)
(2)相機(jī)坐標(biāo)系到圖像坐標(biāo)系的轉(zhuǎn)換(內(nèi)參標(biāo)定公式)
所以從三維空間坐標(biāo)系到圖像坐標(biāo)系下的關(guān)系可以總結(jié)為
但是我們知道這個(gè)公式是齊次坐標(biāo)才可以這么寫,也就是需要將O_world從[X Y Z]修改為[X Y Z 1],加這個(gè)“1”后稱為齊次坐標(biāo)。
3雙目視覺(jué)的對(duì)極幾何
我們知道雙目立體視覺(jué)是基于兩幅圖像來(lái)尋找深度的,人類的眼睛就像兩個(gè)相機(jī),因?yàn)閮芍谎劬牟煌慕嵌扔^察圖像,所以他們可以計(jì)算兩個(gè)視角之間的差異,并建立距離估計(jì)。下圖是一個(gè)雙目立體相機(jī)的例子
那么我們?nèi)绾胃鶕?jù)雙目立體相機(jī)如何估計(jì)深度?想象一下你有兩個(gè)攝像頭,一個(gè)左攝像頭和一個(gè)右攝像頭。這兩個(gè)攝像頭在同一Y軸和Z軸上對(duì)齊。那么唯一的區(qū)別是它們的X值。
根據(jù)上圖我們的目標(biāo)是估計(jì)O點(diǎn)(代表圖像中的任何像素)的Z值,即距離。X是對(duì)齊軸,Y是高度值,Z是深度值,兩個(gè)藍(lán)色的平面圖對(duì)應(yīng)于每個(gè)攝像頭的圖像。假設(shè)我們從從俯視的角度來(lái)考慮這個(gè)問(wèn)題。
已知:
(1)xL對(duì)應(yīng)于左側(cè)相機(jī)圖像中的點(diǎn)。xR是與左側(cè)圖像中該點(diǎn)的對(duì)應(yīng)位置。(2)b是基線,是兩個(gè)攝像頭之間的距離。
針對(duì)左相機(jī),如下圖,我們可以得到一個(gè)公式:Z = X*f / xL.
針對(duì)右相機(jī),如下圖,我們可以得到另一個(gè)公式:Z = (X — b)*f/xR.
此時(shí)根據(jù)兩個(gè)公式我們可以計(jì)算出正確的視差d=xL-xR和一個(gè)物體的正確XYZ位置。
4視差和深度圖
什么是視差?視差是指同一個(gè)三維點(diǎn)在兩個(gè)不同的攝像機(jī)角度獲得的圖像中位置的差異。視差圖是指一對(duì)立體圖像之間明顯的像素差異或運(yùn)動(dòng)。要體驗(yàn)這一點(diǎn),試著閉上你的一只眼睛,然后快速地閉上它,同時(shí)打開另一只眼睛。離你很近的物體看起來(lái)會(huì)跳一段很長(zhǎng)的距離,而離你較遠(yuǎn)的物體移動(dòng)很少,這種運(yùn)動(dòng)就是視差。
由于立體視覺(jué),我們可以估計(jì)任何物體的深度,假設(shè)我們得到了正確的矩陣參數(shù),則可以計(jì)算深度圖或視差圖:
為了計(jì)算視差,我們必須從左邊的圖像中找到每個(gè)像素,并將其與右邊圖像中的每個(gè)像素進(jìn)行匹配。這就是所謂的雙目相機(jī)的立體匹配的問(wèn)題。為了解決像素匹配的問(wèn)題,引入對(duì)極幾何約束,只需在對(duì)極線上搜索它,就不需要二維搜索,對(duì)應(yīng)點(diǎn)一定是位于這條線上,搜索范圍縮小到一維。
之所以能夠引入對(duì)極約束,這是因?yàn)閮蓚€(gè)相機(jī)是沿同一軸對(duì)齊的。以下是極線搜索的工作原理:
取左圖中這一行上的每個(gè)像素
在同一極線上比較左圖像像素和右圖像中的每個(gè)像素
選擇 cost 最低的像素
計(jì)算視差 d
5構(gòu)建偽激光雷達(dá)效果
現(xiàn)在,是時(shí)候把這些應(yīng)用到一個(gè)真實(shí)的場(chǎng)景中,看看我們?nèi)绾问褂秒p目立體視覺(jué)來(lái)估計(jì)物體的深度。假設(shè)我們有以下兩張實(shí)際場(chǎng)景下的圖片,并且我們我們已經(jīng)獲取了雙目相機(jī)的外參矩陣。
此時(shí)我們計(jì)算視差圖的步驟。將投影矩陣分解為攝像機(jī)內(nèi)參矩陣
編輯:jq
-
RGB
+關(guān)注
關(guān)注
4文章
801瀏覽量
58638 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
8文章
1700瀏覽量
46076 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5512瀏覽量
121413 -
自動(dòng)駕駛系統(tǒng)
+關(guān)注
關(guān)注
0文章
66瀏覽量
6786
原文標(biāo)題:自動(dòng)駕駛汽車的偽激光雷達(dá)-雙目立體視覺(jué)
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論