[轉]關於特征點法、直接法、光流法slam的對比


轉載網址:https://blog.csdn.net/weixin_38203573/article/details/79787499

特征點法:

通過特征點匹配來跟蹤點,計算幾何關系得到R,t,BA來優化R,t,流程大致如下:

直接法:

直接法是從光流法演變而來的,是基於灰度不變假設,計算最小光度誤差來優化R,t,流程大致如下:

光流法:

基於灰度不變假設,把特征點法中的描述子和匹配換成了光流跟蹤,之后求解R,t的過程是一樣的,流程大致如下:

那么這三種方法的優缺點各是什么呢,近期在學了視覺slam后做了初步的總結,希望大家批評指正。

PS.大多數情況下一種方法的有點即使另外一種方法的缺點,所以在一下沒有提到的優缺點可以從其他方法的優缺點中獲取。

優點

運動過大時,只要匹配點還在像素內,則不太會引起無匹配,相對於直接法有更好的魯棒性。

只要關鍵點有梯度即可,可以在漸變的環境下工作

不需要計算描述子,不需要匹配特征點,節省了很多計算量。

 

不需要計算描述子,不需要匹配特征點,節省了很多計算量。

關鍵點提取的多少基本上都可以工作

 

可以籌建半稠密乃至稠密的地圖

從稀疏到稠密重構基本上都可以使用

 

稀疏的直接法可以做到非常快速的效果,適合real time和資源受限的場合

 

特征過多或過少都無法正常工作

圖像無梯度,則對優化結果無貢獻,特別如自動駕駛時候的天空

基於灰度不變假設,容易受外界光照的影響。

只能用來構建稀疏地圖

基於灰度不變假設,容易受外界光照的影響。

相機發生大尺度移動或旋轉時無法很好的追蹤,非凸優化,容易局部極值。用尺度金字塔改善局部極值,組合光流法(增加旋轉描述)改善旋轉。

環境特征少,或者提不出角點(如:漸變色)都無法工作

相機發生大尺度移動或旋轉時無法很好的追蹤,非凸優化,容易局部極值。用尺度金字塔改善。

 

花很多時間在計算描述子和匹配上

單個像素沒有區分度,需要計算像素塊,結果只能少數服從多數。

 
 

容易受相機暗角影響

 

提問

提取多少特征點算合適?(不多不少剛剛好?)

 

計算出圖像的光流后可以直接推導出相機的運動嗎?

由於直接法是光流法的衍生,所以他們有很多的相似性。

有不正確的地方希望大家指出,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM