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},
}
```