Adaptive LiDAR Cropping
An adaptive front end for streaming LiDAR detection. It projects previous detections into the next frame, crops the input around them, and periodically runs a full scan to recover unseen objects. Developed as my MSc thesis and later published at ICIAP.
This thesis started from a deployment constraint: an Ouster OSDome-128 LiDAR mounted above a road, an NVIDIA Jetson AGX Orin, and 3D detectors trained on other datasets. Retraining the models was not the objective. The question was whether a streaming system had to send the complete point cloud through the detector at every frame.
The proposed front end reuses the detector’s previous output as a spatial prior. It keeps the points around projected object locations and removes the rest before inference. The detector itself remains unchanged.
- 50.25%of the input points retainedVoxelNeXt, full refresh every 3 frames
- −3.1 / −1.7mAP points for cars / pedestriansat the same operating point
- +76%PV-RCNN throughput2.43 to 4.27 Hz on Jetson, 50 W
A detector with memory
For each incoming frame, the system carries forward the boxes and velocities predicted in the previous frame. On a moving sensor, it first compensates for ego motion. It then applies a constant-velocity update, expands each projected box to tolerate prediction error, and keeps only the points that fall inside at least one box.
An object entering outside the current crops could remain unseen. The system therefore processes a complete point cloud at a fixed interval. That refresh frequency and the box expansion factor are the two controls: both exchange computation for recall.
- 01DetectRun the unchanged detector on a full point cloud.
- 02ProjectMove the detected boxes forward using velocity and ego motion.
- 03CropKeep only points inside expanded predicted boxes.
- 04UpdateDetect again and use the new output as the next state.
A full frame resets the search and allows new objects to enter the state.
The implementation performs the point-in-rotated-box test as a vectorized GPU operation. The evaluation covers three existing detectors, but in two separate experiments: SECOND and VoxelNeXt measure the accuracy trade-off on nuScenes Mini; SECOND and PV-RCNN measure throughput on the roadside setup.
How much accuracy is exchanged
- Car
- Pedestrian
Show the numbers
| Points processed | Car mAP | Pedestrian mAP |
|---|---|---|
| 100% (baseline) | 0.886 | 0.909 |
| 61.7% | 0.870 | 0.899 |
| 50.3% | 0.855 | 0.892 |
| 40.7% | 0.826 | 0.892 |
| 32.1% | 0.775 | 0.872 |
| 27.2% | 0.664 | 0.853 |
At the 50.25% operating point, car mAP moves from 0.886 to 0.855 and pedestrian mAP from 0.909 to 0.892. More aggressive cropping is not free. At 27.20% of the points, car mAP falls to 0.664 while pedestrian mAP remains at 0.853. Increasing the expansion factor can recover accuracy, but it also retains more points.
This class difference is an observation from these experiments, not a general property of cropping. Faster motion, detector errors and box geometry all affect how quickly a projected region becomes stale.
When fewer points become faster inference
- Baseline
- With cropping
Show the numbers
| Power mode | SECOND base | SECOND cropped | PV-RCNN base | PV-RCNN cropped |
|---|---|---|---|---|
| 15 W | 4.87 | 5.93 | 1.26 | 2.09 |
| 30 W | 7.98 | 8.18 | 1.85 | 3.08 |
| 50 W | 9.37 | 8.52 | 2.43 | 4.27 |
PV-RCNN improves in every power mode. At 50 W it moves from 2.43 to 4.27 Hz, a 76% increase. This is a substantial speed-up, but it does not make the detector match the 10 Hz sensor rate.
SECOND exposes the boundary of the method. It improves from 4.87 to 5.93 Hz at 15 W, changes little at 30 W, and becomes slower at 50 W: 8.52 Hz with cropping against 9.37 Hz without it. Input reduction only helps when detector compute is the bottleneck. Otherwise, the cropping pass and lower GPU utilization can outweigh the saved work.
Scope
The custom sequence is small and does not have exhaustive annotations, so its results are limited to throughput and qualitative inspection with KITTI-pretrained models. The constant-velocity projection is appropriate only while the interval between frames and relative motion remain small. A new object can also be detected only on a full refresh or after it enters an existing crop.
The result is therefore not a faster detector architecture. It is a stateful scheduling layer for a streaming detector, useful when the cost saved inside the model is larger than the cost of deciding which points to keep. The work was later developed into an ICIAP paper with Simone Mentasti and Matteo Matteucci.