项目简介
本项目基于PyTorch实现了YOLO(You Only Look Once)目标检测模型。YOLO作为实时目标检测算法,通过单次前向传播就能完成目标检测任务,具备高效、准确的特性。项目提供了完整的模型实现,涵盖训练、预测和评估等功能,适用于多种目标检测场景。
项目的主要特性和功能
- 支持多GPU并行训练,提高训练效率。
- 支持Adam和SGD优化器,以及step、cosine等多种学习率下降方法。
- 内置图片裁剪、翻转等多种数据增强技术,提升模型泛化能力。
- 支持COCO数据集的mAP评估,提供详细性能指标。
- 提供预训练权重文件,方便用户快速开启训练或预测。
- 可根据batch size自动调整学习率,优化训练过程。
安装使用步骤
1. 环境准备
确保已安装以下依赖:
- Python 3.x
- PyTorch 1.2.0 或更高版本
- 其他依赖项请参考 requirements.txt
2. 下载项目
通过Git复制项目:
bash
cd yolo3-pytorch
3. 下载预训练权重和数据集
4. 训练模型
训练VOC数据集
- 解压VOC数据集并放置在项目根目录。
- 修改
voc_annotation.py
中的annotation_mode=2
,运行生成2007_train.txt
和2007_val.txt
。 - 直接运行
train.py
开始训练。
训练自己的数据集
- 准备数据集,将标签文件放在
VOCdevkit/VOC2007/Annotation
,图片文件放在VOCdevkit/VOC2007/JPEGImages
。 - 修改
voc_annotation.py
中的classes_path
,运行生成2007_train.txt
和2007_val.txt
。 - 修改
train.py
中的classes_path
,运行开始训练。
5. 预测
使用预训练权重
- 下载预训练权重并放入
model_data
目录。 - 运行
predict.py
,输入图片路径进行预测。
使用自己训练的权重
- 修改
yolo.py
中的model_path
和classes_path
,指向训练好的权重文件和类别文件。 - 运行
predict.py
,输入图片路径进行预测。
6. 评估
评估VOC数据集
- 修改
yolo.py
中的model_path
和classes_path
。 - 运行
get_map.py
进行评估,结果保存在map_out
文件夹中。
评估自己的数据集
- 修改
voc_annotation.py
中的trainval_percent
和train_percent
,划分测试集。 - 修改
get_map.py
中的classes_path
。 - 修改
yolo.py
中的model_path
和classes_path
。 - 运行
get_map.py
进行评估,结果保存在map_out
文件夹中。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】