CoolFace
Apppublic

ai3111/smartgrid-lidar

sourceHugging Facemitupdated 15d agoView on Hugging Face
0likes
App README

SmartGrid-LiDAR — Adaptive Variable-Resolution 2.5D Mapping

Smart India Hackathon 2026 · Problem Statement 26053 · DRDO · Team Time2Act

A LiDAR map that spends resolution the way your eye does: 5 cm cells beside the vehicle, 50 cm at 100 m. 392× less memory than a uniform 5 cm grid, with every point still accounted for.

Three pages

  • —Overview (index.html) — the problem, the pipeline, and the measured numbers, over a hero drawn from real KITTI frames.
  • —Explore (explore.html) — four drives from two sensors. Play the sequence, recolour by category / height / resolution ring, and click any cell to read its height, size, point count and class.
  • —Grid Lab (lab.html) — a real scan re-binned in your browser as you move the ring radii and cell sizes. Cell count, memory, foveation and per-ring occupancy update with every change.

The four datasets

drivesensorplaceconditions
KITTI drive64-beam HDL-64EKarlsruhe, Germanyday, residential
Boston parking lot32-beam HDL-32EBoston, USAday, parking lot
Singapore at night32-beam HDL-32ESingaporenight, arterial road
Singapore after rain32-beam HDL-32ESingaporenight, wet road

Identical code on all four. Foveation measures 26.2× on every one — the grid does not change with the sensor — while ring-0 occupancy falls from 19.9% on 64 beams to about 8.5% on 32, which is the beam spacing made visible.

Honest numbers

  • —392× is two effects: 26× from the variable cell size (the contribution) and 15× from storing only occupied cells (any sparse grid gets this).
  • —94.9% point accuracy, 70.0% mIoU, scored against SemanticKITTI labels over 50 scans. mIoU is the harder number and the honest headline.
  • —The near ring is ~21% occupied because beams are discrete: those cells are unknown, not free.
  • —The recognition model was trained on 64-beam KITTI, so its labels are noisier on the 32-beam drives. The grid itself is unaffected.

Everything here is pre-computed and static; the browser-side grid (assets/grid.js) is a port of src/grid.py, and a test proves under Node that it produces the same cells.

Source: https://github.com/aryan-labs/sih26