Unverified Commit 6d9be309 authored by Sun Jiahao's avatar Sun Jiahao Committed by GitHub
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
parent 98ef10e4
......@@ -223,6 +223,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
<li><b>Outdoor</b></li>
<ul>
<li><a href="configs/minkunet">MinkUNet (CVPR'2019)</a></li>
<li><a href="configs/spvcnn">SPVCNN (ECCV'2020)</a></li>
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
</ul>
<li><b>Indoor</b></li>
......@@ -266,6 +267,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
| PV-RCNN | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Cylinder3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| MinkUNet | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| SPVCNN | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
**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.
......
......@@ -219,6 +219,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
<li><b>室外</b></li>
<ul>
<li><a href="configs/minkunet">MinkUNet (CVPR'2019)</a></li>
<li><a href="configs/spvcnn">SPVCNN (ECCV'2020)</a></li>
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
</ul>
<li><b>室内</b></li>
......@@ -262,6 +263,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
| PV-RCNN | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Cylinder3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| MinkUNet | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| SPVCNN | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
**注意:**[MMDetection](https://github.com/open-mmlab/mmdetection/blob/3.x/docs/zh_cn/model_zoo.md) 支持的基于 2D 检测的 **300+ 个模型,40+ 的论文算法**在 MMDetection3D 中都可以被训练或使用。
......
# Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution
> [Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution ](https://arxiv.org/abs/2007.16100)
<!-- [ALGORITHM] -->
## Abstract
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.
<div align=center>
<img src="https://user-images.githubusercontent.com/72679458/226509154-80c27d8e-c138-426a-b92e-72846997b5b3.png" width="800"/>
</div>
## Introduction
We implement SPVCNN with [TorchSparse](https://github.com/mit-han-lab/torchsparse) backend and provide the result and checkpoints on SemanticKITTI datasets.
## Results and models
### SemanticKITTI
| Method | Lr schd | Mem (GB) | mIoU | Download |
| :--------: | :-----: | :------: | :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| 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) |
| 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) |
| 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) |
**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.
**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.
## Citation
```latex
@inproceedings{tang2020searching,
title={Searching efficient 3d architectures with sparse point-voxel convolution},
author={Tang, Haotian and Liu, Zhijian and Zhao, Shengyu and Lin, Yujun and Lin, Ji and Wang, Hanrui and Han, Song},
booktitle={Computer Vision--ECCV 2020: 16th European Conference, Glasgow, UK, August 23--28, 2020, Proceedings, Part XXVIII},
pages={685--702},
year={2020},
organization={Springer}
}
```
Collections:
- Name: SPVCNN
Metadata:
Training Techniques:
- AdamW
Architecture:
- SPVCNN
Paper:
URL: https://arxiv.org/abs/2007.16100
Title: 'Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution'
README: configs/spvcnn/README.md
Code:
URL: https://github.com/open-mmlab/mmdetection3d/blob/1.1/mmdet3d/models/backbones/spvcnn_backone.py#L22
Version: v1.1.0rc4
Models:
- Name: spvcnn_w16_8xb2-15e_semantickitti
In Collection: SPVCNN
Config: configs/spvcnn/spvcnn_w16_8xb2-15e_semantickitti.py
Metadata:
Training Data: SemanticKITTI
Training Memory (GB): 3.9
Training Resources: 8x A100 GPUs
Results:
- Task: 3D Semantic Segmentation
Dataset: SemanticKITTI
Metrics:
mIOU: 61.7
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
- Name: spvcnn_w20_8xb2-15e_semantickitti
In Collection: SPVCNN
Config: configs/spvcnn/spvcnn_w20_8xb2-15e_semantickitti.py
Metadata:
Training Data: SemanticKITTI
Training Memory (GB): 4.2
Training Resources: 8x A100 GPUs
Results:
- Task: 3D Semantic Segmentation
Dataset: SemanticKITTI
Metrics:
mIOU: 62.9
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
- Name: spvcnn_w32_8xb2-15e_semantickitti
In Collection: SPVCNN
Config: configs/spvcnn/spvcnn_w32_8xb2-15e_semantickitti.py
Metadata:
Training Data: SemanticKITTI
Training Memory (GB): 5.4
Training Resources: 8x A100 GPUs
Results:
- Task: 3D Semantic Segmentation
Dataset: SemanticKITTI
Metrics:
mIOU: 64.3
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
......@@ -27,3 +27,4 @@ Import:
- configs/cylinder3d/metafile.yml
- configs/pv_rcnn/metafile.yml
- configs/fcaf3d/metafile.yml
- configs/spvcnn/metafile.yml
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment