Switchable Constraints
作者主張 SLAM 後端應能在最佳化過程中自行辨識錯誤的迴圈閉合,而非完全依賴前端資料關聯(data association)。作法是為每條可能出錯的迴圈約束加入一個切換變數(switch variable),以介於 0 與 1 的線性切換函數縮放該約束的權重,並以切換先驗(switch prior)將其錨定在初始值 1;如此位姿圖的拓樸本身成為最佳化對象。作者在 g2o 中實作,於合成與真實位姿圖資料上人工加入最多 1000 條錯誤迴圈,以相對位姿誤差(RPE)與精確率-召回率評估。
本頁內容
Switch variables attached to loop-closure factors let a least-squares pose-graph back-end down-weight or disable false loop closures during optimization, anchored by switch priors.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | 未記錄 |
|---|---|
| 原文測試平台 | simulation、public pose-graph datasets (Intel 2D, Parking Garage 3D; platform not described) |
| 狀態估計 | nonlinear least-squares pose-graph optimization over odometry factors, switchable loop-closure factors and switch-prior factors, implemented in g2o with Gauss-Newton (Sec. II, Sec. III-B, Fig. 7 caption) |
| 資料關聯 | 不適用 (operates on loop-closure constraints delivered by any front-end) |
| 時間表示 | discrete poses |
| 去畸變 | 不適用 |
| 迴圈閉合 | consumes front-end loop closures; each loop edge is multiplied by a switch function of a switch variable in [0,1] (linear function preferred over sigmoid) so that its information can be driven toward zero (Sec. II-A) |
| 全域最佳化 | robust pose-graph optimization jointly over poses and switch variables, with switch priors anchoring switches at their initial value 1 (Sec. II-B) |
| 地圖表示 | 不適用 (pose graph only) |
| 先驗資訊 | none |
| 可輸出幾何 | optimized pose graph (trajectory) only; no map geometry is produced or evaluated |
| 計算需求 | convergence time on the Manhattan dataset (g2o version) increases faster with the number of outliers for the two non-local policies (random, randomly grouped) than for the local policies (Sec. IV-C, Fig. 6, Intel Core 2 Duo); (inference) runs appear to be batch g2o optimizations, but the paper does not state offline/online operation |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| 運算硬體 | Intel Core 2 Duo | 執行運算平台 | 未標示 | 原文未報告 | (Sünderhauf & Protzel, 2012, Fig. 6 caption) |
作者報告的優勢與限制
優勢
- Handled up to 1000 added false-positive loop closures on Manhattan (both versions), City10000, Sphere2500 (3D) and Intel with only 2 of 2500 trials failing; the 3D Parking Garage dataset was the exception where the robust back-end did not outperform the non-robust one (abstract; Sec. IV-B, IV-D2; Table II)
- RPE up to two orders of magnitude lower than a non-robust back-end supported by the Huber cost for large outlier counts (Fig. 4 caption)
- A single switch-prior value Xi = 1 worked across the tested datasets (Sec. IV-A)
- Recall over 99.99% at 100% precision in identifying the added false loop closures for all tested datasets (Sec. IV-B; Fig. 5)
限制
- Switch-prior variance Xi cannot be derived analytically and must be set empirically (Sec. IV-A)
- Failed on the Parking Garage dataset: false loops between parking decks connected by only two odometry strands were not deactivated, corrupting the result (Sec. IV-D2, Fig. 9)
- In two failure cases a single undetected false positive globally distorted maps that stayed locally consistent (Sec. IV-D1, Fig. 8)
- Resolving the two failure cases required adding the Huber cost, which the authors note slows convergence because of the partially linear cost (Sec. IV-B)
- Only a non-robust (Huber-supported) back-end is used as a baseline; comparison with other robust back-ends such as max-mixtures or RRR is left to future work (Sec. V)
- (inference) Outliers were synthetic random or grouped edges added to existing pose graphs; behaviour under real perceptual aliasing from a LiDAR front-end was not tested in this paper
營建工程相關證據
原文未報告(未在營建場域測試)。作者報告的停車場多樓層失效案例(樓層之間僅少數里程連接)與多樓層建物僅經由樓梯連接的掃描路徑相似,顯示重複樓層的錯誤迴圈可能造成整體扭曲與重影(推論)。
原文驗證環境:模擬、公開基準
報告的性能數據
以下是原文作者報告的性能數值(author-reported results),不是本研究重新量測的結果。每張圖只並列同一個比較組(comparison group,同一張表、同一組實驗設定)內的方法;不同比較組之間的數值不可直接比較,也不構成排名。
本方法共出現在 4 個比較組,合計 36 筆紀錄。
Sünderhauf & Protzel, 2012 · Table II 本方法 25 筆
表格設定(擷取紀錄原文):Robust back-end (switchable constraints in g2o, Xi = 1) on pose graphs with 0 to 1000 added false loop closures under four outlier policies, 500 trials per dataset; statistics over trials; Parking Garage excluded; Intel uses the outlier-free solution as pseudo ground truth; RPEpos unit from Figs. 3 and 4 axis labels (Sünderhauf & Protzel, 2012, Table II)
max outl. ratio,Manhattan (g2o version) · 3500 poses, 2099 correct loop closures
這張表在此指標與資料序列只列出本方法一筆,沒有可並列的其他方法,因此不畫圖,數值與出處見下表。這是 Sünderhauf & Protzel, 2012 在此表設定下報告的數值(author-reported results),不代表方法在其他資料或設定下的表現。
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| switchable constraints (robust back-end)本方法原文提出 | 47.6% | (Sünderhauf & Protzel, 2012, Table II) |
Choi et al., 2015 · Table 5 本方法 8 筆
指標mean distance to ground-truth models (m)
表格設定(擷取紀錄原文):Controlled substitution of pipeline components: loop detection (image-based [34] vs geometric) and robust optimization (switchable constraints SC, expectation maximization EM, or line processes); mean distance to ground-truth models (Choi et al., 2015, Table 5)
mean distance to ground-truth models (m),augmented ICL-NUIM (synthetic, realistic noise, full-scan trajectories) · Living room 1
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Choi et al., 2015 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Choi et al., 2015, Table 5)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| SC [57] with image-based loop detection [34]本方法 | 0.25 m | (Choi et al., 2015, Table 5) |
| SC [57] with geometric loop detection本方法 | 0.32 m | (Choi et al., 2015, Table 5) |
| EM [40] with image-based loop detection [34] | 0.46 m | (Choi et al., 2015, Table 5) |
| EM [40] with geometric loop detection | 0.66 m | (Choi et al., 2015, Table 5) |
| Ours (geometric loop detection + line-process optimization)原文提出 | 0.04 m | (Choi et al., 2015, Table 5) |
Sünderhauf & Protzel, 2012 · Text Sec.IV-B 本方法 2 筆
資料集與序列Manhattan (both versions), City10000, Sphere2500, Intel · 0 to 1000 added outliers, four policies
表格設定(擷取紀錄原文):Precision-recall of deactivating added false loop closures, emulated by thresholding switch values; all tested datasets together (Sünderhauf & Protzel, 2012, Text Sec.IV-B)
recall at 100% precision,Manhattan (both versions), City10000, Sphere2500, Intel · 0 to 1000 added outliers, four policies
這張表在此指標與資料序列只列出本方法一筆,沒有可並列的其他方法,因此不畫圖,數值與出處見下表。這是 Sünderhauf & Protzel, 2012 在此表設定下報告的數值(author-reported results),不代表方法在其他資料或設定下的表現。
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| switchable constraints (robust back-end)本方法原文提出 | 99.99%僅報告範圍註記(擷取紀錄):lower bound: reported as over 99.99% | (Sünderhauf & Protzel, 2012, Sec. IV-B (text below Fig. 5)) |
Sünderhauf & Protzel, 2012 · Text Sec.IV-D2 本方法 1 筆
指標performance relative to the non-robust back-end
資料集與序列Parking Garage · 1661 poses, 4615 correct loop closures
表格設定(擷取紀錄原文):Parking Garage (real 3D, 1661 poses, 4615 loop closures, four decks joined by two odometry strands) excluded from Table II (Sünderhauf & Protzel, 2012, Text Sec.IV-D2)
performance relative to the non-robust back-end,Parking Garage · 1661 poses, 4615 correct loop closures
這張表在此指標與資料序列只列出本方法一筆,沒有可並列的其他方法,因此不畫圖,數值與出處見下表。這是 Sünderhauf & Protzel, 2012 在此表設定下報告的數值(author-reported results),不代表方法在其他資料或設定下的表現。
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| switchable constraints (robust back-end)本方法原文提出 | 無數值失敗註記(擷取紀錄):failed: not better than the non-robust approach; groups of false loops between decks were not deactivated | (Sünderhauf & Protzel, 2012, Sec. IV-D2; Fig. 9) |
來源
Sünderhauf & Protzel, 2012
(2012)Switchable constraints for robust pose graph SLAM2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1879-1884
DOI 10.1109/iros.2012.6385590程式碼
同儕審查已出版已讀全文經典查證後修正
相關版本
- 預印本:Author copy marked 'To appear in Proc. of IEEE IROS 2012' (content read) https://nikosuenderhauf.github.io/assets/papers/IROS12-switchableConstraints.pdf
- 程式碼釋出:Vertigo: C++ extension for g2o and GTSAM implementing switchable constraints https://github.com/OpenSLAM-org/openslam_vertigo
程式碼:https://github.com/OpenSLAM-org/openslam_vertigo(授權:GPL-3.0 (stated on openslam-org.github.io/vertigo.html; no LICENSE file found in repository root))。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。