3

我試圖從一組未經校準的照片在MATLAB中進行三維重建。我使用SIFT來檢測圖像之間的特徵點和匹配。我想首先進行投影重建,然後使用自動校準將其更新爲度量。未校準的多視圖重建深度估計

我知道如何通過計算基本矩陣,相機矩陣和三角測量來估計來自2幅圖像的3D點。現在說我有3張圖片,a,b和c。我計算圖像a和b的相機矩陣和3D點。現在我想通過添加圖像c來更新結構。我估計相機矩陣通過使用已知的3D點(從一個計算和b),該匹配在圖像C中的2D點,因爲:

enter image description here

然而,當我重建b和c他們不之間的3D點與現有的a和b三維點相加。我假設這是因爲我不知道點的正確深度估計(在上面的公式中由s描述)。

隨着factorization method of Sturm and Triggs我可以估計深度,找到結構和運動。然而,爲了做到這一點,所有的觀點都必須在所有視圖中都可見,而我的圖像則不是這樣。如何估算所有視圖中不可見點的深度?

回答

1

這不是關於Matlab的問題。它是關於一個算法。

當你沒有看到所述圖像中的點的觀察值時,在數學上不可能估計3D點在圖像中的位置。

有因式分解的擴展以處理丟失的數據。然而,該領域似乎已經收斂到Bundle Adjustment作爲黃金標準。

關於如何實現你想要的東西的一個很好的教程可以找到here,這是幾年的工作應用研究的高潮。從投影重構開始到度量升級。