2013-04-13 66 views
1

我目前正在處理基於一組圖像的重建項目,採用多視圖立體方法。因此,我需要知道太空中的幾幅圖像。我發現使用衝浪的匹配功能,並從通信中找到基本矩陣。相機姿態估計

現在出現這個問題:用SVD分解基本矩陣是可能的,但這可能導致4種不同的結果,就像我在書中讀到的一樣。我可以如何獲得正確的,假設這是可能的?

可以使用其他哪些算法?

回答

1

感謝Zaphod的回答,我能解決我的問題。以下是我所做的:

首先,我從兩組圖像中的一組點對應關係計算基本矩陣(E)。

使用SVD,將其分解爲2個解。使用否定的基本矩陣-E(它也滿足相同的約束條件),我總共獲得了4個可能的攝像機位置和方向的2個解決方案。

然後,對於所有解決方案,我通過對點座標進行三角測量並確定在兩個攝像頭前面相交的點,通過獲取點座標的點積和每個攝像頭的觀察方向。我都是積極的,那麼這個交叉點就在兩個攝像頭前面。

最終,在攝像機前提供最多交叉點的解決方案就是所選的解決方案。

1

Wikipedia說:

事實證明,然而,只有四類解決方案 的人可以在實踐中實現。給定一對相應的座標,三個解決方案將始終產生一個3D點 ,該點位於兩個攝像機中的至少一個後面,因此不能看到 。四個班級中只有一個班級持續在兩臺攝影機前製作3D 分。這必然是 正確的解決方案。

如果您對相機的第一幀的外部校準參數,或者如果你認爲它坐落在默認校準,說的(0,0,0)平移和旋轉(0,0 ,0),那麼你可以確定哪些分解是有效的。

+0

我現在的想法是將參考圖像和每個解決方案的圖像角落投影到參考圖像前方的平面中。如果有重疊,那麼它必須是一個正確的解決方案。這可以工作嗎? – zync

+0

如果我理解正確,這隻會在相機不平移時才起作用 - 旋轉可以通過將點投影到平面上來處理。 – Zaphod