forked from PaddlePaddle/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request PaddlePaddle#2 from qingqing01/init_ppdet
Init PaddleDetection.
- Loading branch information
Showing
285 changed files
with
39,661 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Virtualenv | ||
/.venv/ | ||
/venv/ | ||
|
||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
|
||
# C extensions | ||
*.so | ||
|
||
# json file | ||
*.json | ||
|
||
# Distribution / packaging | ||
/bin/ | ||
/build/ | ||
/develop-eggs/ | ||
/dist/ | ||
/eggs/ | ||
/lib/ | ||
/lib64/ | ||
/output/ | ||
/parts/ | ||
/sdist/ | ||
/var/ | ||
/*.egg-info/ | ||
/.installed.cfg | ||
/*.egg | ||
/.eggs | ||
|
||
# AUTHORS and ChangeLog will be generated while packaging | ||
/AUTHORS | ||
/ChangeLog | ||
|
||
# BCloud / BuildSubmitter | ||
/build_submitter.* | ||
/logger_client_log | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
.tox/ | ||
.coverage | ||
.cache | ||
.pytest_cache | ||
nosetests.xml | ||
coverage.xml | ||
|
||
# Translations | ||
*.mo | ||
|
||
# Sphinx documentation | ||
/docs/_build/ | ||
|
||
*.json | ||
|
||
|
||
dataset/coco/annotations | ||
dataset/coco/train2017 | ||
dataset/coco/val2017 | ||
dataset/voc/VOCdevkit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[style] | ||
based_on_style = pep8 | ||
column_limit = 80 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
English | [简体中文](README_cn.md) | ||
|
||
# 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 | ||
|
||
Features: | ||
|
||
- Production Ready: | ||
|
||
Key operations are implemented in C++ and CUDA, together with PaddlePaddle's | ||
highly efficient inference engine, enables easy deployment in server environments. | ||
|
||
- Highly Flexible: | ||
|
||
Components are designed to be modular. Model architectures, as well as data | ||
preprocess pipelines, can be easily customized with simple configuration | ||
changes. | ||
|
||
- Performance Optimized: | ||
|
||
With the help of the underlying PaddlePaddle framework, faster training and | ||
reduced GPU memory footprint is achieved. Notably, YOLOv3 training is | ||
much faster compared to other frameworks. Another example is Mask-RCNN | ||
(ResNet50), we managed to fit up to 4 images per GPU (Tesla V100 16GB) during | ||
multi-GPU training. | ||
|
||
Supported Architectures: | ||
|
||
| | 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 Faster-RCNN | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | | ||
| Cascade Mask-RCNN | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | | ||
| RetinaNet | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | | ||
| YOLOv3 | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | | ||
| SSD | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | | ||
|
||
<a name="vd">[1]</a> [ResNet-vd](https://arxiv.org/pdf/1812.01187) models offer much improved accuracy with negligible performance cost. | ||
|
||
Advanced Features: | ||
|
||
- [x] **Synchronized Batch Norm**: currently used by YOLOv3. | ||
- [x] **Group Norm** | ||
- [x] **Modulated Deformable Convolution** | ||
- [x] **Deformable PSRoI Pooling** | ||
|
||
**NOTE:** Synchronized batch normalization can only be used on multiple GPU devices, can not be used on CPU devices or single GPU device. | ||
|
||
## Get Started | ||
|
||
- [Installation guide](docs/INSTALL.md) | ||
- [Quick start on small dataset](docs/QUICK_STARTED.md) | ||
- [Guide to traing, evaluate and arguments description](docs/GETTING_STARTED.md) | ||
- [Guide to preprocess pipeline and custom dataset](docs/DATA.md) | ||
- [Introduction to the configuration workflow](docs/CONFIG.md) | ||
- [Examples for detailed configuration explanation](docs/config_example/) | ||
- [IPython Notebook demo](demo/mask_rcnn_demo.ipynb) | ||
- [Transfer learning document](docs/TRANSFER_LEARNING.md) | ||
|
||
## Model Zoo | ||
|
||
- Pretrained models are available in the [PaddleDetection model zoo](docs/MODEL_ZOO.md). | ||
- [Face detection models](configs/face_detection/README.md) | ||
- [Pretrained models for pedestrian and vehicle detection](contrib/README.md) | ||
|
||
## Model compression | ||
|
||
- [ Quantification aware training example](slim/quantization) | ||
- [ Pruning compression example](slim/prune) | ||
|
||
## Depoly | ||
|
||
- [Export model for inference depolyment](docs/EXPORT_MODEL.md) | ||
- [C++ inference depolyment](inference/README.md) | ||
|
||
## Benchmark | ||
|
||
- [Inference benchmark](docs/BENCHMARK_INFER_cn.md) | ||
|
||
|
||
## Updates | ||
|
||
#### 10/2019 | ||
|
||
- Face detection models included: BlazeFace, Faceboxes. | ||
- Enrich COCO models, box mAP up to 51.9%. | ||
- Add CACacascade RCNN, one of the best single model of Objects365 2019 challenge Full Track champion. | ||
- Add pretrained models for pedestrian and vehicle detection. | ||
- Support mixed-precision training. | ||
- Add C++ inference depolyment. | ||
- Add model compression examples. | ||
|
||
#### 2/9/2019 | ||
|
||
- Add retrained models for GroupNorm. | ||
|
||
- Add Cascade-Mask-RCNN+FPN. | ||
|
||
#### 5/8/2019 | ||
|
||
- Add a series of models ralated modulated Deformable Convolution. | ||
|
||
#### 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 YOLOv3 on VOC models | ||
|
||
#### 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, YOLOv3, and SSD. | ||
|
||
|
||
## Contributing | ||
|
||
Contributions are highly welcomed and we would really appreciate your feedback!! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
[English](README.md) | 简体中文 | ||
|
||
# PaddleDetection | ||
|
||
PaddleDetection的目的是为工业界和学术界提供丰富、易用的目标检测模型。不仅性能优越、易于部署,而且能够灵活的满足算法研究的需求。 | ||
|
||
<div align="center"> | ||
<img src="demo/output/000000570688.jpg" /> | ||
</div> | ||
|
||
|
||
## 简介 | ||
|
||
特性: | ||
|
||
- 易部署: | ||
|
||
PaddleDetection的模型中使用的核心算子均通过C++或CUDA实现,同时基于PaddlePaddle的高性能推理引擎可以方便地部署在多种硬件平台上。 | ||
|
||
- 高灵活度: | ||
|
||
PaddleDetection通过模块化设计来解耦各个组件,基于配置文件可以轻松地搭建各种检测模型。 | ||
|
||
- 高性能: | ||
|
||
基于PaddlePaddle框架的高性能内核,在模型训练速度、显存占用上有一定的优势。例如,YOLOv3的训练速度快于其他框架,在Tesla V100 16GB环境下,Mask-RCNN(ResNet50)可以单卡Batch Size可以达到4 (甚至到5)。 | ||
|
||
支持的模型结构: | ||
|
||
| | 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 Faster-CNN | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | | ||
| Cascade Mask-CNN | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | | ||
| RetinaNet | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | | ||
| YOLOv3 | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | | ||
| SSD | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | | ||
|
||
<a name="vd">[1]</a> [ResNet-vd](https://arxiv.org/pdf/1812.01187) 模型提供了较大的精度提高和较少的性能损失。 | ||
|
||
扩展特性: | ||
|
||
- [x] **Synchronized Batch Norm**: 目前在YOLOv3中使用。 | ||
- [x] **Group Norm** | ||
- [x] **Modulated Deformable Convolution** | ||
- [x] **Deformable PSRoI Pooling** | ||
|
||
**注意:** Synchronized batch normalization 只能在多GPU环境下使用,不能在CPU环境或者单GPU环境下使用。 | ||
|
||
|
||
## 使用教程 | ||
|
||
- [安装说明](docs/INSTALL_cn.md) | ||
- [快速开始](docs/QUICK_STARTED_cn.md) | ||
- [训练、评估及参数说明](docs/GETTING_STARTED_cn.md) | ||
- [数据预处理及自定义数据集](docs/DATA_cn.md) | ||
- [配置模块设计和介绍](docs/CONFIG_cn.md) | ||
- [详细的配置信息和参数说明示例](docs/config_example/) | ||
- [IPython Notebook demo](demo/mask_rcnn_demo.ipynb) | ||
- [迁移学习教程](docs/TRANSFER_LEARNING_cn.md) | ||
|
||
## 模型库 | ||
|
||
- [模型库](docs/MODEL_ZOO_cn.md) | ||
- [人脸检测模型](configs/face_detection/README.md) | ||
- [行人检测和车辆检测预训练模型](contrib/README_cn.md) | ||
|
||
|
||
## 模型压缩 | ||
- [量化训练压缩示例](slim/quantization) | ||
- [剪枝压缩示例](slim/prune) | ||
|
||
## 推理部署 | ||
|
||
- [模型导出教程](docs/EXPORT_MODEL.md) | ||
- [C++推理部署](inference/README.md) | ||
|
||
## Benchmark | ||
|
||
- [推理Benchmark](docs/BENCHMARK_INFER_cn.md) | ||
|
||
|
||
|
||
## 版本更新 | ||
|
||
### 10/2019 | ||
|
||
- 增加人脸检测模型BlazeFace、Faceboxes。 | ||
- 丰富基于COCO的模型,精度高达51.9%。 | ||
- 增加Objects365 2019 Challenge上夺冠的最佳单模型之一CACascade-RCNN。 | ||
- 增加行人检测和车辆检测预训练模型。 | ||
- 支持FP16训练。 | ||
- 增加跨平台的C++推理部署方案。 | ||
- 增加模型压缩示例。 | ||
|
||
|
||
### 2/9/2019 | ||
- 增加GroupNorm模型。 | ||
- 增加CascadeRCNN+Mask模型。 | ||
|
||
#### 5/8/2019 | ||
- 增加Modulated Deformable Convolution系列模型。 | ||
|
||
#### 7/22/2019 | ||
|
||
- 增加检测库中文文档 | ||
- 修复R-CNN系列模型训练同时进行评估的问题 | ||
- 新增ResNext101-vd + Mask R-CNN + FPN模型 | ||
- 新增基于VOC数据集的YOLOv3模型 | ||
|
||
#### 7/3/2019 | ||
|
||
- 首次发布PaddleDetection检测库和检测模型库 | ||
- 模型包括:Faster R-CNN, Mask R-CNN, Faster R-CNN+FPN, Mask | ||
R-CNN+FPN, Cascade-Faster-RCNN+FPN, RetinaNet, YOLOv3, 和SSD. | ||
|
||
## 如何贡献代码 | ||
|
||
我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。 |
Oops, something went wrong.