学习笔记(三)基于PaddleDetection的PPYOLO目标检测模型复现

1. PPYOLO模型简介

PP-YOLO是PaddleDetection优化和改进的YOLOv3的模型,其精度(COCO数据集mAP)和推理速度均优于YOLOv4模型。PPYOLO可以在均值平均精度(42.5%mAP)和检测速率(72.9FPS)之间取得更好地平衡,超过了目前最先进的检测器Efficient和YOLOv4,但是模型较大,更适合于服务端的部署。
在这里插入图片描述

2. 环境搭建

2.1 Paddle框架安装

PPYOLO需要使用百度paddle框架,我们打开飞桨官网:https://www.paddlepaddle.org.cn/ ,在下方的快速安装选择适合自己版本的paddlepaddle,
在这里插入图片描述

使用指令:

`python -m pip install paddlepaddle-gpu==2.1.0.post101 -f https://paddlepaddle.org.cn/whl/mkl/stable.html` 

安装GPU版本的paddle,paddle框架安装好之后进行入python界面,输入:

import paddle.fluid as fluid 
fluid.install_check.run_check()

查看paddle是否可以正常使用。
在这里插入图片描述

2.2 PaddleDetection依赖库安装

paddle框架安装好之后进行入从github上下载PaddleDetection并解压到目录,下载地址:https://github.com/PaddlePaddle/PaddleDetection 将paddledetection根目录添加到环境变量。
在这里插入图片描述

根据requirement.txt文件安装依赖库,依赖库安装结束后使用命令:

python ppdet/modeling/tests/test_architectures.py

测试是否可用,结果为ok可以正常使用。
在这里插入图片描述

3. 训练自己的数据集

3.1 准备数据集

PaddleDetection支持coco和voc两种格式的数据集,coco数据集的默认位置为dataset/coco目录下,数据集格式如下所示。
在这里插入图片描述
PaddleDetection包含了多种模型,PPYOLO、YOLOv3、faster_rcnn和mask_rcnn等模型配置文件存放在configs目录下。

3.2 修改配置文件

数据集准备好之后修改配置文件,打开configs/ppyolo文件夹,可以看到文件内包含多种模型
在这里插入图片描述
这里我们使用PPYOLO轻量级模型PP-YOLO_MobileNetV3_small进行训练,打开ppyolo_mbv3_small.yml可以看到它还包含五个配置文件,需要对这些文件参数进行修改。
在这里插入图片描述
打开coco_detection.yml修改类别数量num_classes、图片路径imge_dir和标签路径anno_dir,其中num_classes的值不包含背景类。
在这里插入图片描述
打开optimizer_1x.yml修改epoch次数,在学习率learningRate下修改基础学习率base_lr为0.00125,默认值为8卡学习率0.01,学习率计算公式为:base_lr=0.01/8*GPU数量。
在这里插入图片描述
打开ppyolo_mbv3_small_coco.yml分别在TrainReader、EvalReader和TestReader下修改batch_size、num_workers和num_classes的值
在这里插入图片描述
在这里插入图片描述

snapshot_epoch为每训练多少次生成一个权重文件,这里我们修改为2
在这里插入图片描述
至此配置文件就修改完毕了,注意配置文件中不能添加中文注释,否则会报错!

3.3 训练

参数配置完成后,使用命令:

python tools/train.py -c configs/ppyolo/ppyolo_mbv3_small_coco.yml --eval

开始训练,训练结果会保存在output/ppyolo_mbv3_small_coco文件夹内。
在这里插入图片描述
在这里插入图片描述

4. 推理测试

将要进行测试的图片放在demo文件夹内,使用命令:

python tools/infer.py -c configs/ppyolo/ppyolo_mbv3_small_coco.yml -o weights=output/ppyolo_mbv3_small_coco/best_model.pdparams --infer_dir=demo

进行推理测试,测试结果存放在output文件夹内。
在这里插入图片描述

版权声明:本文为CSDN博主「初级炼丹师666」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40231851/article/details/117192800

初级炼丹师666

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

小目标数据增强

环境ubuntu 18.04 64位YOLO数据集简介近年来,目标检测已经取得了长足的进步,不过,尽管如此,小目标与大目标之间,依然有着非常大的差距。论文 Augmentat