Skip to content

Latest commit

 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPU Generated Birds Eye View from KITTI Data

CPU Generated Birds Eye View from KITTI Data

voxelize

A CUDA C++ kernel that converts raw LiDAR point clouds into the pillar-voxel representation consumed by 3D object detection networks.


Background

This project takes point clouds and turns them into 3D pillars in a BEV grid. This allows for 3D space to be processed by a normal CNN the same as a 2D image would be.


Evaluation

1. Benchmark table comparing this kernel against OpenPCDet's voxel_generator at four point cloud densities on an RTX 5060 Ti:

Points This kernel (ms) OpenPCDet (ms) Speedup
25k 1.050 ± 0.012 4.327 ± 0.003 4.12x
50k 1.111 ± 0.010 9.088 ± 0.006 8.18x
100k 1.150 ± 0.010 23.497 ± 0.033 20.43x
130k 1.207 ± 0.011 34.918 ± 0.009 28.92x

Repository Structure

voxelize/
├── csrc/
│   ├── voxelize.cu
│   ├── voxelize.h
│   └── voxelize_ext.cpp
├── voxelize/
│   ├── __init__.py
│   └── cpu_reference.py
├── tests/
│   ├── test_correctness.py
│   └── test_benchmark.py
├── benchmarks/
│   ├── benchmark.py
│   ├── profile_kernel.py
│   └── baseline.json
├── scripts/
│   └── explore_kitti.py
├── .github/
│   └── workflows/
│       └── ci.yml
├── setup.py
├── Makefile
└── README.md

Hardware Requirements

This runs entirely on an RTX 5060 Ti 16GB. Only kernel execution and benchmarking is done here, no model training.

Resource Requirement
GPU Any NVIDIA GPU
VRAM 2GB minimum
CUDA Toolkit 12.x
Python 3.10+
PyTorch 2.x

Sources

PointPillars (Lang et al., CVPR 2019)

About

Turning 3D LIDAR point clouds into voxels / BEV

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages