README.md 4.1 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

Y
Yang Zhang 已提交
16
Design Principles:
17

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

Y
Yang Zhang 已提交
22 23 24 25
- Highly Flexible:
Components are designed to be modular. Model architectures, as well as data
preprocess pipelines, can be easily customized with simple configuration
changes.
26

Y
Yang Zhang 已提交
27 28 29 30 31 32
- Performance Optimized:
With the help of the underlying PaddlePaddle framework, faster training and
reduced GPU memory footprint is achieved. Notably, Yolo V3 training is
much faster compared to other frameworks. Another example is Mask-RCNN
(ResNet50), we managed to fit up to 5 images per GPU (V100 16GB) during
training.
33

Y
Yang Zhang 已提交
34
Supported Architectures:
35

Y
Yang Zhang 已提交
36 37 38 39 40 41 42 43 44 45
|                    | ResNet | ResNet-vd <sup>[1](#vd)</sup> | ResNeXt | SENet | MobileNet | DarkNet |
|--------------------|:------:|------------------------------:|:-------:|:-----:|:---------:|:-------:|
| Faster R-CNN       | ✓      |                             ✓ | ✓       | ✓     | ✗         | ✗       |
| Faster R-CNN + FPN | ✓      |                             ✓ | ✓       | ✓     | ✗         | ✗       |
| Mask R-CNN         | ✓      |                             ✓ | ✓       | ✓     | ✗         | ✗       |
| Mask R-CNN + FPN   | ✓      |                             ✓ | ✓       | ✓     | ✗         | ✗       |
| Cascade R-CNN      | ✓      |                             ✗ | ✗       | ✗     | ✗         | ✗       |
| RetinaNet          | ✓      |                             ✗ | ✗       | ✗     | ✗         | ✗       |
| Yolov3             | ✓      |                             ✗ | ✗       | ✗     | ✓         | ✓       |
| SSD                | ✗      |                             ✗ | ✗       | ✗     | ✓         | ✗       |
46

Y
Yang Zhang 已提交
47
<a name="vd">[1]</a> ResNet-vd models offer much improved accuracy with negligible performance cost.
48

Y
Yang Zhang 已提交
49
Advanced Features:
50

Y
Yang Zhang 已提交
51 52 53 54
- [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.
55 56 57 58


## Model zoo

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

61 62 63

## Installation

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

66 67 68

## Get Started

Y
Yang Zhang 已提交
69 70
For inference, simply run the following command and the visualized result will
be saved in `output/`.
71 72 73 74

```bash
export PYTHONPATH=`pwd`:$PYTHONPATH
python tools/infer.py -c configs/mask_rcnn_r50_1x.yml \
Y
Yang Zhang 已提交
75 76
    -o weights=https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar
    -infer_img=demo/000000570688.jpg
77 78
```

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

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

Y
Yang Zhang 已提交
83
Further information can be found in these documentations:
84

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


Y
Yang Zhang 已提交
89
##  Todo List
90

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

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


Y
Yang Zhang 已提交
102
## Updates
103

Y
Yang Zhang 已提交
104 105 106 107
#### Initial release (7/3/2019)
- 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.
108 109 110 111


## Contributing

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