1. 程式人生 > >MVG學習筆記(6) --遷移和歐幾里德重建

MVG學習筆記(6) --遷移和歐幾里德重建

遷移(Transfer)

  我們已經從一組影象討論了3D重建。 投影幾何的另一個有用的應用是遷移(Transfer):給定一個(或多個)影象中的點的位置,確定它將在該組的所有其他影象中出現的位置。 為此,我們必須首先使用(例如)一組輔助點對應來建立攝像機之間的關係。 概念性地遷移是直接給出一個重建是可能的。

   例如,假設在兩個檢視(x\rm xx\rm x^\prime)中識別該點,我們希望知道它在第三個檢視的位置x{\rm x}^{\prime\prime},然後這可以通過以下步驟計算:

  1. 從其他點的對應關係xixix{\rm x}_i \leftrightarrow {\rm x}_i^\prime \leftrightarrow {\rm x}^{\prime\prime}
    計算三個檢視的攝像機矩陣P,P,P{\rm P,P^\prime,P^{\prime\prime}}
  2. 使用P\rm PP\rm P^\prime對點x\rm xx\rm x^\prime三角測量得3D點X\rm X
  3. 將3D點投影到第三個檢視,如x=PX{\rm x}^{\prime\prime}={\rm P}^{\prime\prime}{\rm X}

該程式僅需要投影資訊。

  另一種方法是使用多檢視張量(基礎矩陣和三焦點張量)直接遷移點而無需顯式3D重建。 兩種方法都有其優點。

  假設相機圍繞其中心旋轉或者所有感興趣的場景點都位於平面上。 然後,適當的多檢視關係是影象之間的平面射影變換。 在這種情況下,只要在一個影象中看到的點可以遷移到任何其他影象。

歐幾里德重建

  到目前為止,我們已經考慮過使用一組未矯正的相機拍攝的影象重建場景或遷移。 (內參未知的)

  對於這樣的相機(未矯正),諸如焦距,影象的幾何中心(主點)以及可能的影象中的畫素的縱橫比的重要引數是未知的。

  如果已知每個攝像機的完整矯正,則可以消除重建場景的一些模糊性。

  到目前為止,我們已經討論了投影重建,這是在不瞭解相機或場景矯正的情況下可能實現的。 投影重建對於許多目的來說是不夠的,例如應用於計算機圖形,因為它涉及對於用於觀看歐幾里德世界的人來說看起來很奇怪的模型的扭曲。

  例如,射影變換在一個簡單物件中引起的扭曲如圖1所示。 使用射影重建技術,沒有辦法在圖1中的任何可能的形狀的杯子之間進行選擇,並且射影重建演算法很可能提出任何其他任何一個重建。 射影重建可能會產生更嚴重的扭曲模型。

圖1, 射影模糊:在Z方向上的3D投影變換下重建杯子(在中心顯示真實形狀)。 示出了具有不同程度的射影失真的杯子的五個示例。 形狀與原始形狀完全不同。

  為了獲得物體具有正確(歐幾里德)形狀的模型的重建,有必要確定相機的矯正。很容易看出,這足以確定場景的歐幾里德結構。

  正如我們所看到的,確定世界的歐幾里德結構相當於指定無窮遠處的平面和絕對二次曲線。事實上,由於絕對二次曲線位於一個平面,即無窮遠處的平面,它足以在空間中找到絕對的二次曲線。

  現在,假設我們使用標定了的相機計算了世界的投影重建。根據定義,這意味著每個影象中都知道IAC;讓它在第i個影象中用ωi\omega_i表示。每個ωi\omega_i的反投影是空間中的圓錐體(cone),絕對二次曲線(absolute conic)必須位於所有圓錐體的交叉點。

  兩個錐體一般在四度曲線上相交,但鑑於它們必須在二次曲線中交叉,這條曲線必須分成兩個二次曲線。因此,從兩個影象重建絕對二次曲線不是唯一的 - 相反,通常有兩種可能的解決方案。

  然而,從三個或更多個影象中,錐體的相交通常是唯一的。因此,絕對二次曲線被確定並且具有場景的歐幾里德結構。

  當然,如果已知場景的歐幾里德結構,那麼絕對二次曲線的位置也是如此。 在這種情況下,我們可以將其投影回每個影象,在每個影象中產生IAC,從而校準相機。 因此,相機校準的知識等同於能夠確定場景的歐幾里德結構