Papers
Topics
Authors
Recent
Search
2000 character limit reached

Multi-scale Octree Surfel Maps

Updated 27 June 2026
  • Multi-scale Octree Surfel Maps are a hierarchical spatial representation that organizes planar surfels within an octree to capture varying geometric resolutions for 3D mapping and rendering.
  • They employ statistical accumulation and incremental update schemes to achieve robust LiDAR-Inertial odometry and efficient texture-preserving compression.
  • The system optimizes spatial queries and rendering through multi-scale association, loop closure, and MAP estimation, leading to improved accuracy and lower bitrates compared to traditional methods.

Multi-scale octree surfel maps provide a hierarchical, surface-oriented spatial representation that blends efficient storage, multi-resolution processing, and robust geometric abstraction for 3D mapping, rendering, odometry, and compression. In these approaches, surfels—disk-like local approximations to surfaces—are organized within an octree, with varying spatial granularities corresponding to different levels in the tree. Two primary and distinct paradigms—real-time mapping for Lidar-Inertial Odometry (SLICT) (Nguyen et al., 2022) and 3D content compression/streaming (TeSO) (Hu et al., 9 Aug 2025)—define the current frontier.

1. Hierarchical Octree Organization

At the foundation, the multi-scale surfel map uses an octree, a tree data structure in which each node corresponds to a cubic voxel at a particular scale. The root node represents the coarsest spatial granularity, with child nodes recursively subdividing space into finer voxels.

In SLICT (Nguyen et al., 2022), each node at depth di{0,1,,Dmax}d_i \in \{0,1,\dotsc,D_{\max}\} maps to a voxel of size si=2dis_i=2^{d_i} \ell, with leaves corresponding to the finest resolution \ell. Each node contains a single surfel aggregating all 3D points historically mapped to its cubic volume.

In TeSO (Hu et al., 9 Aug 2025), the octree is pruned so that leaf nodes represent those cubes for which a planar surfel yields an approximation error below an explicit threshold τ\tau (measured via D1-PSNR). Nodes at different levels, l=0,,Ll=0,\dots,L, correspond to cube sizes b(l)=B/2lb(l) = B/2^l, where BB is the root edge length, enabling a wide range of granularity. Pruning is data-driven: only subdivide when a cube cannot be accurately modeled by a single planar surfel.

2. Surfel Representation and Statistical Accumulation

A surfel is canonically parameterized as a local planar patch:

  • Center position pR3p \in \mathbb{R}^3
  • Oriented normal nR3n \in \mathbb{R}^3, n=1\|n\|=1
  • Radius of influence si=2dis_i=2^{d_i} \ell0
  • Additional attributes (e.g., planarity, color/texture, statistics)

SLICT computes surfel attributes for each node si=2dis_i=2^{d_i} \ell1 using cumulative statistics of contained points si=2dis_i=2^{d_i} \ell2:

  • si=2dis_i=2^{d_i} \ell3
  • First-order moment si=2dis_i=2^{d_i} \ell4
  • Second-order (corrected) moment si=2dis_i=2^{d_i} \ell5
  • Mean: si=2dis_i=2^{d_i} \ell6
  • Covariance: si=2dis_i=2^{d_i} \ell7
  • Surface normal: si=2dis_i=2^{d_i} \ell8 (eigenvector of smallest variance)
  • Planarity: si=2dis_i=2^{d_i} \ell9

TeSO constructs each surfel \ell0 at a given octree leaf as:

  • \ell1: mean position of member points within the cubic voxel
  • \ell2: mean of normals, normalized
  • \ell3: maximum Euclidean distance from \ell4 to any member point

For texture, each surfel receives an \ell5 grid of RGB values built as a local planar projection with interpolation from nearest original points.

3. Incremental Construction and Efficient Operations

Incremental Update (SLICT): Surfels and their statistics are updated as new points arrive using Welford’s algorithm. Merging two child nodes \ell6 into a parent \ell7 involves:

  • \ell8
  • \ell9
  • τ\tau0
  • τ\tau1

Propagation proceeds up the tree, enabling efficient, on-the-fly updates for point insertion or removal in τ\tau2 time.

Construction (TeSO): The surfel octree is assembled via a multi-pass, coarse-to-fine grouping. At each candidate level τ\tau3:

  • Points are partitioned into non-empty cubes.
  • For each cube, fit a candidate surfel and evaluate error (D1-PSNR).
  • If error is below threshold τ\tau4 (or at maximum level), record the surfel and remove points from subsequent passes.
  • Otherwise, points are considered at a finer level in the next pass.

This most-to-least coarse sweep yields a sparse set of locally planar surfels at the minimal necessary resolution, greatly reducing primitive count relative to grid-aligned representations.

4. Multi-Scale Association, Map Query, and Rendering

Point-to-Surfel Association (SLICT):

  • Given a query point τ\tau5, search across octree nodes at relevant depths τ\tau6 for which the node’s cube intersects τ\tau7.
  • Surfel is eligible if τ\tau8 and τ\tau9.
  • Accept if signed point-to-plane distance l=0,,Ll=0,\dots,L0, where l=0,,Ll=0,\dots,L1.

Rendering (TeSO):

  • For each surfel, a disk of radius l=0,,Ll=0,\dots,L2 in the tangent plane is rendered, with a “soft” l=0,,Ll=0,\dots,L3-halo of width l=0,,Ll=0,\dots,L4 to eliminate cracks.
  • Texture mapping is performed by projecting pixel grid samples through the local surfel frame into RGB via nearest neighbor interpolation from original point cloud data.
  • Ray–surfel intersection follows: solve for l=0,,Ll=0,\dots,L5, where l=0,,Ll=0,\dots,L6 is the ray origin and l=0,,Ll=0,\dots,L7 the direction.

5. Optimization, Loop Closure, and MAP Estimation

SLICT’s Complete Framework:

  • Maintains continuous-time odometry through joint optimization over sequence of discrete “key states” and IMU preintegration in a sliding window.
  • The residual for each LiDAR-IMU correspondence uses temporally interpolated pose and surfel association.
  • MAP objective couples IMU and surfel association terms:

l=0,,Ll=0,\dots,L8

6. Compression and Entropy Coding

TeSO Compression Pipeline:

  • Geometry quantization: cube-local offset, normal (octahedral encoding), and radius quantized per level.
  • Base octree occupancy: entropy coded with G-PCC for coarse levels.
  • Learned entropy models (3D sparse-conv nets) contextually predict occupancy, split flags, and surfel attributes for finer octree levels, minimizing the cross-entropy loss.

l=0,,Ll=0,\dots,L9

  • Texture codes either as a single Morton-ordered 2D atlas (compressed with AV1) or using G-PCC color for each surfel’s texels.
  • TeSO achieves encoding rates for 1M points b(l)=B/2lb(l) = B/2^l00.3 sec (GEFORCE RTX4080), decoding times: geometry—0.7s (learned model), texture AV1—0.3s.

7. Computational Analysis and Application Contexts

System Insertion/Removal Complexity Query Complexity Distinctive Features
SLICT b(l)=B/2lb(l) = B/2^l1 b(l)=B/2lb(l) = B/2^l2 (multi-scale) Real-time LiDAR-Inertial odometry, robustness via multi-scale PTS, loop closure, bundle adjustment (Nguyen et al., 2022)
TeSO Pass over all points per level; parallelizable b(l)=B/2lb(l) = B/2^l3 (rendering) High-fidelity streaming, compact 3D encoding, texture-preserving planar surfels, real-time decoding (Hu et al., 9 Aug 2025)

SLICT demonstrates that multi-scale association boosts odometry in degenerate environments, improving Absolute Trajectory Error by up to b(l)=B/2lb(l) = B/2^l4 over single-scale direct methods at a moderate computational overhead (165 ms per cycle vs. 100 ms LiDAR arrival). TeSO delivers 30–50% better bitrates for the same perceptual quality (LPIPS) compared to G-PCC and 3D Gaussian baselines, with real-time decoding feasible on modern GPUs and precise control of rate-distortion through the surfel error threshold.

This suggests that the fusion of multi-scale spatial hierarchy and local surface approximation accommodates both production-grade mapping and high-performance 3D media streaming, illustrating the flexibility of octree surfel abstractions in contemporary 3D data systems.

References

  • "SLICT: Multi-input Multi-scale Surfel-Based Lidar-Inertial Continuous-Time Odometry and Mapping" (Nguyen et al., 2022)
  • "TeSO: Representing and Compressing 3D Point Cloud Scenes with Textured Surfel Octree" (Hu et al., 9 Aug 2025)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Multi-scale Octree Surfel Maps.