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

3 4
# PaddleDetection

5
PaddleDetection的目的是为工业界和学术界提供丰富、易用的目标检测模型。不仅性能优越、易于部署,而且能够灵活的满足算法研究的需求。
6

7
**目前检测库下模型均要求使用PaddlePaddle 1.6及以上版本或适当的develop版本。**
8 9

<div align="center">
G
Guanghua Yu 已提交
10
  <img src="docs/images/000000570688.jpg" />
11 12 13
</div>


14
## 简介
15

16
特性:
17

18
- 易部署:
Q
qingqing01 已提交
19

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

22
- 高灵活度:
Q
qingqing01 已提交
23

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

26
- 高性能:
Q
qingqing01 已提交
27

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

30
支持的模型结构:
31

Q
qingqing01 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45
|                    | 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          | ✓      |                             ✗ | ✓          | ✗     | ✗         |  ✗     |  ✗      |
| YOLOv3             | ✓      |                             ✗ | ✗          | ✗     | ✓         |  ✗     |  ✗      |
| SSD                | ✗      |                             ✗ | ✗          | ✗     | ✓         |  ✗     |  ✗      |
| BlazeFace          | ✗      |                             ✗ | ✗          | ✗     | ✗         |  ✗     |  ✗      |
| Faceboxes          | ✗      |                             ✗ | ✗          | ✗     | ✗         |  ✗     |  ✗      |
46

47
<a name="vd">[1]</a> [ResNet-vd](https://arxiv.org/pdf/1812.01187) 模型提供了较大的精度提高和较少的性能损失。
48

Q
qingqing01 已提交
49 50 51 52 53 54 55
更多的Backone:

- DarkNet
- VGG
- GCNet
- CBNet

56
扩展特性:
57

58
- [x] **Synchronized Batch Norm**: 目前在YOLOv3中使用。
Q
qingqing01 已提交
59 60 61
- [x] **Group Norm**
- [x] **Modulated Deformable Convolution**
- [x] **Deformable PSRoI Pooling**
Q
qingqing01 已提交
62
- [x] **Non-local和GCNet**
63

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

G
Guanghua Yu 已提交
66
## 文档教程
67

G
Guanghua Yu 已提交
68
**最新动态:** 已发布文档教程:[https://paddledetection.readthedocs.io](https://paddledetection.readthedocs.io)
69

G
Guanghua Yu 已提交
70 71 72 73 74 75 76 77 78 79
### 入门教程

- [安装说明](docs/tutorials/INSTALL_cn.md)
- [快速开始](docs/tutorials/QUICK_STARTED_cn.md)
- [训练/评估/预测流程](docs/tutorials/GETTING_STARTED_cn.md)

### 进阶教程
- [数据预处理及自定义数据集](docs/advanced_tutorials/READER.md)
- [搭建模型步骤](docs/advanced_tutorials/MODEL_TECHNICAL.md)
- [配置模块设计和介绍](docs/advanced_tutorials/CONFIG_cn.md)
Q
qingqing01 已提交
80
- [IPython Notebook demo](demo/mask_rcnn_demo.ipynb)
G
Guanghua Yu 已提交
81 82
- [迁移学习教程](docs/advanced_tutorials/TRANSFER_LEARNING_cn.md)
- [模型压缩](slim)
Q
qingqing01 已提交
83 84 85 86 87
    - [量化](slim/quantization)
    - [剪枝](slim/prune)
    - [蒸馏](slim/distillation)
    - [神经网络搜索](slim/nas)
    - [压缩benchmark](slim)
G
Guanghua Yu 已提交
88 89
- [推理部署](inference)
    - [模型导出教程](docs/advanced_tutorials/inference/EXPORT_MODEL.md)
Q
qingqing01 已提交
90
    - [预测引擎Python API使用示例](docs/advanced_tutorials/inference/INFERENCE.md)
G
Guanghua Yu 已提交
91 92
    - [C++推理部署](inference/README.md)
    - [推理Benchmark](docs/advanced_tutorials/inference/BENCHMARK_INFER_cn.md)
93

94
## 模型库
95

96 97 98
- [模型库](docs/MODEL_ZOO_cn.md)
- [人脸检测模型](configs/face_detection/README.md)
- [行人检测和车辆检测预训练模型](contrib/README_cn.md) 针对不同场景的检测模型
G
Guanghua Yu 已提交
99 100 101
- [YOLOv3增强模型](docs/featured_model/YOLOv3_ENHANCEMENT.md) 改进原始YOLOv3,精度达到41.4%,原论文精度为33.0%,同时预测速度也得到提升
- [Objects365 2019 Challenge夺冠模型](docs/featured_model/CACascadeRCNN.md) Objects365 Full Track任务中最好的单模型之一,精度达到31.7%
- [Open Images V5和Objects365数据集模型](docs/featured_model/OIDV5_BASELINE_MODEL.md)
W
wangguanzhong 已提交
102

103

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

107
## 版本更新
G
Guanghua Yu 已提交
108 109
v0.2.0版本已经在`01/2020`发布,增加多个模型,升级数据处理模块,拆分YOLOv3的loss,修复已知诸多bug等,
详细内容请参考[版本更新文档](docs/CHANGELOG.md)
110

111
## 如何贡献代码
112

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