OKVIS
OKVIS 以非線性最佳化緊耦合(tightly-coupled)融合相機重投影誤差與 IMU 慣性誤差,並只保留有限數量的關鍵影格,透過邊際化維持即時運算。關鍵影格可相隔任意時間,仍以線性化慣性項連結。作者以自製、硬體同步的雙目慣性裝置收集資料,並與 MSCKF 濾波器比較,也示範線上外參校正。
本頁內容
OKVIS fuses reprojection and inertial errors in a keyframe-based sliding-window nonlinear optimisation with marginalisation, evaluated on custom hardware-synchronised stereo-inertial data against an MSCKF filter.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | stereo、monocular camera、IMU |
|---|---|
| 原文測試平台 | handheld (Vicon Loops; outdoor loop around ETH Main Building; indoor multi-floor ETH main building demonstration)、helmet-mounted (Bicycle Trajectory) |
| 狀態估計 | Nonlinear least squares (Google Ceres) over reprojection errors (keypoint std 0.8 px) and IMU error terms in a window of M keyframes plus the S most recent frames (M = 7, S = 3 in all experiments); frames leaving the window are marginalised by Schur complement with first-estimate Jacobians, dropping non-keyframe landmark observations and marginalising landmarks seen only in the oldest keyframes so that sparsity is kept; optional online camera-IMU extrinsics estimation |
| 資料關聯 | Customised multi-scale SSE-optimised Harris corners with BRISK descriptors oriented along the projected gravity direction; brute-force 3D-2D matching against landmarks predicted visible, outliers removed by a Mahalanobis test on the IMU-propagated pose and an OpenGV absolute-pose RANSAC; then brute-force 2D-2D matching with stereo and temporal triangulation (only points with low depth uncertainty initialised) and a relative RANSAC against the newest keyframe. In the comparison all algorithms were fed the same correspondences produced by the stereo pipeline |
| 時間表示 | Discrete states at image times (position, orientation quaternion, velocity, gyro and accelerometer biases); each IMU error term integrates all IMU readings between successive camera frames with the classical Runge-Kutta method, gyro bias modelled as random walk and accelerometer bias as bounded random walk; kept keyframes may be arbitrarily far apart in time |
| 去畸變 | 不適用 |
| 迴圈閉合 | none (odometry) |
| 全域最佳化 | none |
| 地圖表示 | sparse landmarks in a bounded keyframe window |
| 先驗資訊 | No prior map. Intrinsics and camera-IMU extrinsics pre-calibrated with the method of Furgale et al. (2013); IMU noise from the ADIS16448 datasheet made slightly more conservative; weak zero-mean priors on speed (3 m/s) and biases (0.1 rad/s gyro, 0.2 m/s^2 accelerometer) for robust initialisation; the online-extrinsics option uses weak priors (10 mm, 0.6 degrees) |
| 可輸出幾何 | time series of poses, velocities and IMU biases plus a sparse landmark map (conclusion) |
| 計算需求 | Real time with bounded complexity (the dense part grows with O(M^3) in the number of keyframes); computationally more demanding than the MSCKF baseline; no host CPU or timing figures are reported; the sensor's FPGA can perform keypoint detection to save CPU |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| 慣性量測單元(IMU) | ADIS16448 | 方法輸入 | 未標示 | MEMS IMU recorded at 800 Hz; noise used: gyro 1.2e-3 rad/(s sqrt(Hz)), accelerometer 8.0e-3 m/(s^2 sqrt(Hz)), gyro bias 2.0e-5, accelerometer bias 5.5e-5 (Table I) | (Leutenegger et al., 2015, Sec. VII-A1, VII-A2, Table I) |
| GNSS 接收器 | Leica Viva GS14 | 參考或真值量測 | 未標示 | post-processed DGPS 3D ground truth at 1 Hz; measurements with position uncertainty above 1 m discarded | (Leutenegger et al., 2015, Sec. VII-A3, VII-B2; Table II) |
| 雙目相機 | two embedded WVGA monochrome cameras (model not stated) | 方法輸入 | 未標示 | 11 cm baseline, 20 Hz in the datasets (hardware up to 60 Hz), rigidly mounted on an aluminium frame with the IMU | (Leutenegger et al., 2015, Sec. VII-A1; Fig. 11) |
| 載具平台 | helmet-mounted sensor and GNSS recorder (bicycle ride) | 方法輸入 | 未標示 | 7940 m in 23 min, up to 13.1 m/s | (Leutenegger et al., 2015, Sec. VII-B2; Table II; Fig. 14) |
| 載具平台 | hand-held sensor | 方法輸入 | 未標示 | Vicon Loops 1200 m; ETH Main Building outdoor loop 620 m; qualitative 470 m indoor walk over three floors | (Leutenegger et al., 2015, Sec. VII-B1, VII-B3; Fig. 1) |
| 運算硬體 | host computer (model not stated) | 執行運算平台 | 未標示 | receives sensor data via Gigabit Ethernet; no specification or timing reported | (Leutenegger et al., 2015, Sec. VII-A1) |
| 其他 | FPGA board of the custom visual-inertial sensor (Nikolic et al. 2014) | 方法輸入 | 未標示 | hardware synchronisation of imagery and IMU including camera pre-triggering; optional keypoint detection; Gigabit Ethernet to the host | (Leutenegger et al., 2015, Sec. VII-A1) |
| 其他 | Vicon motion tracking system | 參考或真值量測 | 未標示 | 6D ground truth at 200 Hz (Vicon Loops) | (Leutenegger et al., 2015, Sec. VII-A3, VII-B1; Table II) |
作者報告的優勢與限制
優勢
- Consistently outperforms the MSCKF reference filter on the same inputs (conclusion)
- Online extrinsics calibration shown; slight miscalibration manifests as scale error in stereo (conclusion)
限制
- Computationally more demanding than the filter baseline (conclusion)
- Odometry without loop closure; drift is not globally corrected (inference from system scope)
- Yaw drift is clearly present on Vicon Loops, though smaller than for the MSCKF (Sec. VII-B1)
- The stereo version was slightly worse than the monocular one on the ETH Main Building loop, attributed to a slight stereo calibration mismatch; online extrinsics calibration removed the scale mismatch (Sec. VII-B3, VII-C1)
營建工程相關證據
論文未報告營建工地測試。量化評估資料為 Vicon 室內手持繞圈(Vicon 6D 真值)、頭盔架設的自行車軌跡(7.9 km,DGPS 真值),以及繞行 ETH 主建築外部的手持戶外迴圈(620 m,DGPS 真值);ETH 主建築室內 470 m 跨樓層行走只以圖 1 定性展示,未量化誤差。作者指出雙目版本的外參輕微誤差會表現為尺度誤差,這與工程點雲的尺度可信度相關(推論延伸)。
原文驗證環境:受控實驗、獨立參考量測
報告的性能數據
以下是原文作者報告的性能數值(author-reported results),不是本研究重新量測的結果。每張圖只並列同一個比較組(comparison group,同一張表、同一組實驗設定)內的方法;不同比較組之間的數值不可直接比較,也不構成排名。
本方法共出現在 16 個比較組,合計 165 筆紀錄。以下列出本方法紀錄最多的 4 組,其餘 12 組列在最後,並連到性能比較頁。
von Stumberg & Cremers, 2022 · Table II 本方法 29 筆
表格設定(擷取紀錄原文):TUM-VI (handheld); RMSE ATE in m; other methods from the TUM-VI paper, DM-VIO median of 5 runs with SE(3) alignment; X = failure; sequence length in brackets (von Stumberg & Cremers, 2022, Table II)
RMSE ATE,TUM-VI · corridor1 (305 m)
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 von Stumberg & Cremers, 2022 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(von Stumberg & Cremers, 2022, Table II)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| ROVIO (stereo) | 0.47 m | (von Stumberg & Cremers, 2022, Table II) |
| VINS (VINS-Mono, mono) | 0.63 m | (von Stumberg & Cremers, 2022, Table II) |
| OKVIS (stereo)本方法 | 0.33 m | (von Stumberg & Cremers, 2022, Table II) |
| BASALT (stereo) | 0.34 m | (von Stumberg & Cremers, 2022, Table II) |
Eckenhoff et al., 2019 · Table II 本方法 22 筆
表格設定(擷取紀錄原文):Indirect stereo VIO; absolute RMSE averaged over 10 runs; ground-truth initialisation (Eckenhoff et al., 2019, Table II)
position RMSE,EuRoC MAV · V1 01 easy
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Eckenhoff et al., 2019 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Eckenhoff et al., 2019, Table II)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| MODEL-1原文提出 | 0.2522 m | (Eckenhoff et al., 2019, Table II) |
| MODEL-2原文提出 | 0.216 m | (Eckenhoff et al., 2019, Table II) |
| DISCRETE | 0.2547 m | (Eckenhoff et al., 2019, Table II) |
| OKVIS本方法 | 0.2356 m | (Eckenhoff et al., 2019, Table II) |
Usenko et al., 2020 · Table I 本方法 20 筆
指標RMS ATE of the estimated trajectory
表格設定(擷取紀錄原文):EuRoC MAV; RMS ATE (m) after alignment with ground truth; upper part VIO methods (pose per frame), lower part mapping methods on keyframes (KF); X = failure; V2_03 excluded (Usenko et al., 2020, Table I)
RMS ATE of the estimated trajectory,EuRoC MAV · MH_01
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Usenko et al., 2020 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Usenko et al., 2020, Table I)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| VI DSO, mono | 0.06 m | (Usenko et al., 2020, Table I) |
| OKVIS mono本方法 | 0.34 m | (Usenko et al., 2020, Table I) |
| OKVIS stereo本方法 | 0.23 m | (Usenko et al., 2020, Table I) |
| VINS FUSION mono | 0.18 m | (Usenko et al., 2020, Table I) |
| VINS FUSION stereo | 0.24 m | (Usenko et al., 2020, Table I) |
| IS VIO stereo | 0.06 m | (Usenko et al., 2020, Table I) |
| Proposed VIO, stereo原文提出 | 0.07 m | (Usenko et al., 2020, Table I) |
| VI SLAM (Kasyanov et al.) mono, KF | 0.25 m | (Usenko et al., 2020, Table I) |
| VI SLAM (Kasyanov et al.) stereo, KF | 0.11 m | (Usenko et al., 2020, Table I) |
| VI ORB-SLAM mono, KF | 0.07 m | (Usenko et al., 2020, Table I) |
| Pure BA, stereo, KF (ablation) | 0.09 m | (Usenko et al., 2020, Table I) |
| BA + Identity Factors, stereo, KF (ablation) | 0.08 m | (Usenko et al., 2020, Table I) |
| Proposed VI Mapping, stereo, KF原文提出 | 0.08 m | (Usenko et al., 2020, Table I) |
Geneva et al., 2020 · Table II 本方法 20 筆
表格設定(擷取紀錄原文):EuRoC MAV Vicon-room sequences, mean ATE over ten runs per method (orientation deg / position m); VIO outputs only; V2_03 excluded; alignment method not stated (Geneva et al., 2020, Table II)
ATE position (m), mean of ten runs,EuRoC MAV · V1_01_easy
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Geneva et al., 2020 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Geneva et al., 2020, Table II)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| mono ov slam原文提出 | 0.058 m | (Geneva et al., 2020, Table II) |
| mono ov vio原文提出 | 0.076 m | (Geneva et al., 2020, Table II) |
| mono okvis本方法 | 0.09 m | (Geneva et al., 2020, Table II) |
| mono rovioli (ROVIO in maplab) | 0.153 m | (Geneva et al., 2020, Table II) |
| mono rvio (R-VIO) | 0.094 m | (Geneva et al., 2020, Table II) |
| mono vinsfusion vio | 0.064 m | (Geneva et al., 2020, Table II) |
| stereo ov slam原文提出 | 0.061 m | (Geneva et al., 2020, Table II) |
| stereo ov vio原文提出 | 0.061 m | (Geneva et al., 2020, Table II) |
| stereo basalt (VIO) | 0.035 m | (Geneva et al., 2020, Table II) |
| stereo iceba (ICE-BA) | 0.059 m | (Geneva et al., 2020, Table II) |
| stereo okvis本方法 | 0.039 m | (Geneva et al., 2020, Table II) |
| stereo smsckf (S-MSCKF) | 0.086 m | (Geneva et al., 2020, Table II) |
| stereo vinsfusion vio | 0.054 m | (Geneva et al., 2020, Table II) |
其他比較組
列出其餘 12 個比較組
- Yang et al., 2020a · Table 6
- Campos et al., 2021 · Table II
- Rosinol et al., 2020 · Table II
- Qin et al., 2019 · Table I
- Qin et al., 2018 · Table I
- Cramariuc et al., 2023 · Table II
- Leutenegger et al., 2015 · Text Sec.VII-B1
- von Stumberg & Cremers, 2022 · Table I
- Eckenhoff et al., 2019 · Text Sec.VII-A2 (Gore Hall)
- Eckenhoff et al., 2019 · Text Sec.VII-A2 (Smith Hall)
- Forster et al., 2017a · Text Sec.VIII-B2 (drift)
- Ghadimzadeh Alamdari et al., 2025 · Table 2
來源
Leutenegger et al., 2015
(2015)Keyframe-based visual–inertial odometry using nonlinear optimizationThe International Journal of Robotics Research, 34(3):314-334
DOI 10.1177/0278364914554813程式碼
同儕審查已出版已讀全文經典查證後修正
相關版本
- 程式碼釋出:okvis https://github.com/ethz-asl/okvis
- 會議版:Keyframe-Based Visual-Inertial SLAM using Nonlinear Optimization (RSS IX, 2013; authors Leutenegger, Furgale, Rabaud, Chli, Konolige, Siegwart) 10.15607/RSS.2013.IX.037
程式碼:https://github.com/ethz-asl/okvis(授權:BSD-style 3-clause (LICENSE header))。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。