Point cloud object detection
Collection
12 items • Updated
A PointPillars 3D object detection model (pillar encoder with a 2D backbone). Trained on nuScenes.
pip install torch-pointcloud
import torch
import torch_pointcloud as tp
from torch_pointcloud.utils.data import collate
model, info = tp.create_model(
"pointpillars-multihead.nuscenes.openpcdet",
task="detection",
pretrained=True,
return_info=True,
)
model = model.eval()
# synthetic sample with the keys a dataset provides
num_points = 8192
sample = {
"pos": torch.randn(num_points, 3),
"intensity": torch.rand(num_points, 1),
"timestamp": torch.zeros(num_points, 1),
}
data = info["transform"](sample)
data = collate([data], batch_from="pos_voxel")
with torch.no_grad():
out = model(data["voxel"], data["pos_voxel"], data["voxel_num_points"], data["batch"])
with torch.no_grad():
features = model.forward_features(
data["voxel"],
data["pos_voxel"],
data["voxel_num_points"],
data["batch"],
) # 384 channels
@inproceedings{lang2019pointpillars,
title = {PointPillars: Fast Encoders for Object Detection from Point Clouds},
author = {Alex H. Lang and Sourabh Vora and Holger Caesar and Lubing Zhou and Jiong Yang and Oscar Beijbom},
booktitle = {CVPR},
year = {2019}
}
@inproceedings{caesar2020nuscenes,
title = {nuScenes: A multimodal dataset for autonomous driving},
author = {Holger Caesar and Varun Bankiti and Alex H. Lang and Sourabh Vora and Venice Erin Liong and Qiang Xu and Anush Krishnan and Yu Pan and Giancarlo Baldan and Oscar Beijbom},
booktitle = {CVPR},
year = {2020}
}
@software{dujardin2026pytorchpointcloud,
author = {Arthur Dujardin},
title = {PyTorch PointCloud},
year = {2026},
doi = {10.5281/zenodo.22159632},
url = {https://github.com/arthurdjn/pytorch-pointcloud},
}