Skip to content

Commit ee563f0

Browse files
authored
[cherry-pick] [ppyoloe-plus] add task reademe and base config, test=document_fix (PaddlePaddle#6752)
* [cherry_pick] [ppyoloe-plus] add task reademe and base config, test=document_fix (PaddlePaddle#6722)
1 parent d541f3a commit ee563f0

13 files changed

+243
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# PP-YOLOE+ 下游任务
2+
3+
我们验证了PP-YOLOE+模型强大的泛化能力,在农业、低光、工业等不同场景下游任务检测效果稳定提升!
4+
5+
农业数据集采用[Embrapa WGISD](https://github.com/thsant/wgisd),该数据集用于葡萄栽培中基于图像的监测和现场机器人技术,提供了来自5种不同葡萄品种的实地实例,
6+
处理后的COCO格式,包含图片训练集242张,测试集58张,5个类别,[Embrapa WGISD COCO格式下载](https://bj.bcebos.com/v1/paddledet/data/wgisd.zip)
7+
8+
低光数据集使用[ExDark](https://github.com/cs-chan/Exclusively-Dark-Image-Dataset/tree/master/Dataset),该数据集是一个专门在低光照环境下拍摄出针对低光目标检测的数据集,包括从极低光环境到暮光环境等10种不同光照条件下的图片,
9+
处理后的COCO格式,包含图片训练集5891张,测试集1472张,12个类别,[ExDark COCO格式下载](https://bj.bcebos.com/v1/paddledet/data/Exdark.zip)
10+
11+
工业数据集使用[PKU-Market-PCB](https://robotics.pkusz.edu.cn/resources/dataset/),该数据集用于印刷电路板(PCB)的瑕疵检测,提供了6种常见的PCB缺陷,
12+
处理后的COCO格式,包含图片训练集555张,测试集138张,6个类别,[PKU-Market-PCB COCO格式下载](https://bj.bcebos.com/v1/paddledet/data/PCB_coco.zip)
13+
14+
15+
## 实验结果:
16+
17+
| 模型 | 数据集 | mAP<sup>val<br>0.5:0.95 | 下载链接 | 配置文件 |
18+
|:---------|:---------------:|:-----------------------:|:---------:| :-----: |
19+
|PP-YOLOE_m| Embrapa WGISD | 52.7 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_80e_wgisd.pdparams) | [配置文件](./ppyoloe_crn_m_80e_wgisd.yml) |
20+
|PP-YOLOE+_m<br>(obj365_pretrained)| Embrapa WGISD | 60.8(+8.1) | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_m_80e_obj365_pretrained_wgisd.pdparams) | [配置文件](./ppyoloe_plus_crn_m_80e_obj365_pretrained_wgisd.yml) |
21+
|PP-YOLOE+_m<br>(coco_pretrained)| Embrapa WGISD | 59.7(+7.0) | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_m_80e_coco_pretrained_wgisd.pdparams) | [配置文件](./ppyoloe_plus_crn_m_80e_coco_pretrained_wgisd.yml) |
22+
|PP-YOLOE_m| ExDark | 56.4 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_80e_exdark.pdparams) | [配置文件](./ppyoloe_crn_m_80e_exdark.yml) |
23+
|PP-YOLOE+_m<br>(obj365_pretrained)| ExDark | 57.7(+1.3) | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_m_80e_obj365_pretrained_exdark.pdparams) | [配置文件](./ppyoloe_plus_crn_m_80e_obj365_pretrained_exdark.yml) |
24+
|PP-YOLOE+_m<br>(coco_pretrained)| ExDark | 58.1(+1.7) | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_m_80e_coco_pretrained_exdark.pdparams) | [配置文件](./ppyoloe_plus_crn_m_80e_coco_pretrained_exdark.yml) |
25+
|PP-YOLOE_m| PKU-Market-PCB | 50.8 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_80e_pcb.pdparams) | [配置文件](./ppyoloe_crn_m_80e_pcb.yml) |
26+
|PP-YOLOE+_m<br>(obj365_pretrained)| PKU-Market-PCB | 52.7(+1.9) | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb.pdparams) | [配置文件](./ppyoloe_plus_crn_m_80e_obj365_pretrained_pcb.yml) |
27+
|PP-YOLOE+_m<br>(coco_pretrained)| PKU-Market-PCB | 52.4(+1.6) | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_m_80e_coco_pretrained_pcb.pdparams) | [配置文件](./ppyoloe_plus_crn_m_80e_coco_pretrained_pcb.yml) |
28+
29+
**注意:**
30+
- PP-YOLOE模型训练过程中使用8 GPUs进行训练,如果**GPU卡数**或者**batch size**发生了改变,你需要按照公式 **lr<sub>new</sub> = lr<sub>default</sub> * (batch_size<sub>new</sub> * GPU_number<sub>new</sub>) / (batch_size<sub>default</sub> * GPU_number<sub>default</sub>)** 调整学习率。
31+
- 具体使用教程请参考[ppyoloe](../ppyoloe#getting-start)
32+
33+
34+
35+
36+
37+
## 引用
38+
```
39+
@article{Exdark,
40+
title={Getting to Know Low-light Images with The Exclusively Dark Dataset},
41+
author={Loh, Yuen Peng and Chan, Chee Seng},
42+
journal={Computer Vision and Image Understanding},
43+
volume={178},
44+
pages={30-42},
45+
year={2019},
46+
doi={https://doi.org/10.1016/j.cviu.2018.10.010}
47+
}
48+
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
metric: COCO
2+
num_classes: 12
3+
4+
TrainDataset:
5+
!COCODataSet
6+
image_dir: images
7+
anno_path: coco_annotations/train.json
8+
dataset_dir: dataset/Exdark/
9+
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
10+
11+
EvalDataset:
12+
!COCODataSet
13+
image_dir: images
14+
anno_path: coco_annotations/val.json
15+
dataset_dir: dataset/Exdark/
16+
17+
TestDataset:
18+
!ImageFolder
19+
anno_path: coco_annotations/val.json # also support txt (like VOC's label_list.txt)
20+
dataset_dir: dataset/Exdark/ # if set, anno_path will be 'dataset_dir/anno_path'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
metric: COCO
2+
num_classes: 6
3+
4+
TrainDataset:
5+
!COCODataSet
6+
image_dir: images
7+
anno_path: pcb_cocoanno/train.json
8+
dataset_dir: dataset/PCB_coco/
9+
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
10+
11+
EvalDataset:
12+
!COCODataSet
13+
image_dir: images
14+
anno_path: pcb_cocoanno/val.json
15+
dataset_dir: dataset/PCB_coco/
16+
17+
TestDataset:
18+
!ImageFolder
19+
anno_path: pcb_cocoanno/val.json # also support txt (like VOC's label_list.txt)
20+
dataset_dir: dataset/PCB_coco/ # if set, anno_path will be 'dataset_dir/anno_path'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
metric: COCO
2+
num_classes: 5
3+
4+
TrainDataset:
5+
!COCODataSet
6+
image_dir: data
7+
anno_path: coco_annotations/new_train_bbox_instances.json
8+
dataset_dir: dataset/wgisd/
9+
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
10+
11+
EvalDataset:
12+
!COCODataSet
13+
image_dir: data
14+
anno_path: coco_annotations/new_test_bbox_instances.json
15+
dataset_dir: dataset/wgisd/
16+
17+
TestDataset:
18+
!ImageFolder
19+
anno_path: coco_annotations/new_test_bbox_instances.json # also support txt (like VOC's label_list.txt)
20+
dataset_dir: dataset/wgisd/ # if set, anno_path will be 'dataset_dir/anno_path'
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_BASE_: [
2+
'./_base_/exdark_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_80e.yml',
5+
'../_base_/ppyoloe_crn.yml',
6+
'../_base_/ppyoloe_reader.yml',
7+
]
8+
9+
log_iter: 100
10+
snapshot_epoch: 5
11+
weights: output/ppyoloe_crn_m_80e_exdark/model_final
12+
13+
pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_300e_coco.pdparams
14+
depth_mult: 0.67
15+
width_mult: 0.75
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_BASE_: [
2+
'./_base_/pcb_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_80e.yml',
5+
'../_base_/ppyoloe_crn.yml',
6+
'../_base_/ppyoloe_reader.yml',
7+
]
8+
9+
log_iter: 100
10+
snapshot_epoch: 5
11+
weights: output/ppyoloe_crn_m_80e_pcb/model_final
12+
13+
pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_300e_coco.pdparams
14+
depth_mult: 0.67
15+
width_mult: 0.75
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_BASE_: [
2+
'./_base_/wgisd_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_80e.yml',
5+
'../_base_/ppyoloe_crn.yml',
6+
'../_base_/ppyoloe_reader.yml',
7+
]
8+
9+
log_iter: 100
10+
snapshot_epoch: 5
11+
weights: output/ppyoloe_crn_m_80e_wgisd/model_final
12+
13+
pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_m_300e_coco.pdparams
14+
depth_mult: 0.67
15+
width_mult: 0.75
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_BASE_: [
2+
'./_base_/exdark_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_80e.yml',
5+
'../_base_/ppyoloe_plus_crn.yml',
6+
'../_base_/ppyoloe_plus_reader.yml',
7+
]
8+
9+
log_iter: 100
10+
snapshot_epoch: 5
11+
weights: output/ppyoloe_plus_crn_m_80e_coco_pretrained_exdark/model_final
12+
13+
pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_m_80e_coco.pdparams
14+
depth_mult: 0.67
15+
width_mult: 0.75
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_BASE_: [
2+
'./_base_/pcb_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_80e.yml',
5+
'../_base_/ppyoloe_plus_crn.yml',
6+
'../_base_/ppyoloe_plus_reader.yml',
7+
]
8+
9+
log_iter: 100
10+
snapshot_epoch: 5
11+
weights: output/ppyoloe_plus_crn_m_80e_coco_pretrained_pcb/model_final
12+
13+
pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_m_80e_coco.pdparams
14+
depth_mult: 0.67
15+
width_mult: 0.75
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
_BASE_: [
2+
'./_base_/wgisd_detection.yml',
3+
'../../runtime.yml',
4+
'../_base_/optimizer_80e.yml',
5+
'../_base_/ppyoloe_plus_crn.yml',
6+
'../_base_/ppyoloe_plus_reader.yml',
7+
]
8+
9+
log_iter: 100
10+
snapshot_epoch: 5
11+
weights: output/ppyoloe_plus_crn_m_80e_coco_pretrained_wgisd/model_final
12+
13+
pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_m_80e_coco.pdparams
14+
depth_mult: 0.67
15+
width_mult: 0.75

0 commit comments

Comments
 (0)