NICE-SLAM

Zhu & Peng 2022 · Paper

One-line summary — Introduced a hierarchical scene representation with multi-level local feature grids (coarse, mid, fine) for scalable neural implicit SLAM, overcoming iMAP’s limitations in large scenes.

Problem

Neural implicit representations had just entered SLAM with iMAP, but “existing methods produce over-smoothed scene reconstructions and have difficulty scaling up to large scenes” — limitations “mainly due to their simple fully-connected network architecture that does not incorporate local information in the observations” (abstract). A single global MLP must be updated globally with every new, potentially partial RGB-D observation, so it forgets old regions when learning new ones. NICE-SLAM (CVPR 2022) fixes this with a representation that stores information locally in multi-level feature grids decoded by pre-trained networks.

Method & architecture

The scene is encoded in four feature grids: three geometry grids ϕθl\phi^l_\theta with frozen MLP decoders flf^l, l{0,1,2}l\in\{0,1,2\} for coarse (2 m voxels, extrapolates unobserved geometry), mid (32 cm) and fine (16 cm) levels, plus one colour grid ψω\psi_\omega with decoder gω\mathbf{g}_\omega. A point pR3\mathbf{p}\in\mathbb{R}^3 is decoded via tri-linear interpolation; the mid level gives occupancy op1=f1(p,ϕθ1(p))o^1_{\mathbf{p}}=f^1(\mathbf{p},\phi^1_\theta(\mathbf{p})), the fine level adds a residual conditioned on the mid feature,

Δ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}},

and colour is cp=gω(p,ψω(p))\mathbf{c}_{\mathbf{p}}=\mathbf{g}_\omega(\mathbf{p},\psi_\omega(\mathbf{p})). The coarse/mid/fine decoders are pre-trained as part of ConvONet and then frozen — only grid features are optimised — which stabilises optimisation and injects learned indoor-geometry priors; the coarse grid can predict occupancy outside observed regions, which keeps tracking alive when much of the view is new.

Rendering: along each ray, N=Nstrat+NimpN=N_{\text{strat}}+N_{\text{imp}} points are sampled (stratified plus samples near the measured depth); ray termination probability at point pi\mathbf{p}_i is wi=opij=1i1(1opj)w_i=o_{\mathbf{p}_i}\prod_{j=1}^{i-1}(1-o_{\mathbf{p}_j}), and depth/colour render as

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,

with per-ray depth variance D^var=iwi(D^di)2\hat{D}_{var}=\sum_i w_i(\hat{D}-d_i)^2 also computed at coarse and fine level.

Mapping samples MM pixels from the current frame and selected keyframes, then optimises in stages: mid grid only with the L1L_1 depth loss Lg\mathcal{L}_g, then mid+fine, then a local bundle adjustment 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) that also refines the poses of KK keyframes (Lp\mathcal{L}_p is an L1L_1 colour loss). Tracking runs in parallel, optimising {R,t}\{\mathbf{R},\mathbf{t}\} of the current frame with min(Lg_var+λptLp)\min(\mathcal{L}_{g\_var}+\lambda_{pt}\mathcal{L}_p), where

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}}}

down-weights uncertain regions such as object edges. Pixels whose loss exceeds 10× the frame median are dropped, giving robustness to dynamic objects. Keyframes are selected only among frames with visual overlap of the current view — possible because grid updates are local, so geometry outside the view stays fixed (no catastrophic forgetting by construction). The system runs in three threads: coarse mapping, mid/fine + colour mapping, and tracking.

Results

Evaluated on five datasets: Replica, ScanNet, TUM RGB-D, Co-Fusion, and a self-captured multi-room apartment.

Why it matters for SLAM

NICE-SLAM made neural implicit SLAM scalable to room-sized and larger environments, moving the field past iMAP’s proof-of-concept stage. Its hierarchical feature-grid design became a standard pattern adopted by follow-ups such as ESLAM (tri-planes), Co-SLAM (hash grids), and Point-SLAM (neural points). Together with iMAP, it cemented the Replica / TUM RGB-D / ScanNet evaluation protocol used by most later neural SLAM papers.