SVO深度解析(一)之簡介和評價

 

以前研究VSLAM時,本人對SVO研究過一段時間,那個時候沒有時間總結,git

如今快畢業了,總結一下本身瞭解的算法吧。。。。github

對SVO的總結共分爲3各部分,分別爲簡介和評價部分、跟蹤部分、深度濾波部分(建圖部分)。算法


簡介部分app


轉載請說明出處dom

http://blog.csdn.net/zhubaohua_bupt/article/details/74822742
ide


1先說一下SVO大致內容


SVO[2]是C. Forster, M. Pizzoli, and D. Scaramuzza在14年提出的一個半直接法的VSLAM(單目)。函數

開源代碼:https://github.com/uzh-rpg/rpg_svo 性能


1.1爲何叫半直接法?

咱們知道,VSLAM有直接法和特徵點法兩大類。直接法和特徵點法,在幀間VO階段的不一樣在於,優化

直接法:提取梯度紋理特徵明顯的像素,幀間VO是靠圖像對齊,即經過spa

               最小化像素灰度差函數來優化幀間位姿。

特徵點法:提取特徵點(一般是角點),幀間VO靠PNP,即縮小在後幀圖像上,

             重投影點與特徵匹配點距離偏差,來優化幀間位姿。

而SVO是這樣乾的:

提取稀疏特徵點(相似特徵點法),幀間VO用圖像對齊(相似於直接法),

SVO結合了直接法和特徵點法,所以,稱它爲半直接法。


1.2 SVO幹了什麼事?

SVO主要乾了兩件事,

<1>跟蹤

<2>深度濾波

深度濾波是咱們常說的建圖(Mapping)部分。


1.2.1跟蹤部分

跟蹤部分乾的事情是:初始化位姿,估計和優化位姿(分別對應於幀間VO和局部地圖優化)。


初始化位姿

用KLT光流法找匹配,而後恢復H矩陣。初始化思想是這樣的,

第一幀上提取的特徵點,做爲關鍵幀,後來的幀不斷用KLT與第一幀匹配,

直到匹配到的特徵點平均視差比較大,就認爲初始化成功,計算對應特徵點的深度,

與此對應的幀做爲第二幀。以後進入正常工做模式,即估計和優化位姿。


正常工做模式

首先,經過和上一幀進行對齊,求取初始位姿;

而後,創建局部地圖,經過優化局部地圖和當前幀的投影灰度塊偏差,來優化當前位姿;

最後,判斷此幀是不是關鍵幀,若是爲關鍵幀就提取新的特徵點。

通過以上四個步驟,完成一幀的處理。若是在CMakeLists裏打開了HAVE_G2O的選項,

代碼隔一段時間還會BA,不過很是慢。


1.2.2深度濾波部分

深度濾波部分主要任務是完成估計特徵點的深度信息。

深度濾波和跟蹤部分相互依賴,由於深度濾波是以相機位姿已知爲前提進行的,

而跟蹤部分又依靠深度濾波的結果(較準確的三維點),完成位姿的估計。

乍一看,這是個雞生蛋,蛋生雞的問題,既然二者循環迭代,總得有個起始點。

其實,單目的slam在啓動時須要初始化,而這個初始化就提供粗糙的幀間位姿,

以便於深度濾波和跟蹤部分的迭代。

當深度能夠用後(稱之爲收斂),把它放入地圖裏,用於跟蹤。

 

1.2.3爲何叫VO

這個得從SVO乾的事來講,它既沒有閉環檢測,也沒有重定位(SVO的重定位太。。。),

它乾的事只要是定位,比較符合視覺里程計(VO)的特色。

ORBSLAM算是目前性能最好的開源算法,這些功能它都有,所以算一個比較完整的VSLAM算法。


1.2.4 svo怎麼樣

優勢:是比較快,若是你跑代碼的時候發現很容易跟丟,能夠修改這幾個配置參數:

quality_min_fts:匹配到的最小特徵點。

quality_max_drop_fts:允許相鄰幀匹配到特徵點的最大落差。


缺點:缺點是比較明顯的

和ORBSLAM相比。

<1>因爲位姿的估計和優化全是靠灰度匹配,這就致使了系統對光照的魯棒性不足。

<2>對快速運動魯棒性性不足。直接法都似這個樣子。。能夠加入IMU改善。

<3>沒有重定位和閉環檢測功能。

若是把此工程修改爲RGBD的模式後,魯棒性和精度明顯提升,近似於ORBSLAM的RGBD模式。

 


[1]C. Forster, M. Pizzoli, and D. Scaramuzza, 「SVO: Fast Semi-DirectMonocular Visual Odometry,」 in Proc. IEEE Intl. Conf. on Robotics and Automation, 2014.


[2] MatiaPizzoli,Christian Forster, and Davide Scaramuzza. REMODE: Probabilistic,monocular densereconstruction in real time. In International Conference onRobotics andAutomation (ICRA), pages 2609–2616, Hong Kong,China, June 2014.

相關文章
相關標籤/搜索