NICE-SLAM

Zhu & Peng 2022 · 論文

一行要約 — スケーラブルなニューラル陰関数SLAMのために、複数レベルの局所特徴グリッド(粗・中・細)による階層的シーン表現を導入し、大規模シーンにおけるiMAPの限界を克服した。

問題

ニューラル陰関数表現はiMAPによってSLAMに導入されたばかりであったが、「既存の手法は過度に平滑化されたシーン再構成を生み、大規模シーンへのスケールアップが難しい」——この限界は「主に、観測内の局所情報を取り込まない単純な全結合ネットワークアーキテクチャに起因する」(概要より)。単一の大域MLPは、新しい部分的なRGB-D観測が来るたびに大域的に更新しなければならず、そのため新しい領域を学習する際に古い領域を忘れてしまう。NICE-SLAM(CVPR 2022)は、事前学習済みネットワークによってデコードされる複数レベルの特徴グリッドに情報を局所的に格納する表現によってこれを解決する。

手法とアーキテクチャ

シーンは4つの特徴グリッドで符号化される。凍結されたMLPデコーダーflf^lを持つ3つの幾何グリッドϕθl\phi^l_\theta(l{0,1,2}l\in\{0,1,2\}、粗(2mボクセル、未観測の幾何を外挿)・中(32cm)・細(16cm)レベル)と、デコーダーgω\mathbf{g}_\omegaを持つ1つの色グリッドψω\psi_\omegaである。点pR3\mathbf{p}\in\mathbb{R}^3は三線形補間でデコードされる。中レベルは占有度op1=f1(p,ϕθ1(p))o^1_{\mathbf{p}}=f^1(\mathbf{p},\phi^1_\theta(\mathbf{p}))を与え、細レベルは中レベルの特徴を条件とした残差を加える。

Δop1=f2(p,ϕθ1(p),ϕθ2(p)),op=op1+Δop1,\Delta o^{1}_{\mathbf{p}}=f^{2}(\mathbf{p},\phi^{1}_{\theta}(\mathbf{p}),\phi^{2}_{\theta}(\mathbf{p})),\qquad o_{\mathbf{p}}=o^{1}_{\mathbf{p}}+\Delta o^{1}_{\mathbf{p}},

色はcp=gω(p,ψω(p))\mathbf{c}_{\mathbf{p}}=\mathbf{g}_\omega(\mathbf{p},\psi_\omega(\mathbf{p}))である。粗・中・細のデコーダーはConvONetの一部として事前学習され、その後凍結される——グリッド特徴のみが最適化される——これにより最適化が安定化し、学習済みの室内幾何事前分布が注入される。粗グリッドは観測領域外の占有度を予測できるため、視野の大部分が新規であってもトラッキングが維持される。

レンダリング: 各レイに沿ってN=Nstrat+NimpN=N_{\text{strat}}+N_{\text{imp}}点がサンプリングされる(層化サンプリングに加えて計測深度付近のサンプル)。点pi\mathbf{p}_iでのレイ終端確率はwi=opij=1i1(1opj)w_i=o_{\mathbf{p}_i}\prod_{j=1}^{i-1}(1-o_{\mathbf{p}_j})であり、深度・色は次のようにレンダリングされる。

D^=i=1Nwidi,I^=i=1Nwici,\hat{D}=\sum_{i=1}^{N}w_i d_i,\qquad \hat{I}=\sum_{i=1}^{N}w_i\mathbf{c}_i,

レイごとの深度分散D^var=iwi(D^di)2\hat{D}_{var}=\sum_i w_i(\hat{D}-d_i)^2も粗・細レベルで計算される。

マッピングは現在のフレームと選択されたキーフレームからMMピクセルをサンプリングし、段階的に最適化する。まずL1L_1深度損失Lg\mathcal{L}_gによる中グリッドのみ、次に中+細、そしてポーズもKK個のキーフレームに対して精緻化する局所バンドル調整minθ,ω,{Ri,ti}(Lgc+Lgf+λpLp)\min_{\theta,\omega,\{\mathbf{R}_i,\mathbf{t}_i\}}(\mathcal{L}^c_g+\mathcal{L}^f_g+\lambda_p\mathcal{L}_p)である(Lp\mathcal{L}_pL1L_1色損失)。トラッキングは並行して動作し、現在のフレームの{R,t}\{\mathbf{R},\mathbf{t}\}min(Lg_var+λptLp)\min(\mathcal{L}_{g\_var}+\lambda_{pt}\mathcal{L}_p)で最適化する。ここで

Lg_var=1Mtm=1MtDmD^mcD^varc+DmD^mfD^varf\mathcal{L}_{g\_var}=\frac{1}{M_t}\sum_{m=1}^{M_t}\frac{|D_m-\hat{D}^{c}_m|}{\sqrt{\hat{D}^{c}_{var}}}+\frac{|D_m-\hat{D}^{f}_m|}{\sqrt{\hat{D}^{f}_{var}}}

は、物体の輪郭のような不確かな領域を重み下げする。損失がフレーム中央値の10倍を超えるピクセルは除外され、動的物体に対する頑健性が得られる。キーフレームは、現在のビューと視覚的な重なりを持つフレームの中からのみ選択される——グリッド更新が局所的であるため可能なことで、視野外の幾何は固定されたままとなる(構造上、破滅的忘却が起きない)。システムは3つのスレッド(粗マッピング、中/細+色マッピング、トラッキング)で動作する。

実験結果

Replica、ScanNet、TUM RGB-D、Co-Fusion、自前撮影の複数部屋アパートの5つのデータセットで評価。

SLAMにおける意義

NICE-SLAMは、ニューラル陰関数SLAMを部屋サイズ以上の環境へスケール可能にし、この分野をiMAPの概念実証段階から先へ進めた。その階層的特徴グリッド設計は、ESLAM(三平面)、Co-SLAM(ハッシュグリッド)、Point-SLAM(ニューラルポイント)といった後続研究に採用された標準的なパターンとなった。iMAPと共に、後の多くのニューラルSLAM論文で使われるReplica/TUM RGB-D/ScanNet評価プロトコルを確立した。

関連ノート