論文閱讀 ORBSLAM3
- 2020 年 7 月 27 日
- 筆記
- Paper Reading
這周末ORB-SLAM3出現了.先看了看論文.IMU部分沒細看,後面補上.
Abstract
- 視覺,視覺慣導,多地圖SLAM系統
- 支援單目/立體/RGBD相機
- 支援pinhole/魚眼相機
基於特徵/緊耦合/視覺慣導,基於最大後驗估計的SLAM系統,即使是在IMU的初始化階段。
我們的系統更准2-5倍。
多地圖系統,基於新的場景識別,提升了recall。
1. Introduction
- short-term data association 前段配
- mid-tem data assocation 後端配
- long-term data association 迴環配(MGI配)
我們還提出了multi-map data association。
- ORB-SLAM Atlas: Atlas可以代表一組非連續的地圖。可以用於,場景識別,相機重定位,迴環檢測,和地圖融合。
- Abstract camera representation:感覺就是我們的mcamera。
2. Related Work
它可承認LK比描述子匹配稍微魯邦一點。
我們的ORB-SLAM3比VINS-Mono准2.6倍,在單目VIO配置下。
3. System Overview
- Atlas
- Tracking thread
- Local Maping thread 在有IMU的時候,IMU參數是初始化,然後用MAP-estimation refine。
- Loop and map merging thread
4. Camera Model
我們的目標是抽象所有的相機模型,提取所有相機模型相關的特性/函數(投影/反投影/雅克比..)。
A. Relocalization
ORB2中用ePNP,但是需要pinhole相機模型。我們用了MLPnP【76】,和相機模型解耦了。
B. Non-recitified Stereo SLAM
立體影像都轉換成pinhole,一樣的焦距,共平面,而且在水平極線上。
現在不了,泛化性更強。
- 兩個相機之間是SE3的關係(相機外參)
- 可選擇:有共視區域
5. Visual-Inertial SLAM
A.基礎
狀態向量:
\]
整個優化問題:
\]
它認為inertial殘差不需要huber norm,因為不存在錯配。
B. IMU初始化
有一些系統比如VI-DSO[46]嘗試從scratch VI BA來解決,sidestepping(迴避)一個初始化階段。
我們的insights:
- 純單目的SLAM可以提供很準的初始地圖,但是scale未知,解決視覺-only的問題會提升IMU初始化。
- 不要使用隱式的BA表達,顯式的優化問題可以使得尺度更快收斂。
- 在IMU初始化階段忽略感測器不確定性的話會產生很大的不可預測的誤差。
- Vision-only MAP Estimation: 在初始的2秒初始化單目SLAM,以4Hz插KF,這樣有10個pose和百餘個點。
- Inertial-only MAP Estimation:
inertial變數:
\]
\(s \in R^+\) 是尺度,\(R_{wg}\in SO3\) 是重力方向,用兩個角度表示,重力向量在世界系中是\(g=R_{wg}g_I\),\(g_I = (0, 0, G)^T\)。\(\overline{\mathbf{v}}_{0: k} \in \mathbb{R}^{3}\) 是up-to-scale的body速度(從第一到最後的關鍵幀),從\(\overline{\mathbf{T}}_{0: k}\) 初始估計。
。。。
C. Tracking and Mapping
在一些特殊的case,比如緩慢的移動沒有提供好的關於inertial參數的觀測性,初始化可能收斂在好的結果。我們提出了一個變種的inertial-only的優化,它包含了所有插入的關鍵字,但是只優化尺度和重力方向。在這種情況下,biases是常量的假設就沒有了,我們會給每個幀估計,然後修正。這個優化很高效,在local mapping執行緒里每10秒做一次,知道有100多個關鍵字或者跑了75秒以上。
D. Robustness to tracking loss
- 短時的丟失:用IMU來估計當前狀態,然後投影匹配。
- 長時丟失:初始化一個新的visual-inertial map。
6. Map Merging and Loop Closing
A. Place Recognition
為了獲得高recall,每個關鍵字在dbow2 database 查詢。為了獲得100%的準確,我們走幾何驗證。
如果 幾個候選,我們檢查最優比次優。
- 在有IMU的時候,再檢查一下重力方向。
B. Visual Map Merging
當場景識別產生了multi-map的數據關聯,KF \(K_a\) (當前地圖\(M_a\),a表示active)- KF \(K_m\) (Atlas \(M_m\)),相對變換是\(T_{am}\)。
- Welding window assembly
- 地圖融合
- Welding bundle adjustment 弄一個local BA
- Pose-graph optimization
C. Visual-Inertial Map Merging
大差不差吧。
D. Loop Closing
7. Experiment Result
- 測了 單目/單目-IMU/立體/立體-IMU
A. single-session SLAM on EuRoC
單目/立體:ORB3比2更準是因為迴環演算法 – 更早的迴環,更多的mid-term匹配。有趣的是,DSM獲得次優的表現因為使用了mid-term的匹配,即使沒有迴環。
單目-IMU:ORB3比VI-DSO和VINs-Mono准兩倍,說明了mid-term和long-term數據關聯的優勢。
雙目-IMU:ORB3比OKVIS,VINs-Fusion和Kimera好很多。
B. Visual-Inertial SLAM on TUM-VI
在單目提1500個點,雙目是一張圖1000個點。
。。。
C. Multi-session SLAM
。。。
8. Conclusions
描述子感覺可以解決mid/long term的匹配問題,但是tracking沒有LK魯邦。
一個有趣的線是研發光度技術來解決4種數據關聯問題。
其他沒啥。