SVO2

Forster 2017 · 論文

一行要約 — セミダイレクト(semi-direct)visual odometryを多カメラリグ、魚眼/カタディオプトリックレンズ、エッジレット特徴、モーション事前情報に拡張し、direct alignmentの収束に関する実証的解析と、オプションのiSAM2バンドル調整バックエンドを備える。

問題

オリジナルのSVOは単一の透視投影カメラで動作していたが、実際のロボットプラットフォーム——特に小型無人航空機(MAV)——は視野を最大化するため広角または魚眼レンズを備えた複数カメラを搭載する。また、direct法はほぼ経験則に基づいて使われてきた側面があり、フォトメトリックアライメントがいつ、なぜ収束するのかについての解析はほとんど存在せず、特徴点ベースの結合最適化が持つ最適性も欠いていた。SVO2(“SVO: Semi-Direct Visual Odometry for Monocular and Multi-Camera Systems”, TRO 2017)は、セミダイレクトアプローチ——「高い画像勾配を持つ画素を追跡・三角測量する」direct法と、「構造とモーションの結合最適化を行う」特徴点ベース法——を任意のカメラシステムへ一般化する。

手法とアーキテクチャ

疎な画像アライメントの一般化 — ボディフレームBBの逐次的なモーション(カメラごとの外部パラメータTCB\mathbf{T}_{CB})は、既知の深度を持つコーナーおよびエッジレット特徴のパッチのフォトメトリック誤差を、リグの全カメラC\mathcal{C}にわたって合計し、最小化することで推定される。

Tkk1=argminTkk1CCuRˉk1C12IkC(π(TCBTkk1ρu))Ik1C(π(TCBρu))ΣI2\mathbf{T}^{\star}_{kk-1}=\arg\min_{\mathbf{T}_{kk-1}}\sum_{C\in\mathcal{C}}\sum_{\mathbf{u}\in\bar{\mathcal{R}}^{C}_{k-1}}\frac{1}{2}\big\lVert I^{C}_{k}\big(\pi(\mathbf{T}_{CB}\mathbf{T}_{kk-1}\,\rho_{\mathbf{u}})\big)-I^{C}_{k-1}\big(\pi(\mathbf{T}_{CB}\,\rho_{\mathbf{u}})\big)\big\rVert^{2}_{\Sigma_I}

このため、構造を観測している全てのカメラが一つのボディポーズ推定に寄与し、多カメラ対応はヤコビアンの変更のみで実現される。オプションのモーション事前情報(等速運動、あるいはジャイロスコープの回転R~kk1\tilde{\mathbf{R}}_{kk-1})は、罰則項12pkk1p~kk1Σp2+12log(R~kk1Rkk1)ΣR2\frac{1}{2}\lVert\mathbf{p}_{kk-1}-\tilde{\mathbf{p}}_{kk-1}\rVert^{2}_{\Sigma_p}+\frac{1}{2}\lVert\log(\tilde{\mathbf{R}}^{\top}_{kk-1}\mathbf{R}_{kk-1})^{\vee}\rVert^{2}_{\Sigma_R}を同じコストに追加する。

緩和と改善 — SVOと同様に、各特徴は最初に観測されたキーフレームに対して2Dで再アライメントされる(アフィンワープされたパッチ、逆合成型Lucas-Kanade)。エッジレットはアパーチャ問題に悩まされるため、その補正はエッジ法線n\mathbf{n}方向に制限される: u=u+δun{\mathbf{u}'}^{\star}=\mathbf{u}'+\delta u^{\star}\,\mathbf{n}。最後に、バンドル調整がキーフレームとランドマークにわたる再投影誤差を最小化する——エッジ特徴の残差は法線方向に投影される(エッジ方向の成分は観測不可能なため)——これは逐次スムーザiSAM2でリアルタイムに解かれる(あるいは組み込み用途向けにより軽量な、ポーズと点のみの最適化も可能)。

マッピング — 各特徴について深度ρ\rhoとインライア確率γ\gammaに関する再帰的ベイズフィルタを用い、計測はガウス分布+一様分布の混合モデルp(ρ~ikρi,γi)=γiN(ρ~ikρi,τi2)+(1γi)U(ρ~ikρimin,ρimax)p(\tilde{\rho}_i^k\mid\rho_i,\gamma_i)=\gamma_i\,\mathcal{N}(\tilde{\rho}_i^k\mid\rho_i,\tau_i^2)+(1-\gamma_i)\,U(\tilde{\rho}_i^k\mid\rho_i^{min},\rho_i^{max})としてモデル化され、事後分布はBeta(γak,bk)N(ρμk,σk2)\mathrm{Beta}(\gamma\mid a_k,b_k)\,\mathcal{N}(\rho\mid\mu_k,\sigma_k^2)で近似される——外れ値は平均をほとんど動かさず、γ\gammaが信頼度を報告する。フィルタは過去および後続のフレームから更新され(前進運動に対して有利)、エッジがエピポーラ線に平行な場合の計測はスキップされる。

広視野角 — 投影/逆投影には多項式全方位カメラモデルを用いるため、魚眼およびカタディオプトリック画像はディストーション補正済みの状態で使用され、エピポーラ探索は大円(エピポーラ平面∩単位球面)を約1画素の角度分解能でサンプリングし、曲がったエピポーラ線を追跡する。

収束の研究 — 制御された実験により、画像対モデルアライメントが収束する確率を基準フレームからの距離の関数として測定する。収束はパッチサイズが4×4画素まで大きくなるほど改善し、密なアライメントはセミデンスに対してほとんど何も追加しない(勾配ゼロの画素はヤコビアンもゼロであるため)。また疎なアライメントはセミデンスよりも収束半径が小さい——これがSVOが直前のフレームにのみアライメントを行い、マップへの特徴アライメントに頼ってドリフトを除去する理由である。

実験結果

EuRoC MAVベンチマーク(11シーケンス、5回の実行の平均、比較対象手法ではループ閉じ込みを無効化)において、SVOはLSD-SLAMおよびリアルタイムORB-SLAMより多くの実行で高い精度を達成する一方、DSOは一貫して非常に高精度であり、モノキュラー設定ではほとんどの場合SVOを上回る。ステレオSVOはモノキュラーより一般的に精度が高く、スケールドリフトの影響を受けないが、SVOは急激な照明変化やその場での回転を伴うVicon Roomシーケンスでは失敗する。効率性が特筆点であり、SVO Monoはラップトップi7上で1フレームあたり平均2.53 ms、20 HzでCPU使用率55%——これに対してORB-SLAMは29.81 ms/187%、LSD-SLAMは23.23 ms/236%であり、「最大10倍速く…CPU使用量はわずか4分の1で済む」。NVIDIA Jetson TX1では、疎な画像アライメントに2.54 ms、特徴アライメントに1.40 msを要する。エッジレットはコーナーが豊富なEuRoCシーンでは精度への寄与はわずかだが、コーナーが存在しない環境ではロバスト性を改善する。モーション事前情報はアライメントの反復回数を削減する。

SLAMにおける意義

SVO2はセミダイレクトのパラダイムを、実際のロボットプラットフォーム——特に複数の広角カメラを搭載したMAV——に展開可能なシステムへと発展させ、商用・研究用ドローンで広く使われた。その収束解析はdirect法に実証的な基盤を与え(そして粗密段階的手法、パッチサイズ、フレームレートの設計選択を正当化した)、そのBeta×ガウス逆深度フィルタは画素単位の確率的深度推定における共通の参照実装となった。組み込みハードウェア上で非常に高速かつ軽量なオドメトリが必要な場合の定番設計として、今なお使われている。

関連ノート