Skip to content

Commit 6d9be30

Browse files
[Docs] Add docs and README for SPVCNN (#2372)
* fix polarmix UT * init spvcnn readme * fix imou * add link * add torchsparse link * revise link
1 parent 98ef10e commit 6d9be30

File tree

5 files changed

+106
-0
lines changed

5 files changed

+106
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
223223
<li><b>Outdoor</b></li>
224224
<ul>
225225
<li><a href="configs/minkunet">MinkUNet (CVPR'2019)</a></li>
226+
<li><a href="configs/spvcnn">SPVCNN (ECCV'2020)</a></li>
226227
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
227228
</ul>
228229
<li><b>Indoor</b></li>
@@ -266,6 +267,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
266267
| PV-RCNN ||||||||||
267268
| Cylinder3D ||||||||||
268269
| MinkUNet ||||||||||
270+
| SPVCNN ||||||||||
269271

270272
**Note:** All the about **300+ models, methods of 40+ papers** in 2D detection supported by [MMDetection](https://github.com/open-mmlab/mmdetection/blob/3.x/docs/en/model_zoo.md) can be trained or used in this codebase.
271273

README_zh-CN.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
219219
<li><b>室外</b></li>
220220
<ul>
221221
<li><a href="configs/minkunet">MinkUNet (CVPR'2019)</a></li>
222+
<li><a href="configs/spvcnn">SPVCNN (ECCV'2020)</a></li>
222223
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
223224
</ul>
224225
<li><b>室内</b></li>
@@ -262,6 +263,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
262263
| PV-RCNN ||||||||||
263264
| Cylinder3D ||||||||||
264265
| MinkUNet ||||||||||
266+
| SPVCNN ||||||||||
265267

266268
**注意:**[MMDetection](https://github.com/open-mmlab/mmdetection/blob/3.x/docs/zh_cn/model_zoo.md) 支持的基于 2D 检测的 **300+ 个模型,40+ 的论文算法**在 MMDetection3D 中都可以被训练或使用。
267269

configs/spvcnn/README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution
2+
3+
> [Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution ](https://arxiv.org/abs/2007.16100)
4+
5+
<!-- [ALGORITHM] -->
6+
7+
## Abstract
8+
9+
Self-driving cars need to understand 3D scenes efficiently and accurately in order to drive safely. Given the limited hardware resources, existing 3D perception models are not able to recognize small instances (e.g., pedestrians, cyclists) very well due to the low-resolution voxelization and aggressive downsampling. To this end, we propose Sparse Point-Voxel Convolution (SPVConv), a lightweight 3D module that equips the vanilla Sparse Convolution with the high-resolution point-based branch. With negligible overhead, this point-based branch is able to preserve the fine details even from large outdoor scenes. To explore the spectrum of efficient 3D models, we first define a flexible architecture design space based on SPVConv, and we then present 3D Neural Architecture Search (3D-NAS) to search the optimal network architecture over this diverse design space efficiently and effectively. Experimental results validate that the resulting SPVNAS model is fast and accurate: it outperforms the state-of-the-art MinkowskiNet by 3.3%, ranking 1st on the competitive SemanticKITTI leaderboard. It also achieves 8x computation reduction and 3x measured speedup over MinkowskiNet with higher accuracy. Finally, we transfer our method to 3D object detection, and it achieves consistent improvements over the one-stage detection baseline on KITTI.
10+
11+
<div align=center>
12+
<img src="https://user-images.githubusercontent.com/72679458/226509154-80c27d8e-c138-426a-b92e-72846997b5b3.png" width="800"/>
13+
</div>
14+
15+
## Introduction
16+
17+
We implement SPVCNN with [TorchSparse](https://github.com/mit-han-lab/torchsparse) backend and provide the result and checkpoints on SemanticKITTI datasets.
18+
19+
## Results and models
20+
21+
### SemanticKITTI
22+
23+
| Method | Lr schd | Mem (GB) | mIoU | Download |
24+
| :--------: | :-----: | :------: | :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
25+
| SPVCNN-W16 | 15e | 3.9 | 61.8 | [model](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w16_8xb2-15e_semantickitti/spvcnn_w16_8xb2-15e_semantickitti_20230321_011645-a2734d85.pth) \| [log](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w16_8xb2-15e_semantickitti/spvcnn_w16_8xb2-15e_semantickitti_20230321_011645.log) |
26+
| SPVCNN-W20 | 15e | 4.2 | 62.6 | [model](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w20_8xb2-15e_semantickitti/spvcnn_w20_8xb2-15e_semantickitti_20230321_011649-519e7eff.pth) \| [log](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w20_8xb2-15e_semantickitti/spvcnn_w20_8xb2-15e_semantickitti_20230321_011649.log) |
27+
| SPVCNN-W32 | 15e | 5.4 | 64.3 | [model](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w32_8xb2-15e_semantickitti/spvcnn_w32_8xb2-15e_semantickitti_20230308_113324-f7c0c5b4.pth) \| [log](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/pvcnn_w32_8xb2-15e_semantickitti/spvcnn_w32_8xb2-15e_semantickitti_20230308_113324.log) |
28+
29+
**Note:** We follow the implementation in SPVNAS original [repo](https://github.com/mit-han-lab/spvnas) and W16\\W20\\W32 indicates different number of channels.
30+
31+
**Note:** Due to TorchSparse backend, the model performance is unstable with TorchSparse backend and may fluctuate by about 1.5 mIoU for different random seeds.
32+
33+
## Citation
34+
35+
```latex
36+
@inproceedings{tang2020searching,
37+
title={Searching efficient 3d architectures with sparse point-voxel convolution},
38+
author={Tang, Haotian and Liu, Zhijian and Zhao, Shengyu and Lin, Yujun and Lin, Ji and Wang, Hanrui and Han, Song},
39+
booktitle={Computer Vision--ECCV 2020: 16th European Conference, Glasgow, UK, August 23--28, 2020, Proceedings, Part XXVIII},
40+
pages={685--702},
41+
year={2020},
42+
organization={Springer}
43+
}
44+
```

configs/spvcnn/metafile.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
Collections:
2+
- Name: SPVCNN
3+
Metadata:
4+
Training Techniques:
5+
- AdamW
6+
Architecture:
7+
- SPVCNN
8+
Paper:
9+
URL: https://arxiv.org/abs/2007.16100
10+
Title: 'Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution'
11+
README: configs/spvcnn/README.md
12+
Code:
13+
URL: https://github.com/open-mmlab/mmdetection3d/blob/1.1/mmdet3d/models/backbones/spvcnn_backone.py#L22
14+
Version: v1.1.0rc4
15+
16+
Models:
17+
- Name: spvcnn_w16_8xb2-15e_semantickitti
18+
In Collection: SPVCNN
19+
Config: configs/spvcnn/spvcnn_w16_8xb2-15e_semantickitti.py
20+
Metadata:
21+
Training Data: SemanticKITTI
22+
Training Memory (GB): 3.9
23+
Training Resources: 8x A100 GPUs
24+
Results:
25+
- Task: 3D Semantic Segmentation
26+
Dataset: SemanticKITTI
27+
Metrics:
28+
mIOU: 61.7
29+
Weights: https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w16_8xb2-15e_semantickitti/spvcnn_w16_8xb2-15e_semantickitti_20230321_011645-a2734d85.pth
30+
31+
- Name: spvcnn_w20_8xb2-15e_semantickitti
32+
In Collection: SPVCNN
33+
Config: configs/spvcnn/spvcnn_w20_8xb2-15e_semantickitti.py
34+
Metadata:
35+
Training Data: SemanticKITTI
36+
Training Memory (GB): 4.2
37+
Training Resources: 8x A100 GPUs
38+
Results:
39+
- Task: 3D Semantic Segmentation
40+
Dataset: SemanticKITTI
41+
Metrics:
42+
mIOU: 62.9
43+
Weights: https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w20_8xb2-15e_semantickitti/spvcnn_w20_8xb2-15e_semantickitti_20230321_011649-519e7eff.pth
44+
45+
- Name: spvcnn_w32_8xb2-15e_semantickitti
46+
In Collection: SPVCNN
47+
Config: configs/spvcnn/spvcnn_w32_8xb2-15e_semantickitti.py
48+
Metadata:
49+
Training Data: SemanticKITTI
50+
Training Memory (GB): 5.4
51+
Training Resources: 8x A100 GPUs
52+
Results:
53+
- Task: 3D Semantic Segmentation
54+
Dataset: SemanticKITTI
55+
Metrics:
56+
mIOU: 64.3
57+
Weights: https://download.openmmlab.com/mmdetection3d/v1.1.0_models/spvcnn/spvcnn_w32_8xb2-15e_semantickitti/spvcnn_w32_8xb2-15e_semantickitti_20230308_113324-f7c0c5b4.pth

model-index.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@ Import:
2727
- configs/cylinder3d/metafile.yml
2828
- configs/pv_rcnn/metafile.yml
2929
- configs/fcaf3d/metafile.yml
30+
- configs/spvcnn/metafile.yml

0 commit comments

Comments
 (0)