OpenVSLAM (stella_vslam)
OpenVSLAM 是設計成可被第三方程式呼叫的視覺 SLAM 程式庫,演算法沿用 ORB-SLAM 類的間接法:追蹤模組以 ORB 特徵匹配估計每張影格位姿,建圖模組三角化新點並做局部光束法平差,全域模組負責迴圈偵測、位姿圖最佳化與全域光束法平差。其特點是同一架構支援單目、立體與 RGB-D 輸入,以及透視、魚眼與等距柱狀(360 度)相機模型,並可把地圖以 MessagePack 格式儲存與載入,在既有地圖上定位。
本頁內容
OpenVSLAM is a library-style indirect (ORB-based) graph SLAM framework with tracking, local mapping and global optimisation modules that supports monocular, stereo and RGB-D input, perspective, fisheye and equirectangular camera models, and map storage, loading and localisation on prebuilt maps.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | monocular, stereo or RGB-D camera、camera models: perspective, fisheye, equirectangular (360-degree) |
|---|---|
| 原文測試平台 | hand-held equirectangular camera for the outdoor map (Fig. 1)、indoor equirectangular and indoor and outdoor fisheye videos (carrying mode not stated) |
| 狀態估計 | graph-based indirect SLAM following ORB-SLAM and ProSLAM: tracking by keypoint matching and pose optimisation; mapping module with triangulation and local bundle adjustment; global optimisation module with loop detection, pose-graph optimisation (g2o) and global bundle adjustment (Secs. 3, 3.1; Fig. 2) |
| 資料關聯 | ORB features matched to the local map, with an additional robust-matching frame-tracking method (Secs. 3.1, 4.1) |
| 時間表示 | discrete frames |
| 去畸變 | 不適用 |
| 迴圈閉合 | loop detection in the global optimisation module followed by pose-graph optimisation that also removes scale drift for monocular input; detection method not detailed in the paper (Sec. 3.1) |
| 全域最佳化 | pose-graph optimisation and global bundle adjustment implemented with g2o (Sec. 3.1; Fig. 2) |
| 地圖表示 | keyframes and sparse 3D landmarks; map database stored and loaded in MessagePack format for reuse and localisation on prebuilt maps (Sec. 3.3) |
| 先驗資訊 | optional prebuilt map for localisation-only mode (Sec. 3.3) |
| 可輸出幾何 | camera trajectory and a sparse 3D point map (Figs. 1, 7-9), exportable as a MessagePack map database |
| 計算需求 | laptop Core i7-7820HK (2.90 GHz, 4 cores 8 threads), 32 GB RAM: mean tracking 23.84 ms per frame on EuRoC MH_02 (monocular) and 56.32 ms on KITTI 05 (stereo), lower than ORB-SLAM2 (Figs. 4, 6) |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| 相機 | LUMIX DMC-GX8 with 8mm fisheye lens | 方法輸入 | 未標示 | 30.0 fps; fisheye videos of about 6400 (outdoor) and 6700 (indoor) frames | (Sumikura et al., 2019, Sec. 5.1) |
| 相機 | THETA V | 方法輸入 | 未標示 | consumer equirectangular (360-degree) camera; 10.0 fps; 15000 frames outdoor, 1430 frames indoor | (Sumikura et al., 2019, Sec. 5.2) |
| 相機 | EuRoC MAV camera (model not reported; monocular use) | 資料集感測器 | EuRoC MAV | 11 sequences with ground truth | (Sumikura et al., 2019, Sec. 4.1) |
| 雙目相機 | KITTI Odometry stereo camera (model not reported) | 資料集感測器 | KITTI Odometry | 11 sequences with ground truth; larger images than EuRoC | (Sumikura et al., 2019, Sec. 4.2) |
| 運算硬體 | Core i7-7820HK | 執行運算平台 | 未標示 | 2.90GHz, 4C8T; 32GB RAM; laptop used for all evaluations | (Sumikura et al., 2019, Sec. 4) |
作者報告的優勢與限制
優勢
- Tracking accuracy comparable to ORB-SLAM2 on EuRoC (monocular) and KITTI (stereo), and more accurate on the dark MH_04 and MH_05 sequences (Secs. 4.1, 4.2; Figs. 3, 5, plotted)
- Lower tracking time than ORB-SLAM2: 23.84 versus 27.96 ms per frame mean on MH_02 and 56.32 versus 68.78 ms on KITTI 05 (Figs. 4, 6)
- First open-source visual SLAM framework accepting equirectangular images, according to the authors (Sec. 3.2)
- Equirectangular outdoor sequence of 15000 frames with working loop closing and global optimisation, and indoor tracking in texture-less areas (Sec. 5.2)
- Maps can be stored, loaded and reused for localisation (Sec. 3.3)
限制
- Indirect method chosen because direct methods suffer with rolling-shutter consumer sensors, so weakly textured scenes rely on feature availability or wide field of view (Sec. 2.2) (inference)
- Accuracy results are only plotted; no numeric ATE table (Secs. 4.1, 4.2)
- Fisheye and equirectangular results are qualitative only (Sec. 5)
- The original code release was later withdrawn; the maintained fork removed ORB_SLAM2 similarities from version 0.3 (stella_vslam README; not stated in the paper)
營建工程相關證據
論文未在營建工地測試;定量評估為 EuRoC 與 KITTI,另有 Panasonic LUMIX DMC-GX8 魚眼相機與 RICOH THETA V 等距柱狀相機的室內外定性建圖(戶外等距柱狀地圖為手持拍攝)。支援 360 度相機、地圖儲存與在既有地圖上定位,使其可能適用於以消費型全景相機記錄工地進度並重複定位,但這是推論,作者未做工地驗證,輸出也只是稀疏點雲。
原文驗證環境:公開基準、獨立參考量測
報告的性能數據
性能數據仍在分批查證,目前尚未收錄此方法的報告值。
來源
Sumikura et al., 2019
(2019)OpenVSLAM: A Versatile Visual SLAM FrameworkProceedings of the 27th ACM International Conference on Multimedia (MM '19), pp. 2292-2295
DOI 10.1145/3343031.3350539arXiv 1910.01122程式碼
同儕審查已出版已讀全文近十年查證後修正
相關版本
- 預印本:OpenVSLAM: A Versatile Visual SLAM Framework (arXiv v1 to v3) https://arxiv.org/abs/1910.01122
- 程式碼釋出:xdspacelab/openvslam (original release terminated; README now only links the termination statement) https://github.com/xdspacelab/openvslam
- 程式碼釋出:stella-cv/stella_vslam (community fork created 2021-01-31 to continue OpenVSLAM; README lists monocular, stereo and RGB-D, perspective, fisheye and equirectangular models, map store and load, localisation on prebuilt maps) https://github.com/stella-cv/stella_vslam
程式碼:https://github.com/stella-cv/stella_vslam(授權:original xdspacelab release withdrawn (termination statement); fork stella_vslam under BSD-2-Clause (LICENSE.original AIST 2019 and LICENSE.fork stella-cv 2022); its README says versions earlier than 0.3 should be used as ORB_SLAM2 derivatives under GPL)。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。