BAD SLAM

Schöps 2019 · 論文

一行要約 — キーフレーム姿勢と密なサーフェル地図をGPU上でリアルタイムに同時最適化する、直接的なバンドル調整RGB-D SLAM。高精度なETH3D SLAMベンチマークとともに公開された。

問題

バンドル調整――すべてのカメラおよび構造パラメータの同時最適化――はSLAMのゴールドスタンダードなバックエンドであるが、密なRGB-Dデータに対しては変数の数が大きすぎると考えられていた。既存のシステムはポーズグラフ最適化、地図変形(Kintinuous、ElasticFusion)、フラグメントアライメント、あるいは疎特徴BA(BundleFusion、ORB-SLAM2)によってこれを近似していた。第二の問題は評価であった。直接的なRGB-Dシステムはローリングシャッター、非同期のRGB/深度ストリーム、深度キャリブレーション誤差に極めて敏感であり、消費者向けカメラで記録された既存のベンチマークはこれらのハードウェアのアーティファクトとアルゴリズムの精度を混同していた。

手法とアーキテクチャ

フロントエンドは各フレームを直前のキーフレームに対して、SE(3)SE(3)上の標準的な直接的測光+幾何アライメントで追跡し(10フレームごとにキーフレームとする)、バイナリ特徴のbag-of-wordsに続く直接アライメントとポーズグラフ初期化によってループを検出する。バックエンド――本論文の貢献――は、すべてのキーフレーム KKとサーフェル SSにわたる真の直接BAを実行する。サーフェル ssは中心 ps\mathbf{p}_s、法線 ns\mathbf{n}_s、半径 rsr_s、スカラー記述子 dsd_sを持つ有向円盤であり、地図中には疎特徴が一切存在しない。コストは各サーフェルを、対応関係を持つすべてのキーフレーム kkへ投影する:

C(K,S)=kKsSk[ρTukey(σD1rgeom(s,k))+wphotoρHuber(σp1rphoto(s,k))]C(K,S)=\sum_{k\in K}\sum_{s\in S_k}\Big[\rho_{\text{Tukey}}\big(\sigma_D^{-1}\,r_{\text{geom}}(s,k)\big)+w_{\text{photo}}\,\rho_{\text{Huber}}\big(\sigma_p^{-1}\,r_{\text{photo}}(s,k)\big)\Big]

wphoto=102w_{\text{photo}}=10^{-2}(深度がより信頼される)であり、ロバスト損失パラメータは10である。幾何項はサーフェル法線に沿った点-平面残差である:

rgeom(s,k)=(TkGns)T(πD,k1(π^D,k(TkGps))TkGps)r_{\text{geom}}(s,k)=\big(\mathbf{T}_{kG}\,\mathbf{n}_s\big)^{T}\Big(\pi_{D,k}^{-1}\big(\hat{\pi}_{D,k}(\mathbf{T}_{kG}\,\mathbf{p}_s)\big)-\mathbf{T}_{kG}\,\mathbf{p}_s\Big)

ここで TkG\mathbf{T}_{kG}は大域座標をキーフレーム座標に写し、π^D,k\hat{\pi}_{D,k}は最も近い深度画素へ投影し、πD,k1\pi_{D,k}^{-1}はその測定深度から逆投影する。これはステレオ深度雑音モデル σdm=δdm2(bf)1\sigma_{d_m}=\delta\,d_m^2\,(bf)^{-1}(bbはベースライン、ffは焦点距離、δ=0.1\delta=0.1px のマッチング誤差)によって正規化される。測光項は、サーフェル中心と円盤境界上の2点 s1,s2\mathbf{s}_1,\mathbf{s}_2でサンプリングされた幾何的に一貫した輝度勾配の大きさを、保存された記述子と比較する:

rphoto(s,k)=(I(πI,k(s1))I(πI,k(ps))I(πI,k(s2))I(πI,k(ps)))2dsr_{\text{photo}}(s,k)=\left\lVert\begin{pmatrix}I(\pi_{I,k}(\mathbf{s}_1))-I(\pi_{I,k}(\mathbf{p}_s))\\ I(\pi_{I,k}(\mathbf{s}_2))-I(\pi_{I,k}(\mathbf{p}_s))\end{pmatrix}\right\rVert_2-\,d_s

最適化は1つの巨大な系を解く代わりに交互に行われる:各イテレーションで、(1)対応する観測法線を平均してサーフェル法線を更新する;(2)各サーフェルの位置と記述子をGauss-Newton法で同時最適化する――位置は法線方向にのみ移動する(ps+tns\mathbf{p}_s+t\,\mathbf{n}_s)ため、各サーフェルは独立した2×2の解となり、これはテクスチャの少ない領域での条件の悪いドリフトも回避する;(3)類似したサーフェルを統合する;(4)se(3)\mathfrak{se}(3)のローカル更新 TkGexp(ϵ^)\mathbf{T}_{kG}\exp(\hat{\epsilon})ですべてのキーフレーム姿勢を最適化する;(5)オプションで内部パラメータと画素ごとの深度変形画像を最適化する(Schur補元により安価に解ける)。離散的なサーフェル生成(未被覆の4×4画素セルごとに1つ)、外れ値の削除、半径の更新はインターリーブされる。すべてCUDAで実装されており、交互BAは全体のGauss-Newton系に対するPCGソルバーよりもわずかに優れ、かつ高速であることが確認された。

実験結果

TUM RGB-D上(ATE RMSE)で、BAD SLAMはfr1-desk / fr2-xyz / fr3-officeでそれぞれ1.7 / 1.1 / 1.7cmに達する――平均順位2.7でBundleFusionと同順位の2位、ORB-SLAM2(順位1.0)には及ばない;内部パラメータ/深度変形最適化を無効にするとこれは3.6 / 1.2 / 2.5cmに劣化し、消費者向けカメラの誤キャリブレーションがいかに重要かを示す。TUMシーンの合成再レンダリングでは、BAD SLAMが完全に勝利する(クリーンな条件での平均ATE 0.15cm対ORB-SLAM2の0.47、BundleFusionの0.34)。またローリングシャッターと非同期RGB-Dを追加すると、すべての手法が数倍劣化する――これが新ベンチマークの動機である。ETH3D SLAMベンチマーク(訓練61シーケンス+テスト35シーケンス、同期式のグローバルシャッターアクティブステレオカメラ、モーションキャプチャによるグラウンドトゥルース、テストGTを非公開にしたオンラインリーダーボード)はTUMでの順位を逆転させる:BAD SLAMは訓練セット・テストセットの両方でORB-SLAM2、BundleFusion、DVO SLAM、ElasticFusionを大きく上回るが、「難しい」シーケンス(テクスチャの少ないシーン、高速な動き、動的物体)は評価されたすべての手法を打ち負かす。システムはi7-6700K + GTX 1080上でリアルタイムに動作する(キーフレームあたり約370msのBA予算、入力約27Hz、10フレームごとに1キーフレーム;図1のシーンは約335,000サーフェルを保持する)。

SLAMにおける意義

BAD SLAMは、疎なSLAMに対してStrasdatの「Why filter?」分析でとうの昔に決着していたバンドル調整の精度についての議論が、完全に密なRGB-D SLAMにも拡張されることを示した:姿勢と構造の同時最適化は、追跡とフュージョンを分離したパイプラインに内在する系統的バイアスを取り除く。同様に長く残る教訓は評価に関するものである:キャリブレーション不良でローリングシャッターのあるベンチマークでの結果は、手法の真の順位を逆転させ得る。そしてこのETH3Dベンチマークは、RGB-D SLAMの標準的な評価スイートとなった。追跡とマッピングの不整合が――センサ雑音ではなく――精度のボトルネックであるときには、ここで示された考え方を活用するとよい。

関連ノート