File size: 3,134 Bytes
0f5139c
 
 
 
 
 
 
 
 
 
 
 
e5a7f5c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0f5139c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55a45e5
0f5139c
 
 
 
 
 
 
 
 
 
e5a7f5c
f8cb20d
0f5139c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21b05c7
 
 
 
 
 
 
 
0f5139c
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
---
license: apache-2.0
library_name: torch-pointcloud
tags:
- point-cloud
- 3d
- pytorch
- torch-pointcloud
- second
- object-detection
datasets:
- nuscenes
model-index:
- name: second-multihead.nuscenes.openpcdet
  results:
  - task:
      type: 3d-object-detection
    dataset:
      name: nuScenes
      type: nuscenes
    metrics:
    - name: mAP
      type: map
      value: 50.75
    - name: NDS
      type: accuracy
      value: 61.89
---

# Model card for second-multihead.nuscenes.openpcdet

A SECOND 3D object detection model (sparse convolutional voxel detector). Trained on nuScenes.

## Model Details

- **Model Type:** 3D object detection
- **Model Stats:**
  - Params (M): 9.0
  - Input channels: 5
  - Classes: 10
  - Features: 512
- **Dataset:** nuScenes
- **Metrics:** mAP 50.75, NDS 61.89
- **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-multihead.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"])
```

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