iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
AI/ ML & Data

3D 重建實戰:使用 2D 圖片做相機姿態估計與三維空間重建 系列

介紹電腦視覺領域中的 3D 重建相關的理論與算法:包含如何估計相機的姿態、如何計算深度、如何重建,也會試著涵蓋一些近年崛起的深度學習的 3D 重建算法。本系列將會理論與實作並重,主要使用 Python 實作,並且以 3D 視覺化的方式展示實作的結果。

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文 團隊天堂製造
DAY 21

Day20: 八點法背後的數學(二)

前面提過,經過計算得到的 E 並不會符合 Essential Matrix 的特性,因此我們需要對 E 做 SVD 分解,得到 ,並將 設為 ,其中 是 E...

DAY 22

Day21: Random sample consensus (RANSAC) 算法

當我們有錯誤的匹配點怎麼辦呢?要如何找到正確的八個點來計算 Essential Matrix 呢?這時候就需要用到 Random sample consensu...

DAY 23

Day22: 相機的連續幀的估計(visual odometry)

綜合了前面知識(兩個相機之間的姿態估計),讓我們回到實作的部分,這次要把前面介紹的實作組合起來,打造一個簡單的視覺里程計(visual odometry)。 只...

DAY 24

Day23: 尺度缺失 (Scale Ambiguity)

在使用 RGB 圖片做相機姿態估計時,有一個重要的問題,那就是尺度缺失 (Scale Ambiguity),我們在前面為了簡化問題故意忽略不談,現在要來好好討論...

DAY 25

Day24: 深度圖(一)

上回提到使用 RGB 圖像做相機姿態估計或 3D 重建時,由於失去了相機與圖片中物體的真實距離,導致有尺度缺失的問題,因此無法得知物體的真實大小。 為了解決這個...

DAY 26

Day25: 深度圖(二),深度圖是怎麼來的呢?

RGB 圖片的產生是透過相機的感光元件將光線轉換成電子訊號,再經過一系列的處理(例如降噪等)後,最後轉換成我們看到的帶有三種顏色組合而成的圖片。那麼深度圖又是怎...

DAY 27

Day26: 實作:從深度圖到 3D 點雲

有了每個像素的深度值,我們就可以將這些深度值轉換成 3D 空間中的點,這個過程相當於把每個像素反向的投影到 3D 空間中,這樣我們就可以得到一個 3D 點雲(P...

DAY 28

Day27: 利用深度圖做姿態估計與 3D 重建

前面介紹了如何使用RGB做姿態估計,以及利用 triangulation得到3D點雲。由於沒有深度訊息,相機姿態需要考慮的投影問題,並且得到的3D點雲再沒有經過...

DAY 29

Day28: 迭代最近點算法(Iterative closest point)

這個算法使用的是兩張的深度圖,將他們轉換成 3D 點雲,然後估計兩個點雲之間的 3D 轉換(一個旋轉矩陣和位移向量),這樣就可以得到兩個相機的位移和旋轉。 類似...

DAY 30

Day29: 實作迭代最近點算法(Iterative closest point)

使用前面深度圖轉換成 3D 點雲的函數,我們可以來實作迭代最近點算法(Iterative closest point, ICP),這個算法可以估計兩個點雲之間的...