理論二 MSCKF 前端特徵跟蹤

2021-10-14 14:02:02 字數 1285 閱讀 9830

感謝:紫薯蘿蔔

vio演算法的核心在後端,不管是優化的方法還是濾波的方法,都是靠後端的緊耦合融合獲得較高的vio精度,為了節省計算量一般前端都會做得很簡單,基本都是fast、harris等角點加lk光流跟蹤(s-msckf中使用的fast角點,vins_mono中使用的goodfeaturetotrack)。如果計算資源充裕的話,也可以換成orb、surf、sift等描述子特徵,精度應該會有所提公升。

這裡以s-msckf中的雙目特徵跟蹤為例進行介紹,單目特徵跟蹤步驟很類似,可以參照vins-mono中的前端實現。

s-msckf前端主要步驟:

這裡實現時需要注意的細節是左右圖的特徵點是成對出現的,所以對於那些在右圖中跟蹤失敗的點,在左圖特徵點會被刪除。

特徵跟蹤流程中的跟蹤主要有兩種:前後幀跟蹤和左右圖跟蹤,二者都是呼叫lk光流。區別在於前後幀跟蹤用了imu估計相機旋轉來**特徵點初值左右圖跟蹤用的相機外參,而且左右圖跟蹤還加了極線約束,所以左右圖匹配準確性更高。

收集前後兩幀之間所有的imu資料,計算平均角速度

對於前一幀特徵點

s為尺度,d為特徵點深度,這樣做肯定會有誤差,但這只是**特徵點的初始位置,後面會有lk光流來對位置進行refine)因為假設所有特徵點都在深度為1的normalize平面,所以可以直接計算homography,

呼叫opencv中的calcopticalflowpyrlk進行跟蹤。

由於特徵點深度未知,同樣假設特徵點在normalize平面,計算

呼叫opencv中的calcopticalflowpyrlk進行跟蹤。

左右圖跟蹤中由於

設前後兩幀的特徵點匹配對為

根據叉乘性質對公式進行變換

測試理論二

1.軟體測試的分類 1 按測試策略分類 黑盒 白盒測試 動態 靜態測試 手工 自動測試 2 按測試階段分類 單元測試 整合測試 確認測試 系統測試 驗收測試 3 按測試方法分類 功能測試 效能測試 壓力測試 負載測試 易用性測試 安裝測試 介面測試 配置測試 文件測試 相容性測試 安全性測試 恢復測...

前端 理論 文件物件模型

文件物件模型規定了 1.瀏覽器應該去如何建立html頁面的模型 2.js如何訪問或修改瀏覽器視窗中的web頁面的內容 當瀏覽器載入 web頁面時,會在記憶體中建立頁面的模型。人們把dom稱為api。使用者介面是人和程式之間互動的媒介 而api則是程式之間 以及指令碼 的通訊介面。dom樹 他被儲存在...

控制理論 MPC(二)

假設我們車輛的制動延遲是 100ms100ms 本文中模型採用10步 每步間隔為 50ms50ms 即模型 的前兩步實際上是制動延遲的時間內,即實際上這兩步中車輛仍然在執行上乙個狀態的制動指令,那麼為了讓模型更加貼近實際,我們就約束這2步的制動指令,即 a,deltaf a,deltaf 為上一狀態...