README.md 8.4 KB
Newer Older
Q
qingqing01 已提交
1 2 3
简体中文 | [English](README_en.md)

文档:[https://paddledetection.readthedocs.io](https://paddledetection.readthedocs.io)
W
wangguanzhong 已提交
4

5 6
# PaddleDetection

K
Kaipeng Deng 已提交
7
飞桨推出的PaddleDetection是端到端目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。PaddleDetection以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。
8

K
Kaipeng Deng 已提交
9 10 11
PaddleDetection新发布精度速度领先的[PP-YOLO](https://arxiv.org/abs/2007.12099)模型,COCO数据集精度达到45.2%,单卡Tesla V100预测速度达到72.9 FPS,详细信息见[PP-YOLO模型](configs/ppyolo/README.md)

**目前检测库下模型均要求使用PaddlePaddle 1.8及以上版本或适当的develop版本。**
12 13

<div align="center">
G
Guanghua Yu 已提交
14
  <img src="docs/images/000000570688.jpg" />
15 16 17
</div>


18
## 简介
19

20
特性:
21

Q
qingqing01 已提交
22 23 24 25
- 模型丰富:

  PaddleDetection提供了丰富的模型,包含目标检测、实例分割、人脸检测等100+个预训练模型,涵盖多种数据集竞赛冠军方案、适合云端/边缘端设备部署的检测方案。

26
- 易部署:
Q
qingqing01 已提交
27

28
  PaddleDetection的模型中使用的核心算子均通过C++或CUDA实现,同时基于PaddlePaddle的高性能推理引擎可以方便地部署在多种硬件平台上。
29

30
- 高灵活度:
Q
qingqing01 已提交
31

32
  PaddleDetection通过模块化设计来解耦各个组件,基于配置文件可以轻松地搭建各种检测模型。
33

34
- 高性能:
Q
qingqing01 已提交
35

36
  基于PaddlePaddle框架的高性能内核,在模型训练速度、显存占用上有一定的优势。例如,YOLOv3的训练速度快于其他框架,在Tesla V100 16GB环境下,Mask-RCNN(ResNet50)可以单卡Batch Size可以达到4 (甚至到5)。
37

Q
qingqing01 已提交
38

39
支持的模型结构:
40

Q
qingqing01 已提交
41 42 43 44 45 46 47 48 49 50
|                    | ResNet | ResNet-vd <sup>[1](#vd)</sup> | ResNeXt-vd | SENet | MobileNet |  HRNet | Res2Net |
|--------------------|:------:|------------------------------:|:----------:|:-----:|:---------:|:------:| :--:    |
| Faster R-CNN       | ✓      |                             ✓ | x          | ✓     | ✗         |  ✗     |  ✗      |
| Faster R-CNN + FPN | ✓      |                             ✓ | ✓          | ✓     | ✗         |  ✓     |  ✓      |
| Mask R-CNN         | ✓      |                             ✓ | x          | ✓     | ✗         |  ✗     |  ✗      |
| Mask R-CNN + FPN   | ✓      |                             ✓ | ✓          | ✓     | ✗         |  ✗     |  ✓      |
| Cascade Faster-RCNN | ✓     |                             ✓ | ✓          | ✗     | ✗         |  ✗     |  ✗      |
| Cascade Mask-RCNN  | ✓      |                             ✗ | ✗          | ✓     | ✗         |  ✗     |  ✗      |
| Libra R-CNN        | ✗      |                             ✓ | ✗          | ✗     | ✗         |  ✗     |  ✗      |
| RetinaNet          | ✓      |                             ✗ | ✓          | ✗     | ✗         |  ✗     |  ✗      |
K
Kaipeng Deng 已提交
51
| YOLOv3             | ✓      |                             ✓ | ✗          | ✗     | ✓         |  ✗     |  ✗      |
Q
qingqing01 已提交
52 53 54
| SSD                | ✗      |                             ✗ | ✗          | ✗     | ✓         |  ✗     |  ✗      |
| BlazeFace          | ✗      |                             ✗ | ✗          | ✗     | ✗         |  ✗     |  ✗      |
| Faceboxes          | ✗      |                             ✗ | ✗          | ✗     | ✗         |  ✗     |  ✗      |
55

Q
qingqing01 已提交
56 57
<a name="vd">[1]</a> [ResNet-vd](https://arxiv.org/pdf/1812.01187) 模型预测速度基本不变的情况下提高了精度。

K
Kaipeng Deng 已提交
58 59
**说明:** ✓ 为[模型库](docs/MODEL_ZOO_cn.md)中提供了对应配置文件和预训练模型,✗ 为未提供参考配置,但一般都支持。

Q
qingqing01 已提交
60 61 62 63 64 65
更多的模型:

- EfficientDet
- FCOS
- CornerNet-Squeeze
- YOLOv4
K
Kaipeng Deng 已提交
66
- PP-YOLO
67

Q
qingqing01 已提交
68 69 70 71 72 73
更多的Backone:

- DarkNet
- VGG
- GCNet
- CBNet
Q
qingqing01 已提交
74
- Hourglass
Q
qingqing01 已提交
75

76
扩展特性:
77

Q
qingqing01 已提交
78
- [x] **Synchronized Batch Norm**
Q
qingqing01 已提交
79 80 81
- [x] **Group Norm**
- [x] **Modulated Deformable Convolution**
- [x] **Deformable PSRoI Pooling**
Q
qingqing01 已提交
82
- [x] **Non-local和GCNet**
83

84
**注意:** Synchronized batch normalization 只能在多GPU环境下使用,不能在CPU环境或者单GPU环境下使用。
85

K
Kaipeng Deng 已提交
86 87 88
以下为选取各模型结构和骨干网络的代表模型COCO数据集精度mAP和单卡Tesla V100上预测速度(FPS)关系图。

<div align="center">
K
Kaipeng Deng 已提交
89
  <img src="docs/images/map_fps.png" width=800 />
K
Kaipeng Deng 已提交
90 91 92 93 94 95 96 97
</div>

**说明:**
- `CBResNet``Cascade-Faster-RCNN-CBResNet200vd-FPN`模型,COCO数据集mAP高达53.3%
- `Cascade-Faster-RCNN``Cascade-Faster-RCNN-ResNet50vd-DCN`,PaddleDetection将其优化到COCO数据mAP为47.8%时推理速度为20FPS
- PaddleDetection增强版`YOLOv3-ResNet50vd-DCN`在COCO数据集mAP高于原作10.6个绝对百分点,推理速度为61.3FPS,快于原作约70%
- 图中模型均可在[模型库](#模型库)中获取

K
Kaipeng Deng 已提交
98
以下为PaddleDetection发布的精度和预测速度优于YOLOv4模型的PP-YOLO与前沿目标检测算法的COCO数据集精度与单卡Tesla V100预测速度(FPS)关系图, PP-YOLO模型在[COCO](http://cocodataset.org) test2019数据集上精度达到45.2%,在单卡V100上FP32推理速度为72.9 FPS,详细信息见[PP-YOLO模型](configs/ppyolo/README.md)
K
Kaipeng Deng 已提交
99 100 101 102 103

<div align="center">
  <img src="docs/images/ppyolo_map_fps.png" width=600 />
</div>

G
Guanghua Yu 已提交
104
## 文档教程
105

G
Guanghua Yu 已提交
106 107 108 109 110
### 入门教程

- [安装说明](docs/tutorials/INSTALL_cn.md)
- [快速开始](docs/tutorials/QUICK_STARTED_cn.md)
- [训练/评估/预测流程](docs/tutorials/GETTING_STARTED_cn.md)
111
- [如何训练自定义数据集](docs/tutorials/Custom_DataSet.md)
G
Guanghua Yu 已提交
112
- [常见问题汇总](docs/FAQ.md)
G
Guanghua Yu 已提交
113 114

### 进阶教程
115
- [数据预处理及数据集定义](docs/advanced_tutorials/READER.md)
G
Guanghua Yu 已提交
116
- [搭建模型步骤](docs/advanced_tutorials/MODEL_TECHNICAL.md)
G
Guanghua Yu 已提交
117 118 119
- [模型参数配置](docs/advanced_tutorials/config_doc):
  - [配置模块设计和介绍](docs/advanced_tutorials/config_doc/CONFIG_cn.md)
  - [RCNN模型参数说明](docs/advanced_tutorials/config_doc/RCNN_PARAMS_DOC.md)
G
Guanghua Yu 已提交
120
- [迁移学习教程](docs/advanced_tutorials/TRANSFER_LEARNING_cn.md)
Q
qingqing01 已提交
121
- [IPython Notebook demo](demo/mask_rcnn_demo.ipynb)
G
Guanghua Yu 已提交
122
- [模型压缩](slim)
G
Guanghua Yu 已提交
123
    - [压缩benchmark](slim)
Q
qingqing01 已提交
124 125 126 127
    - [量化](slim/quantization)
    - [剪枝](slim/prune)
    - [蒸馏](slim/distillation)
    - [神经网络搜索](slim/nas)
G
Guanghua Yu 已提交
128 129 130 131 132
- [推理部署](deploy)
    - [模型导出教程](docs/advanced_tutorials/deploy/EXPORT_MODEL.md)
    - [Python端推理部署](deploy/python)
    - [C++端推理部署](deploy/cpp)
    - [推理Benchmark](docs/advanced_tutorials/deploy/BENCHMARK_INFER_cn.md)
133

134
## 模型库
135

136
- [模型库](docs/MODEL_ZOO_cn.md)
137
- [移动端模型](configs/mobile/README.md)
Q
qingqing01 已提交
138 139 140
- [Anchor free模型](configs/anchor_free/README.md)
- [人脸检测模型](docs/featured_model/FACE_DETECTION.md)
- [YOLOv3增强模型](docs/featured_model/YOLOv3_ENHANCEMENT.md): COCO mAP高达43.6%,原论文精度为33.0%
K
Kaipeng Deng 已提交
141
- [PP-YOLO模型](configs/ppyolo/README.md): COCO mAP高达45.3%,单卡Tesla V100预测速度高达72.9 FPS
Q
qingqing01 已提交
142 143
- [行人检测预训练模型](docs/featured_model/CONTRIB_cn.md)
- [车辆检测预训练模型](docs/featured_model/CONTRIB_cn.md)
144 145
- [Objects365 2019 Challenge夺冠模型](docs/featured_model/champion_model/CACascadeRCNN.md)
- [Open Images 2019-Object Detction比赛最佳单模型](docs/featured_model/champion_model/OIDV5_BASELINE_MODEL.md)
146
- [服务器端实用目标检测模型](configs/rcnn_enhance/README.md): V100上速度20FPS时,COCO mAP高达47.8%。
147
- [大规模实用目标检测模型](docs/featured_model/LARGE_SCALE_DET_MODEL.md): 提供了包含676个类别的大规模服务器端实用目标检测模型,适用于绝大部分使用场景,可以直接用来预测,也可以用于微调其他任务。
W
wangguanzhong 已提交
148

149

G
Guanghua Yu 已提交
150 151
## 许可证书
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。
152

153
## 版本更新
K
Kaipeng Deng 已提交
154
v0.4.0版本已经在`07/2020`发布,增加PP-YOLO, TTFNet, HTC, ACFPN等多个模型,新增BlazeFace人脸关键点检测模型,新增移动端SSDLite系列优化模型,新增GridMask,RandomErasing数据增强方法,新增Matrix NMS和EMA训练,提升易用性,修复已知诸多bug等,详细内容请参考[版本更新文档](docs/CHANGELOG.md)
155

156
## 如何贡献代码
157

158
我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。