diff --git a/configs/ppyolo/README.md b/configs/ppyolo/README.md index eca5216cd4074551add7968959aa38cbd7d9cb11..b567e3c92ba4c553faace1e42eaa965726445134 100644 --- a/configs/ppyolo/README.md +++ b/configs/ppyolo/README.md @@ -19,7 +19,7 @@ PP-YOLO reached mmAP(IoU=0.5:0.95) as 45.9% on COCO test-dev2017 dataset, and in -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 - 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: - [CoordConv](https://arxiv.org/abs/1807.03247) - [Spatial Pyramid Pooling](https://arxiv.org/abs/1406.4729) - Better ImageNet pretrain weights +- [PAN](https://arxiv.org/abs/1803.01534) +- Iou aware Loss +- larger input size ## Model Zoo @@ -219,6 +222,12 @@ Optimizing method and ablation experiments of PP-YOLO compared with YOLOv3. ## 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}, diff --git a/configs/ppyolo/README_cn.md b/configs/ppyolo/README_cn.md index 9eafa8d193645a8e72a445eda614ba577dbbea80..43b2416123df219f88dd107ab0b47fe732181b1a 100644 --- a/configs/ppyolo/README_cn.md +++ b/configs/ppyolo/README_cn.md @@ -19,7 +19,7 @@ PP-YOLO在[COCO](http://cocodataset.org) test-dev2017数据集上精度达到45. -PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: +PP-YOLO和PP-YOLOv2从如下方面优化和提升YOLOv3模型的精度和速度: - 更优的骨干网络: ResNet50vd-DCN - 更大的训练batch size: 8 GPUs,每GPU batch_size=24,对应调整学习率和迭代轮数 @@ -31,6 +31,9 @@ PP-YOLO从如下方面优化和提升YOLOv3模型的精度和速度: - [CoordConv](https://arxiv.org/abs/1807.03247) - [Spatial Pyramid Pooling](https://arxiv.org/abs/1406.4729) - 更优的预训练模型 +- [PAN](https://arxiv.org/abs/1803.01534) +- Iou aware Loss +- 更大的输入尺寸 ## 模型库 @@ -212,6 +215,12 @@ PP-YOLO模型相对于YOLOv3模型优化项消融实验数据如下表所示。 ## 引用 ``` +@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}, diff --git a/docs/images/ppyolo_map_fps.png b/docs/images/ppyolo_map_fps.png index c66ad2fb490d661fa9a773aa382ea5911957994e..f860d220d1c831e42a23e38fc78732426c23e2cc 100644 Binary files a/docs/images/ppyolo_map_fps.png and b/docs/images/ppyolo_map_fps.png differ diff --git a/docs/tutorials/PrepareDataSet.md b/docs/tutorials/PrepareDataSet.md index 5c30a9aee4bc86fcb43fd0016589909db3d1a33d..5dae1b23a8fe71eea22d9c913ed0c4e7451509a1 100644 --- a/docs/tutorials/PrepareDataSet.md +++ b/docs/tutorials/PrepareDataSet.md @@ -13,6 +13,7 @@ - [用户数据转成COCO数据](#用户数据转成COCO数据) - [用户数据自定义reader](#用户数据自定义reader) - [用户数据数据转换示例](#用户数据数据转换示例) +- [(可选)生成Anchor](#(可选)生成Anchor) ### 目标检测数据说明 @@ -421,3 +422,21 @@ roadsign数据集统计: **说明:** (1)用户数据,建议在训练前仔细检查数据,避免因数据标注格式错误或图像数据不完整造成训练过程中的crash (2)如果图像尺寸太大的话,在不限制读入数据尺寸情况下,占用内存较多,会造成内存/显存溢出,请合理设置batch_size,可从小到大尝试 + + +### (可选)生成Anchor +在yolo系列模型中,大多数情况下使用默认的anchor设置即可, 你也可以运行`tools/anchor_cluster.py`来得到适用于你的数据集Anchor,使用方法如下: +``` bash +python tools/anchor_cluster.py -c configs/ppyolo/ppyolo.yml -n 9 -s 608 -m v2 -i 1000 +``` +目前`tools/anchor_cluster.py`支持的主要参数配置如下表所示: + +| 参数 | 用途 | 默认值 | 备注 | +|:------:|:------:|:------:|:------:| +| -c/--config | 模型的配置文件 | 无默认值 | 必须指定 | +| -n/--n | 聚类的簇数 | 9 | Anchor的数目 | +| -s/--size | 图片的输入尺寸 | None | 若指定,则使用指定的尺寸,如果不指定, 则尝试从配置文件中读取图片尺寸 | +| -m/--method | 使用的Anchor聚类方法 | v2 | 目前只支持yolov2/v5的聚类算法 | +| -i/--iters | kmeans聚类算法的迭代次数 | 1000 | kmeans算法收敛或者达到迭代次数后终止 | +| -gi/--gen_iters | 遗传算法的迭代次数 | 1000 | 该参数只用于yolov5的Anchor聚类算法 | +| -t/--thresh| Anchor尺度的阈值 | 0.25 | 该参数只用于yolov5的Anchor聚类算法 |