Instructions to use AutowareFoundation/lidar_centerpoint with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- TensorRT
How to use AutowareFoundation/lidar_centerpoint with TensorRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
CenterPoint for Autoware (lidar_centerpoint)
3D object detection models for LiDAR point clouds, used by the
autoware_lidar_centerpoint
node in Autoware.
The models follow the CenterPoint [1] architecture with a PointPillars [2] voxel encoder and run with TensorRT inside Autoware. They are exported as ONNX so they can be deployed across hardware; Autoware builds the TensorRT engine from the ONNX file on first launch.
Model overview
| Task | 3D object detection (oriented bounding boxes) from a LiDAR point cloud |
| Architecture | CenterPoint detection head on a PointPillars-style voxel encoder |
| Detected classes | CAR, TRUCK, BUS, BICYCLE, PEDESTRIAN |
| Runtime | TensorRT (FP16 by default, FP32 selectable) via the autoware_lidar_centerpoint ROS 2 node |
| Format | ONNX (Autoware builds the TensorRT engine locally on first launch) |
| License | Apache-2.0 (see Legal Notice for training-data terms) |
The network is split into two ONNX sub-models, matching how the node consumes them:
- Voxel encoder β
pts_voxel_encoder_*.onnx- input:
input_featuresβ output:pillar_features
- input:
- Backbone / neck / head β
pts_backbone_neck_head_*.onnx- input:
spatial_featuresβ outputs:heatmap,reg,height,dim,rot,vel
- input:
Pre-processing (voxelization, multi-frame densification) and post-processing (circle NMS, IoU NMS, yaw normalization, distance-based score thresholding) run in the node, not in the ONNX graphs.
Variants in this repository
| Variant | Weights provided | Voxel size (x, y, z) [m] | Point cloud range [m] | Downsample factor |
|---|---|---|---|---|
centerpoint |
ONNX | 0.32, 0.32, 10.0 |
[-76.8, -76.8, -4.0, 76.8, 76.8, 6.0] |
1 |
centerpoint_tiny |
ONNX | 0.32, 0.32, 10.0 |
[-76.8, -76.8, -4.0, 76.8, 76.8, 6.0] |
2 |
centerpoint_sigma |
parameter file only (shares centerpoint model params) |
0.32, 0.32, 10.0 |
[-76.8, -76.8, -4.0, 76.8, 76.8, 6.0] |
1 |
Common model parameters for every variant: point_feature_size: 4, encoder_in_feature_size: 9,
max_voxel_size: 40000. The default and tiny variants use a 480Γ480 BEV grid; centerpoint_tiny halves the
backbone output resolution via downsample_factor: 2, trading accuracy for speed.
The upstream package also defines a
centerpoint_short_rangevariant (range[-51.2, 51.2], voxel0.16,encoder_in_feature_size: 10). Its weights are not included here.
Files
| File | Description |
|---|---|
pts_voxel_encoder_centerpoint.onnx |
Voxel encoder, centerpoint |
pts_backbone_neck_head_centerpoint.onnx |
Backbone/neck/head, centerpoint |
pts_voxel_encoder_centerpoint_tiny.onnx |
Voxel encoder, centerpoint_tiny |
pts_backbone_neck_head_centerpoint_tiny.onnx |
Backbone/neck/head, centerpoint_tiny |
centerpoint_ml_package.param.yaml |
Model parameters for centerpoint |
centerpoint_tiny_ml_package.param.yaml |
Model parameters for centerpoint_tiny |
centerpoint_sigma_ml_package.param.yaml |
Model parameters for centerpoint_sigma |
detection_class_remapper.param.yaml |
Area-based class remapping (e.g. large car β truck/trailer) |
deploy_metadata.yaml |
Deployment metadata consumed by Autoware's model tooling |
TensorRT engines are not distributed here. TensorRT engines are specific to the GPU architecture and TensorRT version they are built on and are not portable, so Autoware builds them locally from the ONNX files on first launch (or via
build_only:=true).
Inputs and outputs (as used by the node)
Input β ~/input/pointcloud (sensor_msgs/msg/PointCloud2), with points of the form:
struct InputPointType {
float x;
float y;
float z;
uint8_t intensity;
uint8_t return_type;
uint16_t channel;
};
Output β ~/output/objects (autoware_perception_msgs/msg/DetectedObjects): oriented 3D boxes with class
and score. object.existence_probability carries the DNN classification confidence (not a calibrated
probability).
Usage in Autoware
The node downloads these artifacts to ~/autoware_data/ml_models/lidar_centerpoint/ and launches with, e.g.:
ros2 launch autoware_lidar_centerpoint lidar_centerpoint.launch.xml \
model_name:=centerpoint_tiny \
model_path:=$HOME/autoware_data/ml_models/lidar_centerpoint \
model_param_path:=$(ros2 pkg prefix autoware_lidar_centerpoint --share)/config/centerpoint_tiny.param.yaml
Add build_only:=true to build the TensorRT engine from the ONNX as a one-off pre-task.
See the package README
for the full parameter reference and the training/deployment guide.
Training data
Models were trained with the Autoware fork of MMDetection3D:
centerpointβ nuScenes (28k LiDAR frames) [3] + TIER IV internal data (11k LiDAR frames), 60 epochs.centerpoint_tinyβ Argoverse 2 (110k LiDAR frames) [4] + TIER IV internal data (11k LiDAR frames), 20 epochs.
A 600-frame sample dataset (T4 format, 5 classes; sensors: 1Γ Velodyne VLS128, 4Γ Velodyne VLP16, 1Γ Robosense RS Bpearl) is available for evaluation and fine-tuning, as documented in the package README.
Limitations
- Trained primarily on nuScenes / Argoverse 2 sensor configurations; accuracy on a different LiDAR setup (mounting position, beam count, concatenated clouds) can drop without fine-tuning.
- Only the five classes above are detected. Other road users fall outside the label set.
Citation
@article{yin2021centerpoint,
title = {Center-based 3D Object Detection and Tracking},
author = {Yin, Tianwei and Zhou, Xingyi and Kr{\"a}henb{\"u}hl, Philipp},
journal = {arXiv preprint arXiv:2006.11275},
year = {2020}
}
@inproceedings{lang2019pointpillars,
title = {PointPillars: Fast Encoders for Object Detection from Point Clouds},
author = {Lang, Alex H. and Vora, Sourabh and Caesar, Holger and Zhou, Lubing and Yang, Jiong and Beijbom, Oscar},
booktitle = {CVPR},
year = {2019}
}
References
- [1] Yin et al., "Center-based 3D Object Detection and Tracking", arXiv:2006.11275, 2020.
- [2] Lang et al., "PointPillars: Fast Encoders for Object Detection from Point Clouds", CVPR 2019.
- [3] nuScenes β https://www.nuscenes.org/nuscenes
- [4] Argoverse 2 β https://www.argoverse.org/av2.html
Acknowledgment
Special thanks to Deepen AI for the 3D annotation tools used to create the sample dataset.
Legal Notice
The nuScenes dataset is released publicly for non-commercial use under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License. Additional Terms of Use can be found at https://www.nuscenes.org/terms-of-use. To inquire about a commercial license please contact nuscenes@motional.com.
- Downloads last month
- 417