雪花臺灣

為什麼本質矩陣5自由度,基礎矩陣7自由度,單應矩陣8自由度?

一般的說法是基礎矩陣7自由度是因為一共9個數,秩為2(行列式不是0)減去一個自由度,尺度等價性再減去一個自由度,但是為什麼本質矩陣也滿足上面倆條件但是隻在6的基礎上減去一個自由度呢?


謝邀。

考慮這些矩陣的自由度時,重點在於理解parameterization之後有多少個待定的參數,然後明確一個點,在雙視圖幾何中,fundamental matrix以及essential matrix僅由相機的內參兩張圖片之間的相對變換決定,與絕對位置沒有關係。接下來理一下這幾個矩陣的自由度問題:

  1. 最簡單的homography(單應矩陣 ),可以將二維射影空間 中的一個點 變換到 中的另一個點 。根據射影空間的性質,必然存在一個 的矩陣,使得 。回顧齊次坐標系的定義,放縮一個點的坐標依然得到這個點本身,所以有 。換句話說,在不加任何限制的情況下,僅僅考慮二維射影空間中的變換,一個單應矩陣 可由9個參數確定,扣去scale的一個,自由度為8。這個部分很好理解。

2. 接下來考慮fundamental matrix(基礎矩陣 )的情況。 的推導有兩種方法(Chapter 9 in [1]),本質上都是求解圖片A中的一個點 與圖片B中對應的點 應該滿足什麼樣的約束。第一種是我個人比較喜歡的逆投影表示,由純矩陣運算推導,過程可以參見這個答案,另一種是幾何方法推導,利用transfer via a plane的方法,利用第二種方法可以比較快地推導出自由度為7。這個方法包含以下三步:

由1可知, 作為一個homography matrix,自由度是8,然而 作為一個skew symmetric matrix,秩只有2,由 ,得知 必然為singular matrix,這個額外的條件使得 的自由度為7。

3. 最後來看Essential matrix(本質矩陣 ),也就是題主覺得不解的地方。因為 可以理解為 的一個特例,其中涉及的兩個投影矩陣都不包含相機內參。注意開頭所說的,雙視圖幾何中絕對位置不重要,所以我們可以不失一般性地假定圖片A位於 ,旋轉為 ,圖片B位於 ,旋轉為 。這樣, 退化為 ,而 退化為 。換言之,我們可以得到 。 其中 有3個自由度, 有3個自由度,考慮translation在scale上的等價性減去1個自由度,得到自由度為5。

作為對比,我們看一下究竟是什麼使得 的自由度比 要少,可以看到其核心就在於 去除了兩個相機內參 的影響。在這個答案的結論中,我們得知 ,也就是 。這裡可以看出,一個最簡單的 也需要4個參數定義,兩個內參矩陣就是8個參數,哪怕考慮了 的相對關係一共只需要6個參數,加起來也已經14個參數,超過了最後 矩陣的9個參數,所以 可以用9個參數為起點來考慮。作為對比,在 中, 一共6個參數已經比9要小,所以應該以6作為起點來考慮。

另外一個有趣的點是,為什麼 都考慮了scale的等價性,而只有 考慮了singularity的限制呢?這個問題我個人的理解是,singularity的約束實際上來自於skew symmetric矩陣的一個特性:前兩個singular value必然相等且第三個singular value為0。在 的計算中,一個homography矩陣 會使得相乘後的結果矩陣singular value發生變化,進而導致結果矩陣可能出現non-singular的情況,因而需要加上singularity的約束。在 的計算中,旋轉矩陣 不會改變singular value的值(證明請google之),這使得相乘後的結果依然保持了前兩個singular value相等且第三個singular value為0的性質,singularity得到了保持,也就不需要額外的singularity約束了。

Reference:

[1] Hartley, R., Zisserman, A. (2003). Multiple view geometry in computer vision. Cambridge university press.


推薦閱讀:
查看原文 >>
相關文章