DeepFusion

Laidlow 2019 · 論文

一行要約 — SLAMシステムからのセミデンスなマルチビューステレオ深度と、CNNが予測した対数深度・対数深度勾配を、学習された不確かさで重み付けして確率的に融合する、密な単眼再構成システム。

問題

特徴点ベースの単眼SLAMマップはカメラのトラッキングには適しているが、多くのロボティクスタスクには疎すぎる。深度カメラは「測定範囲が限られており、屋内空間に限定される」。また、フレーム間のフォトメトリック誤差を最小化する密な再構成は「典型的に制約が弱く、スケールの曖昧さに悩まされる」。DeepFusionはこのギャップを狙う。すなわち、CNNの予測を(不確かさを持つ)もう一つの測定源として扱うことで、RGB画像と単眼SLAMシステムのスケール曖昧な姿勢から、完全に密でメトリックスケールのキーフレーム深度マップを生成するリアルタイムGPUシステムである。

手法とアーキテクチャ

DeepFusionは幾何をキーフレーム深度マップの系列として表現する。新しいフレームごとにORB-SLAM2から姿勢が与えられ、セミデンスなマルチビューステレオモジュールが、5点にわたるSSDフォトメトリック誤差を最小化するエピポーラライン探索によって、アクティブキーフレームの高テクスチャ画素の深度を更新する。ピクセルごとの不確かさは有限差分ヤコビアンからσi2=(JTJ)1\sigma_i^2=(\mathbf{J}^T\mathbf{J})^{-1}として得られる。カメラがλtrans\lambda_{trans}以上移動した場合、またはセミデンス推定のインライア数がλinliers\lambda_{inliers}未満になった場合に新しいキーフレームが作成される。

キーフレームごとに一度、U-Net型のCNN(共有エンコーダ、4つのデコーダ、256×192解像度、SceneNet RGB-Dで学習)が、対数深度、x・y方向の対数深度勾配、およびそれぞれの不確かさを、最大対数尤度損失

LNN(θ)=i(yifθ,i(x))2σθ,i(x)2+log(σθ,i(x)2),\mathcal{L}_{\mathrm{NN}}(\theta)=\sum_{i}\frac{(y_{i}-f_{\theta,i}(\mathbf{x}))^{2}}{\sigma_{\theta,i}(\mathbf{x})^{2}}+\log(\sigma_{\theta,i}(\mathbf{x})^{2}),

を用いて予測する。ここでfθ,if_{\theta,i}σθ,i2\sigma_{\theta,i}^2は画素iiの予測平均と分散である。対数深度が使われる理由は、2つの対数深度の差が深度比になり、これがスケール不変であるためである。予測は学習時に焦点距離で正規化され、テスト時のカメラの焦点距離で再スケールされる。

新しいフレームが来るたびに、キーフレームの密な対数深度マップd\mathbf{d}とスケール補正係数ssは、

c(d,s)=csemi(d,s)+cnet(d)+cgrad(d),c(\mathbf{d},s)=c_{\mathrm{semi}}(\mathbf{d},s)+c_{\mathrm{net}}(\mathbf{d})+c_{\mathrm{grad}}(\mathbf{d}),

を最小化することで再最適化される。これは3つの不確かさ重み付き二次項(それぞれHuber損失でロバスト化)からなる。

システムはOptフレームワークによってコンパイルされたGPUカーネルとして、フレームごとに10回のGauss-Newton反復(深度とスケールを交互に)を実行する。これにより高価なネットワーク推論はキーフレームごとに1回だけ償却され、幾何は継続的に精緻化される。

実験結果

CNN-SLAMのプロトコルに従い——ICL-NUIM(合成)とTUM RGB-D(実写)における、真値の10%以内に収まる推定深度の割合を評価すると——DeepFusionは平均22.466であり、これはCNN-SLAMの22.464、LSD-SLAM(ブートストラップ)の3.032、REMODEの7.649、Laina et al.の18.452、ORB-SLAMの0.029と比較される。6つのICL-NUIMシーケンスのうち4つで最良である(例:office1では37.420 vs CNN-SLAMの29.150)一方、TUMの3シーケンスのうち2つではCNN-SLAMが勝る——これは学習データの違いに起因すると考えられる。すなわちDeepFusionのSceneNet(合成)とCNN-SLAMのKinectで撮影されたNYUv2である。アブレーションでは、完全な定式化が9シーケンスのうち7つで最小二乗スケール整合を上回り、対項の勾配制約は9シーケンスのうち7つで有効であることが示された。処理時間(i7-5820K + GTX 980):セミデンス更新16ms、最適化33ms、ネットワーク推論45ms(平均)——キーフレームごとの推論を伴いつつリアルタイムを実現している。

SLAMにおける意義

DeepFusionは、古典的なマルチビュー幾何と学習された単一画像の手がかりを組み合わせることで単眼の密な再構成を実用化するシステムの系譜(CNN-SLAM、DVSO、D3VO)に位置する。ネットワークの深度深度勾配の出力を、単一の確率的最適化の中で学習された信頼度を持つノイズの多い測定として扱う——真値としてではなく——という不確かさを意識した融合への重視は、後の学習と幾何を組み合わせた密なSLAMシステムにおいて繰り返し現れる設計原理となった。

関連ノート