Git Product home page Git Product logo

castiel-lee / robustness_pc_detector Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 3.0 218.62 MB

We propose the first robustness benchmark of point cloud detectors against common corruption patterns. We first introduce different corruption patterns collected for this benchmark and dataset. Then we propose the evaluation metrics used in our benchmark. Finally, we introduce the subject object detection methods and robustness enhancment methods selected for this benchmark.

Python 6.88% Shell 0.02% Dockerfile 0.02% Makefile 0.06% Batchfile 0.06% HTML 56.34% TeX 0.08% Jupyter Notebook 29.38% C++ 7.16%

robustness_pc_detector's Introduction

robustness_pc_detector

We propose the first robustness benchmark of point cloud detectors against common corruption patterns. We first introduce different corruption patterns collected for this benchmark and dataset. Then we propose the evaluation metrics used in our benchmark. Finally, we introduce the subject object detection methods and robustness enhancment methods selected for this benchmark.

Installation

All the codes are tested (not only) on Ubuntu 20.04 with Python 3.8 tools:

  • PyGeM and PyMieScatt
  • Scipy, and other basic tools, like numpy, os, argparse, glob, etc.
  • As for the weather simulation, please refer to LISA and Lidar_fog_simulation.

Most tools can be installed by pip install ${tool}.

Data Preparation

This kit of corruption simulation applies to KITTI data. Please download the KITTI 3D object detection dataset and organize the files as the below:

data
├── kitti
│   │── ImageSets
│   │── training
│   │   ├──calib & velodyne & label_2 & image_2 
│   │── testing (optional)
│   │   ├──calib & velodyne & image_2

More details of the implementation are as in object and scene folder.

Corruption Simulation

We formulate 25 corruptions covering 2 affecting ranges $\times$ 4 corruption categories, i.e., {object, scene} $\times$ {weather, noise, density, transformation}.

For the implementation of 25 corruptions, corresponding README files under the object and scene folders give the details on the Python commands to generate simulated data.

We show some corruption examples based on the KITTI LiDAR example with ID = 000008, as in the below figures. Besides, we provide the ground-truth annotations of objects and detection results obtained by PVRCNN in the format of bounding boxes.

Clean

clean example

Snow

snow example

Scene-level uniform noise

uniform_rad example

Scene-level layer missing

layer_del example

Tested Detection Methods

As in the paper, we tested 7 voxel-based methods, 3 point-voxel-based methods, and 2 point-based methods (we re-shaped PartA2 with point-based data representation and pointnet++ backbone) on the OpenPCDet (https://github.com/open-mmlab/OpenPCDet). Also, we extended CenterPoint to the versions of different data representations and different proposal architectures for relatively fair evaluation.

Acknowledgement

Some parts of the code implement are learned from the official released codes of the below methods:

We would like to thank for their proposed methods and the official implementation.

Citation

If you find this project useful in your research, please consider cite:

@article{li2022common,
  title={Common Corruption Robustness of Point Cloud Detectors: Benchmark and Enhancement},
  author={Li, Shuangzhi and Wang, Zhijie and Juefei-Xu, Felix and Guo, Qing and Li, Xingyu and Ma, Lei},
  journal={arXiv preprint arXiv:2210.05896},
  year={2022}
}

robustness_pc_detector's People

Contributors

castiel-lee avatar

Stargazers

 avatar  avatar Fayeben avatar Yuanfeng He avatar Sabina Firtala avatar

Watchers

JLQ avatar  avatar

robustness_pc_detector's Issues

Reasons for the rain/snow severity configuration

Hi,

Thank you for your great work. I am doing some similar work. I wonder what the reasons are for the choices severity of rain and snow.

rain in {5.0, 15.0, 50.0, 150.0, 500.0} and snow in {0.5, 1.5, 5.0, 15.0, 50.0}.

Regards,
Bo Yang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.