Commit d4cce099 authored by Shaoshuai Shi's avatar Shaoshuai Shi
Browse files

update documents

parent f561b8ae
...@@ -2,11 +2,29 @@ ...@@ -2,11 +2,29 @@
# OpenPCDet # OpenPCDet
## Introduction
`OpenPCDet` is a clear, simple, self-contained open source project for LiDAR-based 3D object detection. `OpenPCDet` is a clear, simple, self-contained open source project for LiDAR-based 3D object detection.
It is also the official code release of [`[Part-A^2 net]`](https://arxiv.org/abs/1907.03670) and [`[PV-RCNN]`](https://arxiv.org/abs/1912.13192). It is also the official code release of [`PointRCNN`](https://arxiv.org/abs/1812.04244), [`[Part-A^2 net]`](https://arxiv.org/abs/1907.03670) and [`[PV-RCNN]`](https://arxiv.org/abs/1912.13192).
## Overview
- [Changelog](#changelog)
- [Design Pattern](#openpcdet-design-pattern)
- [Model Zoo](#model zoo)
- [Quick Demo](#quick demo)
- [Getting Started](#Getting-Started)
- [Citation](#citation)
## Changelog
[2020-07-17] Add simple visualization codes and a quick demo to test with custom data.
[2020-06-24] `OpenPCDet` v0.2.0 is released with pretty new structures to support more models and datasets.
[2020-03-16] `OpenPCDet` v0.1.0 is released.
## Introduction
### What does `OpenPCDet` toolbox do? ### What does `OpenPCDet` toolbox do?
...@@ -54,44 +72,43 @@ Contributions are also welcomed. ...@@ -54,44 +72,43 @@ Contributions are also welcomed.
- [x] Support GPU version 3D IoU calculation and rotated NMS - [x] Support GPU version 3D IoU calculation and rotated NMS
## ChangeLog
[2020-07-17] Add simple visualization codes and a quick demo to test with custom data.
[2020-06-24] `OpenPCDet` v0.2.0 is released with pretty new structures to support more models and datasets.
[2020-03-16] `OpenPCDet` v0.1.0 is released.
## Model Zoo ## Model Zoo
### KITTI 3D Object Detection Baselines ### KITTI 3D Object Detection Baselines
Selected supported methods are shown in the below table. The results are the 3D detection performance of car class on the *val* set of KITTI dataset. Selected supported methods are shown in the below table. The results are the 3D detection performance of car class on the *val* set of KITTI dataset.
All models are trained with 8 GTX 1080Ti GPUs and are available for download. All models are trained with 8 GTX 1080Ti GPUs and are available for download.
| |training time | Batch Size | AP_Easy | **AP_Moderate** | AP_Hard | download | | | training time | Car | Pedestrian | Cyclist | download |
|---------------------------------------------|:----------:|:----------:|:-------:|:-------:|:-------:|:---------:| |---------------------------------------------|----------:|:-------:|:-------:|:-------:|:---------:|
| [PointPillar](tools/cfgs/kitti_models/pointpillar.yaml) |~95 mins| 32 | 86.46 | 77.28 | 74.65 | [model-18M](https://drive.google.com/file/d/1wMxWTpU1qUoY3DsCH31WJmvJxcjFXKlm/view?usp=sharing) | | [PointPillar](tools/cfgs/kitti_models/pointpillar.yaml) |~95 mins| 77.28 | - | - | [model-18M](https://drive.google.com/file/d/1wMxWTpU1qUoY3DsCH31WJmvJxcjFXKlm/view?usp=sharing) |
| [SECOND](tools/cfgs/kitti_models/second.yaml) | ~2 hours | 32 | 88.61 | 78.62| 77.22 | [model-20M](https://drive.google.com/file/d/1-01zsPOsqanZQqIIyy7FpNXStL3y4jdR/view?usp=sharing) | | [SECOND](tools/cfgs/kitti_models/second.yaml) | ~2 hours | 78.62 | - | - | [model-20M](https://drive.google.com/file/d/1-01zsPOsqanZQqIIyy7FpNXStL3y4jdR/view?usp=sharing) |
| [Part-A^2](tools/cfgs/kitti_models/PartA2.yaml) | ~5 hours| 32 | 89.55 | 79.40 | 78.84 | [model-244M](https://drive.google.com/file/d/10GK1aCkLqxGNeX3lVu8cLZyE0G8002hY/view?usp=sharing) | | [SECOND-MultiHead](tools/cfgs/kitti_models/second_multihead.yaml) | - | - | - | - | ongoing |
| [PV-RCNN](tools/cfgs/kitti_models/pv_rcnn.yaml) | ~6 hours| 16 | 89.34 | 83.69 | 78.70 | [model-50M](https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view?usp=sharing) | | [PointRCNN](tools/cfgs/kitti_models/pointrcnn.yaml) | ~3 hours | 78.70 | - | - | ongoing|
| [SECOND-MultiHead](tools/cfgs/kitti_models/second_multihead.yaml) | - | 32 | - | - | - | ongoing | | [PointRCNN-IoU](tools/cfgs/kitti_models/pointrcnn_iou.yaml) | ~3 hours | 78.70 | - | - | ongoing|
| PointRCNN | - | 32 | - | - | - | ongoing| | [Part-A^2-Free](tools/cfgs/kitti_models/PartA2_free.yaml) | ~4 hours| 78.72 | 65.99 | 74.29 | [model-244M](https://drive.google.com/file/d/10GK1aCkLqxGNeX3lVu8cLZyE0G8002hY/view?usp=sharing) |
| [Part-A^2-Anchor](tools/cfgs/kitti_models/PartA2.yaml) | ~5 hours| 79.40 | - | - | [model-244M](https://drive.google.com/file/d/10GK1aCkLqxGNeX3lVu8cLZyE0G8002hY/view?usp=sharing) |
| [PV-RCNN](tools/cfgs/kitti_models/pv_rcnn.yaml) | ~6 hours| 83.69 | - | - | [model-50M](https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view?usp=sharing) |
### NuScenes 3D Object Detection Baselines
| | mATE | mASE | mAOE | mAVE | mAAE | mAP | NDS | download |
|---------------------------------------------|----------:|:-------:|:-------:|:-------:|:---------:|:-------:|:-------:|:---------:|
| [PointPillar-MultiHead](tools/cfgs/nuscenes_models/pp_multihead.yaml) | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | [model-]() |
| [SECOND-MultiHead (CBGS)](tools/cfgs/nuscenes_models/cbgs.yaml) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | [model-]() |
### Other datasets ### Other datasets
More datasets are on the way. More datasets are on the way.
## Installation ## Installation
Please refer to [INSTALL.md](docs/INSTALL.md) for installation and dataset preparation. Please refer to [INSTALL.md](docs/INSTALL.md) for installation.
## Quick Demo ## Quick Demo
Please refer to [DEMO.md](docs/DEMO.md) for a quick demo to test with a pretrained model and Please refer to [DEMO.md](docs/DEMO.md) for a quick demo to test with a pretrained model and
visualize the predicted results on your custom data or the original KITTI data. visualize the predicted results on your custom data or the original KITTI data.
## Get Started ## Getting Started
Please refer to [GETTING_STARTED.md](docs/GETTING_STARTED.md) to learn more usage about this project. Please refer to [GETTING_STARTED.md](docs/GETTING_STARTED.md) to learn more usage about this project.
......
## Getting Started ## Getting Started
The dataset configs are located within [tools/cfgs/dataset_configs](tools/cfgs/dataset_configs), The dataset configs are located within [tools/cfgs/dataset_configs](tools/cfgs/dataset_configs),
and the model configs are located within [tools/cfgs](tools/cfgs) for different datasets, like [tools/cfgs/kitti_models/](tools/cfgs/kitti_models/). and the model configs are located within [tools/cfgs](tools/cfgs) for different datasets, like [tools/cfgs/kitti_models/](tools/cfgs/kitti_models/).
## Dataset Preparation
Currently we provide the dataloader of KITTI dataset and NuScenes dataset, and the supporting of more datasets are on the way.
### KITTI Dataset
* Please download the official [KITTI 3D object detection](http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d) dataset and organize the downloaded files as follows (the road planes could be downloaded from [[road plane]](https://drive.google.com/file/d/1d5mq0RXRnvHPVeKx6Q612z0YRO1t2wAp/view?usp=sharing), which are optional for data augmentation in the training):
* NOTE: if you already have the data infos from `pcdet v0.1`, you can choose to use the old infos and set the DATABASE_WITH_FAKELIDAR option in tools/cfgs/dataset_configs/kitti_dataset.yaml as True. The second choice is that you can create the infos and gt database again and leave the config unchanged.
```
OpenPCDet
├── data
│ ├── kitti
│ │ │── ImageSets
│ │ │── training
│ │ │ ├──calib & velodyne & label_2 & image_2 & (optional: planes)
│ │ │── testing
│ │ │ ├──calib & velodyne & image_2
├── pcdet
├── tools
```
* Generate the data infos by running the following command:
```python
python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml
```
### NuScenes Dataset
* Please download the official [NuScenes 3D object detection dataset](https://www.nuscenes.org/download) and
organize the downloaded files as follows:
```
OpenPCDet
├── data
│ ├── nuscenes
│ │ │── v1.0-trainval (or v1.0-mini if you use mini)
│ │ │ │── samples
│ │ │ │── sweeps
│ │ │ │── maps
│ │ │ │── v1.0-trainval
├── pcdet
├── tools
```
* Install the `nuscenes-devkit` with version `1.0.5` by running the following command:
```shell script
pip install nuscenes-devkit==1.0.5
```
* Generate the data infos by running the following command:
```python
python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \
--cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \
--version v1.0-trainval
```
## Training & Testing
### Test and evaluate the pretrained models ### Test and evaluate the pretrained models
......
...@@ -9,8 +9,8 @@ All the codes are tested in the following environment: ...@@ -9,8 +9,8 @@ All the codes are tested in the following environment:
* `spconv v1.0` ([commit 8da6f96](https://github.com/traveller59/spconv/tree/8da6f967fb9a054d8870c3515b1b44eca2103634)) * `spconv v1.0` ([commit 8da6f96](https://github.com/traveller59/spconv/tree/8da6f967fb9a054d8870c3515b1b44eca2103634))
### Install `pcdet v0.2` ### Install `pcdet v0.3`
NOTE: Please re-install `pcdet v0.2` by running `python setup.py develop` if you have already installed `pcdet v0.1` previously. NOTE: Please re-install `pcdet v0.3` by running `python setup.py develop` if you have already installed `pcdet v0.1` previously.
a. Clone this repository. a. Clone this repository.
```shell ```shell
...@@ -31,29 +31,3 @@ c. Install this `pcdet` library by running the following command: ...@@ -31,29 +31,3 @@ c. Install this `pcdet` library by running the following command:
```shell ```shell
python setup.py develop python setup.py develop
``` ```
## Dataset Preparation
Currently we provide the dataloader of KITTI dataset, and the supporting of more datasets are on the way.
### KITTI Dataset
* Please download the official [KITTI 3D object detection](http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d) dataset and organize the downloaded files as follows (the road planes could be downloaded from [[road plane]](https://drive.google.com/file/d/1d5mq0RXRnvHPVeKx6Q612z0YRO1t2wAp/view?usp=sharing), which are optional for data augmentation in the training):
* NOTE: if you already have the data infos from `pcdet v0.1`, you can choose to use the old infos and set the DATABASE_WITH_FAKELIDAR option in tools/cfgs/dataset_configs/kitti_dataset.yaml as True. The second choice is that you can create the infos and gt database again and leave the config unchanged.
```
PCDet
├── data
│ ├── kitti
│ │ │──ImageSets
│ │ │──training
│ │ │ ├──calib & velodyne & label_2 & image_2 & (optional: planes)
│ │ │──testing
│ │ │ ├──calib & velodyne & image_2
├── pcdet
├── tools
```
* Generate the data infos by running the following command:
```python
python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml
```
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