Skip to the lesson
FixTheRobot Explore Robotics / Localization & SLAM / M8 Advanced SLAM and Research / M8-T7

Localization & SLAM · Theory · M8

M8-T7 — Neural and Implicit Mapping

Instead of storing points, store a function that can draw the scene. Then compare what it draws with what the camera sees.

  • Lesson 7 of 9
  • Module 8: Advanced SLAM and Research
  • Theory · research
  • About 10 minutes to read

Classical SLAM maps are explicit: points, planes, voxels, meshes. Neural and implicit mapping store the scene in the parameters of a model, a neural network, a feature grid, or a cloud of 3D Gaussians, that can render images and depth from any viewpoint. Tracking and mapping are then posed as fitting those parameters, and the camera pose, to the observed images by differentiable rendering. The idea is young, evolving month by month, and promising for dense, photorealistic maps. This lesson explains the mechanism, compares it with the classical alternatives, and is explicit about what is demonstrated and what is not.

Learning objectives

After this lesson, you should be able to:

  • Write the volume-rendering equation and compute the weights of samples along a ray.
  • Explain how a differentiable renderer lets a map and a camera pose be estimated from images.
  • Compare implicit and Gaussian representations with TSDF volumes and point maps in memory, speed and quality.
  • State what is established and what is still open in neural and implicit SLAM, with the primary references.

The problem and the intuition

Think of the map as a very good painter that can, on request, draw the room from any viewpoint. Given the camera’s pose, it draws the view; you compare the drawing with the photograph, and the difference tells you two things: how to adjust the painter’s knowledge of the room (mapping) and how to adjust the camera’s pose until the drawing matches (tracking). Both adjustments are gradient descent on the same image-difference loss, which requires that the drawing process be differentiable.

The painter can be a small neural network queried at 3D points (a radiance field), a network plus a grid of learned features (faster), or a cloud of coloured, semi-transparent 3D Gaussians that are projected to the image and blended (very fast, explicit). All three need the same ingredient: a smooth rendering equation along each camera ray. What they buy is dense, photorealistic geometry and appearance with a compact description; what they cost is training time, memory on a GPU, and the loss of the guarantees and the interpretability of classical maps.

Neural and Gaussian maps turn mapping and tracking into fitting a renderer to images. The renderer is differentiable, so gradients tell both the map and the camera pose how to improve.

Volume rendering along a rayA camera ray passes through samples with density sigma. Each sample contributes its colour weighted by its opacity alpha and by the transmittance T, the probability that the ray has not been absorbed before it. The rendered pixel colour is compared with the observed colour to train the map and to track the camera.camera σ1σ2σ3σ4 C = Σ T_i α_i c_i T_i = Π_{j<i}(1 − α_j) α_i = 1 − exp(−σ_i δ_i) density σ_i and colour c_i come from a network, a feature grid, or a set of Gaussians Learn σ and c so that rendered pixels match the camera images.
Volume rendering: the pixel colour is a weighted sum along the ray.

The mechanism, the systems, the status

Problem. From a stream of images (with or without depth), estimate the camera trajectory and a representation from which novel views and depth can be rendered, online.

Assumptions. A mostly static scene with photometric consistency; a GPU; for monocular RGB, enough view overlap and parallax; for RGB-D, depth that is reasonably accurate; known camera intrinsics.

Volume rendering (the shared ingredient)

Along a ray r(s) = o + s d, sample N points with spacing δi. At each, the representation gives a density σi and a colour ci. The opacity of the segment is αi = 1 − exp(−σi δi) and the transmittance (probability that the ray has not been stopped before sample i) is Ti = Πj<i (1 − αj). The pixel colour and the expected depth are:

volume rendering and the fitting loss
C=∑i Ti αi ciC=\sum _{i}\,T_{i}\,\alpha _{i}\,c_{i}
D=∑i Ti αi siD=\sum _{i}\,T_{i}\,\alpha _{i}\,s_{i}
loss=∑pixels ∥C−Cobserved∥1+λ ∥D−Dobserved∥1\text{loss}=\sum _{\text{pixels}}\,\lVert C-C_{\text{observed}}\rVert _{1}+\lambda \,\lVert D-D_{\text{observed}}\rVert _{1}

The weights wi = Tiαi sum to at most 1. The same formula is used for NeRF (Mildenhall et al., 2020) and, with the Gaussians projected and sorted by depth and blended front to back, for 3D Gaussian Splatting (Kerbl et al., 2023).

Representations

Map representations compared
RepresentationExamplesStrengthLimitation
Single MLP (NeRF-style)NeRF; iMAP (Sucar et al., 2021)Compact; smooth; no explicit structureSlow to train; forgets (catastrophic forgetting in online mapping); limited scene size
Feature grids + small decodersNICE-SLAM (Zhu et al., 2022), Co-SLAM (Wang et al., 2023), Instant-NGP (Müller et al., 2022)Much faster; hierarchical; scalable to roomsMemory grows with volume; still GPU-bound
3D Gaussians3D Gaussian Splatting; SplaTAM (Keetha et al., 2024); GS-SLAM (Yan et al., 2024); MonoGS (Matsuki et al., 2024)Explicit, fast to render, easy to edit and prune; real-time renderingMemory in the millions of Gaussians; geometry less accurate than TSDF in places; needs good initial depth
TSDF voxels (classical)KinectFusion (Newcombe et al., 2011); Curless and Levoy (1996)Accurate geometry; well understood; CPU/GPU friendlyFixed resolution; memory grows with volume; no view-dependent appearance
Point / surfel mapsORB-SLAM, ElasticFusion (Whelan et al., 2016)Compact; matureSparse or unstructured; no photorealism

Tracking and mapping with a renderer

  1. Tracking. Fix the map. Render the current view from the predicted pose; compare with the image; take gradient steps on the pose (6 parameters on SE(3)) to reduce the photometric and depth loss.
  2. Mapping. Fix the poses (of a window of keyframes). Add new representation elements where the scene is new (new Gaussians, new grid cells); take gradient steps on the map parameters.
  3. Keyframes and scheduling. As in classical systems, only keyframes drive mapping, with a sliding window and a replay of old keyframes to avoid forgetting.
σ, α, T
density, opacity per segment, and transmittance along a ray.
NeRF
neural radiance field: an MLP mapping a 3D point and direction to density and colour.
3DGS
3D Gaussian Splatting: a scene as a set of anisotropic 3D Gaussians with opacity and colour.
TSDF
truncated signed distance function stored on a voxel grid.

Established versus open

Status of neural and implicit SLAM
ClaimStatus
Differentiable volume rendering can fit a static scene from posed images with high visual qualityEstablished (offline, with known poses)
Joint tracking and mapping with RGB-D input at interactive rates on a desktop GPUDemonstrated in several research systems; benchmarks on small indoor scenes
Monocular RGB without depth, large scenes, long trajectories, outdoor and dynamic scenesOpen; results are limited and fragile
Tracking accuracy competitive with classical SLAM (ORB-SLAM, DROID-SLAM)Mixed: improved on some indoor datasets, not generally better; sensitive to initialisation and motion blur
Map accuracy for navigation and obstacle avoidanceNot established: rendering quality is not geometric accuracy
Failure prediction and uncertaintyOpen

A worked example: rendering weights and memory

  1. Weights along a ray. Three samples with spacing δ = 0.1 m and densities σ = 0.5, 2.0 and 5.0. Opacities: α1 = 1 − e−0.05 = 0.0488, α2 = 1 − e−0.2 = 0.1813, α3 = 1 − e−0.5 = 0.3935. Transmittances: T1 = 1, T2 = 1 − 0.0488 = 0.9512, T3 = 0.9512 × (1 − 0.1813) = 0.7788. Weights w = T α: 0.0488, 0.1724, 0.3064. They sum to 0.528: the ray has been 52.8% absorbed within these samples, and the remaining 47.2% would go to samples further along (or the background).
  2. The pixel. If the three colours are (0.2, 0.2, 0.2), (0.8, 0.1, 0.1) and (0.1, 0.8, 0.1), the red channel contribution is 0.0488 × 0.2 + 0.1724 × 0.8 + 0.3064 × 0.1 = 0.0098 + 0.1379 + 0.0306 = 0.178. The rendered colour depends smoothly on every σ and c, so a gradient of the loss with respect to them exists: that is the whole trick.
  3. Memory: dense TSDF. A 5 m × 5 m × 5 m room at 1 cm voxels has 5003 = 1.25 × 108 voxels. At 8 bytes per voxel (TSDF, weight, colour) that is 1 GB. Voxel hashing (only allocating near surfaces) reduces it by about 10 to 20 times in real scenes. A Gaussian-splatting model of a room typically has 105 to 106 Gaussians at about 59 floating-point numbers each (position 3, scale 3, rotation 4, opacity 1, spherical-harmonic colour 48) ≈ 236 bytes: 24 MB to 240 MB. These are order-of-magnitude figures, to be measured in each system.
  4. What the loss does not see. A mirror or a glass wall: the renderer fits the reflected scene as geometry behind the mirror, and the photometric loss is minimal. Rendering quality is high, and the map is wrong for a robot that must avoid the wall. This is why photometric agreement is not geometric accuracy.
  5. Tracking by rendering. A pose error of 5 cm shifts a surface 2 m away by about 2.5% of its distance in the image: the rendered image is shifted by a few pixels, and the L1 loss rises. The gradient points to the correction. If the motion is large or blurred, the loss surface has local minima (as in M6-L1, for the same reason), and the tracker needs a good initial guess from a motion model or an IMU.

Engineering implications and limitations

Engineering implications

  • Treat it as a mapping layer on top of tracking you trust. Using classical SLAM or visual-inertial odometry for the poses and a neural or Gaussian map for appearance is the pragmatic combination today.
  • Check geometry independently. Evaluate depth and surface accuracy against ground truth, not only image quality (PSNR, SSIM).
  • Budget GPU memory and time, and confirm real-time claims on your hardware: many reports use high-end desktop GPUs.
  • Expect fragility in tracking: motion blur, exposure changes, dynamic objects and textureless areas all break photometric assumptions (M6-T9).
  • Plan for forgetting and scale: online training can forget old regions; large scenes need submaps and loop closure that most of these systems lack.
  • Do not feed it to a planner without a geometric check. Rendering can be photoreal and metrically wrong.

Limits

Most results come from small indoor scenes with RGB-D cameras and short sequences. Loop closure, global consistency, large scale, dynamic scenes and uncertainty are open, and the field changes fast: specific accuracy and speed numbers in papers go out of date within months. There is no established theory that explains when the photometric loss leads to a correct map. Read each new system for its data, depth input, scene size, hardware and evaluation protocol before relying on a headline number (M8-T8).

Common misconceptions

“A NeRF is a 3D model of the scene.”

It is a function that renders appearance; extracting accurate surfaces is a separate and imperfect step.

“Gaussian splatting SLAM replaces classical SLAM.”

It currently builds dense appearance maps on top of tracking that is often classical or RGB-D based; large-scale operation is open.

“A photorealistic render means an accurate map.”

The loss is photometric; mirrors, glass and textureless regions can be rendered well and be geometrically wrong.

“Neural maps are always smaller.”

A learned grid or a million Gaussians can take tens or hundreds of megabytes, more than a sparse feature map.

Engineering takeaways

  1. Volume rendering C = Σ T α c is the shared mechanism; it is differentiable, so both the map and the camera pose can be fitted to images.
  2. NeRF-style, feature-grid and Gaussian representations trade training speed, memory, editability and geometric accuracy.
  3. Established: offline fitting of a static scene to posed images. Demonstrated: online RGB-D systems on small indoor scenes. Open: monocular, large-scale, dynamic, uncertainty, loop closure.
  4. Rendering quality is not geometric accuracy: verify depth and surfaces separately.
  5. Use neural maps as an appearance layer on top of trusted tracking until the open problems are solved.

References and further reading

Primary papers. The status table in the text separates what is established from what is demonstrated only in research systems and what is open.

Knowledge check

Three conceptual questions. Write an answer, then reveal the explanation. Your answers stay in your browser.

Question 1

Two samples on a ray have σ = 1.0 and σ = 4.0 with spacing 0.1 m. What are their weights?

Explanation

α1 = 1 − e−0.1 = 0.0952 and α2 = 1 − e−0.4 = 0.3297; T1 = 1, T2 = 1 − 0.0952 = 0.9048. Weights: w1 = 0.0952 and w2 = 0.9048 × 0.3297 = 0.2983.

Question 2

Why can a Gaussian-splatting SLAM produce a beautiful render of a room with a glass wall and still be useless for obstacle avoidance?

Explanation

The training loss is photometric: it is satisfied by fitting the reflected or transmitted scene as geometry behind the glass. The render matches the images but the glass surface is missing, so a robot using the geometry would drive into it. Rendering quality does not guarantee geometric accuracy.

Question 3

Which part of neural SLAM is better established than the rest: online monocular mapping of a large outdoor scene, or fitting a static room to known poses, and why?

Explanation

Fitting a static room to known poses with differentiable rendering is well established (NeRF, 3DGS). Online monocular mapping of a large outdoor scene adds unknown poses, scale ambiguity, dynamics, lighting changes and memory limits, and is open.

What’s next

With so many systems and so much recent progress, claims need careful measurement. The next lesson is about evaluating SLAM correctly and reading benchmark protocols.

Practice this lesson

Evaluate a SLAM System Under Controlled Failures

Inject controlled failures (noise, outliers, dropouts) into a SLAM run and report degradation honestly.

Next lesson

M8-T8 — SLAM Evaluation and Benchmarking

Compute ATE and RPE correctly, align trajectories, and read benchmark protocols.

Nothing below is required to finish this lesson.