zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Paddle实现YOLOv3 目标检测

2023-03-14 22:57:33 时间

环境准备


环境设置

GPU:GeForce GTX 1080Ti (12GB)


python:3.8.12


Paddle:2.1


PaddleDetection下载


通过如下git clone命令下载PaddleDetection目标检测库。


git clone https://github.com/PaddlePaddle/PaddleDetection # 下载PaddleDetection目标检测库

安装PaddleDetection依赖库

通过如下方式安装PaddleDetection依赖。


cd PaddleDetection/
pip install -r requirements.txt # requirements.txt列出了PaddleDetection的所有依赖库
pip install Cython pycocotools


数据准备


PaddleDetection提供了COCO、VOC等数据集下载脚本如dataset/coco/download.py,通过此脚本可自动下载对应数据集。


COCO的train数据集较大,训练比较耗时,本项目将训练集和验证集划分构建MINI_COCO数据集。


python dataset/coco/download_coco.py  # coco数据集下载脚本
python dataset/coco/split_coco.py     # 构建MINI_COCO数据集
python dataset/voc/download_coco.py  # VOC数据集下载脚本


对于VOC数据集,我们还需要通过脚本dataset/voc/creat_list.py构建test.txt和test.txt文件

python dataset/voc/creat_list.py # 构建txt文件


模型训练与评估


VOC数据集

本项目选取yolov3_darknet.yml作为本项目的训练配置文件。该配置文件选取的是YOLOv3_darknet模型,骨干网络为DarkNet,yolo_head为YOLOv3Head。


对于VOC数据集,我们不需要修改配置文件,直接用脚本运行,进行训练及评估。


python tools/train.py -c configs/yolov3/yolov3_darknet53_270e_cocoval.yml #训练VOC数据集
python -u tools/eval.py -c configs/yolov3/yolov3_darknet53_270e_cocoval.yml #评估yolov3_darknet模型


最终评估结果如下图所示:


image


从上图中,可以看出yolov3_darknet模型在VOC数据集上的mAP = 74.42 , FPS = 15.79