环境准备

环境设置

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.txttest.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模型

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

从上图中,可以看出yolov3_darknet模型在VOC数据集上的 mAP = 74.42 , FPS = 15.79 \text{mAP}=74.42,\quad \text{FPS}=15.79% mAP=74.42,FPS=15.79

更多推荐

Paddle实现YOLOv3 目标检测