Learning Point-wise Abstaining Penalty for Point Cloud Anomaly Detection [Paper]
Official implementation of 《Learning Point-wise Abstaining Penalty for Point Cloud Anomaly Detection》. After saving the corresponding inference result files using this repository, please use semantic_kitti_api and nuScenes_api to evaluate the performance.
To set up the environment, please refer to the following script instructions:
bash install.sh
All of the datasets mentioned below are located in the "datasets" directory at the root of the repository.
./
├──
├── ...
└── path_to_data_shown_in_config/
├──sequences
├── 00/
│ ├── velodyne/
| | ├── 000000.bin
| | ├── 000001.bin
| | └── ...
│ └── labels/
| ├── 000000.label
| ├── 000001.label
| └── ...
├── 08/ # for validation
├── 11/ # 11-21 for testing
└── 21/
└── ...
./
├── ...
├── v1.0-trainval
├── v1.0-test
├── samples
├── sweeps
├── maps
└── lidarseg/
├──v1.0-trainval/
├──v1.0-mini/
├──v1.0-test/
├──nuscenes_infos_train.pkl
├──nuscenes_infos_val.pkl
├──nuscenes_infos_test.pkl
└── panoptic/
├──v1.0-trainval/
├──v1.0-mini/
├──v1.0-test/
./
├── ...
├── object_path_list.txt
├── metadata.yaml
├── 02933112
├── 02958343
├── 03001627
├── 03211117
├── 03636649
├── 03691459
├── 04090263
├── 04256520
├── 04379243
├── 04401088
├── 04530566
├── 02828884
└── 02691156
├──
├──test.lst
├──train.lst
├──val.lst
├──d2e2e23f5be557e2d1ab3b031c100cb1
├── df.npy
├── img_choy2016
├── model.binvox
├── pointcloud.npz
└── points.npz
...
All scripts for training and evaluation is in ./scripts
.
- Download the bese segmentation model ( extract code: jpmn)
- navigate to
/config/semantickitti_ood_final.yaml
and update the path for the pretrained naive model on line 73. - Finally, execute the following command:
bash scripts/train_kitti.sh
- modify the resume_path variable in the
scripts/eval_kitti.sh
file to the appropriate path of the model.- use our trained model (extract code: pbqx) to reproduce our performance
- execute the following command:
bash scripts/eval_kitti.sh
- Download the bese nuscenes segmentation model ( extract code: h9gh)
- navigate to
/config/nuScenes_ood_final.yaml
and update the path for the pretrained naive model on line 66. - Finally, execute the following command:
bash scripts/train_nusc.sh
- modify the resume_path variable in the
scripts/eval_nusc.sh
file to the appropriate path of the model.- use our trained model (extract code: 69fa) to reproduce our performance
- execute the following command:
bash scripts/eval_nusc.sh
Parts of this code were based on the codebase of REAL.