SLAM 整體性總結

VSLAM方法框架:

整個SLAM大概可以分爲前端和後端 ,前端相當於VO(視覺里程計),研究幀與幀之間變換關係。首先提取每幀圖像特徵點,利用相鄰幀圖像,進行特徵點匹配,然後利用RANSAC去除大噪聲,然後進行匹配,得到一個pose信息(位置和姿態),同時可以利用IMU(Inertial measurement unit慣性測量單元)提供的姿態信息進行濾波融合

後端則主要是對前端出結果進行優化,利用濾波理論(EKF、UKF、PF)、或者優化理論TORO、G2O進行樹或者圖的優化。最終得到最優的位姿估計。

後端這邊難點比較多,涉及到的數學知識也比較多,總的來說大家已經慢慢拋棄傳統的濾波理論走向圖優化去了。

因爲基於濾波的理論,濾波器穩度增長太快,這對於需要頻繁求逆的EKF(擴展卡爾曼濾波器),PF壓力很大。而基於圖的SLAM,通常以keyframe(關鍵幀)爲基礎,建立多個節點和節點之間的相對變換關係,比如仿射變換矩陣,並不斷地進行關鍵節點的維護,保證圖的容量,在保證精度的同時,降低了計算量。

列舉幾個目前比較有名的SLAM算法:PTAM,MonoSLAM, ORB-SLAM,RGBD-SLAM,RTAB-SLAM,LSD-SLAM。

所以大家如果想學習SLAM的話,各個高校提高的素材是很多的,比如賓大、MIT、ETH、香港科技大學、帝國理工等等都有比較好的代表作品,還有一個比較有前景的就是三維的機器視覺,普林斯頓大學的肖劍雄教授結合SLAM和Deep Learning做一些三維物體的分類和識別, 實現一個對場景深度理解的機器人感知引擎。

http://robots.princeton.edu/talks/2016_MIT/RobotPerception.pdf 這是他們的展示。

這個是occipital團隊出的一個產品,是個很有意思的應用,國內賣4000+,大概一個月1000出貨量吧(雖然不是很多,但是效果不錯,pad可玩)虛擬家居、無人飛行/駕駛、虛擬試衣、3D打印、刑偵現場記錄、沉浸式遊戲、增強現實、商場推送、設計輔助、地震救援、工業流水線、GIS採集等等,都等待着vSLAM技術一展宏圖

SLAM的今生——還存在着問題

多傳感器融合、優化數據關聯與迴環檢測、與前端異構處理器集成、提升魯棒性和重定位精度都是SLAM技術接下來的發展方向,但這些都會隨着消費刺激和產業鏈的發展逐步解決。就像手機中的陀螺儀一樣,在不久的將來,也會飛入尋常百姓家,改變人類的生活。

不過說實話,SLAM在全面進入消費級市場的過程中,也面對着一些阻力和難題。比如Sensor精度不高、計算量大、Sensor應用場景不具有普適性等等問題。

多傳感器融合、優化數據關聯與迴環檢測、與前端異構處理器集成、提升魯棒性和重定位精度都是SLAM技術接下來的發展方向,但這些都會隨着消費刺激和產業鏈的發展逐步解決。就像手機中的陀螺儀一樣,在不久的將來,也會飛入尋常百姓家,改變人類的生活。

提問:

雷鋒網 : 激光雷達和攝像頭兩種 SLAM 方式各有什麼優缺點呢,有沒有一種綜合的方式互補各自的缺點的呢?

張一茗: 激光雷達優點是可視範圍廣,但是缺點性價比低,低成本的雷達角分辨率不夠高,影響到建模精度。vSLAM的話缺點就是FOV通常不大,50-60degree,這樣高速旋轉時就容易丟,解決方案有的,我們公司就在做vSLAM跟雷達還有IMU的組合。

雷鋒網 : 請問目前基於視覺的SLAM的計算量有多大?嵌入式系統上如果要做到實時30fps,是不是隻有Nvidia的芯片(支持cuda)纔可以?

張一茗: 第一個問題,雖然基於視覺的SLAM計算量相對較大,但在嵌入式系統上是可以跑起來的,Sparse的SLAM可以達到30-50hz(也不需要GPU和Cuda),如果dense的話就比較消耗資源,根據點雲還有三角化密度可調,10-20hz也是沒有問題。

並不一定要用cuda,一些用到cuda和GPU的算法主要是用來加速SIFT、ICP,以及後期三角化和mesh的過程,即使不用cuda可以採用其他的特徵點提取和匹配策略也是可以的。

 

參考:https://baike.baidu.com/tashuo/browse/content?id=954bc47ea670fa8666d5a0c6&lemmaId=7661974&fromLemmaModule=pcBottom

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章