MonoSLAM
MonoSLAM 以單一延伸卡爾曼濾波器(Extended Kalman Filter, EKF)同時估計相機位姿與稀疏自然地標,並保留兩者之間的完整共變異數(covariance),讓單眼相機即可即時建立持續存在的機率式地圖。作者引入依預測不確定度進行的主動量測(active measurement)與平滑運動模型,以降低影像處理成本。其地圖為稀疏地標而非稠密點雲,作者也將適用範圍描述為室內、房間尺度。
本頁內容
MonoSLAM estimates camera pose and a sparse set of natural landmarks within one EKF with full covariance, using uncertainty-guided active feature search to run monocular SLAM in real time at room scale.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | monocular wide-angle camera (field of view near 100 degrees, 30 Hz)、3-axis gyro fused as an internal angular-velocity measurement in the HRP-2 humanoid experiment only |
|---|---|
| 原文測試平台 | handheld、legged |
| 狀態估計 | extended Kalman filter over joint camera and landmark state with full covariance (Sec. 3.1) |
| 資料關聯 | Shi-Tomasi salient 11x11 pixel patches stored as locally planar templates, warped to the predicted view and matched by normalised cross-correlation only inside 3-sigma innovation-covariance ellipses (typically 15 to 20 pixels across); per frame the 10 to 12 features with the highest innovation covariance are measured; new features start as 3D rays with 100 depth particles between 0.5 and 5 m and become 3D points when depth std over depth falls below 0.3; features failing more than 50% of attempted measurements are deleted |
| 時間表示 | Discrete-time EKF with a constant velocity, constant angular velocity model driven by zero-mean Gaussian acceleration impulses (std 10 m/s^2 linear and 6 rad/s^2 angular in the hand-held setup); 13-parameter camera state (position, orientation quaternion, velocity, angular velocity) |
| 去畸變 | 不適用 |
| 迴圈閉合 | implicit loop closure inside the single EKF: re-observing early-mapped features after exploration corrects accumulated drift, and active feature selection favours such re-observation; no separate place-recognition module (Sec. 4 AR results; Sec. 5 humanoid circular walk, Fig. 10 'loop closed and drift corrected') |
| 全域最佳化 | none (single EKF maintains joint covariance; no separate optimization back-end) |
| 地圖表示 | Single state vector and full covariance over the camera and about 100 sparse 3D point features, each stored with an oriented planar patch template; optional surface-normal estimates kept in separate two-parameter EKFs per feature |
| 先驗資訊 | A known initialisation target (typically four features of known position and appearance, such as the corners of a black rectangle) fixes the world frame and metric scale, with the camera started at an approximately known pose; on HRP-2 natural and artificial features at measured positions on a wall replace the target. The camera is pre-calibrated (e.g. fku = fkv = 195 px, (u0, v0) = (162, 125), K1 = 6e-6 at 320x240, one-parameter radial model) |
| 可輸出幾何 | camera trajectory and sparse 3D landmark positions with uncertainty (Sec. 3.1) |
| 計算需求 | Typically 19 ms per frame on a 1.6 GHz Pentium M at 30 Hz (image loading 2 ms, correlation searches 3 ms, Kalman update 5 ms, feature initialisation search 4 ms, graphical rendering 5 ms); the O(N^2) filter bounds the map to about 100 features at 30 Hz |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| 慣性量測單元(IMU) | HRP-2 3-axis chest gyro (model not stated) | 方法輸入 | 未標示 | reports angular velocity at 200 Hz, sampled at 30 Hz, std 0.01 rad/s per axis | (Davison et al., 2007, Sec. 5.2) |
| 相機 | low-cost IEEE 1394 webcam with a wide-angle lens (model not stated) | 方法輸入 | 未標示 | 30 Hz; field of view nearly 100 degrees; calibrated at 320x240 with fku = fkv = 195 px; monochrome images used | (Davison et al., 2007, Sec. 3.2, 3.5, 4) |
| 相機 | HRP-2 additional wide-angle camera (model not stated) | 方法輸入 | 未標示 | field of view around 90 degrees; one-parameter radial distortion model | (Davison et al., 2007, Sec. 5.1) |
| 載具平台 | HRP-2 humanoid robot | 方法輸入 | 未標示 | walked a 0.75 m radius circle in about 30 s, SLAM on board with a wireless Ethernet link | (Davison et al., 2007, Sec. 5, 5.3; Fig. 9) |
| 運算硬體 | 1.6 GHz Pentium M | 執行運算平台 | 未標示 | typical 19 ms processing per frame at 30 Hz | (Davison et al., 2007, Sec. 6.2) |
| 其他 | initialisation target: black rectangle with four known corner features | 方法輸入 | 未標示 | defines world frame and metric scale at start-up | (Davison et al., 2007, Sec. 3.3; Fig. 2a) |
| 其他 | plumb-line of known length over a precisely measured rectangular desktop track | 參考或真值量測 | 未標示 | ground-truth camera coordinates at four waypoints with an assessed 1 cm precision | (Davison et al., 2007, Sec. 6.1; Fig. 11) |
作者報告的優勢與限制
優勢
- Real-time 30 Hz monocular operation on commodity hardware (abstract)
- Persistent probabilistic map with explicit uncertainty of camera and features (Sec. 3.1)
- Tabletop ground-truth test: localization accurate to a few centimetres with jitter of about 1 to 2 cm (Sec. 6.1)
- Small and large loops are routinely closed; the HRP-2 loop on a 0.75 m radius circle is closed with drift corrected (Sec. 4, 5.3, Fig. 10)
限制
- Authors describe operation in room-sized indoor domains and list larger environments (indoors and outdoors), more dynamic motions and changing lighting as future work (Sec. 1; Sec. 7)
- (inference) Sparse landmark map does not by itself provide a dense point cloud for engineering geometry
- Cannot cope with views without useful features, such as a blank wall or ceiling (Sec. 4)
- Cannot cope with very sudden jerky movement under the chosen motion noise (Sec. 4)
- Feature initialisation would perform poorly for motion along the optic axis (Sec. 3.6)
- Mismatches between clutter and landmarks can cause catastrophic failure, and active search is not suited to relocalising a lost camera (Sec. 3.5, 3.7)
- Some waypoint errors exceed the jitter (x estimate -0.93 m for -1.00 m) and shrink only about 1 cm per loop (Sec. 6.1)
營建工程相關證據
論文未報告營建工地、既有建築量測或基礎設施測試;示範為手持擴增實境與人形機器人。對本文主要為視覺 SLAM 濾波式架構的歷史背景。
原文驗證環境:受控實驗、獨立參考量測
報告的性能數據
以下是原文作者報告的性能數值(author-reported results),不是本研究重新量測的結果。每張圖只並列同一個比較組(comparison group,同一張表、同一組實驗設定)內的方法;不同比較組之間的數值不可直接比較,也不構成排名。
本方法共出現在 3 個比較組,合計 19 筆紀錄。
Davison et al., 2007 · Table in Sec. 6.1 本方法 12 筆
表格設定(擷取紀錄原文):Ground-truth characterisation on a desktop track: mean MonoSLAM camera position over several looped revisits (std in brackets) at four waypoints, hand-held wide-angle camera at 30 Hz; minus signs read from the rendered page; estimated z printed as positive while ground-truth z is -0.62 m (recorded as printed); no post-hoc trajectory alignment: the world frame is fixed at start-up by the standard initialisation target placed at one corner of the track (Sec. 6.1) (Davison et al., 2007, Table in Sec. 6.1)
estimated camera y coordinate (std 0.02 m),authors' desktop ground-truth track · waypoint 2, ground truth (-1.00, 0.00, -0.62) m
這張表在此指標與資料序列只列出本方法一筆,沒有可並列的其他方法,因此不畫圖,數值與出處見下表。這是 Davison et al., 2007 在此表設定下報告的數值(author-reported results),不代表方法在其他資料或設定下的表現。
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| MonoSLAM本方法原文提出 | 0.06 m | (Davison et al., 2007, Sec. 6.1 table) |
Davison et al., 2007 · Text Sec.6.2 本方法 6 筆
資料集與序列原文未報告 · typical frame
表格設定(擷取紀錄原文):Typical breakdown of per-frame processing time at 30 Hz (33 ms budget) on a 1.6 GHz Pentium M (Davison et al., 2007, Text Sec.6.2)
Total per frame,原文未報告 · typical frame
這張表在此指標與資料序列只列出本方法一筆,沒有可並列的其他方法,因此不畫圖,數值與出處見下表。這是 Davison et al., 2007 在此表設定下報告的數值(author-reported results),不代表方法在其他資料或設定下的表現。
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| MonoSLAM本方法原文提出硬體:1.6 GHz Pentium M | 19 ms | (Davison et al., 2007, Sec. 6.2) |
Ghadimzadeh Alamdari et al., 2025 · Table 2 本方法 1 筆
指標Result (run outcome)
資料集與序列Luleå SubT tunnel dataset (Koval et al. 2022)
表格設定(擷取紀錄原文):Run outcome ('Result' column) of each reviewed vision-based method on the Luleå tunnel test dataset; '+' marks methods not integrated with ROS; the '*' (incompatible with VLP-16) symbol is printed on almost every row (Ghadimzadeh Alamdari et al., 2025, Table 2)
Result (run outcome),Luleå SubT tunnel dataset (Koval et al. 2022)
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
- 失敗
- 未執行
- 未報告(沒有數值,不是 0)
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Ghadimzadeh Alamdari et al., 2025 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Ghadimzadeh Alamdari et al., 2025, Table 2)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| Mono-SLAM本方法 | 無數值失敗註記(擷取紀錄):failed (feature detection and tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| PTAM | 無數值失敗註記(擷取紀錄):failed (initialization for ground floor) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| S-PTAM | 無數值未執行註記(擷取紀錄):未執行 (authors could not run the code) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| OV2SLAM | 無數值未執行註記(擷取紀錄):未執行 (authors could not run the code) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| ORB-SLAM (footnote 1) | 無數值未報告註記(擷取紀錄):success (footnote 1: authors could not run ORB-SLAM 3, so the original ORB-SLAM was used) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| DTAM | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| LSD-SLAM | 無數值失敗註記(擷取紀錄):failed (feature tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| SVO | 無數值失敗註記(擷取紀錄):failed (tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| DSO | 無數值未執行註記(擷取紀錄):未執行 (authors could not run the code) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Kinetic Fusion | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Dense visual SLAM | 無數值失敗註記(擷取紀錄):failed (feature detection and tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Elastic Fusion SLAM | 無數值未執行註記(擷取紀錄):未執行 (inconsistent repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Realtime onboard VI estimation | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Multi-sensor fusion | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| SOFT-SLAM | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| MSCKF | 無數值失敗註記(擷取紀錄):failed (tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| ROVIO | 無數值未執行註記(擷取紀錄):未執行 (authors could not run the code) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| OKVIS | 無數值失敗註記(擷取紀錄):failed (tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| VIORB | 無數值未執行註記(擷取紀錄):未執行 (inconsistent repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| S-MSCKF | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| VINS-Mono | 無數值未報告註記(擷取紀錄):success | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| STCM-SLAM | 無數值未執行註記(擷取紀錄):未執行 (no publicly available repository) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Kimera | 無數值失敗註記(擷取紀錄):failed (feature detection and tracking) | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
| Yolo-SLAM | 無數值未報告註記(擷取紀錄):other: Result cell reads 'SLAM for dynamic environments'; no run outcome stated | (Ghadimzadeh Alamdari et al., 2025, Table 2) |
來源
Davison et al., 2007
(2007)MonoSLAM: Real-Time Single Camera SLAMIEEE Transactions on Pattern Analysis and Machine Intelligence, 29(6):1052-1067
DOI 10.1109/tpami.2007.1049程式碼
同儕審查已出版已讀全文經典查證後修正
程式碼:http://www.doc.ic.ac.uk/~ajd/Scene/(授權:LGPL (SceneLib 1.0; stated in paper Sec. 6.3 and on the SceneLib homepage; licence file not opened))。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。