深度相機之雙目成像
點擊下方卡片,關注“新機器視覺”公眾號
重磅干貨,第一時間送達
文章導讀
本文通過介紹雙目立體視覺的成像過程,帶大家了解雙目視覺如何從兩個不同視角的成像平面中恢復出物體三維幾何信息,重建周圍景物的三維形狀與位置。
在說雙目視覺之前,我們先聊一下單目成像過程,最簡單的單目成像是基于小孔成像的原理,三維空間中的點經(jīng)過透視投影過程映射到圖像平面上,如此一來在透視線上的空間點都落在像平面上的同一點處,所以普遍認為單目相機缺乏深度信息無法測距。(這里僅從成像原理出發(fā),當然現(xiàn)實中借助外界約束有很多單目測距的方法)
而雙目相機利用視差原理從不同的位置獲取被測物體的兩幅圖像,通過計算圖像對應點間的位置偏差來恢復出物體三維幾何信息。
雙目的核心在于建立兩個圖像中特征之間的對應關系,將三維空間中同一目標點在不同視圖的成像點關聯(lián)起來,然后計算它們之間的差別,最后通過視差和距離的幾何關系得到深度圖。
雙目立體視覺的具體步驟如下:
對雙目相機進行標定得到內外參數(shù)和單應性矩陣
通過內參做畸變校正并用單應矩陣將兩張圖片轉換到同一平面
對校正后的兩張圖片根據(jù)極線約束進行像素配準
根據(jù)配準結構計算每個像素的深度從而獲得深度圖
輸入左右兩個視角的自行車圖像:

輸出自行車的深度圖信息:

到底什么是視差、極點、極線、極平面、極線約束等等?
在談到雙目成像時,首先出現(xiàn)的一個概念就是視差,網(wǎng)上有人用過一個很簡單的形式來描述視差,即將人眼想象成雙目相機,豎起一根手指放在前方作為目標,分別閉上左眼或右眼去觀察目標,我們發(fā)現(xiàn)目標在不同成像平面中的位置移動了,這個像素位置的差異值就是視差。

在上面這張圖中,左右兩幅圖分別表示左右相機的成像平面,假設一個目標在左視圖的成像點落在第二列藍色區(qū)域,在右視圖的成像點落在第五列藍色區(qū)域,視差值即為3。
這里小伙伴會問為什么在計算視差值的時候,目標在左右視圖中的匹配點所在行相同呢?
其實在計算視差圖之前,存在一個重要的操作即圖像校正:包括畸變校正和立體校正兩個過程。圖像的畸變校正我們都很熟悉了,有興趣的童鞋可以翻翻小編之前的文章,有一篇線性相機模型中進行了描述。通過張正友標定法計算出相機的4個內參fx,fy,cx,cy和5個畸變系數(shù)k1,k2,k3,p1,p2,進一步解決相機的枕形畸變和桶形畸變。
立體校正的過程是利用兩顆相機之間的外參即旋轉平移矩陣以及透視投影矩陣,對兩幅圖像進行極線校正,將圖象平面重投影到平行于光心線的公共平面上,如下圖所示,將原始的灰色像平面糾正到黃色位置。

接下來我們從下圖解釋一下極點、極線、極平面的概念,假設空間一點P投影到左視圖像平面上,成像點PL;投影到右視圖像平面上,成像點PR。兩個相機光心的連線CL-CR與像平面的交點eL和eR稱為極點。物點P與左右相機光心CL、CR組成的平面稱為極平面。而極平面與相機的像平面交線稱為極線。

上圖中還有一個規(guī)律,我們發(fā)現(xiàn)不同距離處的三維空間點P,P1,P2,P3投影到左視圖成像點PL上,在右視圖搜索相對應的匹配點時,它們均落在紅色直線上(極線)。所以當我們做左右視圖的匹配時,是否可以利用這一規(guī)律呢?
在圖像匹配的過程中,如何找到兩幅圖像的對應關系?
最直接的做法就是逐點匹配,但是從一副圖像中逐個像素點的搜索,不僅耗時巨大而且匹配精度不高。為了降低匹配的難度,提供匹配的速度和精度,通常會增加一些約束條件,比如極線約束、相似性約束、左右一致性約束等。其中極線約束最為常見,它是指三維空間中一點P,當投影到左視圖P’位置后,必然能在右視圖的極線上匹配到該點。該約束將二維空間中的逐點搜索降維到一維直線上的搜索,減少了算法耗時并提高匹配精度。
我們先來看一種理想的情況,左右相機內參相同且像平面共面,如下圖所示:

在這種情況下,做圖像特征匹配時,只需要將左視圖中的像素點,沿著水平方向在右視圖的極線上搜索對應點即可。
但是實際情況下左右相機內參不同且像平面不共面,如下圖所示:

上文中提到的立體校正就是應用在此處,為了使同一特征點位于左右相機兩張圖像水平方向的同一條直線上。也就是把實際情況下非共面行對齊的兩幅圖像校正成共面行對齊。
那么極線和視差是否存在某種關系呢?
假設左右兩個相機的焦距相同,極線和光軸均平行。左右視角同時看到兩個目標P1和P2,其中XR1和XT1分別是P1點落在左右兩幅圖中的位置,即P1在左右相機的視差為|XR1-XT1|;XR2和XT2分別是P2點落在左右兩幅圖中的位置,即P2在左右相機的視差為|XR2-XT2|。所以移動三維空間中的一點P,其在左右相機中的位置也會發(fā)生變化,從而視差發(fā)生變化。如下圖所示:

根據(jù)三角形相似性原理可以得到Z=b * f / d,Z表示目標的距離,b是基線,f是焦距,d是視差,可以看出視差與三維空間上的點到投影中心平面的距離成反比:距離像平面越近的目標,視差越大;距離像平面越遠的目標,視差越小。

雙目視覺的本質就是兩幅圖像特征匹配的過程,雖然技術成熟度很高,但是在哪些情況下仍然存在挑戰(zhàn)呢?
物體邊緣處的估計
紋理信息單調的場景
缺乏紋理的物體
光照角度強度不同
雨雪天氣場景下
夜晚或昏暗場景

在室內場景會遇到白墻,房頂,玻璃等紋理信息單一或缺乏的情況導致圖像匹配失敗;在室外場景會遇到進出隧道的光照變化,昏暗街道的匹配失敗等問題。
來源:CV研習社
本文僅做學術分享,如有侵權,請聯(lián)系刪文。
