Skip to content

Robust Point Cloud Processing through Positional Embedding

License

Notifications You must be signed in to change notification settings

osiriszjq/RobustPPE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robust Point Cloud Processing through Positional Embedding

License: MIT

Jianqiao Zheng, Xueqian Li, Sameera Ramasinghe, Simon Lucey
The University of Adelaide

This is the official implementation of the paper "Robust Point Cloud Processing through Positional Embedding". This codebase is based on Benchmarking Robustness of 3D Point Cloud Recognition against Common Corruptions by Jiachen Sun et al., and we thank the authors for their great contributions.

Illustration of different methods to extend 1D encoding

Illustration of different methods to extend 1D encoding

Getting Started

Install Libraries

The environment is same as Benchmarking Robustness of 3D Point Cloud Recognition against Common Corruptions. The core steps are listed below.

conda create --name modelnetc python=3.7.5
conda activate modelnetc
pip install -r requirements.txt
conda install sed  # for downloading data and pretrained models
./setup.sh

Datasets

You can download ModelNet40 and ModelNet40-C from Benchmarking Robustness of 3D Point Cloud Recognition against Common Corruptions. You can download our modified ModelNet40-C from Google Drive and put them under data/.

Running Experiments

Training and Config files

To train any model, use command in the following format.

python main.py --exp-config <path to the config>

The train command we use is in train.sh. We only use dataset from DGCNN with simple augmetation (wihch is usually considered as "unaugmented").

Corruption test

To test a pretrained model with different corruptions, use command in the following format.

python main.py --entry test --model-path <cor_exp/runs>/<cfg_name>/<model_name>.pth --exp-config configs/corruptions/<cfg_name>.yaml

The evaluation commands we use are in the eval_cor_modelnet40c.sh, eval_cor_modelnet40c_our.sh scripts.

Citation

@misc{zheng2023robust,
      title={Robust Point Cloud Processing through Positional Embedding}, 
      author={Jianqiao Zheng and Xueqian Li and Sameera Ramasinghe and Simon Lucey},
      year={2023},
      eprint={2309.00339},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}