File size: 3,097 Bytes
0252c1c 488b13e 257ec23 0252c1c ab0ee13 0252c1c 257ec23 1236deb 0252c1c 1faadf5 0252c1c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | ---
license: apache-2.0
library_name: torch-pointcloud
tags:
- point-cloud
- 3d
- pytorch
- torch-pointcloud
- second
- object-detection
datasets:
- kitti
model-index:
- name: second.kitti.openpcdet
results:
- task:
type: 3d-object-detection
dataset:
name: KITTI
type: kitti
metrics:
- name: mAP
type: map
value: 66.26
- name: AP/Car
type: map
value: 78.63
- name: AP/Pedestrian
type: map
value: 52.98
- name: AP/Cyclist
type: map
value: 67.16
---
# Model card for second.kitti.openpcdet
A SECOND 3D object detection model (sparse convolutional voxel detector). Trained on KITTI.
## Model Details
- **Model Type:** 3D object detection
- **Model Stats:**
- Params (M): 5.3
- Input channels: 4
- Classes: 3
- Features: 512
- **Dataset:** KITTI
- **Metrics:** mAP 66.26, AP/Car 78.63, AP/Pedestrian 52.98, AP/Cyclist 67.16
- **Paper:** [SECOND: Sparsely Embedded Convolutional Detection](https://www.mdpi.com/1424-8220/18/10/3337)
- **Converted from:** [open-mmlab/OpenPCDet](https://github.com/open-mmlab/OpenPCDet) (Apache-2.0)
- **Library:** [torch-pointcloud](https://github.com/arthurdjn/pytorch-pointcloud)
## Install
```bash
pip install torch-pointcloud
```
This checkpoint also needs `spconv`, which needs a build matching your torch and CUDA: see the [installation guide](https://pytorch-pointcloud.org/latest/installation/).
## Usage
```python
import torch
import torch_pointcloud as tp
from torch_pointcloud.utils.data import collate
model, info = tp.create_model(
"second.kitti.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),
}
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"])
```
## Feature extraction
```python
with torch.no_grad():
features = model.forward_features(
data["voxel"],
data["pos_voxel"],
data["voxel_num_points"],
data["batch"],
) # 512 channels
```
## Citation
```bibtex
@article{yan2018second,
title = {{SECOND}: Sparsely Embedded Convolutional Detection},
author = {Yan, Yan and Mao, Yuxing and Li, Bo},
journal = {Sensors},
volume = {18},
number = {10},
pages = {3337},
year = {2018}
}
@inproceedings{geiger2012kitti,
title = {Are we ready for Autonomous Driving? The {KITTI} Vision Benchmark Suite},
author = {Geiger, Andreas and Lenz, Philip and Urtasun, Raquel},
booktitle = {CVPR},
year = {2012}
}
@software{dujardin2026pytorchpointcloud,
author = {Arthur Dujardin},
title = {PyTorch PointCloud},
year = {2026},
doi = {10.5281/zenodo.22159632},
url = {https://github.com/arthurdjn/pytorch-pointcloud},
}
```
|