README.md 4.2 KB
Newer Older
1
# PaddleDetection
2

Y
Yang Zhang 已提交
3
The goal of PaddleDetection is to provide easy access to a wide range of object
4
detection models in both industry and research settings. We design
Y
Yang Zhang 已提交
5 6
PaddleDetection to be not only performant, production-ready but also highly
flexible, catering to research needs.
7 8 9


<div align="center">
Y
Yang Zhang 已提交
10
  <img src="demo/output/000000570688.jpg" />
11 12 13 14 15
</div>


## Introduction

Q
qingqing01 已提交
16
Features:
17

Y
Yang Zhang 已提交
18
- Production Ready:
Q
qingqing01 已提交
19 20

  Key operations are implemented in C++ and CUDA, together with PaddlePaddle's
Y
Yang Zhang 已提交
21
highly efficient inference engine, enables easy deployment in server environments.
22

Y
Yang Zhang 已提交
23
- Highly Flexible:
Q
qingqing01 已提交
24 25

  Components are designed to be modular. Model architectures, as well as data
Y
Yang Zhang 已提交
26 27
preprocess pipelines, can be easily customized with simple configuration
changes.
28

Y
Yang Zhang 已提交
29
- Performance Optimized:
Q
qingqing01 已提交
30 31

  With the help of the underlying PaddlePaddle framework, faster training and
Y
Yang Zhang 已提交
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

Y
Yang Zhang 已提交
37
Supported Architectures:
38

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

Y
Yang Zhang 已提交
52
Advanced Features:
53

Y
Yang Zhang 已提交
54 55 56 57
- [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.
58 59 60 61


## Model zoo

Y
Yang Zhang 已提交
62 63
Pretrained models are available in the PaddlePaddle [detection model zoo](docs/MODEL_ZOO.md).

64 65 66

## Installation

Y
Yang Zhang 已提交
67 68
Please follow the [installation guide](docs/INSTALL.md).

69 70 71

## Get Started

Y
Yang Zhang 已提交
72
For inference, simply run the following command and the visualized result will
Q
qingqing01 已提交
73
be saved in `output`.
74 75 76 77

```bash
export PYTHONPATH=`pwd`:$PYTHONPATH
python tools/infer.py -c configs/mask_rcnn_r50_1x.yml \
J
jerrywgz 已提交
78 79
    -o weights=https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar \
    --infer_img=demo/000000570688.jpg
80 81
```

Y
Yang Zhang 已提交
82
For detailed training and evaluation workflow, please refer to [GETTING_STARTED.md](docs/GETTING_STARTED.md).
83

Y
Yang Zhang 已提交
84
We also recommend users to take a look at the [IPython Notebook demo](demo/mask_rcnn_demo.ipynb)
85

Y
Yang Zhang 已提交
86
Further information can be found in these documentations:
87

Y
Yang Zhang 已提交
88 89
- [Introduction to the configuration workflow.](docs/CONFIG.md)
- [Guide to custom dataset and preprocess pipeline.](docs/DATA.md)
90 91


Y
Yang Zhang 已提交
92
##  Todo List
93

Y
Yang Zhang 已提交
94 95 96
Please note this is a work in progress, substantial changes may come in the
near future.
Some of the planned features include:
97

Y
Yang Zhang 已提交
98 99 100 101 102
- [ ] Mixed precision training.
- [ ] Distributed training.
- [ ] Inference in 8-bit mode.
- [ ] User defined operations.
- [ ] Larger model zoo.
103 104


Y
Yang Zhang 已提交
105
## Updates
106

Y
Yang Zhang 已提交
107
#### Initial release (7/3/2019)
Q
qingqing01 已提交
108

Y
Yang Zhang 已提交
109 110 111
- 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.
112 113 114 115


## Contributing

Y
Yang Zhang 已提交
116
Contributions are highly welcomed and we would really appreciate your feedback!!