01Slam概述
SLAM是Simultaneous localization and mapping縮寫,意為“同步定位與建圖”。
SLAM的典型應用領域:
機器人定位導航領域-地圖建模, VR/AR方面-輔助增強視覺效果, 無人機領域-地圖建模, 無人駕駛領域-視覺里程計。
SLAM框架:
傳感器數據:主要用于采集實際環境中的各類型原始數據。包括激光掃描數據、視頻圖像數據、點云數據等。
視覺里程計:主要用于不同時刻間移動目標相對位置的估算。包括特征匹配、直接配準等算法的應用。
后端:主要用于優化視覺里程計帶來的累計誤差。包括濾波器、圖優化等算法應用。
建圖:用于三維地圖構建。
回環檢測:主要用于空間累積誤差消除
其工作流程大致為:
傳感器讀取數據后,視覺里程計估計兩個時刻的相對運動(Ego-motion),后端處理視覺里程計估計結果的累積誤差,建圖則根據前端與后端得到的運動軌跡來建立地圖,回環檢測考慮了同一場景不同時刻的圖像,提供了空間上約束來消除累積誤差。
基于傳感器的SLAM分類
基于激光雷達的激光SLAM(Lidar SLAM)和基于視覺的VSLAM(Visual SLAM)。
1.激光SLAM
激光SLAM采用2D或3D激光雷達(也叫單線或多線激光雷達),2D激光雷達一般用于室內機器人上(如掃地機器人),而3D激光雷達一般使用于無人駕駛領域。激光雷達的出現和普及使得測量更快更準,信息更豐富。激光雷達采集到的物體信息呈現出一系列分散的、具有準確角度和距離信息的點,被稱為點云。通常,激光SLAM系統通過對不同時刻兩片點云的匹配與比對,計算激光雷達相對運動的距離和姿態的改變,也就完成了對機器人自身的定位。
激光雷達測距比較準確,誤差模型簡單,在強光直射以外的環境中運行穩定,點云的處理也比較容易。同時,點云信息本身包含直接的幾何關系,使得機器人的路徑規劃和導航變得直觀。激光SLAM理論研究也相對成熟,落地產品更豐富。
2.視覺SLAM
眼睛是人類獲取外界信息的主要來源。視覺SLAM也具有類似特點,它可以從環境中獲取海量的、富于冗余的紋理信息,擁有超強的場景辨識能力。早期的視覺SLAM基于濾波理論,其非線性的誤差模型和巨大的計算量成為了它實用落地的障礙。近年來,隨著具有稀疏性的非線性優化理論(Bundle Adjustment)以及相機技術、計算性能的進步,實時運行的視覺SLAM已經不再是夢想。
視覺SLAM的優點是它所利用的豐富紋理信息。例如兩塊尺寸相同內容卻不同的廣告牌,基于點云的激光SLAM算法無法區別他們,而視覺則可以輕易分辨。這帶來了重定位、場景分類上無可比擬的巨大優勢。同時,視覺信息可以較為容易的被用來跟蹤和預測場景中的動態目標,如行人、車輛等,對于在復雜動態場景中的應用這是至關重要的。
融合激光+視覺
激光SLAM和視覺SLAM各擅勝場,單獨使用都有其局限性,而融合使用則可能具有巨大的取長補短的潛力。例如,視覺在紋理豐富的動態環境中穩定工作,并能為激光SLAM提供非常準確的點云匹配,而激光雷達提供的精確方向和距離信息在正確匹配的點云上會發揮更大的威力。而在光照嚴重不足或紋理缺失的環境中,激光SLAM的定位工作使得視覺可以借助不多的信息進行場景記錄。
SLAM與SFM的區別與聯系
SFM即Structure From Motion
傳統三維重建,這是一門計算機視覺學科的分支, 特點是把數據采集回來,然后離線處理。常見應用就是重建某建筑物的3d地圖。
區別:
SFM是vision方向的叫法,而SLAM是robotics方向的叫法。
SLAM所謂的Mapping, SFM叫structure;SLAM所謂的Location, SFM方向叫camera pose。
從出發點考慮,SFM主要是要完成3D reconstuction,而SLAM主要是要完成localization
從方法論的角度上考慮, SFM不要求prediction的,real-time是不要求的。但是對于SLAM而言prediction是必須的,SLAM的終極目標是real-time navigation。
SLAM要求實時,數據是線性有序的,無法一次獲得所有圖像,部分SLAM算法會丟失過去的部分信息;基于圖像的SFM不要求實時,數據是無序的,可以一次輸入所有圖像,利用所有信息。
SLAM是個動態問題,會涉及到濾波,運動學相關的知識,而SFM主要涉及的還是圖像處理的知識。
聯系:
基本理論是一致的,都是多視角幾何;
傳統方法都需要做特征值提取與匹配;
都需要優化投影誤差;
回環檢測和SfM的全局注冊方法是同一件事情。
02代表性的SLAM算法
?VINS-Mono MONO SLAM https://github.com/HKUST-Aerial-Robotics/VINS-Mono
?ORB-SLAM2 RGBD SLAM https://github.com/raulmur/ORB_SLAM2
?LOAM Laser SLAM https://github.com/laboshinl/loam_velodyne
?MaskFusion Semantic SLAM https://github.com/martinruenz/maskfusion
?BundleFusion Dense 3D Reconstruction https://github.com/niessner/BundleFusion
一、VINS-Mono
論文解讀
近年來的發展趨勢為用低成本慣性測量單元(IMU)輔助單目視覺系統。
單目視覺-慣性系統(VINS)的主要優點是具有可觀測的度量尺度,以及翻滾角(roll)和俯仰角(pitch)。這讓需要有尺度的狀態估計的導航任務成為可能。
IMU測量值的積分可以顯著提高運動跟蹤性能,彌補光照變化、缺少紋理的區域或運動模糊的視覺軌跡損失的差距。
原文的解決方案的核心是一個魯棒的基于緊耦合的滑動窗非線性優化的單目視覺慣性里程計(VIO)。
1、一個魯棒的初始化過程,它能夠從未知的初始狀態引導系統。
2、一個緊耦合、基于優化的單目視覺慣性里程計,具有相機-IMU外部校準和IMU偏置估計。
3、在線回環檢測與緊耦合重定位。
4、四自由度全局位姿圖優化。
5、用于無人機導航、大規模定位和移動AR應用的實時性能演示。
6、完全集成于ros的pc版本以及可在iphone 6或更高版本上運行的IOS版本的開源代碼。
源碼解析
Visual-Inertial融合定位算法。
VINS-Mono主要包含兩個節點: 前端節點feature_tracker_node和后端節點estimator_node。
前端節點處理Measurement Preprocessing中的Feature Detection and Tracking, 其他幾個部分(IMU preintegration, initialization, LocalBA, Loop closure)都是在estimator_node中處理。
二、ORB-SLAM2
論文解讀
ORB-SLAM2是基于單目,雙目和RGB-D相機的一套完整的SLAM方案。在實時和標準的CPU的前提下能夠進行重新定位和回環檢測,以及地圖的重用。在實驗當中,我們關心的是在大場景中建立可用的地圖和長期的定位。與此前的SLAM方案進行對比,在大多數的情況下,ORB-SLAM2展現出一樣好的精確程度。
視覺SLAM僅僅通過一個單目相機就能夠完成。單目相機也是最便宜也是最小巧的傳感器設備。然而深度信息無法從單目相機中觀測到,地圖的尺度和預測軌跡是未知的。此外,由于不能從第一幀當中進行三角測量化,單目視覺SLAM系統的啟動往往需要多個視角或者濾波技術才能產生一個初始化的地圖。最后,單目SLAM可能會造成尺度漂移,以及在探索的過程中執行純旋轉的時候可能會失敗。通過使用一個雙目或者RGB-D相機將會解決這些問題,并且能夠成為一種更加有效的視覺SLAM的解決方案。
在這篇文章當中,在單目ORB-SLAM[1]的基礎上提出ORB-SLAM2,有以下貢獻:
這是首個基于單目,雙目和RGB-D相機的開源SLAM方案,這個方案包括,回環檢測,地圖重用和重定位。
我們的RGB-D結果說明,光速法平差優化(BA)比ICP或者光度和深度誤差最小方法的更加精確。
通過匹配遠處和近處的雙目匹配的點和單目觀測,我們的雙目的結果比直接使用雙目系統更加精確。
針對無法建圖的情況,提出了一個輕量級的定位模式 ,能夠更加有效的重用地圖。
系統框架展示:
三、LOAM
論文解讀
《LOAM:Lidar Odometry and Mapping in Realtime》
LOAM是激光雷達slam中鼎鼎有名的,一套基于線面特征的前端框架。
使用一個三維空間中運動的兩軸激光雷達來構建實時激光里程計。
提出可以同時獲得低漂移和低復雜度計算,并且不需要高精度的測距和慣性測量。
核心思想是分割同時定位和建圖的復雜問題,尋求通過兩個算法同時優化大量變量。:
一個是執行高頻率的里程計但是低精度的運動估計,另一個算法在一個數量級低的頻率執行匹配和注冊點云信息。將這兩個算法結合就獲得高精度、實時性的激光里程計。
使用以6自由度運動的2軸雷達的距離測量值。
難點:不同時間接收到的距離測量值以及運動估計的誤差會導致點云的誤匹配。
以高頻率但低保真度執行測距法以估計激光雷達的速度+以較低的數量級頻率運行,以進行點云的精確匹配和配準
結果表明,該方法可以在最先進的離線批處理方法水平上實現準確性。
主要貢獻: 是把同時定位與建圖(SLAM)技術分為兩部分,一個是高頻率(10HZ)低精度的里程計odometry過程,另一個是低頻率(1HZ)高精度的建圖mapping過程,二者結合可實現低漂移、低計算量、高精度的SLAM。
Lidar Odometry:分為特征點提取Feature Point Extraction和特征點關聯 Finding Feature Point Correspondence兩部分。
特征點提取:在激光雷達每一次sweep中,根據曲率對點進行排序,作為評價特征點局部表面光滑性的標準。曲率最大的為邊緣點,曲率最小的為平面點,每個局部提取2個邊緣點和4個平面點。
特征點關聯:使用scan-to-scan方式,分為邊緣點匹配和平面點匹配兩部分。計算點到直線的距離和點到平面的距離。
姿態解算:根據匹配的特征點云估計接收端位姿。
Lidar Mapping:低頻率建圖,前面獲得相鄰幀的姿態變換,接下來要和全局地圖進行匹配,將其加入到全局地圖中。
源碼解析
LOAM源碼主要由四個節點構成,分別完成特征點提取,高頻低精度odom, 低頻高精度odom, 雙頻odom融合的功能,每個節點以rosnode的形式存在, 也就是說是獨立的進程,進程間通過rostopic傳遞點云, odom等數據。實際上, 四個節點的執行順序完全是串行的,很容易改成單進程的版本。
四、MaskFusion
-與Mask-RCNN的關聯(有使用到)。
多個運動目標進行實時識別、跟蹤和重構。
一個實時的、對象感知的、語義的和動態的RGB-D SLAM系統, 超越傳統的輸出靜態場景的純幾何地圖的系統。
盡管取得了這些進步,SLAM方法及其在增強現實中的應用在兩個領域中仍處于非常初級的階段。
大多數SLAM方法依賴于這樣一種假設,即環境大多是靜態的,移動的對象最多只能被檢測為異常值并被忽略。可以處理任意動態和非剛性的場景仍然是一個開放的挑戰。
大多數SLAM系統提供的輸出是一個純粹的環境幾何圖。近期才出現添加語義信息的工作,并且識別主要是限于少數已知的對象實例的三維模型可提前得知,或每個3 D地圖點劃分成一組固定的語義類別沒有區分對象實例。
貢獻:
識別、檢測、跟蹤和重構多個運動的剛性對象,同時可以精確地分割每個實例并為其分配一個語義標簽。
聯合的輸出:
(i)Mask- RCNN,這是一個強大的基于圖像的實例級分割算法,可以預測80個對象類的對象類別標簽;
(ii)一種基于幾何的分割算法,這將根據深度和表面法線線索生成一個對象邊緣映射,以增加目標掩碼中對象邊界的準確性。
該系統利用語義場景理解來映射和跟蹤多個目標。在從二維圖像數據中提取語義標簽的同時,系統為每個對象實例和背景分別建立了獨立的三維模型。
它在識別、重構和跟蹤三個主要問題上存在局限性。
在識別方面,MaskFusion只能識別經過MaskRCNN訓練的類中的對象(目前MS-COCO數據集的80個類),不考慮對象標簽分類錯誤。雖然MaskFusion可以處理一些非剛性物體的存在,例如人類,但是通過將它們從地圖上移除,跟蹤和重構僅限于剛性物體。在沒有三維模型的情況下,跟蹤幾何信息較少的小目標會產生誤差。
五、BundleFusion
BundleFusion_ Real-time Globally Consistent 3D Reconstruction 3D實時重建。
實時、高質量、大規模場景的3D掃描是混合現實和機器人應用的關鍵。
然而,可擴展性帶來了姿態估計漂移的挑戰,在累積模型中引入了嚴重的錯誤。
這種方法通常需要數小時的離線處理才能全局地糾正模型錯誤。
最近的在線方法顯示了引人注目的結果,但存在以下問題:
(1)需要幾分鐘的時間來進行在線糾正,阻止了真正的實時使用;
(2)幀對幀(或幀對模型)位姿估計過于脆弱,導致跟蹤失敗較多;
(3)只支持非結構化的基于點的表示,這限制了掃描的質量和適用性。
我們系統地解決這些問題與一個新穎的,實時的,端到端重建框架。
其核心是一種魯棒位姿估計策略,通過考慮RGB-D輸入的完整歷史,用一種有效的分層方法對全局相機位姿集的每幀進行優化。
我們消除了對時間跟蹤的嚴重依賴,并不斷地對全局優化的幀進行定位。提出了一個可并行優化框架,該框架采用基于稀疏特征和密集的幾何與光度匹配的對應。
我們的方法實時估計全局優化(即束調整BA)姿態,支持從總體跟蹤失敗中恢復(即重定位)的魯棒跟蹤,并在一個單一框架內實時重新估計3D模型以確保全局一致性。
我們的方法在質量上優于最先進的在線系統,但以前所未有的速度和掃描完整性。提出的框架導致了一個全面的針對大型室內環境的在線掃描解決方案,易用并且能得到高質量的結果。
編輯:lyn
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753080 -
SLAM
+關注
關注
23文章
423瀏覽量
31821 -
激光雷達
+關注
關注
968文章
3967瀏覽量
189825
原文標題:SLAM快速入門
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論