README.md 5.0 KB
Newer Older
W
wangguanzhong 已提交
1 2
English | [简体中文](README_cn.md)

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 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 已提交
18
Features:
19 20

- Production Ready:
Q
qingqing01 已提交
21 22

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

- Highly Flexible:
Q
qingqing01 已提交
26 27

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

- Performance Optimized:
Q
qingqing01 已提交
32 33

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

Supported Architectures:

Q
qingqing01 已提交
41 42 43 44 45 46 47 48 49 50 51
|                     | ResNet | ResNet-vd <sup>[1](#vd)</sup> | ResNeXt-vd | SENet | MobileNet | DarkNet | VGG  |
| ------------------- | :----: | ----------------------------: | :--------: | :---: | :-------: | :-----: | :--: |
| Faster R-CNN        |   ✓    |                             ✓ |     x      |   ✓   |     ✗     |    ✗    |  ✗   |
| Faster R-CNN + FPN  |   ✓    |                             ✓ |     ✓      |   ✓   |     ✗     |    ✗    |  ✗   |
| Mask R-CNN          |   ✓    |                             ✓ |     x      |   ✓   |     ✗     |    ✗    |  ✗   |
| Mask R-CNN + FPN    |   ✓    |                             ✓ |     ✓      |   ✓   |     ✗     |    ✗    |  ✗   |
| Cascade Faster-RCNN |   ✓    |                             ✓ |     ✓      |   ✗   |     ✗     |    ✗    |  ✗   |
| Cascade Mask-RCNN   |   ✓    |                             ✗ |     ✗      |   ✓   |     ✗     |    ✗    |  ✗   |
| RetinaNet           |   ✓    |                             ✗ |     ✗      |   ✗   |     ✗     |    ✗    |  ✗   |
| YOLOv3              |   ✓    |                             ✗ |     ✗      |   ✗   |     ✓     |    ✓    |  ✗   |
| SSD                 |   ✗    |                             ✗ |     ✗      |   ✗   |     ✓     |    ✗    |  ✓   |
52

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

Advanced Features:

Q
qingqing01 已提交
57 58 59 60
- [x] **Synchronized Batch Norm**: currently used by YOLOv3.
- [x] **Group Norm**
- [x] **Modulated Deformable Convolution**
- [x] **Deformable PSRoI Pooling**
61

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

Q
qingqing01 已提交
64
## Get Started
65

Q
qingqing01 已提交
66
- [Installation guide](docs/INSTALL.md)
Q
qingqing01 已提交
67
- [Quick start on small dataset](docs/QUICK_STARTED.md)
Q
qingqing01 已提交
68 69 70 71 72 73
- [Guide to traing, evaluate and arguments description](docs/GETTING_STARTED.md)
- [Guide to preprocess pipeline and custom dataset](docs/DATA.md)
- [Introduction to the configuration workflow](docs/CONFIG.md)
- [Examples for detailed configuration explanation](docs/config_example/)
- [IPython Notebook demo](demo/mask_rcnn_demo.ipynb)
- [Transfer learning document](docs/TRANSFER_LEARNING.md)
74

Q
qingqing01 已提交
75
## Model Zoo
76

Q
qingqing01 已提交
77 78 79
- Pretrained models are available in the [PaddleDetection model zoo](docs/MODEL_ZOO.md).
- [Face detection models](configs/face_detection/README.md)
- [Pretrained models for pedestrian  and vehicle detection](contrib/README.md)
80

Q
qingqing01 已提交
81
## Model compression
82

Q
qingqing01 已提交
83 84
- [ Quantification aware training example](slim/quantization)
- [ Pruning compression example](slim/prune)
85

Q
qingqing01 已提交
86
## Depoly
87

88
- [Export model for inference depolyment](docs/EXPORT_MODEL.md)
Q
qingqing01 已提交
89
- [C++ inference depolyment](inference/README.md)
90

Q
qingqing01 已提交
91
## Benchmark
92

Q
qingqing01 已提交
93
- [Inference benchmark](docs/BENCHMARK_INFER_cn.md)
W
wangguanzhong 已提交
94

95

Q
qingqing01 已提交
96
## Updates
97

Q
qingqing01 已提交
98
#### 10/2019
99

Q
qingqing01 已提交
100 101 102 103 104 105 106
- Face detection models included: BlazeFace, Faceboxes.
- Enrich COCO models,  box mAP up to 51.9%.
- Add CACacascade RCNN, one of the best single model of Objects365 2019 challenge Full Track champion.
- Add pretrained models for pedestrian and vehicle detection.
- Support mixed-precision training.
- Add C++ inference depolyment.
- Add model compression examples.
107

Q
qingqing01 已提交
108
#### 2/9/2019
109

Q
qingqing01 已提交
110
- Add retrained models for GroupNorm.
111

Q
qingqing01 已提交
112
- Add Cascade-Mask-RCNN+FPN.
113

Q
qingqing01 已提交
114
#### 5/8/2019
115

Q
qingqing01 已提交
116
- Add a series of models ralated modulated Deformable Convolution.
117

W
wangguanzhong 已提交
118 119 120 121 122
#### 7/29/2019

- Update Chinese docs for PaddleDetection
- Fix bug in R-CNN models when train and test at the same time
- Add ResNext101-vd + Mask R-CNN + FPN models
Q
qingqing01 已提交
123
- Add YOLOv3 on VOC models
W
wangguanzhong 已提交
124 125

#### 7/3/2019
Q
qingqing01 已提交
126

127 128
- Initial release of PaddleDetection and detection model zoo
- Models included: Faster R-CNN, Mask R-CNN, Faster R-CNN+FPN, Mask
Q
qingqing01 已提交
129
  R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, YOLOv3, and SSD.
130 131 132 133 134


## Contributing

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