2014-01-22 39 views
0
I am learning structure from motion by myself and have read many materials. 

即使我具有攝像機的內在參數,也會獲得度量重建 並生成縮放模型。從一種材料度量的三維重建意味着兩次捕獲之間的距離是未知的。爲什麼我不能使用 點對應關係和內部參數來獲得距離?如果我使用兩張以上的圖像,是否可以通過物理 測量得到模型?爲什麼重構模型是使用SfM(運動結構)的縮放版本?

在此先感謝。

問候 慢跑

回答

2

如果這兩個攝像頭和場景都與相對比例,變化不會在拍攝的圖像可辨。這就是爲什麼比例因子在SfM中未知的原因。爲了獲得它,通常需要對場景或相機運動進行一些物理測量。

如果你不相信,乾脆做數學題:

(P1 p1)(P2 p2)是兩個相機1和2的3×4的投影矩陣(P1是3x3矩陣和p1列向量),M一點在現場,和m1m2M在攝像機1和2,我們具有相應的突出部(~=手段「正比於」,因爲透視除法):

m1 ~= P1 M + p1 
m2 ~= P2 M + p2 

相機介紹中心C1 = -P1^-1 p1C2 = -P2^-1 p2和攝像機之間的轉換T = C2 - C1,這可以寫成:

m1 ~= P1 (M - C1) 
m2 ~= P2 (M - C2) = P2 (M - (C1 + T)) 

現在由s係數由o縮放整個場景和翻譯它的起源是:M' = s M + o。引入兩個相機1'和2',它們是逆比例因子1和2的版本,即P1' = 1/s P1P2' = 1/s P2。縮放並抵消他們的中心C1' = s C1 + oC2' = s (C1 + T) + o。兩臺攝像機之間的相對轉換現在是:C2' - C1' = s T。的M'在1' 和2' 的預測是:

m1' ~= P1' (M' - C1') = 1/s P1 (s M + o - s C1 - o) = P1 (M - C1) 
    ~= m1 
m2' ~= P2' (M' - C2') = 1/s P2 (s M + o - s (C1 + T) - o) = P2 (M - C2) 
    ~= m2 

所以在最後,你會得到同樣的預測(你在SFM問題的投入)與具有不同的規模,來源和相應比例的場景並翻譯相機。這可以概括爲兩個以上的相機。

+0

謝謝。在SfM中,基本矩陣或基本矩陣至關重要。這是否意味着基本矩陣不是唯一的?在立體成像中,兩臺攝像機將同時進行校準,也許這可以提供更多信息。這可以產生沒有比例因子的數字模型嗎? –

+0

我又讀過了OpenCV的文檔。 stereoCalibrate函數可以返回兩臺攝像機之間的旋轉和平移,因此一臺立體攝像機可以重建沒有比例因子的對象。 –

+0

查看最新的編輯。我不是OpenCV輸出,但是'stereoCalibrate'應該給你一個與恢復的相機一致的翻譯。您仍然可以重新調整翻譯和相機。 – user3146587

2

如果您只有圖像,並且沒有關於場景中物體的物理尺寸的其他信息,則無法單獨從圖像中恢復這些尺寸 - 最多隻能將場景重建爲僅未知比例因子。這意味着,例如,您可能會發現兩條線彼此垂直。您也可以計算矩形瓷磚的寬高比,但無法分辨高度和寬度的各個值。

您可以通過注意到,例如,如果將場景中的所有對象縮小S因子,然後將其靠近相機,使圖像保持不變,則可以說服自己數額相同。這允許在使用微縮模型(如these)的電影中進行一些老派特效,並且無論相機是固定還是相對於場景移動,它都可以工作 - 也適用於多圖像情況。