三維重建-雙目立體視覺原理

前言

三維重建是個跨多學科的應用領域,圍繞不同的尺度大小、不同速度要求、不同精度要求、不同硬件成本等要求發展出了各種各樣的技術方案。在這個應用領域,充分體現了,沒有最好的設備,只有最合適的方案。在本系列文章中,我嘗試解釋接觸過的不同技術方案,如有錯誤之處,敬請斧正。

 

雙目立體視覺原理

視差 (Disparity) 及 深度計算

人依靠兩隻眼睛判斷深度(物體離眼睛的距離),具體是如何來判斷的呢,我們從小到大似乎並未接受過深度計算的訓練。視差(Disparity)是解釋原理的基本概念之一。我們可以做個簡單的實驗,將手指置於雙目之間,分別開閉左右眼。怎麼樣,是不是發現手指不在同一個位置?這就是視差。

可以參考上圖,當左右相機同時觀察三維點時,該點分別投影在左右相機的相平面上,這兩個投影點之間的差異就是視差:d=Xleft-Xright 。這個公式看起來簡單直觀,其實有不少未解釋清楚的地方,比如這兩個x是在同一個座標系內麼,這兩個像平面一定是平行擺放的嗎,爲什麼可以直接減?等等。

 

要解釋清楚這些問題,上圖還是略簡陋,讓我們換張圖來解釋。

圖中,P是三維物體的頂點座標,其和左右相機光心的連線與左右相平面的交點即爲投影點。注意現在說的所有座標都是定義在同一個座標系內,座標原點與標架已經在圖中左下角標識出來了。

 

現在問題來了,已知,已知d、b、f,求z。這是一個初中幾何題,答案很簡單:

從公式可以看出,視差 d 和深度 z 成反比關係。視差越大,可以探測的深度越小。b是兩個相機光心的距離,又叫基線(baseline),f 是相機的焦距。f 、b 與深度均成正比關係。

 

立體匹配

從上一節可以看到,如果要計算深度,我們需要知道視差、基線、焦距。另外注意,上文的推導是基於理想模型,比如不考慮相機的畸變,不考慮雙相機光軸不平行的情況。

 

在視差計算之前,我們首先給定了兩個投影點。但實際應用中,我們並不知道左右相機中哪兩個點是對應點。查找對應點是雙目立體視覺中非常核心的步驟,可以毫不誇張地說,大部分的結構光重建方案解決的都是如何準確快速地匹配對應點。在介紹具體方案之前,有些通用的背景知識稍微鋪墊一下。

 

對極幾何(Epipolar Geometry)是一個內容非常豐富的範疇(本文不想鋪展太多,只是選擇幾個概念簡單描述,詳細內容可以參考《計算機視覺中的多視圖幾何》一書)。對極幾何描述的是三維點與兩個相機相平面之間的特殊幾何關係,我們先看下圖的模型。

 

其中C0、C1爲兩個相機中心,P爲空間中一點,P在C0、C1對應像平面上的投影分別爲X0、X1。C0、C1連線與像平面的交點e0、e1稱爲極點(Epipoles), 稱爲極線(Epipolar Lines),C0、C1、P三點組成的平面稱爲極平面(Epipolar Plane)

 

這個模型有個有趣的性質。當三維點 P 沿着方向接近左相機時,我們發現其在左相機上的投影點X0並不會移動,但是其在右相機相平面上的投影點x1發生了變化,其移動軌跡一定是沿着極線。反過來,假設我們並不知道P點座標,只知道X0是其在左相機上的投影,要尋找其在右相機相平面中的投影,則只需要沿着極線搜索即可。這個性質使得對應點匹配的搜索空間直接從2維降低到1維。

 

聰明的同學看到這肯定會問了,沒有P點怎麼知道極線在哪,這不是因果不分麼?事實上極線的位置僅和X0以及相機的內外參有關,和P點位置無關。這就引出了接下來的約束。在對極幾何中有個非常著名的約束---對極約束(Epipolar Constraint)形式化地描述了對應點 X0、X1之間的幾何關係:

 

其中F是基礎矩陣(Fundamental Matrix)。這個式子是如此簡潔,以至於忍不住想要推導一番,推導過程見附錄1。

 

極線矯正 對極約束描述了對應點匹配可沿極線搜索。在實際應用中,兩個相機擺放一定是不平行的,因而相平面中的極線大概率是條斜線,這就給搜索過程帶來了不便,爲了簡化過程,還需要引入額外的極線矯正步驟,使得兩相機的極線共線且平行於相平面的X 軸。矯正前後的效果如下面兩張圖所示,應該比較直觀。

 

對應點查找經過上述處理後,要生成視差圖,最核心的步驟就是在相平面的同一行上,查找對應點了。查找的方法有多種,大體上可以分成兩類。

 

(1)提取圖像特徵該類方法可以對每張圖像單獨進行分析,提取“特徵”。這裏特徵可以有不同的表示方法,如邊緣、角點等,也可能來自其他主動投射的結構光信息,如正弦條紋相位值、編碼值等,通過在雙目圖像之間查找相同(相似)特徵來確定對應點。

 

(2)使用相關關係 該類方法假設對應點小領域內有相似的亮度模式,因而可以用兩者的相關關係來定位。爲了增加額外的亮度變化信息,通常會通過主動光源投射隨機散斑這類圖案。

 

具體的結構光重建原理會在後續文章中展開討論。

 

參考

 

附錄

對極約束證明:

上述內容,如有侵犯版權,請聯繫作者,會自行刪文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章