Unverified Commit f4b0174b authored by xizaoqu's avatar xizaoqu Committed by GitHub
Browse files

[Docs] Add docs and README for Cylinder3D (#2350)

* add readme

* fix

* fix

* fix

* rebase

* add link

* add link

* add link
parent 3e2de530
......@@ -134,6 +134,7 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
<li><a href="configs/dgcnn">DGCNN (TOG'2019)</a></li>
<li>DLA (CVPR'2018)</li>
<li>MinkResNet (CVPR'2019)</li>
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
</ul>
</td>
<td>
......@@ -218,6 +219,10 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
</ul>
</td>
<td>
<li><b>Outdoor</b></li>
<ul>
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
</ul>
<li><b>Indoor</b></li>
<ul>
<li><a href="configs/pointnet2">PointNet++ (NeurIPS'2017)</a></li>
......@@ -232,31 +237,32 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
</tbody>
</table>
| | ResNet | PointNet++ | SECOND | DGCNN | RegNetX | DLA | MinkResNet |
| :-----------: | :----: | :--------: | :----: | :---: | :-----: | :-: | :--------: |
| SECOND | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| PointPillars | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ |
| FreeAnchor | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| VoteNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| H3DNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 3DSSD | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Part-A2 | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| MVXNet | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| CenterPoint | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| SSN | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| ImVoteNet | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| FCOS3D | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PointNet++ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Group-Free-3D | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| ImVoxelNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PAConv | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| DGCNN | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| SMOKE | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| PGD | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MonoFlex | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| SA-SSD | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| FCAF3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| PV-RCNN | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| | ResNet | PointNet++ | SECOND | DGCNN | RegNetX | DLA | MinkResNet | Cylinder3D |
| :-----------: | :----: | :--------: | :----: | :---: | :-----: | :-: | :--------: | :--------: |
| SECOND | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PointPillars | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ |
| FreeAnchor | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| VoteNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| H3DNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 3DSSD | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Part-A2 | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MVXNet | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| CenterPoint | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| SSN | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| ImVoteNet | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| FCOS3D | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PointNet++ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Group-Free-3D | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| ImVoxelNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PAConv | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| DGCNN | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| SMOKE | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| PGD | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MonoFlex | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| SA-SSD | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| FCAF3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| PV-RCNN | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Cylinder3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
**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.
......
......@@ -131,6 +131,7 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
<li><a href="configs/dgcnn">DGCNN (TOG'2019)</a></li>
<li>DLA (CVPR'2018)</li>
<li>MinkResNet (CVPR'2019)</li>
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
</ul>
</td>
<td>
......@@ -214,6 +215,10 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
</ul>
</td>
<td>
<li><b>室外</b></li>
<ul>
<li><a href="configs/cylinder3d">Cylinder3D (CVPR'2021)</a></li>
</ul>
<li><b>室内</b></li>
<ul>
<li><a href="configs/pointnet2">PointNet++ (NeurIPS'2017)</a></li>
......@@ -228,31 +233,32 @@ MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代
</tbody>
</table>
| | ResNet | PointNet++ | SECOND | DGCNN | RegNetX | DLA | MinkResNet |
| :-----------: | :----: | :--------: | :----: | :---: | :-----: | :-: | :--------: |
| SECOND | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| PointPillars | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ |
| FreeAnchor | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| VoteNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| H3DNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 3DSSD | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Part-A2 | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| MVXNet | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| CenterPoint | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| SSN | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| ImVoteNet | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| FCOS3D | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PointNet++ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Group-Free-3D | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| ImVoxelNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PAConv | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| DGCNN | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| SMOKE | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| PGD | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MonoFlex | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| SA-SSD | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| FCAF3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| PV-RCNN | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| | ResNet | PointNet++ | SECOND | DGCNN | RegNetX | DLA | MinkResNet | Cylinder3D |
| :-----------: | :----: | :--------: | :----: | :---: | :-----: | :-: | :--------: | :--------: |
| SECOND | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PointPillars | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ |
| FreeAnchor | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| VoteNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| H3DNet | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| 3DSSD | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Part-A2 | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MVXNet | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| CenterPoint | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| SSN | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
| ImVoteNet | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| FCOS3D | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PointNet++ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Group-Free-3D | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| ImVoxelNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| PAConv | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| DGCNN | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| SMOKE | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| PGD | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MonoFlex | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
| SA-SSD | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| FCAF3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
| PV-RCNN | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Cylinder3D | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
**注意:**[MMDetection](https://github.com/open-mmlab/mmdetection/blob/3.x/docs/zh_cn/model_zoo.md) 支持的基于 2D 检测的 **300+ 个模型,40+ 的论文算法**在 MMDetection3D 中都可以被训练或使用。
......
# Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation
> [Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation](https://arxiv.org/abs/2011.10033)
<!-- [ALGORITHM] -->
## Abstract
State-of-the-art methods for large-scale driving-scene LiDAR segmentation often project the point clouds to 2D space and then process them via 2D convolution. Although this corporation shows the competitiveness in the point cloud, it inevitably alters and abandons the 3D topology and geometric relations. A natural remedy is to utilize the3D voxelization and 3D convolution network. However, we found that in the outdoor point cloud, the improvement obtained in this way is quite limited. An important reason is the property of the outdoor point cloud, namely sparsity and varying density. Motivated by this investigation, we propose a new framework for the outdoor LiDAR segmentation, where cylindrical partition and asymmetrical 3D convolution networks are designed to explore the 3D geometric pat-tern while maintaining these inherent properties. Moreover, a point-wise refinement module is introduced to alleviate the interference of lossy voxel-based label encoding. We evaluate the proposed model on two large-scale datasets, i.e., SemanticKITTI and nuScenes. Our method achieves the 1st place in the leaderboard of SemanticKITTI and outperforms existing methods on nuScenes with a noticeable margin, about 4%. Furthermore, the proposed 3D framework also generalizes well to LiDAR panoptic segmentation and LiDAR 3D detection.
## Introduction
We implement Cylinder3D and provide the result and checkpoints on Semantickitti datasets.
## Results and models
### SemanticKITTI
| Method | Lr schd | Mem (GB) | mIOU | Download |
| :--------: | :-----: | :------: | :------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| Cylinder3D | 3x | 10.2 | 63.1±0.5 | [model](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/cylinder3d/cylinder3d_4xb4_3x_semantickitti/cylinder3d_4xb4_3x_semantickitti_20230318_191107.json) \| [log](https://download.openmmlab.com/mmdetection3d/v1.1.0_models/cylinder3d/cylinder3d_4xb4_3x_semantickitti/cylinder3d_4xb4_3x_semantickitti_20230318_191107-822a8c31.pth) |
Note: We reproduce the performance comparable with its official repo (https://github.com/xinge008/Cylinder3D). It's slightly lower than the performance (65.9 mIOU) reported in the paper due to the lack of point-wise refinement and shorter training time.
## Citation
```latex
@inproceedings{zhu2021cylindrical,
title={Cylindrical and asymmetrical 3d convolution networks for lidar segmentation},
author={Zhu, Xinge and Zhou, Hui and Wang, Tai and Hong, Fangzhou and Ma, Yuexin and Li, Wei and Li, Hongsheng and Lin, Dahua},
booktitle={Proceedings of the IEEE/CVF conference on computer vision and pattern recognition},
pages={9939--9948},
year={2021}
}
```
Collections:
- Name: Cylinder3D
Metadata:
Training Techniques:
- AdamW
Training Resources: 4x A100 GPUs
Architecture:
- Cylinder3D
Paper:
URL: https://arxiv.org/abs/2011.10033
Title: 'Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation'
README: configs/cylinder3d/README.md
Code:
URL: https://github.com/open-mmlab/mmdetection3d/blob/dev-1.x/mmdet3d/models/segmentors/cylinder3d.py#L13
Version: v1.1.0rc4
Models:
- Name:
In Collection: Cylinder3D
Config: configs/cylinder3d/cylinder3d_4xb4_3x_semantickitti.py
Metadata:
Training Data: SemanticKITTI
Training Memory (GB): 10.2
Results:
- Task: 3D Semantic Segmentation
Dataset: SemanticKITTI
Metrics:
mIOU: 63.1
Weights:
......@@ -21,7 +21,7 @@ class SemanticKittiDataset(Seg3DDataset):
metainfo (dict, optional): Meta information for dataset, such as class
information. Defaults to None.
data_prefix (dict): Prefix for training data. Defaults to
dict(pts='points',
dict(pts='',
img='',
pts_instance_mask='',
pts_semantic_mask='').
......
......@@ -23,5 +23,6 @@ Import:
- configs/smoke/metafile.yml
- configs/ssn/metafile.yml
- configs/votenet/metafile.yml
- configs/cylinder3d/metafile.yml
- configs/pv_rcnn/metafile.yml
- configs/fcaf3d/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