项目简介
本项目是基于ultralytics的YOLOv3目标检测框架的改进版,即YOLOv3 - SPP(空间金字塔池化)版本。该框架实现了YOLOv3模型的增强,通过引入空间金字塔池化(Spatial Pyramid Pooling,简称SPP)增强了模型对多尺度目标的检测能力。
项目的主要特性和功能
- 空间金字塔池化(SPP):在模型中加入空间金字塔池化层,提升模型对多尺度目标的检测能力。
- 多尺度训练:支持使用不同尺寸的图像进行训练,增强模型的泛化能力。
- COCO评估:具备COCO数据集的评估功能,可计算模型的mAP(mean Average Precision)等评价指标。
- 分布式训练:支持在多个GPU上进行分布式训练,提高训练效率。
- 灵活的数据预处理:支持缩放、裁剪、填充等多种数据预处理方式。
安装使用步骤
环境配置
- 确保安装Python 3.6或3.7。
- 安装PyTorch 1.7.1。
- 安装
pycocotools
库(Linux:pip install pycocotools
,Windows:pip install pycocotools - windows
)。 - 查看
requirements.txt
文件获取更多依赖项。
数据集准备
- 准备标注好的目标检测数据集,并按指定目录结构摆放。
- 若有VOC格式的标注数据,使用
trans_voc2yolo.py
脚本将其转换为YOLO格式。
预处理
- 使用
trans_voc2yolo.py
将VOC格式的标注转换为YOLO格式。 - 使用
calculate_dataset.py
脚本生成所需的准备文件,包括my_train_data.txt
、my_val_data.txt
和my_data.data
文件,并生成新的my_yolov3.cfg
文件。
模型训练
- 使用
train.py
脚本进行单GPU或CPU训练。 - 使用
train_multi_GPU.py
脚本进行多GPU训练,命令示例:python -m torch.distributed.launch --nproc_per_node=8 --use_env train_multi_GPU.py
。
模型评估
使用validation.py
或evaluate
函数进行模型性能评估。
模型预测
使用predict_test.py
脚本进行模型预测。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】