README.md 4.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# PaddleDetection

The goal of PaddleDetection is to provide easy access to a wide range of object
detection models in both industry and research settings. We design
PaddleDetection to be not only performant, production-ready but also highly
flexible, catering to research needs.


<div align="center">
  <img src="demo/output/000000570688.jpg" />
</div>


## Introduction

Q
qingqing01 已提交
16
Features:
17 18

- Production Ready:
Q
qingqing01 已提交
19 20

  Key operations are implemented in C++ and CUDA, together with PaddlePaddle's
21 22 23
highly efficient inference engine, enables easy deployment in server environments.

- Highly Flexible:
Q
qingqing01 已提交
24 25

  Components are designed to be modular. Model architectures, as well as data
26 27 28 29
preprocess pipelines, can be easily customized with simple configuration
changes.

- Performance Optimized:
Q
qingqing01 已提交
30 31

  With the help of the underlying PaddlePaddle framework, faster training and
32 33
reduced GPU memory footprint is achieved. Notably, Yolo V3 training is
much faster compared to other frameworks. Another example is Mask-RCNN
Q
qingqing01 已提交
34 35
(ResNet50), we managed to fit up to 4 images per GPU (Tesla V100 16GB) during
multi-GPU training.
36 37 38

Supported Architectures:

G
Guanghua Yu 已提交
39 40 41 42 43 44 45 46 47 48
|                    | ResNet | ResNet-vd <sup>[1](#vd)</sup> | ResNeXt-vd | SENet | MobileNet | DarkNet |
|--------------------|:------:|------------------------------:|:----------:|:-----:|:---------:|:-------:|
| Faster R-CNN       | ✓      |                             ✓ | x          | ✓     | ✗         | ✗       |
| Faster R-CNN + FPN | ✓      |                             ✓ | ✓          | ✓     | ✗         | ✗       |
| Mask R-CNN         | ✓      |                             ✓ | x          | ✓     | ✗         | ✗       |
| Mask R-CNN + FPN   | ✓      |                             ✓ | x          | ✓     | ✗         | ✗       |
| Cascade R-CNN      | ✓      |                             ✗ | ✗          | ✗     | ✗         | ✗       |
| RetinaNet          | ✓      |                             ✗ | ✗          | ✗     | ✗         | ✗       |
| Yolov3             | ✓      |                             ✗ | ✗          | ✗     | ✓         | ✓       |
| SSD                | ✗      |                             ✗ | ✗          | ✗     | ✓         | ✗       |
49

Q
qingqing01 已提交
50
<a name="vd">[1]</a> [ResNet-vd](https://arxiv.org/pdf/1812.01187) models offer much improved accuracy with negligible performance cost.
51 52 53 54 55 56 57 58

Advanced Features:

- [x] **Synchronized Batch Norm**: currently used by Yolo V3.
- [x] **Group Norm**: pretrained models to be released.
- [x] **Modulated Deformable Convolution**: pretrained models to be released.
- [x] **Deformable PSRoI Pooling**: pretrained models to be released.

59 60
**NOTE:** Synchronized batch normalization can only be used on multiple GPU devices, can not be used on CPU devices or single GPU device.

61 62 63 64 65 66 67 68 69 70 71 72 73 74

## Model zoo

Pretrained models are available in the PaddlePaddle [detection model zoo](docs/MODEL_ZOO.md).


## Installation

Please follow the [installation guide](docs/INSTALL.md).


## Get Started

For inference, simply run the following command and the visualized result will
Q
qingqing01 已提交
75
be saved in `output`.
76 77 78 79

```bash
export PYTHONPATH=`pwd`:$PYTHONPATH
python tools/infer.py -c configs/mask_rcnn_r50_1x.yml \
J
jerrywgz 已提交
80 81
    -o weights=https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar \
    --infer_img=demo/000000570688.jpg
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
```

For detailed training and evaluation workflow, please refer to [GETTING_STARTED.md](docs/GETTING_STARTED.md).

We also recommend users to take a look at the [IPython Notebook demo](demo/mask_rcnn_demo.ipynb)

Further information can be found in these documentations:

- [Introduction to the configuration workflow.](docs/CONFIG.md)
- [Guide to custom dataset and preprocess pipeline.](docs/DATA.md)


##  Todo List

Please note this is a work in progress, substantial changes may come in the
near future.
Some of the planned features include:

- [ ] Mixed precision training.
- [ ] Distributed training.
- [ ] Inference in 8-bit mode.
- [ ] User defined operations.
- [ ] Larger model zoo.


## Updates

#### Initial release (7/3/2019)
Q
qingqing01 已提交
110

111 112 113 114 115 116 117 118
- Initial release of PaddleDetection and detection model zoo
- Models included: Faster R-CNN, Mask R-CNN, Faster R-CNN+FPN, Mask
  R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, Yolo v3, and SSD.


## Contributing

Contributions are highly welcomed and we would really appreciate your feedback!!