Combining Two-viewConstraints For Motion Estimation
作者:Venu Madhav Govindu
出處:2001 CVPR
做了什麼:使用兩視圖約束進行運動估計,提出了兩種方法:線性擬合和直接估計
線性擬合怎麼做的:
1. 分爲兩個階段:旋轉估計和運動估計
2. 旋轉估計:
輸入:N幅圖像之間的相對旋轉矩陣
輸出:(N-1)個相對參考幀的全局旋轉矩陣
要點:
- 估計N幅圖像的全局旋轉需要的相對旋轉數量在至少是(N-1)個,但是實際上N幅圖像能提供的相對旋轉可以多達N(N-1)/2個;
- 由於噪聲,組合約束(比如
)並不嚴格成立,也就是估計的(N-1)個全局旋轉矩陣彼此不嚴格一致(即
不嚴格成立);
- 需要尋找(N-1)個能對相對旋轉矩陣集合進行最佳擬合的全局旋轉矩陣;
- 由於只需要求解(N-1)*4個未知量,卻提供了至多N(N-1)/2*4個方程組,因此方程組往往高度冗餘
- 無噪聲時:
,有噪聲時加入旋轉誤差(論文假設該誤差的旋轉方向服從均勻分佈,旋轉角服從高斯分佈):
。論文中接着推導出瞭如下等式(不知道怎麼來的):
。由於旋轉矩陣有正交的約束,而直接求解的話這個約束不好施加,因此使用四元數表達旋轉矩陣,等式
可以轉化成:
,其中的一一對應關係很明顯,只是需要注意的是
是個矩陣(我也不知道爲什麼是矩陣)
。聯立求解所有的
,就可以算出所有的
(到底怎麼算還是不懂)。論文說求解出的
是最小二乘解(還是不知道爲什麼)。
3. 平移估計
輸入:N幅圖像之間的相對旋轉矩陣
輸出:N幅圖像的平移
要點:
- 平移方向與相機的平移量之間有如下關係:
(不知道爲什麼會有一個
)
- 與旋轉估計一樣,平移估計也會受到噪聲影響,由於
只表示方向,因此只能對平移方向的誤差進行建模(而不能對平移量建模),帶有誤差的模型爲:
。
- 迭代計算過程:
線性擬合效果如何:
論文舉了幾個例子:
- 3D運動估計:先用八點算法算出幀之間的本質矩陣,然後分解本質矩陣得到相對旋轉矩陣和平移方向向量,最後用上面的算法算出全局的旋轉和平移。
- 相機內參和外參標定
(線性擬合沒怎麼看懂,主要是不知道旋轉估計到底是怎麼算的)
直接估計怎麼做的:
利用對極約束建立目標函數:
由於不涉及結構的計算,所以能減少計算量。
直接估計效果如何:論文太老了,實驗沒看