Back to portfolio
LiDAR-Based Vehicle Detection & Tracking
2025
A roadside LiDAR perception pipeline that processes sequential point cloud frames to detect and track vehicles through a busy urban intersection. The system runs a full detection-to-track stack — ground removal, motion segmentation, geometric filtering, and multi-object tracking — entirely in 3D without any camera input, achieving 80% MOT accuracy at 20 FPS validated against ground truth annotations.
GitHub link: github.com/vighneshb02/lidar-vehicle-tracker
Processed raw
.pcdframes from a fixed roadside LiDAR by voxel downsampling to 0.05 m resolution, then removed the ground plane using RANSAC plane fitting — chosen over height thresholding because it handles sensor tilt and sloped roads without per-scene recalibrationIsolated dynamic objects via 3D frame differencing against a clean static background scan, computing nearest-neighbour distances between frames to threshold moving points. No optical flow or ego-motion correction needed since the sensor is fixed
Clustered dynamic foreground points with DBSCAN and filtered detections using axis-aligned bounding box extent and aspect ratio constraints to discard pedestrians, fence-line detections, and noise before tracking
Built a greedy nearest-neighbour multi-object tracker that maintains persistent vehicle IDs and computes per-frame motion vectors as inter-frame centroid displacement
Validated against ground truth annotations on an urban intersection dataset, achieving 80% multi-object tracking accuracy at 20 FPS end-to-end
Tech Stack
Python Open3D NumPy DBSCAN RANSAC Point Cloud Processing




