未验证 提交 63cb06db 编写于 作者: W wangxinxin08 提交者: GitHub

add ppyolo_eb parameters and polish ppyolo doc (#4363)

* add ppyolo_eb parameters and polish ppyolo doc, test=document_fix

* fix docs format
上级 6596f23c
...@@ -189,11 +189,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc ...@@ -189,11 +189,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc
``` ```
## Future work
1. more PP-YOLO tiny model
2. PP-YOLO model with more backbones
## Appendix ## Appendix
Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3. Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3.
......
...@@ -182,11 +182,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc ...@@ -182,11 +182,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc
``` ```
## 未来工作
1. 发布PP-YOLO-tiny模型
2. 发布更多骨干网络的PP-YOLO模型
## 附录 ## 附录
PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。 PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。
......
...@@ -19,7 +19,7 @@ PP-YOLO reached mmAP(IoU=0.5:0.95) as 45.9% on COCO test-dev2017 dataset, and in ...@@ -19,7 +19,7 @@ PP-YOLO reached mmAP(IoU=0.5:0.95) as 45.9% on COCO test-dev2017 dataset, and in
<img src="../../docs/images/ppyolo_map_fps.png" width=500 /> <img src="../../docs/images/ppyolo_map_fps.png" width=500 />
</div> </div>
PP-YOLO improved performance and speed of YOLOv3 with following methods: PP-YOLO and PP-YOLOv2 improved performance and speed of YOLOv3 with following methods:
- Better backbone: ResNet50vd-DCN - Better backbone: ResNet50vd-DCN
- Larger training batch size: 8 GPUs and mini-batch size as 24 on each GPU - Larger training batch size: 8 GPUs and mini-batch size as 24 on each GPU
...@@ -31,6 +31,9 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods: ...@@ -31,6 +31,9 @@ PP-YOLO improved performance and speed of YOLOv3 with following methods:
- [CoordConv](https://arxiv.org/abs/1807.03247) - [CoordConv](https://arxiv.org/abs/1807.03247)
- [Spatial Pyramid Pooling](https://arxiv.org/abs/1406.4729) - [Spatial Pyramid Pooling](https://arxiv.org/abs/1406.4729)
- Better ImageNet pretrain weights - Better ImageNet pretrain weights
- [PAN](https://arxiv.org/abs/1803.01534)
- Iou aware Loss
- larger input size
## Model Zoo ## Model Zoo
...@@ -114,6 +117,9 @@ PP-YOLO trained on Pascal VOC dataset as follows: ...@@ -114,6 +117,9 @@ PP-YOLO trained on Pascal VOC dataset as follows:
| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | | PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) |
| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | | PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) |
| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | | PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) |
| PP-YOLO_EB | 8 | 8 | ResNet34vd | 480 | 86.4 | [model](https://bj.bcebos.com/v1/paddlemodels/object_detection/ppyolo_eb_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_eb_voc.yml) |
**Notes:** PP-YOLO-EB is specially designed for [EdgeBoard](https://ai.baidu.com/tech/hardware/deepkit) hardware.
## Getting Start ## Getting Start
...@@ -194,11 +200,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo - ...@@ -194,11 +200,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo -
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo --image_file=demo/000000014439_640x640.jpg --use_gpu=True --run_benchmark=True --run_mode=trt_fp16 CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo --image_file=demo/000000014439_640x640.jpg --use_gpu=True --run_benchmark=True --run_mode=trt_fp16
``` ```
## Future work
1. more PP-YOLO tiny model
2. PP-YOLO model with more backbones
## Appendix ## Appendix
Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3. Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3.
...@@ -223,3 +224,29 @@ Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3. ...@@ -223,3 +224,29 @@ Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3.
- All models are trained on COCO train2017 datast and evaluated on val2017 & test-dev2017 dataset,`Box AP` is evaluation results as `mAP(IoU=0.5:0.95)`. - All models are trained on COCO train2017 datast and evaluated on val2017 & test-dev2017 dataset,`Box AP` is evaluation results as `mAP(IoU=0.5:0.95)`.
- Inference speed is tested on single Tesla V100 with batch size as 1 following test method and environment configuration in benchmark above. - Inference speed is tested on single Tesla V100 with batch size as 1 following test method and environment configuration in benchmark above.
- [YOLOv3-DarkNet53](../yolov3_darknet.yml) with mAP as 38.9 is optimized YOLOv3 model in PaddleDetection,see [Model Zoo](../../docs/MODEL_ZOO.md) for details. - [YOLOv3-DarkNet53](../yolov3_darknet.yml) with mAP as 38.9 is optimized YOLOv3 model in PaddleDetection,see [Model Zoo](../../docs/MODEL_ZOO.md) for details.
## Citation
```
@article{huang2021pp,
title={PP-YOLOv2: A Practical Object Detector},
author={Huang, Xin and Wang, Xinxin and Lv, Wenyu and Bai, Xiaying and Long, Xiang and Deng, Kaipeng and Dang, Qingqing and Han, Shumin and Liu, Qiwen and Hu, Xiaoguang and others},
journal={arXiv preprint arXiv:2104.10419},
year={2021}
}
@misc{long2020ppyolo,
title={PP-YOLO: An Effective and Efficient Implementation of Object Detector},
author={Xiang Long and Kaipeng Deng and Guanzhong Wang and Yang Zhang and Qingqing Dang and Yuan Gao and Hui Shen and Jianguo Ren and Shumin Han and Errui Ding and Shilei Wen},
year={2020},
eprint={2007.12099},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{ppdet2019,
title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.},
author={PaddlePaddle Authors},
howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}},
year={2019}
}
```
...@@ -19,7 +19,7 @@ PP-YOLO在[COCO](http://cocodataset.org) test-dev2017数据集上精度达到45. ...@@ -19,7 +19,7 @@ PP-YOLO在[COCO](http://cocodataset.org) test-dev2017数据集上精度达到45.
<img src="../../docs/images/ppyolo_map_fps.png" width=500 /> <img src="../../docs/images/ppyolo_map_fps.png" width=500 />
</div> </div>
PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: PP-YOLO和PP-YOLOv2从如下方面优化和提升YOLOv3模型的精度和速度:
- 更优的骨干网络: ResNet50vd-DCN - 更优的骨干网络: ResNet50vd-DCN
- 更大的训练batch size: 8 GPUs,每GPU batch_size=24,对应调整学习率和迭代轮数 - 更大的训练batch size: 8 GPUs,每GPU batch_size=24,对应调整学习率和迭代轮数
...@@ -31,6 +31,9 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: ...@@ -31,6 +31,9 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度:
- [CoordConv](https://arxiv.org/abs/1807.03247) - [CoordConv](https://arxiv.org/abs/1807.03247)
- [Spatial Pyramid Pooling](https://arxiv.org/abs/1406.4729) - [Spatial Pyramid Pooling](https://arxiv.org/abs/1406.4729)
- 更优的预训练模型 - 更优的预训练模型
- [PAN](https://arxiv.org/abs/1803.01534)
- Iou aware Loss
- 更大的输入尺寸
## 模型库 ## 模型库
...@@ -110,6 +113,10 @@ PP-YOLO在Pascal VOC数据集上训练模型如下: ...@@ -110,6 +113,10 @@ PP-YOLO在Pascal VOC数据集上训练模型如下:
| PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | | PP-YOLO | 8 | 12 | ResNet50vd | 608 | 84.9 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) |
| PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | | PP-YOLO | 8 | 12 | ResNet50vd | 416 | 84.3 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) |
| PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) | | PP-YOLO | 8 | 12 | ResNet50vd | 320 | 82.2 | [model](https://paddlemodels.bj.bcebos.com/object_detection/ppyolo_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_voc.yml) |
| PP-YOLO_EB | 8 | 8 | ResNet34vd | 480 | 86.4 | [model](https://bj.bcebos.com/v1/paddlemodels/object_detection/ppyolo_eb_voc.pdparams) | [config](https://github.com/PaddlePaddle/PaddleDetection/tree/develop/static/configs/ppyolo/ppyolo_eb_voc.yml) |
**注意:** PP-YOLO-EB是针对[EdgeBoard](https://ai.baidu.com/tech/hardware/deepkit)硬件专门设计的模型.
## 使用说明 ## 使用说明
...@@ -188,11 +195,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo - ...@@ -188,11 +195,6 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo -
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo --image_file=demo/000000014439_640x640.jpg --use_gpu=True --run_benchmark=True --run_mode=trt_fp16 CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output/ppyolo --image_file=demo/000000014439_640x640.jpg --use_gpu=True --run_benchmark=True --run_mode=trt_fp16
``` ```
## 未来工作
1. 发布PP-YOLO-tiny模型
2. 发布更多骨干网络的PP-YOLO模型
## 附录 ## 附录
PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。 PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。
...@@ -217,3 +219,29 @@ PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。 ...@@ -217,3 +219,29 @@ PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。
- Box AP为在COCO train2017数据集训练,val2017和test-dev2017数据集上评估`mAP(IoU=0.5:0.95)`数据 - Box AP为在COCO train2017数据集训练,val2017和test-dev2017数据集上评估`mAP(IoU=0.5:0.95)`数据
- 推理速度为单卡V100上,batch size=1, 使用上述benchmark测试方法的测试结果,测试环境配置为CUDA 10.2,CUDNN 7.5.1 - 推理速度为单卡V100上,batch size=1, 使用上述benchmark测试方法的测试结果,测试环境配置为CUDA 10.2,CUDNN 7.5.1
- [YOLOv3-DarkNet53](../yolov3_darknet.yml)精度38.9为PaddleDetection优化后的YOLOv3模型,可参见[模型库](../../docs/MODEL_ZOO_cn.md) - [YOLOv3-DarkNet53](../yolov3_darknet.yml)精度38.9为PaddleDetection优化后的YOLOv3模型,可参见[模型库](../../docs/MODEL_ZOO_cn.md)
## 引用
```
@article{huang2021pp,
title={PP-YOLOv2: A Practical Object Detector},
author={Huang, Xin and Wang, Xinxin and Lv, Wenyu and Bai, Xiaying and Long, Xiang and Deng, Kaipeng and Dang, Qingqing and Han, Shumin and Liu, Qiwen and Hu, Xiaoguang and others},
journal={arXiv preprint arXiv:2104.10419},
year={2021}
}
@misc{long2020ppyolo,
title={PP-YOLO: An Effective and Efficient Implementation of Object Detector},
author={Xiang Long and Kaipeng Deng and Guanzhong Wang and Yang Zhang and Qingqing Dang and Yuan Gao and Hui Shen and Jianguo Ren and Shumin Han and Errui Ding and Shilei Wen},
year={2020},
eprint={2007.12099},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{ppdet2019,
title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.},
author={PaddlePaddle Authors},
howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}},
year={2019}
}
```
static/docs/images/ppyolo_map_fps.png

131.9 KB | W: | H:

static/docs/images/ppyolo_map_fps.png

121.3 KB | W: | H:

static/docs/images/ppyolo_map_fps.png
static/docs/images/ppyolo_map_fps.png
static/docs/images/ppyolo_map_fps.png
static/docs/images/ppyolo_map_fps.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册