ESLAM

Johari 2023 · 論文

一行要約 — NICE-SLAMの3D特徴ボクセルグリッドをトライプレーン表現に置き換え、ニューラルSLAMのメモリ増加をO(L3)O(L^3)からO(L2)O(L^2)に削減しつつ、符号付き距離場をデコードすることで滑らかな表面を実現した。

問題

グリッドベースのニューラルSLAMはボクセルごとに特徴ベクトルを保持するため、モデルはシーンの辺長に対して立方的に増大する — NICE-SLAMの階層グリッドは室内スケールでもかなりのGPUメモリを消費し、解像度とシーンサイズを制限する。ESLAM(「Efficient Dense SLAM System Based on Hybrid Representation of Signed Distance Fields」)は、姿勢が未知の連続したRGB-Dフレームを読み込み、体積的な特徴場を再構成品質を落とさずに根本的に安価なものへと因数分解できるかどうか、そしてデコードされる量としてTSDFがoccupancyより優れているかどうかを問う。

手法とアーキテクチャ

トライプレーン表現: 特徴は2つのスケール(粗と細)における軸整列した直交2D平面上に存在し、幾何と見た目に対して別々の平面集合を持つ — この2つを分離することは「見た目のほうがより頻繁に揺らぐため、幾何再構成の忘却問題を緩和する」。クエリ点ppは各平面に投影され双線形補間される。各スケールの特徴は加算され、スケールは結合される:

fgc(p)=Fxyc(p)+Fxzc(p)+Fyzc(p),fg(p)=[fgc(p);fgf(p)],f^{c}_{g}(p)=F^{c}_{xy}(p)+F^{c}_{xz}(p)+F^{c}_{yz}(p),\qquad \boldsymbol{f_g}(p)=[f^{c}_{g}(p);\,f^{f}_{g}(p)],

(見た目平面からfa(p)\boldsymbol{f_a}(p)も同様に得られる)。浅い2層MLPはϕg(p)=hg(fg(p))\boldsymbol{\phi_g}(p)=h_g(\boldsymbol{f_g}(p))を正規化TSDF(表面でゼロ、トランケーション距離TTで大きさ1)に、ϕa(p)=ha(fa(p))\boldsymbol{\phi_a}(p)=h_a(\boldsymbol{f_a}(p))を生の色にデコードする。モデルサイズはシーンの体積ではなく面積に応じて増大する。

SDFベースのレンダリング: レイあたりN=Nstrat+NimpN=N_{strat}+N_{imp}個のサンプル(層別サンプルと近接表面/重点サンプル)に対して、TSDFは学習可能な鋭さβ\betaを用いて体積密度に変換される:

σ(pn)=βSigmoid(βϕg(pn)),\boldsymbol{\sigma}(p_n)=\beta\cdot\mathrm{Sigmoid}\big(-\beta\cdot\boldsymbol{\phi_g}(p_n)\big),

その後標準的な重みwn=exp(k=1n1σ(pk))(1exp(σ(pn)))w_n=\exp\big(-\sum_{k=1}^{n-1}\boldsymbol{\sigma}(p_k)\big)\big(1-\exp(-\boldsymbol{\sigma}(p_n))\big)が色c^=nwnϕa(pn)\boldsymbol{\hat{c}}=\sum_n w_n\boldsymbol{\phi_a}(p_n)と深度d^=nwnzn\boldsymbol{\hat{d}}=\sum_n w_n z_nをレンダリングする。

損失: TSDFはレンダリング損失に加えて高速な点ごとの教師信号を可能にする — 表面より前でϕg=1\boldsymbol{\phi_g}=1を促すフリースペース損失と、トランケーション領域内で深度計測を近似SDFとして用いる符号付き距離損失であり、

LT=1RrR1PrTpPrT(z(p)+ϕg(p)TD(r))2,\mathcal{L}_{T}=\frac{1}{|R|}\sum_{r\in R}\frac{1}{|P_r^T|}\sum_{p\in P_r^T}\big(z(p)+\boldsymbol{\phi_g}(p)\cdot T-D(r)\big)^2,

これはトランケーション領域の中間部分と末尾部分に分けられ、異なる重みが与えられる(実効的に小さいトランケーションはマッピングを鋭くし、トラッキングは全帯域を使う)。さらに2\ell_2の深度・色レンダリング損失が加わる。同じグローバル損失(重みが異なる)がマッピングとトラッキングの両方を駆動する。

SLAMループ: 事前学習も段階的な最適化もない — 平面とデコーダは最初のフレームでランダムに初期化される。マッピングはkkフレームごとに、WWフレーム(現在+直前2キーフレーム+ランダムなW3W-3キーフレーム)にわたって更新され、平面、デコーダ、WW個の姿勢を同時に最適化する。トラッキングは各フレームでAdamを用いて並進+四元数について実行され、深度のないレイと外れ値(レンダリング深度誤差がバッチ中央値の10倍を超えるもの)は除外される。

実験結果

SLAMにおける意義

ESLAMは、NICE-SLAM以後のニューラルSLAM研究を支配した「マップ表現をいかに効率化するか」という問いに対する3つの標準的な回答の1つである(Co-SLAMのハッシュグリッド、Point-SLAMのニューラル点とともに)。生成的3Dモデリングから借用したトライプレーンの発想は、その後のメモリ効率の良い密なSLAM設計に影響を与え、点ごとの損失を伴うTSDFという手法は、デコードされる量の選択(SDFかoccupancyか)が符号化の選択と同じくらい重要であることを示した。

関連ノート