MVG學習筆記(3) --從多個視角重建
從多個視角重建
我們現在轉向本次博文的議題- 從幾幅影象重建場景。 最簡單的情況是兩個影象,我們將首先考慮。 作為一種數學抽象,我們將討論侷限於僅由點組成的“場景”。
對於重建的許多演算法,通常輸入是一組點對應關係。
因此,在兩檢視的情況下,我們在兩個影象中考慮一組對應關係。 假設存在一些相機矩陣,和 以及一組3D點,由這些影象上產生對應關係,滿足於和。
因此,點投射到兩個給定的資料點。 但是,攝像機(由投影矩陣和 表示)和點都不是已知的。 我們的任務是確定它們。
我們的已知條件是對應影象中的匹配點對,我們的目標是計算所謂的camera matrix和3D空間中的實際點雲!
從一開始就很清楚,不可能唯一地確定點的位置。 這是一個普遍的模糊性,無論我們給出了多少影象,即使我們不僅僅有點對應資料。
例如,給定幾個立方體的影象,不可能分辨它的絕對位置(它位於Addis Ababa的夜總會,還是大英博物館),它的方向(面朝北)或其大小。
通過這個例子我們想說的是,重建最多可能達到世界的相似變換。 然而,事實證明,除非已知關於兩個相機的校準,否則重建中的模糊性由更一般的變換類 -射影變換表示。
產生這種模糊性是因為可能將射影變換(由4×4矩陣H表示)應用於每個點,並且在每個相機矩陣的右側,而不改變射影影象點,因此:
沒有令人信服的理由選擇一組點和相機矩陣而不是另一組。 H的選擇基本上是任意的,我們說重建具有射影模糊性,或者是射影重建
然而,好訊息是這是可能發生的最壞情況。 可以從兩個檢視重建一組點,直到不可避免的投影模糊。為了能夠這樣說,我們需要做一些條件限制; 必須有足夠多的點,至少七個,並且它們不能位於各種明確定義的關鍵配置(critical configurations)中。
從兩個檢視重建點集的基本工具是基礎矩陣(fundamental matrix),它表示如果它們是相同3D點的影象,則影象點和所要遵循的約束。
這種約束源於兩個檢視的相機中心,影象點和空間點的共面性。
給定基本矩陣,一對匹配點, 必須滿足
其中是秩為2的3×3矩陣。這些方程在矩陣的元素(entries)中是線性的,這意味著如果是未知的,則可以從一組點對應計算它。
一對相機矩陣和 唯一地確定基本矩陣,相反,基本矩陣確定一對相機矩陣,直到3D射影模糊度。 因此,基本矩陣封裝了這對相機的完整投影幾何,並且通過3D的射影變換而不變。
重建步驟
用於重建場景的基礎矩陣方法非常簡單,包括以下步驟:
- 給定兩個檢視中的幾個點對應關係,基於共面方程在F的元素中形成線性方程。
- 找到作為一組線性方程的解
- 根據某些給出的簡單公式(後期博文若有需求則更新)計算中的一對相機矩陣。
- 鑑於兩個相機(,)和相應的影象點對,找到射影到給定影象點的3D點。 以這種方式求解被稱為三角測量。
這裡給出的演算法只是一個大綱,以後會詳細討論了它的每個部分。 該演算法不應直接從該簡要描述中實現。