orb 初始化 如何計算H矩陣?

2021-10-21 02:21:38 字數 812 閱讀 5228

h矩陣的原理是什麼?

為什麼利用這4個點就可以求解h矩陣? 因為一對點提供兩個方程,h矩陣是8自由度。

求解方程是怎麼得到的?

這個講的比較透。

slam14講還是更加容易記住。入手點是這個點可以被兩個相機看到,所以可以由針孔模型得到畫素座標。再替換掉裡面的世界系座標即可。共面資訊提供了乙個約束。

如何理解slam14講中說的,等式是在非零因子下成立的。意思是,這個等式,應該是少了乙個非零因子,這個因子就是點在兩個相機中的深度之差。

但是,我們不知道這個差具體是多少,所以我們想假定給乙個值,我們就令 s = e9。這樣,h 就被歸一化了。

那麼,這樣求解得到的 h 肯定是不對的啊,是差了乙個尺度的。所以,說,h矩陣是 尺度等價的,他的自由度是8 。

核心原因是,原來應該出現的非零因子,我們不知道。

在得到ax=b 的方程後,如何求解?dlt 直接線性變換 no no no

有一點要搞清楚,什麼是dlt?

這種做法把 h 矩陣看成了向量,通過解該向量的線性方程來恢復 h,又稱直接線性變換法(direct linear transform)。  --- slam14講

所以說,得到求解方程的這個過程,叫做dlt。怎麼解方程是另外一回事。

通常,例如 orb 之中,不會搞成ax=b的形式,而是,維持x 的9維,構成 ax=0,然後利用 svd分解得到h。類似求解 本質矩陣。

如果是 ax=b 的形式,因為方程有唯一解,所以,可以直接進行矩陣運算,得到結果:x = (ata)-1atb

方程的最小二乘解有乙個既定的結論,即對a進行svd分解,a的最小的奇異值對應的右奇異向量即是h的解。

orb單目初始化過程

最近在整理關於tracking中單目初始化的過程感覺沒有之前自己想象的那麼簡單 所以在次記錄一下 tracking中初始化分為單目和雙目 但因為雙目中有深度資訊所以他的初始化較為簡單,而單目相機因為無法自己獲得深度資訊所以需要一系列的過程來獲得深度資訊以恢復位姿r,t 1.選取可以作為起始兩幀的初始...

005 矩陣初始化 運算 特殊矩陣初始化

矩陣定義 m行 n列 import tensorflow as tf data1 tf.constant 6,6 data2 tf.constant 2 2 data3 tf.constant 3,3 data4 tf.constant 1,2 3,4 5,6 matmul tf.matmul da...

mysql怎麼初始化 如何初始化mysql資料庫

1級2016 10 29 回答 一 mysql install db說明 當mysql的系統庫 mysql系統庫 發生故障或需要新加乙個mysql例項時,需要初始化mysql資料庫。需要使用的命令 usr local mysql bin mysql install db usr local mysq...