LSD-SLAM
Engel 2014 · 論文
一行要約 — 最初の大規模直接単眼SLAM: 半密な確率的深度マップをCPU上で光度誤差最小化によってトラッキングし、スケールドリフトを意識した Sim(3) キーフレームアラインメントとポーズグラフによるループクロージャを備える。
問題
2014年時点で、単眼SLAMには2つの既存の選択肢があり、それぞれに厳しい限界があった。特徴ベースのシステム(PTAM系譜)は精度が高いものの、キーポイント以外のすべてを捨てていた — 「直線または曲線のエッジに含まれる情報…は捨てられる」。直接的な密な手法(DTAM、変分VO)は画像データをすべて使うが「計算負荷が高く、最先端のGPUを要する」上、既存の直接法はすべてグローバルマップもループクロージャもない純粋なオドメトリだった。さらに、単眼システムは長い軌跡にわたってスケール方向にドリフトするが、これは6自由度のポーズグラフでは表現できない。LSD-SLAM(Engel、Schöps、Cremers、ECCV 2014)はこの3つすべて — 直接的、大規模で一貫性のある、CPUでのリアルタイム性 — を狙う。
手法とアーキテクチャ
3つのコンポーネントが並行して動作する(論文のFig. 3): トラッキング、深度マップ推定、マップ最適化。
- トラッキング(直接 se(3) アラインメント): 新しいフレーム Ij はそれぞれ、現在のキーフレーム Ki=(Ii,Di,Vi) — 画像、半密な逆深度マップ、逆深度分散 — に対して、有効な深度を持つすべてのピクセルにわたる分散正規化光度誤差を最小化することでアラインメントされる:
Ep(ξji)=p∈ΩDi∑σrp(p,ξji)2rp2(p,ξji)δ,rp:=Ii(p)−Ij(ω(p,Di(p),ξji)),
σrp(p,ξji)2:=2σI2+(∂Di(p)∂rp(p,ξji))2Vi(p),
ここで ω は投影ワープ、∥⋅∥δ はHuberノルム、σI2 は画像ノイズである。各ピクセルの深度分散を残差に伝播させることが、本論文の2つ目の主要な新規性であり、深度が不確かなピクセルは自動的に重みを下げられる。最小化はリー多様体上の反復重み付きガウス・ニュートン法によって行われる。
- 深度マップ推定: トラッキングされたフレームは、多数のピクセル単位の小基線ステレオ比較によってキーフレームを精緻化し、それらは確率的にフィルタリングされて Di,Vi となる(Engel 2013に従う)。深度は画像勾度が十分な場所にのみ存在する — つまり半密である。カメラが十分に移動した場合(dist(ξji)=ξjiTWξji がしきい値を超えたとき)、古い深度マップをそこに投影することで新しいキーフレームが作られ、各キーフレームは平均逆深度が1になるように再スケールされる。
- sim(3) キーフレームアラインメント(新規性1): キーフレームはスケール正規化されているため、それらの間のエッジは7自由度の相似変換である。sim(3) 上での直接アラインメントは深度残差を追加する — これは光度誤差だけではスケールを観測できないために必要である:
E(ξji):=p∈ΩDi∑σrp2rp2(p,ξji)+σrd2rd2(p,ξji)δ,rd:=[p′]3−Dj([p′]1,2),
ここで p′=ωs(p,Di(p),ξji) である。ループ候補は最も近い10個のキーフレームに加え、見た目に基づく(FAB-MAP)提案であり、それぞれが両方向 ξjki と ξijk が統計的に一致することを確認する相互トラッキングチェックによって検証される。ESMと20×15ピクセルから始まる粗密ピラミッドが収束半径を拡大する。
- マップ最適化: Sim(3) 制約を持つキーフレームポーズグラフは、バックグラウンドで(g2oにより)継続的に最適化される:
E(ξW1…ξWn):=(ξji,Σji)∈E∑(ξji∘ξWi−1∘ξWj)TΣji−1(ξji∘ξWi−1∘ξWj).
実験結果
- TUM RGB-Dベンチマーク(絶対軌跡RMSE、cm単位; 単眼で、最初の深度マップでスケールをブートストラップ): fr2/desk 4.52(116キーフレーム) vs 半密mono-VOの13.50、特徴点ベースmono-SLAM(PTAM)ではトラッキング失敗、センサー深度を用いる2つのRGB-Dシステムでは1.77 / 9.5; fr2/xyz 1.47 vs 3.79(半密VO)、24.28(PTAM)。シミュレーションシーケンス: sim/desk 0.04、sim/slowmo 0.35。
- 大規模環境: 約500 m、6分間のハンドヘルド屋外軌跡が正しく閉じられ、20 cm未満から10 mを超える範囲まで平均逆深度が広がるシーケンスも一貫してマッピングされる — ループクロージャ前は、シーンの一部が異なるスケールで二重に存在していたが、閉じた後は整合する。
- CPU上でリアルタイムに動作する(640×480、30 Hz); オドメトリコアはスマートフォンでも動作することが示されている。ESMと追加のピラミッドレベルは sim(3) の収束半径を広げるが、収束後の精度は変わらない。
SLAMにおける意義
LSD-SLAMは、直接法が特徴ベースSLAMに対する本格的でスケーラブルな代替手段になり得ることを証明した: より多くの画像情報を使用し、より豊かな半密マップを持ち、コーナーが乏しい場所でも頑健である。その2つの輸出物 — トラッキングの基本要素としての分散正規化光度アラインメントと、単眼スケールドリフトのための Sim(3) ポーズグラフ — は今では標準的な語彙となっている(ORB-SLAMはループクロージングのために Sim(3) essential graphのアイデアを採用した)。直接的にはDSO(同じグループによる、ポーズグラフをウィンドウ光度BAに置き換えたもの)とCNN-SLAM(LSD-SLAMの骨格上で学習された深度を用いる)の種となった。
関連ノート