FOVEA
Adaptive variable-resolution 2.5D LiDAR mapping
connecting…
SEQ —
—
— FPS
— ms
top-down · ±60 m

How FOVEA works

A recorded drive (SemanticKITTI, Velodyne HDL-64, 10 Hz) replays through the full perception stack on the GPU. Every number on screen is measured live.

  1. SegmentA sparse 3D U-Net labels each of ~120k points per scan into 19 classes: road, sidewalk, terrain, vegetation, buildings, poles, cars, pedestrians, cyclists…
  2. FuseStatic structure from the last scans is aligned with the ego poses; moving objects are taken only from the current scan, so they never leave ghost trails.
  3. Detect & trackVehicle and pedestrian points become oriented boxes; a world-frame tracker plus a scan-to-scan overlap test separates moving traffic from parked cars.
  4. MapPoints are projected into nested rings — 5 cm cells within 10 m, then 10, 20 and 40 cm out to 100 m. Each point lands in exactly one cell; coarse cells are exact unions of fine ones, so there is no alignment error and no data loss.
  5. 2.5D layersEach cell stores ground height, obstacle top, clearance under overhangs, step height to its neighbours (curbs, pothole rims), class and drivability. Thin obstacles always win a cell: a pole is never averaged away inside a coarse road cell.
22×less memory than a uniform 5 cm 2.5D grid
319×less than dense 5 cm 3D voxels
6.6×faster projection than a uniform 5 cm grid

Space play · ←→ step · 1–4 map colour · hover a cell to inspect it · H this panel