文章導(dǎo)讀
本文通過(guò)介紹雙目立體視覺(jué)的成像過(guò)程,帶大家了解雙目視覺(jué)如何從兩個(gè)不同視角的成像平面中恢復(fù)出物體三維幾何信息,重建周圍景物的三維形狀與位置。 在說(shuō)雙目視覺(jué)之前,我們先聊一下單目成像過(guò)程,最簡(jiǎn)單的單目成像是基于小孔成像的原理,三維空間中的點(diǎn)經(jīng)過(guò)透視投影過(guò)程映射到圖像平面上,如此一來(lái)在透視線上的空間點(diǎn)都落在像平面上的同一點(diǎn)處。
所以普遍認(rèn)為單目相機(jī)缺乏深度信息無(wú)法測(cè)距。(這里僅從成像原理出發(fā),當(dāng)然現(xiàn)實(shí)中借助外界約束有很多單目測(cè)距的方法) 而雙目相機(jī)利用視差原理從不同的位置獲取被測(cè)物體的兩幅圖像,通過(guò)計(jì)算圖像對(duì)應(yīng)點(diǎn)間的位置偏差來(lái)恢復(fù)出物體三維幾何信息。 雙目的核心在于建立兩個(gè)圖像中特征之間的對(duì)應(yīng)關(guān)系,將三維空間中同一目標(biāo)點(diǎn)在不同視圖的成像點(diǎn)關(guān)聯(lián)起來(lái),然后計(jì)算它們之間的差別,最后通過(guò)視差和距離的幾何關(guān)系得到深度圖。雙目立體視覺(jué)的具體步驟如下:
對(duì)雙目相機(jī)進(jìn)行標(biāo)定得到內(nèi)外參數(shù)和單應(yīng)性矩陣
通過(guò)內(nèi)參做畸變校正并用單應(yīng)矩陣將兩張圖片轉(zhuǎn)換到同一平面
對(duì)校正后的兩張圖片根據(jù)極線約束進(jìn)行像素配準(zhǔn)
根據(jù)配準(zhǔn)結(jié)構(gòu)計(jì)算每個(gè)像素的深度從而獲得深度圖
輸入左右兩個(gè)視角的自行車圖像:
輸出自行車的深度圖信息:
到底什么是視差、極點(diǎn)、極線、極平面、極線約束等等?在談到雙目成像時(shí),首先出現(xiàn)的一個(gè)概念就是視差,網(wǎng)上有人用過(guò)一個(gè)很簡(jiǎn)單的形式來(lái)描述視差,即將人眼想象成雙目相機(jī),豎起一根手指放在前方作為目標(biāo),分別閉上左眼或右眼去觀察目標(biāo),我們發(fā)現(xiàn)目標(biāo)在不同成像平面中的位置移動(dòng)了,這個(gè)像素位置的差異值就是視差。
在上面這張圖中,左右兩幅圖分別表示左右相機(jī)的成像平面,假設(shè)一個(gè)目標(biāo)在左視圖的成像點(diǎn)落在第二列藍(lán)色區(qū)域,在右視圖的成像點(diǎn)落在第五列藍(lán)色區(qū)域,視差值即為3。這里小伙伴會(huì)問(wèn)為什么在計(jì)算視差值的時(shí)候,目標(biāo)在左右視圖中的匹配點(diǎn)所在行相同呢?其實(shí)在計(jì)算視差圖之前,存在一個(gè)重要的操作即圖像校正:包括畸變校正和立體校正兩個(gè)過(guò)程。
圖像的畸變校正我們都很熟悉了,有興趣的童鞋可以翻翻小編之前的文章,有一篇線性相機(jī)模型中進(jìn)行了描述。通過(guò)張正友標(biāo)定法計(jì)算出相機(jī)的4個(gè)內(nèi)參fx,fy,cx,cy和5個(gè)畸變系數(shù)k1,k2,k3,p1,p2,進(jìn)一步解決相機(jī)的枕形畸變和桶形畸變。 立體校正的過(guò)程是利用兩顆相機(jī)之間的外參即旋轉(zhuǎn)平移矩陣以及透視投影矩陣,對(duì)兩幅圖像進(jìn)行極線校正,將圖象平面重投影到平行于光心線的公共平面上,如下圖所示,將原始的灰色像平面糾正到黃色位置。
接下來(lái)我們從下圖解釋一下極點(diǎn)、極線、極平面的概念,假設(shè)空間一點(diǎn)P投影到左視圖像平面上,成像點(diǎn)PL;投影到右視圖像平面上,成像點(diǎn)PR。兩個(gè)相機(jī)光心的連線CL-CR與像平面的交點(diǎn)eL和eR稱為極點(diǎn)。物點(diǎn)P與左右相機(jī)光心CL、CR組成的平面稱為極平面。而極平面與相機(jī)的像平面交線稱為極線。
上圖中還有一個(gè)規(guī)律,我們發(fā)現(xiàn)不同距離處的三維空間點(diǎn)P,P1,P2,P3投影到左視圖成像點(diǎn)PL上,在右視圖搜索相對(duì)應(yīng)的匹配點(diǎn)時(shí),它們均落在紅色直線上(極線)。所以當(dāng)我們做左右視圖的匹配時(shí),是否可以利用這一規(guī)律呢?在圖像匹配的過(guò)程中,如何找到兩幅圖像的對(duì)應(yīng)關(guān)系?最直接的做法就是逐點(diǎn)匹配,但是從一副圖像中逐個(gè)像素點(diǎn)的搜索,不僅耗時(shí)巨大而且匹配精度不高。
為了降低匹配的難度,提供匹配的速度和精度,通常會(huì)增加一些約束條件,比如極線約束、相似性約束、左右一致性約束等。其中極線約束最為常見(jiàn),它是指三維空間中一點(diǎn)P,當(dāng)投影到左視圖P’位置后,必然能在右視圖的極線上匹配到該點(diǎn)。該約束將二維空間中的逐點(diǎn)搜索降維到一維直線上的搜索,減少了算法耗時(shí)并提高匹配精度。我們先來(lái)看一種理想的情況,左右相機(jī)內(nèi)參相同且像平面共面,如下圖所示:
在這種情況下,做圖像特征匹配時(shí),只需要將左視圖中的像素點(diǎn),沿著水平方向在右視圖的極線上搜索對(duì)應(yīng)點(diǎn)即可。但是實(shí)際情況下左右相機(jī)內(nèi)參不同且像平面不共面,如下圖所示:
上文中提到的立體校正就是應(yīng)用在此處,為了使同一特征點(diǎn)位于左右相機(jī)兩張圖像水平方向的同一條直線上。也就是把實(shí)際情況下非共面行對(duì)齊的兩幅圖像校正成共面行對(duì)齊。那么極線和視差是否存在某種關(guān)系呢?假設(shè)左右兩個(gè)相機(jī)的焦距相同,極線和光軸均平行。
左右視角同時(shí)看到兩個(gè)目標(biāo)P1和P2,其中XR1和XT1分別是P1點(diǎn)落在左右兩幅圖中的位置,即P1在左右相機(jī)的視差為|XR1-XT1|;XR2和XT2分別是P2點(diǎn)落在左右兩幅圖中的位置,即P2在左右相機(jī)的視差為|XR2-XT2|。所以移動(dòng)三維空間中的一點(diǎn)P,其在左右相機(jī)中的位置也會(huì)發(fā)生變化,從而視差發(fā)生變化。如下圖所示:
根據(jù)三角形相似性原理可以得到Z=b * f / d,Z表示目標(biāo)的距離,b是基線,f是焦距,d是視差,可以看出視差與三維空間上的點(diǎn)到投影中心平面的距離成反比:距離像平面越近的目標(biāo),視差越大;距離像平面越遠(yuǎn)的目標(biāo),視差越小。
雙目視覺(jué)的本質(zhì)就是兩幅圖像特征匹配的過(guò)程,雖然技術(shù)成熟度很高,但是在哪些情況下仍然存在挑戰(zhàn)呢?
物體邊緣處的估計(jì)
紋理信息單調(diào)的場(chǎng)景
缺乏紋理的物體
光照角度強(qiáng)度不同
雨雪天氣場(chǎng)景下
夜晚或昏暗場(chǎng)景
在室內(nèi)場(chǎng)景會(huì)遇到白墻,房頂,玻璃等紋理信息單一或缺乏的情況導(dǎo)致圖像匹配失??;在室外場(chǎng)景會(huì)遇到進(jìn)出隧道的光照變化,昏暗街道的匹配失敗等問(wèn)題。
編輯:jq
-
相機(jī)
+關(guān)注
關(guān)注
4文章
1338瀏覽量
53452 -
矩陣
+關(guān)注
關(guān)注
0文章
419瀏覽量
34480 -
立體視覺(jué)
+關(guān)注
關(guān)注
0文章
36瀏覽量
9768
原文標(biāo)題:一文詳解深度相機(jī)之雙目成像
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論