Benchmarking and Analyzing Point Cloud Perception Robustness under Corruptions
Jiawei Ren,Â
Lingdong Kong,Â
Liang Pan,Â
Ziwei Liu
S-Lab, Nanyang Technological University
About
PointCloud-C is the very first test-suite for point cloud perception robustness analysis under corruptions. It includes two sets: ModelNet-C (ICML'22) for point cloud classification and ShapeNet-C (arXiv'22) for part segmentation.
Fig. Examples of point cloud corruptions in PointCloud-C.
Visit our project page to explore more details.
Updates
- [2023.03] - Intend to test the robustness of your 3D perception models on real-world point clouds? Check our recent work, Robo3D, a comprehensive suite that enables OoD robustness evaluation of 3D detectors and segmentors on our newly established datasets:
KITTI-C
,SemanticKITTI-C
,nuScenes-C
, andWOD-C
. - [2022.11] - The preprint of the PointCloud-C paper (ModelNet-C + ShapeNet-C) is available here.
- [2022.10] - We have successfully hosted the 2022 PointCloud-C Challenge. Congratulations to the winners:
🥇 Antins_cv
,🥈 DGPC
&DGPS
, and🥉 BIT_gdxy_xtf
. - [2022.07] - Try a Gradio demo for PointCloud-C corruptions at Hugging Face Spaces!
🤗 - [2022.07] - Competition starts! Join now at our CodaLab page.
- [2022.06] - PointCloud-C is now live on Paper-with-Code. Join the benchmark today!
- [2022.06] - The 1st PointCloud-C challenge will be hosted in conjecture with the ECCV'22 SenseHuman workshop.
🚀 - [2022.06] - We are organizing the 1st PointCloud-C challenge! Click here to explore the competition details.
- [2022.05] - ModelNet-C is accepted to ICML 2022. Click here to check it out!
🎉
Overview
- Highlight
- Data Preparation
- Getting Started
- Benchmark Results
- Evaluation
- Customize Evaluation
- Build PointCloud-C
- TODO List
- License
- Acknowledgement
- Citation
Highlight
Corruption Taxonomy
ModelNet-C (Classification)
ShapeNet-C (Part Segmentation)
Data Preparation
Please refer to DATA_PREPARE.md for the details to prepare the ModelNet-C and ShapeNet-C datasets.
Getting Started
Please refer to GET_STARTED.md to learn more usage about this codebase.
Benchmark Results
ModelNet-C (Classification)
Method | Reference | Standalone | mCE |
RmCE |
Clean OA |
---|---|---|---|---|---|
DGCNN | Wang et al. | Yes | 1.000 | 1.000 | 0.926 |
PointNet | Qi et al. | Yes | 1.422 | 1.488 | 0.907 |
PointNet++ | Qi et al. | Yes | 1.072 | 1.114 | 0.930 |
RSCNN | Liu et al. | Yes | 1.130 | 1.201 | 0.923 |
SimpleView | Goyal et al. | Yes | 1.047 | 1.181 | 0.939 |
GDANet | Xu et al. | Yes | 0.892 | 0.865 | 0.934 |
CurveNet | Xiang et al. | Yes | 0.927 | 0.978 | 0.938 |
PAConv | Xu et al. | Yes | 1.104 | 1.211 | 0.936 |
PCT | Guo et al. | Yes | 0.925 | 0.884 | 0.930 |
RPC | Ren et al. | Yes | 0.863 | 0.778 | 0.930 |
OcCo (DGCNN) | Wang et al. | No | 1.248 | 1.262 | 0.922 |
PointBERT | Yu et al. | No | 1.033 | 0.895 | 0.922 |
PointMixUp (PointNet++) | Chen et al. | No | 1.028 | 0.785 | 0.915 |
PointCutMix-K (PointNet++) | Zhang et al. | No | 0.806 | 0.808 | 0.933 |
PointCutMix-R (PointNet++) | Zhang et al. | No | 0.796 | 0.809 | 0.929 |
PointWOLF (DGCNN) | Kim et al. | No | 0.814 | 0.698 | 0.926 |
RSMix (DGCNN) | Lee et al. | No | 0.745 | 0.839 | 0.930 |
PointCutMix-R (DGCNN) | Zhang et al. | No | 0.627 | 0.504 | 0.926 |
PointCutMix-K (DGCNN) | Zhang et al. | No | 0.659 | 0.585 | 0.932 |
WOLFMix (DGCNN) | Ren et al. | No | 0.590 | 0.485 | 0.932 |
WOLFMix (GDANet) | Ren et al. | No | 0.571 | 0.439 | 0.934 |
WOLFMix (PCT) | Ren et al. | No | 0.574 | 0.653 | 0.934 |
PointCutMix-K (PCT) | Zhang et al. | No | 0.644 | 0.565 | 0.931 |
PointCutMix-R (PCT) | Zhang et al. | No | 0.608 | 0.518 | 0.928 |
WOLFMix (RPC) | Ren et al. | No | 0.601 | 0.940 | 0.933 |
ShapeNet-C (Part Segmentation)
Method | Reference | Standalone | mCE |
RmCE |
Clean mIoU |
---|---|---|---|---|---|
DGCNN | Wang et al. | Yes | 1.000 | 1.000 | 0.852 |
PointNet | Qi et al. | Yes | 1.178 | 1.056 | 0.833 |
PointNet++ | Qi et al. | Yes | 1.112 | 1.850 | 0.857 |
OcCo-DGCNN | Wang et al. | No | 0.977 | 0.804 | 0.851 |
OcCo-PointNet | Wang et al. | No | 1.130 | 0.937 | 0.832 |
OcCo-PCN | Wang et al. | No | 1.173 | 0.882 | 0.815 |
GDANet | Xu et al. | Yes | 0.923 | 0.785 | 0.857 |
PAConv | Xu et al. | Yes | 0.927 | 0.848 | 0.859 |
PointTransformers | Zhao et al. | Yes | 1.049 | 0.933 | 0.840 |
PointMLP | Ma et al. | Yes | 0.977 | 0.810 | 0.853 |
PointBERT | Yu et al. | No | 1.033 | 0.895 | 0.855 |
PointMAE | Pang et al. | No | 0.927 | 0.703 | 0.860 |
*Note: Standalone indicates whether or not the method is a standalone architecture or a combination with augmentation or pretrain.
Evaluation
Evaluation commands are provided in EVALUATE.md.
Customize Evaluation
We have provided evaluation utilities to help you evaluate on ModelNet-C using your own codebase. Please follow CUSTOMIZE.md.
Build PointCloud-C
You can manage to generate your own "PointCloud-C"! Follow the instructions in GENERATE.md.
TODO List
- Initial release.
🚀 - Add license. See here for more details.
- Release test sets. Download ModelNet-C and ShapeNet-C from our project page.
- Add evaluation scripts for classification models.
- Add evaluation scripts for part segmentation models.
- Add competition details.
- Clean and retouch codebase.
License
This work is under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Acknowledgement
We acknowledge the use of the following public resources during the course of this work: 1SimpleView, 2PCT, 3GDANet, 4CurveNet, 5PAConv, 6RSMix, 7PointMixUp, 8PointCutMix, 9PointWOLF, 10PointTransformers, 11OcCo, 12PointMLP, 13PointBERT, and 14PointMAE.
Citation
If you find this work helpful, please kindly consider citing our papers:
@ARTICLE{ren2022pointcloud-c,
title={PointCloud-C: Benchmarking and Analyzing Point Cloud Perception Robustness under Corruptions},
author={Jiawei Ren and Lingdong Kong and Liang Pan and Ziwei Liu},
journal={arXiv:220x.xxxxx},
year={2022}
}
@ARTICLE{ren2022modelnet-c,
title={Benchmarking and Analyzing Point Cloud Classification under Corruptions},
author={Jiawei Ren and Liang Pan and Ziwei Liu},
journal={International Conference on Machine Learning (ICML)},
year={2022}
}