【論文導讀】ORB-SLAM3:一個準確的開源庫,適用於視覺、視覺-慣性及多地圖SLAM

image

論文名稱:ORB-SLAM3:An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM
開源專案地址:https://github.com/UZ-SLAMLab/ORB_SLAM3
期刊:IEEE transactions on robotics
時間:2021
論文主要做的是多傳感器融合/視覺-慣性 SLAM 系統,並不是基於深度學習的預測模型

資料集

EuRoC MAV Dataset​,室內無人機資料集,含IMU,不含GNSS
鏈接:projects.asl.ethz.ch/datasets/do…

TUM VI Benchmark,手持魚眼相機資料集,含IMU,不含GNSS
鏈接:cvg.cit.tum.de/data/datase…

主要工作

提出了 ORB-SLAM3,一個支持以下配置的開源 SLAM 系統:

  • 傳感器類型:單目、雙目(Stereo)、RGB-D、魚眼相機
  • 融合方式:純視覺/視覺-慣性(IMU融合)
  • 地圖能力:支持多地圖(multi-map)與多會話(multi-session)SLAM

關鍵創新:

  • 首個支持視覺-慣性融合的多地圖SLAM系統
  • 改進了回環檢測地圖合併的精度與召回率
  • 提出了快速準確的IMU初始化方法(基於MAP估計)

ORB-SLAM3 是一個傳統基於特徵點(ORB 特徵)+ 圖優化(Bundle Adjustment)+ IMU 預積分的系統,完全基於幾何視覺與濾波/優化方法,不涉及神經網路、Transformer、RNN、CNN 等深度學習技術

ORB 特徵

先在影像裡找到“角點”(像牆角、紋理突變的點),再給每個角點配一把”小指紋“256 個 0/1 組成的二進制串
指紋對旋轉、亮度變化不敏感,兩幅圖只要比一下指紋的“差異位數”就能快速配對
ORB(Oriented FAST and Rotated BRIEF)是一種兼顧計算效率與魯棒性的局部特徵描述子
其構造過程可分解為“關鍵點提取”與“描述子編碼”兩個階段

  • 首先,利用 FAST(Features from Accelerated Segment Test)檢測器在灰度圖像中定位具有顯著角點響應的像素,並通過圖像金字塔實現多尺度覆蓋
  • 隨後,以關鍵點的灰度質心為基準計算主方向,賦予其旋轉不變性
  • 其次,在旋轉對齊後的局部窗口內執行 BRIEF(Binary Robust Independent Elementary Features)採樣,生成固定長度的二進制字符串,以漢明距離作為相似性度量,實現高速匹配

由於 ORB 兼具旋轉、尺度與亮度不變性,且僅需整數運算與比特比較,已成為即時 SLAM 系統首選的前端特徵

圖優化

把”相機在哪兒“和”路標在哪兒“想像成一張網

  • 節點就是”位置估計“
  • 連線就是”我看見了這個路標/我走了這段距離“

如果所有連線都”拉得緊“,網就穩,如果有根線”鬆了“,系統就整體微調所有節點,讓整網最平整

即時裡分三層:

  • 當前幀趕緊拉一下(小網)
  • 附近幾幀再細調(中網)
  • 發現回到老地方(回環)或把兩張地圖並起來時,整張大網做一次大調

圖優化(Graph-based Optimization)將同時定位與建圖問題抽象為概率圖模型,其中節點表示待估計的機器人位姿與環境路標表示傳感器觀測或運動學約束對應的殘差項
通過最小化所有邊的加權平方誤差,獲得最大後驗估計(MAP)

實際系統通常採用分層策略:

  • 追蹤線程僅優化最近兩幀的相機運動,以滿足即時性;
  • 局部建圖線程在滑動窗口內執行 Bundle Adjustment,保持計算複雜度與共視性平衡;
  • 回環檢測或地圖合併線程則利用 稀疏位姿圖(Pose Graph)或 全局 Bundle Adjustment,對累積漂移進行一致修正
  • 非線性最小二乘求解器(如 Levenberg-Marquardt 或 Dog-Leg)結合稀疏矩陣分解技術,確保高維問題的高效收斂

稀疏位姿圖

在回環檢測或地圖合併階段,若直接對所有路標與幀位姿執行全局 Bundle Adjustment​,變數維度將隨軌跡長度線性增長。稀疏位姿圖通過“僅保留關鍵幀位姿節點 + 幀-幀相對約束邊”的方式降維

  • 節點:關鍵幀位姿 T_{i} ∈ SE(3)(或 Sim(3));
  • 邊:相鄰里程計邊、回環邊、地圖合併邊,邊權由信息矩陣(協方差之逆)描述
  • 稀疏性:每幀僅與少量共視幀或回環幀相連,導致 Hessian 矩陣呈稀疏塊結構,可用稀疏線性代數工具高效求解。

優化目標為最小化所有相對位姿誤差,全球漂移通過“回環邊”強制閉合,從而以線性-對數時間複雜度獲得一致軌跡估計。

協方差矩陣的基本原理

  • 協方差矩陣(Covariance Matrix)是描述一組隨機變數之間“聯動波動”關係的方陣
  • 若將變數視為向量,則該矩陣同時刻畫了各自的方差(對角線)與兩兩之間的相關性(非對角線)
  • 在 SLAM 中,它定量地告訴優化器“每個量有多不準,以及它們一起偏差的趨勢”,從而決定殘差項的權重

稀疏矩陣分解技術

圖優化最終歸結為大型線性系統 HΔx=-b,其中Hessian H 維數高但非零塊比例極低。稀疏矩陣分解利用“填充-減少”重排序(如 AMD、COLAMD)將 H 分解為稀疏三角因子,常用算法包括:

  • 稀疏 Cholesky(H=LL^{T}):適用於正定系統
  • 稀疏 QR/LU:用於一般最小二乘或增廣拉格朗日形式
  • 增量分解(iSAM、iSAM2):通過 Givens 更新或貝葉斯樹結構在線修正因子,避免重複分解。 該類方法將內存與計算複雜度從稠密的三次階降至近似線性階,使萬級節點規模的位姿圖可在毫秒級完成一次迭代。

IMU 預積分

IMU 一秒量兩百次角速度、加速度,直接塞進優化器就爆炸
於是把“两幀照片之間”的所有 IMU 讀數先”打包“成一條“運動摘要”,記錄這段時間內轉了多少、跑了多少、速度變了多少,再給這條摘要配一個”可信區間“
後續優化器只面對這一條摘要,而不是上千條原始讀數

IMU 預積分(Pre-integration)旨在將高頻慣性測量在兩個相鄰視覺關鍵幀間隔內的動態信息壓縮為相對運動約束,從而避免在優化框架中引入大量中間狀態
其核心思想是,在假設 biases 保持恆定的局部時間窗內,對陀螺儀與加速度計讀數進行積分,得到旋轉、速度與位移的相對增量,并同步傳播協方差矩陣以量化不確定性

當關鍵幀的 biases 估計更新時,可利用預先存儲的雅可比矩陣對預積分結果進行線性修正,而無需重新遍歷原始測量序列
該機制顯著降低了圖優化的維度與計算負載,同時保留了完整的概率特性,為緊耦合視覺-慣性 SLAM 系統提供了高效且一致的運動先驗

傳播協方差矩陣以量化不確定性

IMU 積分過程中,隨機噪聲與 bias 漂移會隨時間累積。協方差傳播指在數值積分的同時,按線性擾動模型遞推狀態誤差協方差:
[
\mathbf{\Sigma}_{k+1}=\mathbf{F}_k\mathbf{\Sigma}_k\mathbf{F}_k^\top+\mathbf{G}_k\mathbf{\Sigma}\eta\mathbf{G}_k^\top
]
其中(\mathbf{F}_k)為狀態轉移矩陣,(\mathbf{G}_k)為噪聲雅可比,(\mathbf{\Sigma}\eta)為測量噪聲
所得協方差矩陣定量描述了當前積分值的”置信椭球“,在優化中用於加權殘差,實現最大後驗估計而非最小二乘

利用預先存儲的雅可比矩陣對預積分結果進行線性修正

預積分將相鄰關鍵幀間的 IMU 觀測壓縮為相對運動 (\Delta\xi_{ij})
當後端更新bias估計後,需重新評估積分值,但重跑完整積分會喪失即時性

解決途徑:

  • 在首次積分時,額外存儲殘差對 bias 的雅可比 (\frac{\partial\Delta\xi}{\partial\mathbf{b}})
  • 當 bias 變化量 (\delta\mathbf{b}) 較小時,採用一階泰勒展開

[
\Delta\boldsymbol{\xi\mathrm{new}}\approx\Delta\boldsymbol{\xi\mathrm{old}}+\frac{\partial\Delta\boldsymbol{\xi}}{\partial\mathbf{b}}\delta\mathbf{b}
]

  • 同步更新協方差與信息矩陣,實現”無重積分”快速修正。該策略在緊耦合系統中保證 bias 收斂的同時,將計算負載降低兩個數量級

緊耦合/鬆耦合視覺-慣性 SLAM

維度 鬆耦合 (Loosely-Coupled) 緊耦合 (Tightly-Coupled)
融合層級 前端獨立,IMU 僅提供運動先驗或尺度恢復 視覺與慣性殘差在同一優化目標中聯合最小化
狀態向量 僅含位姿/速度,視覺部分可獨立運行 位姿、速度、bias、路標統一建模
信息損失 視覺-慣性互約束未充分利用,回環漂移大 充分利用交叉協方差,實現零漂移回環
計算複雜度 低,可跑在 MCU 高,需稀疏線性求解器與邊緣化
代表系統 MSCKF 早期版本、VINS-Mono(濾波版) ORB-SLAM3、VINS-Fusion(優化版)、OKVIS、BASALT

緊耦合將視覺重投影與 IMU 預積分置於同一目標函數,通過聯合優化實現精度上限;鬆耦合則保持模組獨立,側重即時性與部署簡易性。

模型性能對比

對比系統 類型 是否開源 結果(在EuRoC資料集上)
ORB-SLAM2 純視覺SLAM ORB-SLAM3精度更高
VINS-Mono 視覺-慣性里程計 ORB-SLAM3精度提升2.6倍
OKVIS 視覺-慣性里程計 ORB-SLAM3更魯棒
ROVIO 視覺-慣性濾波法 ORB-SLAM3精度更高
DSO / VI-DSO 直接法SLAM ORB-SLAM3在回環/多地圖場景下更優
BASALT 視覺-慣性BA系統 ORB-SLAM3在大多數序列更優

ORB-SLAM3 是一個不依賴深度學習的、基於幾何優化的視覺-慣性SLAM系統,支持單目/雙目/魚眼/RGB-D、支持IMU融合與多地圖合併,使用公開開源資料集(EuRoC、TUM-VI),並在多個SLAM系統中取得SOTA性能


原文出處:https://juejin.cn/post/7550552355764551707


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝12   💬6   ❤️5
519
🥈
我愛JS
📝1   💬7   ❤️4
103
🥉
AppleLily
📝1   💬4   ❤️1
58
#4
💬1  
5
#5
xxuan
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次