README.md 4.7 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
34 35
reduced GPU memory footprint is achieved. Notably, Yolo V3 training is
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:

41 42 43 44 45 46 47 48 49 50
|                    | 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 R-CNN      | ✓      |                             ✗ | ✗          | ✗     | ✗         | ✗       | ✗   |
| RetinaNet          | ✓      |                             ✗ | ✗          | ✗     | ✗         | ✗       | ✗   |
| Yolov3             | ✓      |                             ✗ | ✗          | ✗     | ✓         | ✓       | ✗   |
| SSD                | ✗      |                             ✗ | ✗          | ✗     | ✓         | ✗       | ✓   |
51

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

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.

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

63 64 65

## Model zoo

W
wangguanzhong 已提交
66
Pretrained models are available in the PaddlePaddle [PaddleDetection model zoo](docs/MODEL_ZOO.md).
67 68 69 70 71 72 73 74 75 76


## 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 已提交
77
be saved in `output`.
78 79 80 81

```bash
export PYTHONPATH=`pwd`:$PYTHONPATH
python tools/infer.py -c configs/mask_rcnn_r50_1x.yml \
J
jerrywgz 已提交
82 83
    -o weights=https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar \
    --infer_img=demo/000000570688.jpg
84 85 86 87
```

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

W
wangguanzhong 已提交
88 89
For detailed configuration and parameter description, please refer to [Complete config files](docs/config_example/)

90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
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

W
wangguanzhong 已提交
113 114 115 116 117 118 119 120
#### 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
- Add Yolo v3 on VOC models

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

122 123 124 125 126 127 128 129
- 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!!