This project processes raw LiDAR data and visualizes it as a Bird's Eye View (BEV) RGB image using basic preprocessing and point cloud filtering.
- Loads
.binLiDAR files - Removes irrelevant points based on 3D spatial boundaries
- Projects the LiDAR data into a 2D BEV feature map
- Saves and displays the resulting RGB BEV image
project/
├── data/
│ └── velodyne/
│ └── 0000000000.bin
├── utils.py
├── config.py
├── main.py
└── output.png
Ensure you have the following Python packages installed:
pip install numpy opencv-pythonmain.py: Main script to generate and display the BEV image.utils.py: Contains helper functions for loading and processing LiDAR data.config.py: Configuration for BEV grid size, discretization, and 3D boundary limits.
Place a LiDAR .bin file in the data/velodyne/ directory. Then run:
python main.pyThis will:
- Load and preprocess the LiDAR data.
- Generate a BEV RGB image.
- Save it as
output.png. - Display it using OpenCV.
Adjust config.py for:
BEV_WIDTH: Width of the BEV map.DISCRETIZATION: Grid resolution.boundary: 3D spatial limits for filtering points.
This project draws inspiration from and acknowledges the following works:
- kitti2coco by packyan in Python 3.6 and another one. they both convert from kitti to coco and inversibly
- Complex-YOLOv3: For parsing and training on the KITTI dataset, as well as prediction on BEV lidar data. A large part of the codes is berrowed from their excellent work!