Surfel
- Also called: surface element
- Category: Sensing › 3D maps & reconstruction
- Tags: mapping, slam, 3d-reconstruction, lidar, 3d-perception
A surface element: a small oriented disk with a position, normal and radius, often with color, confidence and timestamps, used to build dense 3D maps.
Definition
A surfel, short for surface element, is a small flat disk that approximates a patch of a surface. Each surfel stores at least a 3D position, a normal vector and a radius, and mapping systems usually add fields such as color, a confidence or stability value, and the times it was created and last updated. Surfels were introduced as a rendering primitive in computer graphics by Pfister and colleagues in 2000, and were later adopted for dense 3D reconstruction and SLAM with depth cameras and lidar.
A surfel map sits between a raw point cloud and a mesh or volumetric map. Unlike plain points, surfels carry orientation and extent, so they can be rendered as a closed-looking surface and compared with new measurements using point-to-plane distances. Unlike a truncated signed distance field on a voxel grid, they need no fixed volume and no fixed resolution, and they can be moved individually. That last property matters for SLAM: when a loop closure corrects the trajectory, systems such as ElasticFusion deform the surfel map with a deformation graph instead of rebuilding a volume.
In a typical surfel SLAM pipeline, the current map is rendered from the estimated sensor pose, often on the GPU, to produce a model image of positions and normals. The new frame is aligned to this rendering, which gives fast projective data association for ICP-style registration. Measurements that match an existing surfel update it by weighted averaging and raise its confidence; unmatched measurements create new surfels, and surfels that are rarely confirmed are removed. SuMa and SuMa++ apply this scheme to rotating lidar, using range images for rendering, and SuMa++ adds semantic labels to each surfel to filter out moving objects.
Why it matters
Surfels give a dense, editable surface map that supports fast registration and can be corrected after loop closure without rebuilding. They are a common choice in dense RGB-D and lidar SLAM, and similar oriented disks appear in newer neural and Gaussian-based scene representations.
Key applications
- Dense RGB-D SLAM and indoor 3D reconstruction
- Lidar SLAM for outdoor driving and mapping
- Semantic mapping with per-surfel class labels
- Point-based rendering of scanned scenes
- Map deformation after loop closure
In practice
A team mapping a city block with a rotating lidar on a car uses a surfel-based SLAM system. For each new scan, the system renders the current surfel map into a range image at the predicted pose, aligns the scan to it with point-to-plane ICP, and then fuses matched points into existing surfels while adding new ones for unmatched areas. Engineers tune the stability threshold that decides when a surfel is trusted and the rules for removing surfels that are no longer observed, since parked cars that leave would otherwise remain in the map. Semantic labels from a segmentation network are attached to each surfel so that points on moving vehicles can be excluded from registration.
Common misconceptions
- A surfel is just a point — it also has a normal and a radius, which make it a small oriented disk rather than a sample with no extent
- Surfel maps are meshes — surfels are unconnected, with no explicit topology between neighbors
- Surfels need a fixed voxel grid — they live in continuous space, which is one of their advantages over volumetric maps
- Every observed point becomes a permanent surfel — fusion merges repeated observations and removes surfels that are not confirmed
Who should know this
- SLAM and 3D mapping engineers
- Lidar and RGB-D perception developers
- Computer graphics and rendering engineers
- Autonomous driving mapping teams
Related technologies
- ElasticFusion
- SuMa
- TSDF Fusion
- Point-Based Rendering
- 2D Gaussian Splatting
Related terms
Related projects
- LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
- oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required