Double Window Optimisation

Strasdat 2011 · 論文

一行要約 — 小さな内側ウィンドウでの完全なバンドル調整と、外側ウィンドウでのソフトなポーズグラフの周辺部を結合した階層的バックエンドであり、局所BAの精度を保ちながら定数時間の視覚SLAMを実現する。

問題

完全なバンドル調整はキーフレーム数に対して線形〜三次の計算量を持ち、長時間のSLAMには実行不可能である。スライディングウィンドウ/アクティブウィンドウBAはコストを一定に保つが、境界キーフレームをハード制約として固定してしまうため、ループを含む動きの下では収束が妨げられる。純粋なポーズグラフ最適化は情報が失われる。相対バンドル調整はループの多い局所領域でメトリックな一貫性を強制しない。欠けていたのは、ループを含む局所探索の精度と、大規模な高速探索の両方を定数時間で扱う単一のバックエンドであった。

手法とアーキテクチャ

SLAMグラフ。 キーフレーム頂点V\mathcal{V}(絶対ポーズTiT_i)、3D点P\mathcal{P}、そして各エッジEijE_{ij}共可視性重み(covisibility weight)wijw_{ij}(両フレームで観測される点の数)を持つエッジE\mathcal{E}から構成される。現在の参照キーフレームVrefV_{\text{ref}}から、共可視性(最大のwijw_{ij}を優先)に対する一様コスト探索(uniform-cost search)を行い、最初のM1M_1個のキーフレームを内側ウィンドウW1W_1として、次のM2M_2個を外側ウィンドウW2W_2として選択する(M1M2M_1 \ll M_2)。

単一の結合コスト、2種類の制約。 内側ウィンドウから観測される全ての点は点-ポーズ(再投影)制約として入り、全ての外側ウィンドウのフレームは共可視な近傍とポーズ-ポーズ制約で結び付けられ、両者は同時に最小化される。

χ2=zik(zikz^(Ti,xk))2+TjiυjiΛTjiυji,υji:=logSE(3) ⁣(TjiTiTj1)\chi^2 = \sum_{z_{ik}} \big(z_{ik} - \hat{z}(T_i, \mathbf{x}_k)\big)^2 + \sum_{T_{ji}} \upsilon_{ji}^{\top} \Lambda_{T_{ji}} \upsilon_{ji}, \qquad \upsilon_{ji} := \log_{\mathrm{SE}(3)}\!\big(T_{ji} \cdot T_i \cdot T_j^{-1}\big)

ここでzikz_{ik}はフレームiiにおける点xk\mathbf{x}_kの観測であり、TjiT_{ji}は周辺化されたエッジに格納された相対ポーズである。適切な周辺化の代わりに、精度行列は共可視性で重み付けした対角行列によって意図的に近似される。

ΛTji=wij(λtrans2I3×3OOλrot2I3×3)\Lambda_{T_{ji}} = w_{ij} \begin{pmatrix} \lambda^2_{\text{trans}} I_{3\times3} & O \\ O & \lambda^2_{\text{rot}} I_{3\times3} \end{pmatrix}

著者らは、適切な周辺化を行っても有意に良い結果を再現できなかったと報告しており、密に相互接続された共可視性構造がその要因だとしている。ポーズグラフの周辺部は、固定された(ハードな)境界キーフレームとは対照的に、BAの核を安定化させるソフトな制約として機能する。最適化にはLevenberg-Marquardtダンピングを備えたg2oが用いられ、ゲージ自由度を吸収する(どのフレームも固定されない)。ウィンドウに再度入るポーズは、相対ポーズパスTj=πjaTrefT_j = \pi_{ja} \cdot T_{\text{ref}}に沿って再初期化され、続いて構造のみの反復が行われる。

単眼スケールの扱い。 ポーズはSE(3)\mathrm{SE}(3)ではなくSim(3)\mathrm{Sim}(3)(回転、平行移動、スケールss)上に存在する。新しいキーフレームはs=1s = 1を持ち、スケールs1s \neq 1は見え方に基づくループ閉じ込みの時のみ導入され、そこでは3D-3D対応に対する3点RANSACが相似変換を復元する。これにより定数時間でスケールドリフトが補正される。

ループ閉じ込み。 メトリックループ閉じ込みは、より大きな近傍N2\mathcal{N}_2では観測されるが直近の近傍N1\mathcal{N}_1では観測されない点をマッチングすることで見つかる。θ\geq \theta個の点(典型的には15〜30個)が整合する場合、制約Tref,i=TloopTi1T_{\text{ref},i} = T_{\text{loop}} \cdot T_i^{-1}を持つ周辺化されたエッジが追加される。大規模ループ閉じ込みは、見え方に基づく検出に3点RANSACによる検証を組み合わせたものから得られ、マッチした3D点対がマージされる。

実験結果

モンテカルロ・スパイラルシミュレーション(500キーフレーム、ステレオモデル: 焦点距離300、5cm基線、640x480、1ピクセルのガウスノイズ、10回の試行、Intel i7 960の1コア上のg2o)において、定数時間のcDWO(内側ウィンドウ15、外側50)は内側ウィンドウ内で完全なBAと同じ精度に達し、そのコストは一定のままである。gDWO(残り全485フレームをカバーする外側ウィンドウ)は、大域的なBAに近い水準で安定する。外側ウィンドウを最適化中に固定したバリアントは明らかに劣り、ソフト制約の有効性を裏付けている。単眼のダブルループシミュレーション(内側30、外側100)では、平均1%のスケールドリフトがループ閉じ込み時に定数時間で検出・補正される。実データによる実験: New Collegeデータセットでのステレオ SLAM(BRIEF + FASTフロントエンド)は、大規模ループ閉じ込みを伴ってほぼリアルタイムの5〜7 FPSで動作する。改変版PTAMの単眼システムは単一スレッドで17 FPS動作し、ループ閉じ込み時に6%のスケール変化を検出する。RGB-D(PrimeSensor)によるデモには、ループの多いオフィス探索、車輪型ロボットのマッピング、密な物体モデルの構築が含まれる。

SLAMにおける意義

本論文は、キーフレームSLAMが今なお従っているバックエンドの設計図を提供した。精度が重要な場所ではバンドル調整を、スケールが重要な場所では共可視性で重み付けしたポーズグラフを使い、両者を1つの最適化に結合するというものである。ORB-SLAMの局所BA/エッセンシャルグラフの分離とその共可視性グラフは直接的な後継であり、そのSim(3)\mathrm{Sim}(3)ループクロージングは、ここで定数時間で実証されたスケールドリフトの扱いを採用している。現代のバックエンドがなぜこのように構成されているのかを理解するために読むべき論文である。

関連ノート