DSO
DSO 是直接稀疏法的單眼視覺里程計(visual odometry),直接最小化光度誤差,並在滑動視窗內聯合最佳化相機位姿、相機內參、仿射亮度參數與逆深度,舊狀態以邊際化(marginalization)移除。它不使用平滑先驗,而是在影像中均勻取樣具梯度的像素,包括白牆上的弱梯度與邊緣,並整合曝光、暗角與非線性響應的光度校正。DSO 不含迴圈閉合,屬里程計而非完整 SLAM。
本頁內容
DSO is a direct sparse monocular odometry that jointly optimises poses, intrinsics, affine brightness and inverse depths in a marginalised sliding window, sampling gradient pixels evenly and using full photometric calibration; it has no loop closure.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | monocular camera |
|---|---|
| 原文測試平台 | UAV (EuRoC MAV quadrocopter sequences, left and right images used separately)、TUM monoVO sequences, 50 photometrically calibrated indoor and outdoor videos (carrying mode not stated in this paper)、synthetic ray-traced ICL-NUIM sequences、Fig. 1 video recorded while cycling around a building |
| 狀態估計 | sliding-window Gauss-Newton (up to 6 iterations per new keyframe, no Levenberg-Marquardt damping) jointly over poses, affine brightness parameters, inverse depths and camera intrinsics, with First Estimate Jacobians and Schur-complement marginalisation; window Nf = 7 keyframes and Np = 2000 active points; keyframes marginalised by a distance score and residuals that would break Hessian sparsity are dropped (about half of all residuals) |
| 資料關聯 | direct photometric error of an 8-pixel residual pattern with Huber norm and gradient-dependent weighting, on points sampled with a region-adaptive gradient threshold (32x32 blocks, three passes with lower thresholds); inverse depth in a host frame; candidates tracked by discrete epipolar search before activation; new frames tracked by two-frame direct alignment to the newest keyframe's projected semi-dense depth map with a constant motion model, with up to 27 small-rotation retries on failure |
| 時間表示 | discrete poses (keyframes) |
| 去畸變 | 不適用 (rolling shutter not modelled; simulated as low-frequency geometric noise in Sec. 4.3, where DSO degrades much faster than ORB-SLAM and, according to the authors, optimisation likely fails entirely for noise amplitude above 1.5 (alleviable with a coarser pyramid level); tight rolling-shutter modelling cited as remedy) |
| 迴圈閉合 | none (visual odometry; explicit loop closure disabled for ORB-SLAM in comparisons for fairness, Sec. 4) |
| 全域最佳化 | none |
| 地圖表示 | sparse set of points with inverse depth in active keyframes |
| 先驗資訊 | photometric calibration (exposure time, vignetting, response function) (abstract) |
| 可輸出幾何 | point clouds accumulated from the odometry without loop closure, density set by the number of active points (Np = 500 to 10000 shown); monocular scale unobservable (scale is a null space of the energy) and evaluated with Sim(3) alignment and scale drift |
| 計算需求 | CPU only; real time on a laptop; hard-enforced real-time evaluations on an Intel i7-4910MQ CPU; non-real-time evaluation in a sequentialised single-threaded mode about four times slower than real time on 20 dedicated workstations; reduced settings run at 5 times real time |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| 相機 | TUM monoVO camera (model not reported in this paper) | 資料集感測器 | TUM monoVO | 50 photometrically calibrated sequences (response, vignetting, exposure times), 105 minutes, about 190,000 frames; exposure varied from 0.018 to 10.5 ms in an indoor-outdoor sequence | (Engel et al., 2018, Sec. 2.1.2, Fig. 3; Sec. 4 datasets; Fig. 11) |
| 雙目相機 | EuRoC MAV stereo camera (model not reported in this paper) | 資料集感測器 | EuRoC MAV | 11 stereo-inertial sequences, 19 minutes; left and right videos used separately as monocular input; no photometric calibration or exposure times; shaky initialisation segments cropped | (Engel et al., 2018, Sec. 4 datasets and Methodology) |
| 運算硬體 | Intel i7-4910MQ CPU | 執行運算平台 | 未標示 | hard-enforced real-time evaluation | (Engel et al., 2018, Sec. 4.1) |
| 運算硬體 | 20 dedicated workstations (model not reported) | 執行運算平台 | 未標示 | non-real-time sequentialised evaluation runs | (Engel et al., 2018, Sec. 4 Methodology) |
作者報告的優勢與限制
優勢
- Can use pixels on edges and smooth intensity variations on mostly white walls (abstract)
- Photometric calibration improves performance versus brightness constancy (Sec. 4.2, Fig. 15; Sec. 5)
- With high settings produces semi-dense models similar in density to LSD-SLAM (Sec. 1.2)
- Restricting candidates to FAST corners clearly reduces accuracy and robustness (Sec. 4.2, Fig. 17)
- Slightly more robust than ORB-SLAM to strong photometric noise (simulated anisotropic blur) (Sec. 4.3, Fig. 21)
- Outperforms ORB-SLAM in accuracy and robustness on TUM monoVO and ICL-NUIM (Sec. 4.1)
限制
- Indirect (geometric-error) approaches are more robust to geometric noise such as poor intrinsic calibration or rolling shutter (Sec. 4.3; Sec. 5)
- Using more points makes models denser but does not increase tracking accuracy (Sec. 4.2; Sec. 5)
- No loop closure or relocalization; points and frames leaving the view are permanently marginalised (Sec. 4.1)
- On EuRoC MAV ORB-SLAM is more accurate (but less robust), attributed to missing photometric calibration and many small loops (Sec. 4.1)
- Fewer than about 4 keyframes per second reduces robustness and more than 15 reduces accuracy (Sec. 4.2)
- Higher non-convexity of the photometric model likely restricts it to video processing (Sec. 5)
營建工程相關證據
論文未報告營建測試;評估資料為 TUM monoVO、EuRoC 與 ICL-NUIM。作者指出可利用白牆弱梯度,但對捲簾快門與內參誤差敏感,現場使用消費型相機時須注意(推論)。
原文驗證環境:公開基準、模擬
報告的性能數據
以下是原文作者報告的性能數值(author-reported results),不是本研究重新量測的結果。每張圖只並列同一個比較組(comparison group,同一張表、同一組實驗設定)內的方法;不同比較組之間的數值不可直接比較,也不構成排名。
本方法共出現在 17 個比較組,合計 104 筆紀錄。以下列出本方法紀錄最多的 4 組,其餘 13 組列在最後,並連到性能比較頁。
Forster et al., 2017b · Table I 本方法 22 筆
指標absolute translation error (RMSE)
表格設定(擷取紀錄原文):EuRoC; absolute translation error RMSE of keyframe positions after least-squares translation and scale alignment, averaged over five runs; loop closure deactivated for ORB-SLAM and LSD-SLAM; ORB-SLAM and DSO values taken from the DSO paper [42] with and without enforced real-time execution; x = tracking failed (version of record Table I) (Forster et al., 2017b, Table I)
absolute translation error (RMSE),EuRoC · Machine Hall 01
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Forster et al., 2017b 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Forster et al., 2017b, Table I)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| SVO (stereo)原文提出 | 0.08 m | (Forster et al., 2017b, Table I) |
| SVO (stereo, edgelets)原文提出 | 0.08 m | (Forster et al., 2017b, Table I) |
| SVO (stereo, edgelets + prior)原文提出 | 0.04 m | (Forster et al., 2017b, Table I) |
| SVO (stereo, bundle adjustment)原文提出 | 0.04 m | (Forster et al., 2017b, Table I) |
| SVO (monocular)原文提出 | 0.17 m | (Forster et al., 2017b, Table I) |
| SVO (monocular, edgelets)原文提出 | 0.17 m | (Forster et al., 2017b, Table I) |
| SVO (monocular, edgelets + prior)原文提出 | 0.1 m | (Forster et al., 2017b, Table I) |
| SVO (monocular, bundle adjustment)原文提出 | 0.06 m | (Forster et al., 2017b, Table I) |
| ORB-SLAM (monocular, no loop-closure) | 0.02 m | (Forster et al., 2017b, Table I) |
| ORB-SLAM (monocular, no loop, real-time) | 0.61 m | (Forster et al., 2017b, Table I) |
| DSO (monocular)本方法 | 0.05 m | (Forster et al., 2017b, Table I) |
| DSO (monocular, real-time)本方法 | 0.05 m | (Forster et al., 2017b, Table I) |
| LSD-SLAM (monocular, no loop-closure) | 0.18 m | (Forster et al., 2017b, Table I) |
Teed et al., 2023 · Table 3 本方法 20 筆
指標ATE
表格設定(擷取紀錄原文):TUM RGB-D freiburg1 monocular VO, ATE; x = method failed and output no trajectory; '-' = average not computed; median of 5 trials (Teed et al., 2023, Table 3)
ATE,TUM RGB-D · fr1/360
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
- 失敗
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Teed et al., 2023 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Teed et al., 2023, Table 3)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| ORB-SLAM3 [ 27 ] | 無數值失敗註記(擷取紀錄):failed | (Teed et al., 2023, Table 3) |
| DSO [ 12 ]本方法 | 0.173 | (Teed et al., 2023, Table 3) |
| DSO-Realtime [ 12 ]本方法 | 0.172 | (Teed et al., 2023, Table 3) |
| DROID-VO [ 37 ] | 0.161 | (Teed et al., 2023, Table 3) |
| Ours (Default)原文提出 | 0.135 | (Teed et al., 2023, Table 3) |
| Ours (Fast)原文提出 | 0.169 | (Teed et al., 2023, Table 3) |
Teed et al., 2023 · Table 2 本方法 12 筆
指標ATE[m]
表格設定(擷取紀錄原文):EuRoC MAV monocular VO, ATE[m] after similarity alignment with EVO (Appendix C); median of 5 runs for DPVO; every other frame skipped (Teed et al., 2023, Table 2)
ATE[m],EuRoC · MH01
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Teed et al., 2023 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Teed et al., 2023, Table 2)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| TartanVO [ 43 ] | 0.639 m | (Teed et al., 2023, Table 2) |
| SVO [ 15 ] | 0.1 m | (Teed et al., 2023, Table 2) |
| DSO [ 12 ]本方法 | 0.046 m | (Teed et al., 2023, Table 2) |
| DROID-VO [ 37 ] | 0.163 m | (Teed et al., 2023, Table 2) |
| Ours (Default)原文提出 | 0.087 m | (Teed et al., 2023, Table 2) |
| Ours (Fast)原文提出 | 0.101 m | (Teed et al., 2023, Table 2) |
Gao et al., 2018 · Table I 本方法 11 筆
指標ATE error (m)
表格設定(擷取紀錄原文):KITTI Odometry training sequences, monocular setting; ATE (m) after Sim(3) alignment to ground truth; x = failure (Gao et al., 2018, Table I)
ATE error (m),KITTI Odometry · 00
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Gao et al., 2018 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Gao et al., 2018, Table I)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| Mono DSO本方法 | 126.7 m | (Gao et al., 2018, Table I) |
| LDSO原文提出 | 9.322 m | (Gao et al., 2018, Table I) |
| ORB-SLAM2 (monocular) | 8.27 m | (Gao et al., 2018, Table I) |
其他比較組
列出其餘 13 個比較組
- Zhu et al., 2024 · Table 3
- Yang et al., 2020a · Table 4
- Yang et al., 2020a · Table 6
- Deng & Gan, 2026 · Table 11
- Matsuki et al., 2024 · Table 1
- Teed et al., 2023 · Table 1
- Lipson et al., 2024 · Table 3
- Teed & Deng, 2021 · Table 3
- Engel et al., 2018 · Text Sec. 4.1
- Engel et al., 2018 · Text Sec. 4.2
- Ghadimzadeh Alamdari et al., 2025 · Table 2
- Gao et al., 2018 · Table II
- Campos et al., 2021 · Table II
來源
Engel et al., 2018
(2018)Direct Sparse OdometryIEEE Transactions on Pattern Analysis and Machine Intelligence, 40(3):611-625
DOI 10.1109/tpami.2017.2658577arXiv 1607.02565程式碼
同儕審查已出版已讀全文經典
相關版本
- 預印本:Direct Sparse Odometry (arXiv) https://arxiv.org/abs/1607.02565
- 程式碼釋出:dso https://github.com/JakobEngel/dso
程式碼:https://github.com/JakobEngel/dso(授權:GPLv3 (LICENSE file))。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。