vMAP

Kong 2023 · Paper

One-line summary — Object-level neural-field SLAM in which every detected object gets its own tiny MLP, all trained simultaneously through vectorised operations — watertight, model-free per-object reconstruction at 5 Hz map updates with up to 50 objects per scene.

Problem

Neural-field SLAM systems like iMAP and NICE-SLAM represent the whole scene as one monolithic field with no object-level structure, and extracting individual objects is hard because “the correspondences between network parameters and specific scene regions are complicated”. Object-level SLAM, meanwhile, needed CAD models or category-level shape priors to complete unseen surfaces — without priors only the directly observed parts get reconstructed, leaving holes. vMAP targets the no-prior case: efficient, watertight, per-object reconstruction inside a live RGB-D SLAM system.

Method & architecture

Object initialisation & association. Each frame carries dense instance masks (ground truth, or Detic pre-trained on LVIS). Detections are associated across frames by two criteria — semantic consistency (same predicted class) and spatial consistency (mean IoU of 3D object bounds); unmatched detections spawn a new object MLP appended to the model stack. Per-object 3D bounds come from the depth-backprojected point cloud and are refined as observations accumulate. Camera poses are provided externally by ORB-SLAM3 — found “more accurate and robust compared to jointly optimising pose and geometry”.

Vectorised training (the key contribution). All object MLPs share one architecture (4 layers, hidden size 32; the background model uses 128), so they can be stacked and optimised as a single batched computation with PyTorch’s vectorised operations instead of a Python loop. Each object samples pixels from its own independent keyframe buffer, so any object’s training can stop or resume with no inter-object interference.

Depth-guided sampling. Along each ray, NcN_c points are stratified-uniform between the near bound tnt_n and the depth-map surface tst_s, and NsN_s points concentrate near the surface:

tiU(tn+i1Nc(tstn),  tn+iNc(tstn)),tiN(ts,dσ2),t_i \sim \mathcal{U}\Bigl(t_n + \tfrac{i-1}{N_c}(t_s - t_n),\; t_n + \tfrac{i}{N_c}(t_s - t_n)\Bigr), \qquad t_i \sim \mathcal{N}(t_s, d_{\sigma}^{2}),

with dσ=3d_\sigma = 3 cm; invalid depth falls back to the far bound.

Occupancy rendering. View direction is omitted (surfaces over view-dependent appearance) and each point has occupancy probability oθ(xi)[0,1]o_\theta(\mathbf{x}_i) \in [0,1], giving termination probability Ti=o(xi)j<i(1o(xj))T_i = o(\mathbf{x}_i)\prod_{j<i}\bigl(1-o(\mathbf{x}_j)\bigr) and renders

O^(r)=i=1NTi,D^(r)=i=1NTidi,C^(r)=i=1NTici.\hat{O}(\mathbf{r}) = \sum_{i=1}^{N} T_i, \qquad \hat{D}(\mathbf{r}) = \sum_{i=1}^{N} T_i d_i, \qquad \hat{C}(\mathbf{r}) = \sum_{i=1}^{N} T_i c_i.

Losses. For object kk, pixels are sampled only inside its 2D bounding box RkR^k; depth and colour are supervised inside the mask MkM^k (L1), while the rendered occupancy is pushed to match the mask everywhere in RkR^k — so the field learns to be empty outside the object:

L=k=1KLdepthk+λ1Lcolourk+λ2Loccupancyk,λ1=5, λ2=10.L = \sum_{k=1}^{K} L^{k}_{\text{depth}} + \lambda_{1} L^{k}_{\text{colour}} + \lambda_{2} L^{k}_{\text{occupancy}}, \qquad \lambda_1 = 5,\ \lambda_2 = 10.

Compositional rendering. Any object can be queried inside its 3D bounds, frozen, removed, or recomposed; scene-level novel views use Ray-Box intersection per object and rank rendered depths along each ray for occlusion-aware compositing.

Results

Why it matters for SLAM

vMAP brought object-level decomposition to neural-field SLAM, bridging the object-SLAM lineage (SLAM++, Fusion++, NodeSLAM) with the implicit-mapping lineage (iMAP, NICE-SLAM). The resulting map is not just geometry but a set of independently trainable, manipulable object entities — exactly what robotic manipulation and scene editing need — and the vectorised-training trick showed that “many networks” scales on a single GPU. It became the reference design for object-centric neural-field mapping and influenced subsequent object-aware dense SLAM work.