SLAM 的過去現在和未來:健壯感知的時代

本文總結《Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age》核心觀點

一、導言

1.1 SLAM 的產生——原因

  • 建圖需求:圖像支持路徑規劃(path planning)等其他任務,可進行閉環(loop closure)檢測
  • GPS 無法在室內使用

1.2 SLAM 的發展過程

1.2.1 古典時代(Classical Age)

  • 發明主要概率公式,包括基於 EKF、粒子濾波器和最大似然估計的方法

1.2.2 算法分析時代(Algorithmic-analysis Age)

  • 研究 SLAM 基本屬性,包括觀察性,收斂性、一致性、稀疏性
  • 開發主要開源(open-source) SLAM 庫

1.2.3 近期研究

當前 SLAM 特點:前端中多領域交匯;後端中幾何+圖論+優化+概率估計

回答兩個問題:

  1. 自主機器人需要 SLAM 嗎?

    • 視覺慣性導航(VIN)可視爲簡化的 SLAM,可在無 GPS 時與傳感器融合
    • 里程計(odometry)忽略閉合,會無限探索新區域。閉合可找到兩點間的最短路徑
    • 度量信息很有用
    • 有些應用需要全局一致的三維重建(3D reconstruction)
  2. SLAM 解決了嗎?—評估 SLAM 問題的成熟度

    • 評估指標:機器人(運動類型,可用傳感器,可用計算資源(computational resources));環境(感知混疊(perceptual aliasing)的風險);性能(精度、成功率、延遲)
    • 優勢:提升了精度、魯棒性
    • 缺點:高速時失效,性能不夠

1.2.4 健壯感知時代(Robust-perception Age)— SLAM 特性

  • 性能強:低故障,可自調整
  • 高層次理解:幾何重構+對環境高層次理解(高層次幾何、語義)
  • 資源意識:可根據可用資源調整負載
  • 任務驅動感知:過濾相關感知信息,生成自適應(adaptive)地圖

二、現代 SLAM 系統剖析

2.1 MAP(Maximum a Posteriori) 與後端

  • 將 SLAM 公式化爲最大的後驗估計問題,用因子圖(factor graphs)推理變量間的依賴性
  • 線性高斯下,卡爾曼濾波和 MAP 估計相同

2.2 傳感器相關的前端

  • 問題:傳感器數據很難函數化
  • 功能:提取特徵點,數據關聯(data association,將測量與地標關聯),爲非線性優化提供初始值

三、長期自治( LONG-TERM AUTONOMY) I:健壯性

問題

  • 算法:無法處理快速變化的環境,由數據關聯(將度量與所指狀態關聯)導致
  • 硬件:傳感器或執行器性能下降
  • 感知混疊:不同輸入導致傳感器特徵相同

3.1 簡要調查

3.1.1 錯誤數據關聯

現有成果

  • 詞袋模型(Bag-of-words models):解決單會話循環檢測任務,但無法處理照明變化
  • 匹配序列(matching sequences):統一視覺外觀表示形式,或使用空間和外觀信息
  • 迴環檢測:用 RANSAC 幾何檢驗、剔除離羣值;基於激光,掃描匹配產生的誤差

3.1.2 動態環境

兩個挑戰

  • 對環境進行檢測、丟棄、跟蹤更改
  • 對永久變化建模並更新地圖

3.2 開放性問題

3.2.1 故障安全 SLAM 和恢復

  • 有異常值時脆弱:SLAM 技術基於非凸成本(nonconvex costs)的迭代優化(iterative optimization);離羣值(outliers)會降低估算質量
  • SLAM 應該有發現故障並恢復的能力

3.2.2 硬件故障的魯棒性

  • 傳感器精度降低導致與後端噪聲模型不匹配,估算不準
  • 如何檢測傳感器的降級,解決傳感器衝突

3.2.3 測量重定位(Metric Relocalization)

  • 基於外觀的方法迴路閉合本質上是拓撲結構;特徵描述符(feature descriptors)的不變性(invariance)低
  • 解決思路:用一個傳感器模態進行映射,並用不同傳感器模態在同一地圖上定位

3.2.4 時變和變形地圖(Time Varying and Deformable Maps)

  • 如何構建大規模非剛性(nonrigidity)地圖

3.2.5 自動調整參數(Automatic Parameter Tuning)

  • 開發自動調參的方法

四、長期自治 II:可擴展性

問題:

  • 大區域長時間使用時,因子圖會無限增長,侵佔計算機資源
  • 求解器耗時過多
  • 重新訪問某點時,因子圖優化效率下降,損害圖稀疏性結構

4.1 簡要調查

4.1.1 節點和邊緣稀疏化

減少節點數量

  • 減少添加節點數量或修剪較少的“信息性”節點來解決可伸縮性
  • 設計方法使變量數量僅隨空間大小增加,不隨時間增加
  • 已有成果:通用線性約束(GLC)+非線性圖稀疏化(NGS)方法

連續時間軌跡估計——已有成果

  • 用三次樣條(cubic-splines)表示連續軌跡
  • 批處理優化公式中使用基礎函數近似軌跡
  • 滑動窗口 B 樣條(Sliding-window B-spline)公式;連續時間 SLAM 公式
  • 連續 3D 掃描匹配公式擴大了大規模 SLAM

4.1.2 核心外(並行)SLAM( Out-of-Core (Parallel))

  • 已有成果:子映射算法(assubmapping algorithms,將因子圖分割,通過每個子圖的局部和全局優化來優化整體圖)

4.1.3 分佈式多機器人(Distributed Multirobot) SLAM

  • 部署多個 SLAM,劃分場景
  • 分類:集中式變體(centralized,有中央站負責推理);分散式變體(decentralized,無中央站,本地溝通)

4.1.4 高斯消除(elimination)——已有成果

  • 機器人間交換邊界密集,應使用稀疏化技術。Gauss–Seidel 方法能將分隔符(separators)時間複雜度從 O(n²) 降爲線性
  • 對問題的線性化版本執行了高斯消除,DDF-SAM 需要良好的線性化點和複雜的簿記功能(bookkeeping),確保機器上線性化點一致

4.2 開放性問題

4.2.1 地圖表示

  • 如何在長期運行時存儲地圖(原始方式浪費內存)
  • 針對壓縮(compressed)的已知圖進行定位;針對內存進行密集重建

4.2.2 學習,遺忘和記憶

  • 多久更新一次地圖信息,如何確定信息是否過時

4.2.3 魯棒的分佈式映射(Robust Distributed Mapping)

  • 問題:機器人蔘考系不同,閉環檢測變難;如何從局部信息檢測異常值
  • 已有成果:融合信息前用會合(rendezvous)策略驗證位置假設;雜散(spurious)測量中建立通用參考系

4.2.4 資源受限的平臺

  • 如何使SLAM算法適應資源受限的平臺
  • 設計“版本控制”方法

五、陳述 I:度量(METRIC)地圖模型

  • 對幾何建模;選擇合適的度量表示形式
  • 度量:編碼環境幾何形狀
  • 二維建模:地標地圖(landmark-based,將環境建模爲稀疏的地標集)和佔用網格圖(occupancy grid maps,將單元中的環境離散化)。二維地圖的標準已發佈
  • 3D 建模在起步階段

5.1 基於地標的稀疏表示

  • 大多數 SLAM 將場景表示爲一組稀疏 3D 地標,對應環境中的判別特徵
  • 傳感器數據測量地標幾何特徵,提供描述符,在每個測量值和對應地標間建立數據關聯

5.2 低層原始密度(Low-Level Raw Dense)表示

  • 建立 3D 幾何的高分辨率模型,更適合於避障(obstacle avoidance)、可視化和渲染(rendering);通過點雲和多邊形湯(polygon soup)描述 3D 幾何形狀
  • 與直接法結合,從物體強度值(intensity values)估算軌跡和 3D 模型
  • 衝浪圖(surfel maps):幾何圖形編碼爲一組磁盤(disks),對幾何結構進行低級描述

5.3 邊界和空間分區密集(Boundary and Spatial-Partitioning Dense)表示

  • 顯式表示曲面和體積,更適合導航、避障及基於物理的推理

5.3.1 邊界表示

  • 根據表面邊界定義 3D 對象

  • 基於平面、曲線,表面網格模型(surface mesh models),隱式表面(implicit surface)表示形式,TSDF(truncated signed-distance function)表示

5.3.2 空間分區

  • 表示將 3D 對象定義爲連續非相交基元(contiguous nonintersecting primitives)的集合
  • 空間佔用枚舉(spatial-occupancy enumeration):3D 空間分解爲以規則 3D 網格排列的相同多維數據集
  • 八叉樹(octree),多邊形地圖八叉樹和二進制空間分區樹()

5.3.3 特徵法(Feature-based )與直接法

  • 特徵法:已成熟,系統取決於特徵可用性,依賴檢測和匹配閾值(matching thresholds),特徵檢測器(feature detectors)只優化速度(非精度)
  • 直接法:處理原始像素,密集直接法可利用圖像中所有信息,適用惡劣場景。需要 GPU 實現實時

5.3.4 如何共同估計密集的結構和運動

  • 半密集(Semidense)法:只利用強梯度(strong gradients)像素
  • 半直接(semidirect)法:同時利用稀疏特徵和直接法,可聯合估計結構和運動

5.4 基於對象的高級表示

  • 將物理概念與每個對象相關聯

5.4.1 參數化原始實例化(Parameterized Primitive Instancing)

  • 對每個家族(families)定義一組參數,唯一標識家族成員。模型緊湊

5.4.2 掃描(Sweep)表示

  • 實體定義爲 2D/3D 對象沿空間軌跡的掃掠。適合在場景被遮擋部分進行推理

5.4.3 構造實體幾何(Constructive Solid Geometry)

  • 通過基元(primitives)間布爾運算定義複雜實體
  • 對複雜幾何圖形建模

5.4.4 其他類型的表示形式

  • CAD 中的基於特徵;基於字典的表示形式;基於可負擔性(affordancebased);生成和過程模型以及場景圖

5.5 開放性問題

  • 有關 SLAM 度量表示的問題

5.5.1 SLAM中的高級表達表示法

  • 點雲或 TSDF 建模 3D 幾何:浪費內存,沒有對 3D 幾何形狀的高級瞭解
  • 方向:緊湊(compact)表示地圖;提供對象幾何的高級描述;使用豐富的 3D 表示形式

5.5.2 最佳表示(Optimal Representations)

  • 執行給定任務所需的最小統計量,對噪聲的最大不變性(invariance)
  • 尋找一個通用但易於處理的框架,爲任務選擇最佳表示形式

5.5.3 自動自適應(Automatic Adaptive)表示

  • 方向:機器人能根據任務和環境的複雜性使用不同複雜程度的表示形式

六、陳述 II:語義(SEMANTIC)地圖模型

6.1 語義與拓撲 SLAM

  • 拓撲映射丟棄度量信息,僅利用位置識別構建圖形

6.2 語義 SLAM:概念的結構和細節

  • 語義概念的級別/細節:有些任務需要更細的類別
  • 語義概念的組織:設計共享或不共享某些屬性的平面或分層組織處理每個物體的多種概念

6.3 簡要調查

  • 攻擊語義映射,並給數據分配語義概念

6.3.1 SLAM 幫助語義學

  • 將 SLAM 度量圖分割爲語義概念
  • 二維激光(2D laser)掃描建立幾何圖,通過關聯的馬爾可夫(Markov)網絡融合每個姿勢的分類語義位置;從 RGB-D 序列構建 3D 圖,進行離線對象分類;結合三層推理使用激光和相機構建語義圖

6.3.2 語義學幫助 SLAM

  • 使用幾何形狀相關知識改進地圖

6.3.3 聯合 SLAM 和語義推論

  • 聯合公式中執行單眼 SLAM 和地圖分割
  • 用曼哈頓世界假設(Manhattan world assumption)在室內主平面中分割地圖;使用幾何和語義屬性聯合估計相機參數、場景點和對象標籤;語義分割和度量圖後期融合

6.4 開放性問題

  • 缺乏凝聚的表述

6.4.1 一致的語義-度量融合(Consistent Semantic-Metric Fusion)

  • 如何持續融合語義信息多個源與不同時間的度量信息
  • 將語義分類置信度(confidence)或不確定性(uncertainty)納入因子圖公式

6.4.2 語義映射遠不止是一個分類問題

  • 語義概念的專業化(負荷能力)

6.4.3 無知,意識和適應性(Ignorance, Awareness, and Adaptation)

  • 如何發現新對象或類,學習新屬性

6.4.4 基於語義的推理

  • 如何使用語義高效定位和連續映射

七、SLAM 的新理論工具

  • 爲 SLAM 算法建立性能保證
  • 理論的必要性:SLAM 算法難推廣;可避免經驗主義;突破算法界限,擴展實例集
  • 討論因子圖優化方法
  • 無先驗會丟失部分屬性

7.1 簡要調查

  • 迭代優化只能保證局部收斂
  • 討論了小姿態圖優化問題中的極小值;研究了沒有閉環時的誤差增長;估計高斯-牛頓法收斂盆地(basin of convergence);旋轉估計(rotation estimation)能以二維形式封閉求解
  • 雙重 SDP 法;凸鬆弛法(convex relaxation);先求解旋轉,用所得值自動抽樣法(bootstrap)非線性迭代
  • 使用拉格朗日對偶性(duality)確定方案質量

7.2 開放性問題

7.2.1 通用性,保證和驗證

  • 解決方案可推廣到任意因子圖、噪聲模型

7.2.2 弱還是強對偶

  • 強對偶成立時,SLAM 可以全局解決;建立先驗條件,如何判斷強對偶性是否成立
  • 方向:定義全局解決方案的應用程序領域,提供傳感器設計和有源 SLAM 的基礎見解

7.2.3 對異常值的恢復能力

  • 如何解決異常值的全局技術和驗證技術

八、主動(ACTIVE)SLAM

  • 用動作改善地圖和定位
  • 控制機器人運動以最小化地圖表示和定位的不確定性

8.1 簡要調查

  • 最優實驗設計理論,根據預測的地圖不確定性選擇未來動作
  • 信息理論:決策以信息獲取的概念爲指導
  • 控制理論方法:模型預測控制、貝葉斯優化(Bayesian Optimization)、高斯信念傳播(Gaussian beliefs propagation)
  • 備選方案中選擇最佳未來行動:當前地圖中識別可探索位置(優勢點);計算訪問位置的效用,選效用最高的動作;執行並確定繼續或終止

8.1.1 選擇優勢點(Vantage Points)

  • 評估所有可能動作,搜索時間長;常使用基於邊界的探索
  • 成果:不確定性下連續空間規劃法(只能局部收斂)、使用勢場(potential fields,卷積技術計算熵並選擇動作或用邊界值問題解決方案)

8.1.2 計算動作的效用(Utility)

  • 考慮未來動作和預測值,對姿勢和地圖上後驗的演化進行推理。使用信息增益(information gain)對動作排名
  • 量化機器人和地圖不確定性指標的線性組合
  • TOED 通過最優性標準使用協方差矩陣,來說明動作效用

8.1.3 執行動作或終止探索

  • 執行動作很容易;決定探索任務是否完成比較難

8.2 開放性問題

8.2.1 快速準確預測未來狀態

  • 如何設計用於預測迴路閉合及其效果的有效方法
  • 預測未來行動影響的計算量大
  • 預測狀態涉及光譜(spectral)技術、深度學習

8.2.2 何時停止 SLAM

  • 主動 SLAM 耗費資源;信息過多會出錯
  • 方向:面向任務的 TOED 不確定性指標可作爲停止標準

8.2.3 性能保證

  • 爲主動 SLAM 和接近最佳策略尋找數學保證,需要具有明確性能邊界的近似算法

九、新前沿:傳感器與學習

9.1 SLAM 的新型和非常規傳感器

  • 由激光雷達和傳統視覺傳感器主導,有許多傳感器可替代

9.1.1 簡要調查

測距相機(Range cameras)

  • ToF 範圍精度最高
  • 有光源,可在黑暗和無紋理的場景中工作

光場(Light-field)相機

  • 使用放置在常規圖像傳感器前的微透鏡(microlenses)陣列感應強度、顏色和方向
  • 優勢:深度估計,降噪、視頻穩定、擾物隔離、鏡面反射消除,光學元件的光圈(aperture)大和景深(depth of field)較寬

基於事件(Event-based)的攝像機

  • 場景運動時發送局部像素級變化
  • 優點:延遲小、頻率高、功耗小,可在高速運動場景中使用
  • 缺點:基於幀的計算機視覺算法不適用
  • 基於事件的實時定位和映射算法,使得傳入事件可異步更改估計狀態

9.1.2 開放性問題

  • 主動範圍相機的瓶頸:最大範圍和其他外部光源的干擾(可發出更多光功率彌補)
  • 光場相機:可將運動估計問題表述爲線性優化,運動估計更準確
  • 傳感器噪聲的全面表徵和傳感器的非理想性。基於事件的攝像機使事件容易受到噪聲的影響

其他傳感器

  • 觸覺,嗅覺,聲音,磁性和熱刺激、WIFI 等
  • 尋找選擇算法和傳感器以實現最佳性能的完整方法。最佳的傳感架構可能具有多個傳感器,要根據所需性能打開或通過不同物理原理測量同一現象的魯棒性

9.2 深度學習

  • 深度神經網絡從原始圖像直接獲取幀間姿態
  • 迴歸森林(regression forest)或深度卷積神經網絡(deep convolutional neural network),僅輸入圖像,從單個視圖估計深度(觀察立體聲對訓練單視圖深度估計的深度網絡)

開放性問題

9.2.1 感知(Perceptual)工具

  • 可解決計算機視覺算法無法解決的感知問題
  • 地圖語義更豐富

9.2.2 實際部署

  • 如何在嵌入式系統中提供足夠計算能力
  • 可以研究更小更便宜的網絡,考慮長期傳感的影響

9.2.3 在線和終身學習

  • 如何在單發或零發情況下利用深層網絡的功能,實現持續學習
  • 如何保證存在合適的數據集

9.2.4 自動抽樣法(Bootstrapping)

  • 深度學習如何針對特定任務提取先驗
  • 如何融合幾何與深度網絡:表徵從深層網絡得出的估計的不確定性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章