From abc7e4199185faaa43d5490ab81e16c14bc92ebe Mon Sep 17 00:00:00 2001 From: Feng Ni Date: Wed, 22 Jun 2022 15:28:58 +0800 Subject: [PATCH] add pphuman ppvehicle training configs and modelzoo (#6187) * add pphuman ppvehicle configs and doc * update doc and configs ,test=document_fix * fix doc, test=document_fix --- configs/pphuman/README.md | 27 +++++++++ .../pphuman/ppyoloe_crn_l_36e_crowdhuman.yml | 55 ++++++++++++++++++ .../pphuman/ppyoloe_crn_s_36e_crowdhuman.yml | 55 ++++++++++++++++++ configs/ppvehicle/README.md | 46 +++++++++++++++ .../ppvehicle/mot_ppyoloe_l_36e_ppvehicle.yml | 57 +++++++++++++++++++ .../mot_ppyoloe_l_36e_ppvehicle9cls.yml | 56 ++++++++++++++++++ .../ppvehicle/mot_ppyoloe_s_36e_ppvehicle.yml | 57 +++++++++++++++++++ .../mot_ppyoloe_s_36e_ppvehicle9cls.yml | 56 ++++++++++++++++++ .../ppyoloe_crn_l_36e_bdd100kdet.yml | 56 ++++++++++++++++++ .../ppyoloe_crn_l_36e_bdd100kmot.yml | 56 ++++++++++++++++++ .../ppvehicle/ppyoloe_crn_l_36e_uadetrac.yml | 56 ++++++++++++++++++ configs/ppyoloe/README.md | 11 ++++ configs/ppyoloe/README_cn.md | 12 ++++ 13 files changed, 600 insertions(+) create mode 100644 configs/pphuman/README.md create mode 100644 configs/pphuman/ppyoloe_crn_l_36e_crowdhuman.yml create mode 100644 configs/pphuman/ppyoloe_crn_s_36e_crowdhuman.yml create mode 100644 configs/ppvehicle/README.md create mode 100644 configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle.yml create mode 100644 configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle9cls.yml create mode 100644 configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle.yml create mode 100644 configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle9cls.yml create mode 100644 configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kdet.yml create mode 100644 configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kmot.yml create mode 100644 configs/ppvehicle/ppyoloe_crn_l_36e_uadetrac.yml diff --git a/configs/pphuman/README.md b/configs/pphuman/README.md new file mode 100644 index 000000000..9e501046e --- /dev/null +++ b/configs/pphuman/README.md @@ -0,0 +1,27 @@ +简体中文 | [English](README.md) + +# PP-YOLOE Human 检测模型 + +PaddleDetection团队提供了针对行人的基于PP-YOLOE的检测模型,用户可以下载模型进行使用。 +其中整理后的COCO格式的CrowdHuman数据集[下载链接](https://bj.bcebos.com/v1/paddledet/data/crowdhuman.zip),检测类别仅一类 `pedestrian(1)`,原始数据集[下载链接](http://www.crowdhuman.org/download.html)。 + +| 模型 | 数据集 | mAPval
0.5:0.95 | mAPval
0.5 | 下载 | 配置文件 | +|:---------|:-------:|:------:|:------:| :----: | :------:| +|PP-YOLOE-s| CrowdHuman | 42.5 | 77.9 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_s_36e_crowdhuman.pdparams) | [配置文件](./ppyoloe_crn_s_36e_crowdhuman.yml) | +|PP-YOLOE-l| CrowdHuman | 48.0 | 81.9 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_36e_crowdhuman.pdparams) | [配置文件](./ppyoloe_crn_l_36e_crowdhuman.yml) | + + +**注意:** +- PP-YOLOE模型训练过程中使用8 GPUs进行混合精度训练,如果**GPU卡数**或者**batch size**发生了改变,你需要按照公式 **lrnew = lrdefault * (batch_sizenew * GPU_numbernew) / (batch_sizedefault * GPU_numberdefault)** 调整学习率。 +- 具体使用教程请参考[ppyoloe](../ppyoloe#getting-start)。 + + +## 引用 +``` +@article{shao2018crowdhuman, + title={CrowdHuman: A Benchmark for Detecting Human in a Crowd}, + author={Shao, Shuai and Zhao, Zijian and Li, Boxun and Xiao, Tete and Yu, Gang and Zhang, Xiangyu and Sun, Jian}, + journal={arXiv preprint arXiv:1805.00123}, + year={2018} + } +``` diff --git a/configs/pphuman/ppyoloe_crn_l_36e_crowdhuman.yml b/configs/pphuman/ppyoloe_crn_l_36e_crowdhuman.yml new file mode 100644 index 000000000..445fefdc5 --- /dev/null +++ b/configs/pphuman/ppyoloe_crn_l_36e_crowdhuman.yml @@ -0,0 +1,55 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/ppyoloe_crn_l_36e_crowdhuman/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams +depth_mult: 1.0 +width_mult: 1.0 + +num_classes: 1 +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train.json + dataset_dir: dataset/crowdhuman + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val.json + dataset_dir: dataset/crowdhuman + +TestDataset: + !ImageFolder + anno_path: annotations/val.json + dataset_dir: dataset/crowdhuman + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/pphuman/ppyoloe_crn_s_36e_crowdhuman.yml b/configs/pphuman/ppyoloe_crn_s_36e_crowdhuman.yml new file mode 100644 index 000000000..7be5fe7e7 --- /dev/null +++ b/configs/pphuman/ppyoloe_crn_s_36e_crowdhuman.yml @@ -0,0 +1,55 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/ppyoloe_crn_s_36e_crowdhuman/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_s_300e_coco.pdparams +depth_mult: 0.33 +width_mult: 0.50 + +num_classes: 1 +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train.json + dataset_dir: dataset/crowdhuman + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val.json + dataset_dir: dataset/crowdhuman + +TestDataset: + !ImageFolder + anno_path: annotations/val.json + dataset_dir: dataset/crowdhuman + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/README.md b/configs/ppvehicle/README.md new file mode 100644 index 000000000..0d308ef46 --- /dev/null +++ b/configs/ppvehicle/README.md @@ -0,0 +1,46 @@ +简体中文 | [English](README.md) + +# PP-YOLOE Vehicle 检测模型 + +PaddleDetection团队提供了针对自动驾驶场景的基于PP-YOLOE的检测模型,用户可以下载模型进行使用,主要包含5个数据集(BDD100K-DET、BDD100K-MOT、UA-DETRAC、PPVehicle9cls、PPVehicle)。其中前3者为公开数据集,后两者为整合数据集。 +- BDD100K-DET具体类别为10类,包括`pedestrian(1), rider(2), car(3), truck(4), bus(5), train(6), motorcycle(7), bicycle(8), traffic light(9), traffic sign(10)`。 +- BDD100K-MOT具体类别为8类,包括`pedestrian(1), rider(2), car(3), truck(4), bus(5), train(6), motorcycle(7), bicycle(8)`,但数据集比BDD100K-DET更大更多。 +- UA-DETRAC具体类别为4类,包括`car(1), bus(2), van(3), others(4)`。 +- PPVehicle9cls数据集整合了BDD100K-MOT和UA-DETRAC,具体类别为9类,包括`pedestrian(1), rider(2), car(3), truck(4), bus(5), van(6), motorcycle(7), bicycle(8), others(9)`。 +- PPVehicle数据集整合了BDD100K-MOT和UA-DETRAC,是将BDD100K-MOT中的`car, truck, bus, van`和UA-DETRAC中的`car, bus, van`都合并为1类`vehicle(1)`后的数据集。 + + +| 模型 | 数据集 | 类别数 | mAPval
0.5:0.95 | 下载链接 | 配置文件 | +|:---------|:---------------:|:------:|:-----------------------:|:---------:| :-----: | +|PP-YOLOE-l| BDD100K-DET | 10 | 35.6 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_36e_bdd100kdet.pdparams) | [配置文件](./ppyoloe_crn_l_36e_bdd100kdet.yml) | +|PP-YOLOE-l| BDD100K-MOT | 8 | 33.7 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_36e_bdd100kmot.pdparams) | [配置文件](./ppyoloe_crn_l_36e_bdd100kmot.yml) | +|PP-YOLOE-l| UA-DETRAC | 4 | 51.4 | [下载链接](https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_36e_uadetrac.pdparams) | [配置文件](./ppyoloe_crn_l_36e_uadetrac.yml) | +|PP-YOLOE-l| PPVehicle9cls | 9 | 40.0 | [下载链接](https://paddledet.bj.bcebos.com/models/mot_ppyoloe_l_36e_ppvehicle9cls.pdparams) | [配置文件](./mot_ppyoloe_l_36e_ppvehicle9cls.yml) | +|PP-YOLOE-s| PPVehicle9cls | 9 | 35.3 | [下载链接](https://paddledet.bj.bcebos.com/models/mot_ppyoloe_s_36e_ppvehicle9cls.pdparams) | [配置文件](./mot_ppyoloe_s_36e_ppvehicle9cls.yml) | +|PP-YOLOE-l| PPVehicle | 1 | 63.9 | [下载链接](https://paddledet.bj.bcebos.com/models/mot_ppyoloe_l_36e_ppvehicle.pdparams) | [配置文件](./mot_ppyoloe_l_36e_ppvehicle.yml) | +|PP-YOLOE-s| PPVehicle | 1 | 61.3 | [下载链接](https://paddledet.bj.bcebos.com/models/mot_ppyoloe_s_36e_ppvehicle.pdparams) | [配置文件](./mot_ppyoloe_s_36e_ppvehicle.yml) | + +**注意:** +- PP-YOLOE模型训练过程中使用8 GPUs进行混合精度训练,如果**GPU卡数**或者**batch size**发生了改变,你需要按照公式 **lrnew = lrdefault * (batch_sizenew * GPU_numbernew) / (batch_sizedefault * GPU_numberdefault)** 调整学习率。 +- 具体使用教程请参考[ppyoloe](../ppyoloe#getting-start)。 + + +## 引用 +``` +@InProceedings{bdd100k, + author = {Yu, Fisher and Chen, Haofeng and Wang, Xin and Xian, Wenqi and Chen, + Yingying and Liu, Fangchen and Madhavan, Vashisht and Darrell, Trevor}, + title = {BDD100K: A Diverse Driving Dataset for Heterogeneous Multitask Learning}, + booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, + month = {June}, + year = {2020} +} + +@article{CVIU_UA-DETRAC, + author = {Longyin Wen and Dawei Du and Zhaowei Cai and Zhen Lei and Ming{-}Ching Chang and + Honggang Qi and Jongwoo Lim and Ming{-}Hsuan Yang and Siwei Lyu}, + title = {{UA-DETRAC:} {A} New Benchmark and Protocol for Multi-Object Detection and Tracking}, + journal = {Computer Vision and Image Understanding}, + year = {2020} +} +``` diff --git a/configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle.yml b/configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle.yml new file mode 100644 index 000000000..61df2fcc4 --- /dev/null +++ b/configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle.yml @@ -0,0 +1,57 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/mot_ppyoloe_l_36e_ppvehicle/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams +depth_mult: 1.0 +width_mult: 1.0 + +num_classes: 1 + +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train_all.json + dataset_dir: dataset/ppvehicle + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + allow_empty: true + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val_all.json + dataset_dir: dataset/ppvehicle + +TestDataset: + !ImageFolder + anno_path: annotations/val_all.json + dataset_dir: dataset/ppvehicle + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle9cls.yml b/configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle9cls.yml new file mode 100644 index 000000000..4cd73b7e2 --- /dev/null +++ b/configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle9cls.yml @@ -0,0 +1,56 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/mot_ppyoloe_l_36e_ppvehicle9cls/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams +depth_mult: 1.0 +width_mult: 1.0 + +num_classes: 9 + +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train_all_9cls.json + dataset_dir: dataset/ppvehicle + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val_all_9cls.json + dataset_dir: dataset/ppvehicle + +TestDataset: + !ImageFolder + anno_path: annotations/val_all_9cls.json + dataset_dir: dataset/ppvehicle + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle.yml b/configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle.yml new file mode 100644 index 000000000..f4f384584 --- /dev/null +++ b/configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle.yml @@ -0,0 +1,57 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/mot_ppyoloe_s_36e_ppvehicle/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_s_300e_coco.pdparams +depth_mult: 0.33 +width_mult: 0.50 + +num_classes: 1 + +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train_all.json + dataset_dir: dataset/ppvehicle + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + allow_empty: true + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val_all.json + dataset_dir: dataset/ppvehicle + +TestDataset: + !ImageFolder + anno_path: annotations/val_all.json + dataset_dir: dataset/ppvehicle + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle9cls.yml b/configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle9cls.yml new file mode 100644 index 000000000..653ff1a75 --- /dev/null +++ b/configs/ppvehicle/mot_ppyoloe_s_36e_ppvehicle9cls.yml @@ -0,0 +1,56 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/mot_ppyoloe_s_36e_ppvehicle9cls/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_s_300e_coco.pdparams +depth_mult: 0.33 +width_mult: 0.50 + +num_classes: 9 + +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train_all_9cls.json + dataset_dir: dataset/ppvehicle + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val_all_9cls.json + dataset_dir: dataset/ppvehicle + +TestDataset: + !ImageFolder + anno_path: annotations/val_all_9cls.json + dataset_dir: dataset/ppvehicle + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kdet.yml b/configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kdet.yml new file mode 100644 index 000000000..921d8b33f --- /dev/null +++ b/configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kdet.yml @@ -0,0 +1,56 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/ppyoloe_crn_l_36e_bdd100kdet/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams +depth_mult: 1.0 +width_mult: 1.0 + +num_classes: 10 + +TrainDataset: + !COCODataSet + image_dir: images/100k/train + anno_path: labels/det_20/det_train_cocofmt.json + dataset_dir: dataset/bdd100k + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: images/100k/val + anno_path: labels/det_20/det_val_cocofmt.json + dataset_dir: dataset/bdd100k + +TestDataset: + !ImageFolder + anno_path: labels/det_20/det_val_cocofmt.json + dataset_dir: dataset/bdd100k + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kmot.yml b/configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kmot.yml new file mode 100644 index 000000000..b9d32be10 --- /dev/null +++ b/configs/ppvehicle/ppyoloe_crn_l_36e_bdd100kmot.yml @@ -0,0 +1,56 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/ppyoloe_crn_l_36e_bdd100kmot/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams +depth_mult: 1.0 +width_mult: 1.0 + +num_classes: 8 + +TrainDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/train.json + dataset_dir: dataset/bdd100k + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: "" + anno_path: annotations/val.json + dataset_dir: dataset/bdd100k + +TestDataset: + !ImageFolder + anno_path: annotations/val.json + dataset_dir: dataset/bdd100k + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppvehicle/ppyoloe_crn_l_36e_uadetrac.yml b/configs/ppvehicle/ppyoloe_crn_l_36e_uadetrac.yml new file mode 100644 index 000000000..5f3dd59cd --- /dev/null +++ b/configs/ppvehicle/ppyoloe_crn_l_36e_uadetrac.yml @@ -0,0 +1,56 @@ +_BASE_: [ + '../datasets/coco_detection.yml', + '../runtime.yml', + '../ppyoloe/_base_/optimizer_300e.yml', + '../ppyoloe/_base_/ppyoloe_crn.yml', + '../ppyoloe/_base_/ppyoloe_reader.yml', +] +log_iter: 100 +snapshot_epoch: 4 +weights: output/ppyoloe_crn_l_36e_uadetrac/model_final + +pretrain_weights: https://paddledet.bj.bcebos.com/models/ppyoloe_crn_l_300e_coco.pdparams +depth_mult: 1.0 +width_mult: 1.0 + +num_classes: 4 + +TrainDataset: + !COCODataSet + image_dir: train + anno_path: annotations/train.json + dataset_dir: dataset/uadetrac + data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd'] + +EvalDataset: + !COCODataSet + image_dir: val + anno_path: annotations/test.json + dataset_dir: dataset/uadetrac + +TestDataset: + !ImageFolder + anno_path: annotations/test.json + dataset_dir: dataset/uadetrac + +TrainReader: + batch_size: 8 + +epoch: 36 +LearningRate: + base_lr: 0.001 + schedulers: + - !CosineDecay + max_epochs: 43 + - !LinearWarmup + start_factor: 0. + epochs: 1 + +PPYOLOEHead: + static_assigner_epoch: -1 + nms: + name: MultiClassNMS + nms_top_k: 1000 + keep_top_k: 100 + score_threshold: 0.01 + nms_threshold: 0.6 diff --git a/configs/ppyoloe/README.md b/configs/ppyoloe/README.md index 595854a9e..0b006d175 100644 --- a/configs/ppyoloe/README.md +++ b/configs/ppyoloe/README.md @@ -177,6 +177,17 @@ Model | AP | AP50 - *Due to the limited time, more verification results will be supplemented in the future. You are also welcome to contribute to PP-YOLOE* +### Feature Models + +The PaddleDetection team provides configs and weights of various feature detection models based on PP-YOLOE, which users can download for use: + +|Scenarios | Related Datasets | Links| +| :--------: | :---------: | :------: | +|Pedestrian Detection | CrowdHuman | [pphuman](../pphuman) | +|Vehicle Detection | BDD100K,UA-DETRAC | [ppvehicle](../ppvehicle) | +|Small Object Detection | VisDrone | [visdrone](../visdrone) | + + ## Appendix Ablation experiments of PP-YOLOE. diff --git a/configs/ppyoloe/README_cn.md b/configs/ppyoloe/README_cn.md index fe5bb2d9c..fa47fa524 100644 --- a/configs/ppyoloe/README_cn.md +++ b/configs/ppyoloe/README_cn.md @@ -178,6 +178,18 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc - 以上模型训练均采用官方提供的默认参数,并且加载COCO预训练参数 - *由于人力/时间有限,后续将会持续补充更多验证结果,也欢迎各位开源用户贡献,共同优化PP-YOLOE* + +### 垂类模型应用 + +PaddleDetection团队提供了基于PP-YOLOE的各种垂类检测模型的配置文件和权重,用户可以下载进行使用: + +| 场景 | 相关数据集 | 链接 | +| :--------: | :---------: | :------: | +| 行人检测 | CrowdHuman | [pphuman](../pphuman) | +| 车辆检测 | BDD100K,UA-DETRAC | [ppvehicle](../ppvehicle) | +| 小目标检测 | VisDrone | [visdrone](../visdrone) | + + ## 附录 PP-YOLOE消融实验 -- GitLab