TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers
Paper โข 2203.11496 โข Published
A TransFusion-L 3D object detection model (LiDAR-only detector with a transformer query head over the BEV map). Trained on nuScenes.
pip install torch-pointcloud
This checkpoint also needs spconv, which needs a build matching your torch and CUDA: see the installation guide.
import torch
import torch_pointcloud as tp
from torch_pointcloud.utils.data import collate
model, info = tp.create_model(
"transfusion-lidar.nuscenes.openpcdet",
pretrained=True,
return_info=True,
)
model = model.cuda().eval() # GPU-only kernels
# 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")
data = {key: value.cuda() for key, value in data.items()}
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"],
) # 512 channels
@inproceedings{bai2022transfusion,
title = {TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers},
author = {Xuyang Bai and Zeyu Hu and Xinge Zhu and Qingqiu Huang and Yilun Chen and Hongbo Fu and Chiew-Lan Tai},
booktitle = {CVPR},
year = {2022}
}
@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},
}