未验证 提交 321f506d 编写于 作者: G Guanghua Yu 提交者: GitHub

Sort out all release/0.3 docs (#665)

* fix export_model doc link error

* sort out release/0.3 docs

* add new CHANGELOG

* add yolov4 in changelog
上级 31f7c698
......@@ -121,8 +121,8 @@
- [YOLOv3增强模型](docs/featured_model/YOLOv3_ENHANCEMENT.md): COCO mAP高达43.6%,原论文精度为33.0%
- [行人检测预训练模型](docs/featured_model/CONTRIB_cn.md)
- [车辆检测预训练模型](docs/featured_model/CONTRIB_cn.md)
- [Objects365 2019 Challenge夺冠模型](docs/featured_model/CACascadeRCNN.md)
- [Open Images 2019-Object Detction比赛最佳单模型](docs/featured_model/OIDV5_BASELINE_MODEL.md)
- [Objects365 2019 Challenge夺冠模型](docs/featured_model/champion_model/CACascadeRCNN.md)
- [Open Images 2019-Object Detction比赛最佳单模型](docs/featured_model/champion_model/OIDV5_BASELINE_MODEL.md)
- [服务器端实用目标检测模型](configs/rcnn_enhance/README.md): V100上速度20FPS时,COCO mAP高达47.8%。
......@@ -130,7 +130,7 @@
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。
## 版本更新
v0.2.0版本已经在`02/2020`发布,增加多个模型,升级数据处理模块,拆分YOLOv3的loss,修复已知诸多bug等,
v0.3.0版本已经在`05/2020`发布,增加anchor-free、EfficientDet和YOLOv4等多个模型,推出移动端、服务器端实用高效多个模型,重构预测部署功能,提升易用性,修复已知诸多bug等,
详细内容请参考[版本更新文档](docs/CHANGELOG.md)
## 如何贡献代码
......
......@@ -134,8 +134,8 @@ The following is the relationship between COCO mAP and FPS on Tesla V100 of repr
- [Pretrained models for pedestrian detection](docs/featured_model/CONTRIB.md)
- [Pretrained models for vehicle detection](docs/featured_model/CONTRIB.md)
- [YOLOv3 enhanced model](docs/featured_model/YOLOv3_ENHANCEMENT.md): Compared to MAP of 33.0% in paper, enhanced YOLOv3 reaches the MAP of 43.6%, and inference speed is improved as well
- [Objects365 2019 Challenge champion model](docs/featured_model/CACascadeRCNN.md)
- [Best single model of Open Images 2019-Object Detction](docs/featured_model/OIDV5_BASELINE_MODEL.md)
- [Objects365 2019 Challenge champion model](docs/featured_model/champion_model/CACascadeRCNN.md)
- [Best single model of Open Images 2019-Object Detction](docs/featured_model/champion_model/OIDV5_BASELINE_MODEL.md)
- [Practical Server-side detection method](configs/rcnn_enhance/README_en.md): Inference speed on single V100 GPU can reach 20FPS when COCO mAP is 47.8%.
......@@ -143,7 +143,7 @@ The following is the relationship between COCO mAP and FPS on Tesla V100 of repr
PaddleDetection is released under the [Apache 2.0 license](LICENSE).
## Updates
v0.2.0 was released at `02/2020`, add some models,Upgrade data processing module, Split YOLOv3's loss, fix many known bugs, etc.
v0.3.0 was released at `05/2020`, add anchor-free, EfficientDet, YOLOv4, etc. Launched mobile and server-side practical and efficient multiple models, refactored predictive deployment functions, and improved ease of use, fix many known bugs, etc.
Please refer to [版本更新文档](docs/CHANGELOG.md) for details.
## Contributing
......
......@@ -35,26 +35,28 @@ PaddleDetection目前提供一系列针对移动应用进行优化的模型,
- Qualcomm Snapdragon 855
- HiSilicon Kirin 970
- HiSilicon Kirin 980
- 单CPU线程 (单位: ms)
| | SD625 | SD835 | SD845 | SD855 | Kirin 970 | Kirin 980 |
|------------------|---------|---------|---------|---------|-----------|-----------|
| SSDLite Large | 289.071 | 134.408 | 91.933 | 48.2206 | 144.914 | 55.1186 |
| SSDLite Small | 122.932 | 57.1914 | 41.003 | 22.0694 | 61.5468 | 25.2106 |
| YOLOv3 baseline | 1082.5 | 435.77 | 317.189 | 155.948 | 536.987 | 178.999 |
| YOLOv3 prune | 253.98 | 131.279 | 89.4124 | 48.2856 | 122.732 | 55.8626 |
| Cascade RCNN 320 | 286.526 | 125.635 | 87.404 | 46.184 | 149.179 | 52.9994 |
| Cascade RCNN 640 | 1115.66 | 495.926 | 351.361 | 189.722 | 573.558 | 207.917 |
| | SD625 | SD835 | SD845 | SD855 | Kirin 970 | Kirin 980 |
|------------------|---------|---------|---------|---------|-----------|-----------|
| SSDLite Large | 289.071 | 134.408 | 91.933 | 48.2206 | 144.914 | 55.1186 |
| SSDLite Small | 122.932 | 57.1914 | 41.003 | 22.0694 | 61.5468 | 25.2106 |
| YOLOv3 baseline | 1082.5 | 435.77 | 317.189 | 155.948 | 536.987 | 178.999 |
| YOLOv3 prune | 253.98 | 131.279 | 89.4124 | 48.2856 | 122.732 | 55.8626 |
| Cascade RCNN 320 | 286.526 | 125.635 | 87.404 | 46.184 | 149.179 | 52.9994 |
| Cascade RCNN 640 | 1115.66 | 495.926 | 351.361 | 189.722 | 573.558 | 207.917 |
- 4 CPU线程 (单位: ms)
| | SD625 | SD835 | SD845 | SD855 | Kirin 970 | Kirin 980 |
|------------------|---------|---------|---------|---------|-----------|-----------|
| SSDLite Large | 107.535 | 51.1382 | 34.6392 | 20.4978 | 50.5598 | 24.5318 |
| SSDLite Small | 51.5704 | 24.5156 | 18.5486 | 11.4218 | 24.9946 | 16.7158 |
| YOLOv3 baseline | 413.486 | 184.248 | 133.624 | 75.7354 | 202.263 | 126.435 |
| YOLOv3 prune | 98.5472 | 53.6228 | 34.4306 | 21.3112 | 44.0722 | 31.201 |
| Cascade RCNN 320 | 131.515 | 59.6026 | 39.4338 | 23.5802 | 58.5046 | 36.9486 |
| Cascade RCNN 640 | 473.083 | 224.543 | 156.205 | 100.686 | 231.108 | 138.391 |
| | SD625 | SD835 | SD845 | SD855 | Kirin 970 | Kirin 980 |
|------------------|---------|---------|---------|---------|-----------|-----------|
| SSDLite Large | 107.535 | 51.1382 | 34.6392 | 20.4978 | 50.5598 | 24.5318 |
| SSDLite Small | 51.5704 | 24.5156 | 18.5486 | 11.4218 | 24.9946 | 16.7158 |
| YOLOv3 baseline | 413.486 | 184.248 | 133.624 | 75.7354 | 202.263 | 126.435 |
| YOLOv3 prune | 98.5472 | 53.6228 | 34.4306 | 21.3112 | 44.0722 | 31.201 |
| Cascade RCNN 320 | 131.515 | 59.6026 | 39.4338 | 23.5802 | 58.5046 | 36.9486 |
| Cascade RCNN 640 | 473.083 | 224.543 | 156.205 | 100.686 | 231.108 | 138.391 |
## YOLOv3剪裁说明
......
......@@ -35,6 +35,7 @@ This directory contains models optimized for mobile applications, at present the
- Qualcomm Snapdragon 855
- HiSilicon Kirin 970
- HiSilicon Kirin 980
- With 1 CPU thread (latency numbers are in ms)
| | SD625 | SD835 | SD845 | SD855 | Kirin 970 | Kirin 980 |
......@@ -45,6 +46,7 @@ This directory contains models optimized for mobile applications, at present the
| YOLOv3 prune | 253.98 | 131.279 | 89.4124 | 48.2856 | 122.732 | 55.8626 |
| Cascade RCNN 320 | 286.526 | 125.635 | 87.404 | 46.184 | 149.179 | 52.9994 |
| Cascade RCNN 640 | 1115.66 | 495.926 | 351.361 | 189.722 | 573.558 | 207.917 |
- With 4 CPU threads (latency numbers are in ms)
| | SD625 | SD835 | SD845 | SD855 | Kirin 970 | Kirin 980 |
......
## 服务器端实用目标检测方案(Practical Server-side detection, PSS-DET)
## 服务器端实用目标检测方案
### 简介
......@@ -28,7 +28,7 @@
> 这里为了更方便地对比,统一将V100的预测耗时乘以1.2倍,近似转化为Titan V的预测耗时。
## 模型库
### 模型库
| 骨架网络 | 网络类型 | 每张GPU图片个数 | 学习率策略 |推理时间(fps) | Box AP | Mask AP | 下载 | 配置文件 |
| :---------------------- | :-------------: | :-------: | :-----: | :------------: | :----: | :-----: | :-------------: | :-----: |
......
# YOLO v4
# YOLO v4 模型
## 内容
- [简介](#简介)
......@@ -25,8 +25,8 @@
| | GPU个数 | 测试集 | 骨干网络 | 精度 | 模型下载 | 配置文件 |
|:------------------------:|:-------:|:------:|:--------------------------:|:------------------------:| :---------:| :-----: |
| YOLO v4 | - |test-dev2019 | CSPDarkNet53 | 43.5 |[下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolo/yolov4_cspdarknet.yml) |
| YOLO v4 VOC | 2 | VOC2007 | CSPDarkNet53 | 85.5 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolo/yolov4_cspdarknet_voc.yml) |
| YOLO v4 | - |test-dev2019 | CSPDarkNet53 | 43.5 |[下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_cspdarknet.yml) |
| YOLO v4 VOC | 2 | VOC2007 | CSPDarkNet53 | 85.5 | [下载链接](https://paddlemodels.bj.bcebos.com/object_detection/yolov4_cspdarknet_voc.pdparams) | [配置文件](https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/yolov4/yolov4_cspdarknet_voc.yml) |
**注意:**
......
# PaddleDetection C++预测部署方案
# C++端预测部署
## 本文档结构
## 本教程结构
[1.说明](#1说明)
......
## PaddleDetection Python 预测部署方案
# Python端预测部署
本篇教程使用AnalysisPredictor对[导出模型](../../docs/advanced_tutorials/deploy/EXPORT_MODEL.md)进行高性能预测。
在PaddlePaddle中预测引擎和训练引擎底层有着不同的优化方法, 下面列出了两种不同的预测方式。Executor同时支持训练和预测,AnalysisPredictor则专门针对推理进行了优化,是基于[C++预测库](https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_guide/inference_deployment/inference/native_infer.html)的Python接口,该引擎可以对模型进行多项图优化,减少不必要的内存拷贝。如果用户在部署已训练模型的过程中对性能有较高的要求,我们提供了独立于PaddleDetection的预测脚本,方便用户直接集成部署。
......@@ -19,6 +19,7 @@ PaddleDetection在训练过程包括网络的前向和优化器相关参数,
导出后目录下,包括`__model__``__params__``infer_cfg.yml`三个文件。
## 2. 基于python的预测
### 2.1 安装依赖
- `PaddlePaddle`的安装:
请点击[官方安装文档](https://paddlepaddle.org.cn/install/quick) 选择适合的方式,版本为1.7以上即可
......
# 版本更新信息
## 最新版本信息
### v0.3.0(05/2020)
- 模型丰富度提升:
- 添加Efficientdet-D0模型,速度与精度优于竞品。
- 添加anchor-free模型FCOS,精度优于竞品。
- 新增yolov4预测模型,精度对齐竞品;新增yolov4在pascal voc数据集上finetune模型,精度达到85.5%。
- YOLOv3新增MobileNetV3骨干网络,COCO数据集精度达到31.6%。
- 添加anchor-free模型CornernetSqueeze,精度优于竞品, 优化模型的COCO数据集精度38.2%, +3.7%,速度较yolo_v3 darknet快5%。
- 添加服务器端实用目标检测模型cascade_rcnn_resnet50_vd_fpn_dcn,速度与精度优于竞品EfficientDet。
- 移动端推出3种模型:
- SSDLite系列模型:ssdlite-mobilenet_v3 large模型与ssdlite-mobilenet_v3 small模型,精度优于竞品。ssdlite-mobilenet_v1模型,精度优于竞品。
- yolo v3:yolov3_mobilenet_v3裁剪模型,速度和精度均领先于竞品的SSDLite模型。
- Faster RCNN:cascade_rcnn_mobilenet_v3 large_fpn推出输入图像分别为320x320和640x640的模型,速度与精度具有较高性价比。
- 预测部署重构:
- 新增Python预测部署流程,支持RCNN,YOLO,SSD,RetinaNet,人脸系列模型,支持视频预测。
- 重构C++预测部署,提高易用性。
- 易用性提升及功能组件:
- 增加AutoAugment数据增强。
- 升级检测库文档结构。
- 支持迁移学习自动进行shape匹配。
- 优化mask分支评估阶段内存占用。
## 历史版本信息
### v0.2.0(02/2020)
- 新增模型:
- 新增基于CBResNet模型。
......
## FAQ
## FAQ(常见问题)
**Q:** 为什么我使用单GPU训练loss会出`NaN`? </br>
**A:** 默认学习率是适配多GPU训练(8x GPU),若使用单GPU训练,须对应调整学习率(例如,除以8)。
......
推理部署
推理部署教程
===========================================
.. toctree::
......@@ -8,3 +8,5 @@
DEPLOY_PY.md
DEPLOY_CPP.md
BENCHMARK_INFER_cn.md
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
高级使用教程
进阶使用教程
===========================================
.. toctree::
......@@ -10,3 +10,5 @@
CONFIG_cn.md
TRANSFER_LEARNING_cn.md
slim/index
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
......@@ -9,3 +9,5 @@
quantization/index
nas/index
prune/index
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
**文档教程请参考:** [ACHOR\_FREE\_DETECTION.md](../../configs/anchor_free/README.md) <br/>
../../configs/anchor_free/README.md
\ No newline at end of file
[English](FACE_DETECTION_en.md) | 简体中文
# FaceDetection
# 人脸检测模型
## 内容
- [简介](#简介)
......
../../configs/mobile/README.md
\ No newline at end of file
../../configs/rcnn_enhance/README.md
\ No newline at end of file
../../configs/yolov4/README.md
\ No newline at end of file
......@@ -2,13 +2,13 @@
## 简介
CACascade RCNN是百度视觉技术部在Objects365 2019 Challenge上夺冠的最佳单模型之一,Objects365是在通用物体检测领域的一个全新的数据集,旨在促进对自然场景不同对象的检测研究。Objects365在63万张图像上标注了365个对象类,训练集中共有超过1000万个边界框。这里放出的是Full Track任务中最好的单模型之一。
![](../images/obj365_gt.png)
![](../../images/obj365_gt.png)
## 方法描述
针对大规模物体检测算法的特点,我们提出了一种基于图片包含物体类别的数量的采样方式(Class Aware Sampling)。基于这种方式进行训练模型可以在更短的时间使模型收敛到更好的效果。
![](../images/cas.png)
![](../../images/cas.png)
本次公布的最好单模型是一个基于Cascade RCNN的两阶段检测模型,在此基础上将Backbone替换为更加强大的SENet154模型,Deformable Conv模块以及更复杂二阶段网络结构,针对BatchSize比较小的情况增加了Group Normalization操作并同时使用了多尺度训练,最终达到了非常理想的效果。预训练模型先后分别在ImageNet和COCO数据集上进行了训练,其中在COCO数据集上训练时增加了Mask分支,其余结构与CACascade RCNN相同, 会在启动训练时自动下载。
......@@ -42,4 +42,4 @@ python tools/train.py -c configs/obj365/cascade_rcnn_dcnv2_se154_vd_fpn_gn_cas.y
## 模型效果
![](../images/obj365_pred.png)
![](../../images/obj365_pred.png)
......@@ -2,12 +2,12 @@
## 简介
CascadeCA RCNN是百度视觉技术部在Google AI Open Images 2019-Object Detction比赛中的最佳单模型,该单模型助力团队在500多参数队伍中取得第二名。Open Images Dataset V5(OIDV5)包含500个类别、173W训练图像和超过1400W个标注边框,是目前已知规模最大的目标检测公开数据集,数据集地址:[https://storage.googleapis.com/openimages/web/index.html](https://storage.googleapis.com/openimages/web/index.html)。团队在比赛中的技术方案报告地址:[https://arxiv.org/pdf/1911.07171.pdf](https://arxiv.org/pdf/1911.07171.pdf)
![](../images/oidv5_gt.png)
![](../../images/oidv5_gt.png)
## 方法描述
该模型结合了当前较优的检测方法。具体地,它将ResNet200-vd作为检测模型的骨干网络,其imagenet分类预训练模型可以在[这里](https://github.com/PaddlePaddle/models/blob/develop/PaddleCV/image_classification/README_en.md)下载;结合了CascadeCA RCNN、Feature Pyramid Networks、Non-local、Deformable V2等方法。在这里需要注意的是,标准的CascadeRCNN是只预测2个框(前景和背景,使用得分信息去判断最终前景所属的类别),而该模型对每个类别都单独预测了一个框(Cascade Class Aware)。最终模型框图如下图所示。
![](../images/oidv5_model_framework.png)
![](../../images/oidv5_model_framework.png)
由于OIDV5的类别不均衡现象比较严重,在训练时采用了动态采样的策略去选择样本并进行训练;多尺度训练被用于解决边框面积范围太大的情况;此外,团队使用Libra loss替代Smooth L1 loss,来计算预测框的loss;在预测时,使用SoftNMS方法进行后处理,保证更多的框可以被召回。
......@@ -49,4 +49,4 @@ python -u tools/infer.py -c configs/oidv5/cascade_rcnn_cls_aware_r200_vd_fpn_dcn
## 模型检测效果
![](../images/oidv5_pred.jpg)
![](../../images/oidv5_pred.jpg)
竞赛冠军模型
===========================================
.. toctree::
:maxdepth: 2
CACascadeRCNN.md
OIDV5_BASELINE_MODEL.md
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
......@@ -4,8 +4,13 @@
.. toctree::
:maxdepth: 2
FACE_DETECTION.md
YOLOv3_ENHANCEMENT.md
CACascadeRCNN.md
OIDV5_BASELINE_MODEL.md
MOBILE_SIDE.md
SERVER_SIDE.md
ANCHOR_FREE_DETECTION.md
YOLO_V4.md
champion_model/index.rst
FACE_DETECTION.md
CONTRIB_cn.md
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
......@@ -9,3 +9,6 @@
featured_model/index
MODEL_ZOO_cn.md
CHANGELOG.md
FAQ.md
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
初级使用教程
入门使用教程
===========================================
.. toctree::
......@@ -7,4 +7,5 @@
INSTALL_cn.md
QUICK_STARTED_cn.md
GETTING_STARTED_cn.md
FAQ.md
.. note:: 文中超链接以GitHub中展示为准,如出现超链接无法访问,请点击网页右上角「Edit on github」查看源文件进行索引,有任何问题欢迎在 `GitHub <https://github.com/PaddlePaddle/PaddleDetection>`_ 上提issue。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册