筆者當初學習八點法時,能夠理解基本的算法與實作,但對於背後數學原理感到困惑,為什麼這樣做就對了呢?因此在這裡想要深入一些,不會追求能夠完整證明,但希望能提供一些數學直覺,幫助有同樣困惑的讀者。
試圖回答以下問題:
上回說到,如果將 E 做 SVD 分解得到 ,其中 為正交矩陣、 是奇異值矩陣,會有兩個相同的奇異值,而第三個奇異值為 0,如下:
也就是說 E 的 rank 為 2,這裡我們試圖解釋這個性質。
我們要回到 Essential matrix 的定義:
一個 rank = 2 的矩陣與正交矩陣相乘,得到的矩陣 rank 也是 2,解釋了為何其中一個奇異值為 0。
的特徵值是 的奇異值 (singular values) 平方,而
直接把中間的部分展開:
我們知道一個矩陣的 trace 是所有特徵值的和
因為 有外積的性質,而 的兩個不為 0 的特徵值代表的是在兩個正交方向的 scaling,因此兩個特徵值相同,且等於 。