iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0

筆者當初學習八點法時,能夠理解基本的算法與實作,但對於背後數學原理感到困惑,為什麼這樣做就對了呢?因此在這裡想要深入一些,不會追求能夠完整證明,但希望能提供一些數學直覺,幫助有同樣困惑的讀者。

試圖回答以下問題:

  1. 為什麼 Essential matrix 的奇異值有兩個相同,一個為 0?
  2. SVD 分解那一頓操作是在做什麼?
  3. 為什麼可以從 Essential matrix 得出 R, t 四個可能解?

Essential matrix 的奇異值 (singluar values) 性質

上回說到,如果將 E 做 SVD 分解得到 latex,其中 latex 為正交矩陣、latex 是奇異值矩陣,會有兩個相同的奇異值,而第三個奇異值為 0,如下:

latex
也就是說 E 的 rank 為 2,這裡我們試圖解釋這個性質。

我們要回到 Essential matrix 的定義:

latex

  1. latex 是一個 skew-symmetric 矩陣,rank 為 2。
  2. latex 是一個旋轉矩陣,正交,且 latex

一個 rank = 2 的矩陣與正交矩陣相乘,得到的矩陣 rank 也是 2,解釋了為何其中一個奇異值為 0。


latex 的特徵值是 latex 的奇異值 (singular values) 平方,而

latex

直接把中間的部分展開:
latex

我們知道一個矩陣的 trace 是所有特徵值的和

latex

因為 latex 有外積的性質,而 latex 的兩個不為 0 的特徵值代表的是在兩個正交方向的 scaling,因此兩個特徵值相同,且等於 latex


上一篇
Day18: 八點法 8-point algorithm
下一篇
Day20: 八點法背後的數學(二)
系列文
3D 重建實戰:使用 2D 圖片做相機姿態估計與三維空間重建30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言