littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于PyTorch的YOLOv3目标检测系统

项目简介

本项目基于PyTorch实现了YOLOv3目标检测系统,可在VOC数据集上开展目标检测模型的训练、评估和预测工作,同时支持使用自定义数据集进行训练。

项目的主要特性和功能

  1. 多数据集支持:可使用VOC07+12数据集训练和评估,也支持自定义的VOC格式数据集。
  2. 训练功能:提供完整训练流程,涵盖数据集准备、处理与模型训练,训练结果会生成权值文件。
  3. 预测功能:支持用预训练权重或自训练权重进行图片、视频的目标检测,还能进行fps测试。
  4. 评估功能:可对训练好的模型在VOC07+12测试集或自定义数据集上评估,评估结果保存至指定文件夹。

安装使用步骤

环境准备

确保torch版本为1.2.0,其他依赖详情查看requirements.txt,该文件有一定兼容性,已测试pytorch1.7和1.7.1可正常运行。

数据和文件下载

  1. 训练所需的yolo_weights.pth可在百度云下载,链接: https://pan.baidu.com/s/1hCV4kg8NyStkywLiAeEr3g ,提取码: 6da3 ,下载后放入model_data文件夹。
  2. VOC数据集下载地址:https://pan.baidu.com/s/19Mw2u_df_nBzsC2lg20fQA ,提取码: j5ge ,解压后放在根目录。

训练步骤

训练VOC07+12数据集

  1. 准备数据集:将下载的VOC07+12数据集解压后放于根目录。
  2. 处理数据集:修改voc_annotation.py里的annotation_mode=2,运行该文件生成根目录下的2007_train.txt和2007_val.txt。
  3. 开始训练:直接运行train.py即可开始训练。
  4. 结果预测:在yolo.py里修改model_path(指向logs文件夹里训练好的权值文件)和classes_path(指向检测类别所对应的txt),修改完成后运行predict.py,输入图片路径即可检测。

训练自己的数据集

  1. 准备数据集:将标签文件放于VOCdevkit/VOC2007/Annotation中,图片文件放于VOCdevkit/VOC2007/JPEGImages中。
  2. 处理数据集:修改voc_annotation.py里的classes_path指向自己建立的cls_classes.txt(里面写所需区分的类别),运行该文件生成训练用的2007_train.txt和2007_val.txt。
  3. 开始训练:修改train.py里的classes_path(与voc_annotation.py里的txt一致),运行train.py开始训练,训练多个epoch后权值会生成在logs文件夹中。
  4. 结果预测:同训练VOC07+12数据集的预测步骤。

预测步骤

使用预训练权重

  1. 下载并解压库,将yolo_weights.pth放入model_data,运行predict.py,输入图片路径(如img/street.jpg)。
  2. 在predict.py里设置可进行fps测试和video视频检测。

使用自己训练的权重

  1. 按训练步骤完成训练。
  2. 在yolo.py里修改model_path(对应logs文件夹下的权值文件)和classes_path(是model_path对应分的类)。
  3. 运行predict.py,输入图片路径。
  4. 在predict.py里设置可进行fps测试和video视频检测。

评估步骤

评估VOC07+12的测试集

  1. 无需利用voc_annotation.py生成ImageSets文件夹下的txt。
  2. 在yolo.py里修改model_path(指向logs文件夹里训练好的权值文件)和classes_path(指向检测类别所对应的txt)。
  3. 运行get_map.py,评估结果会保存在map_out文件夹中。

评估自己的数据集

  1. 若训练前运行过voc_annotation.py,代码会自动划分数据集;可修改voc_annotation.py里的trainval_percent和train_percent调整测试集比例。
  2. 利用voc_annotation.py划分测试集后,修改get_map.py里的classes_path(与训练时的txt一致)。
  3. 在yolo.py里修改model_path和classes_path。
  4. 运行get_map.py,评估结果会保存在map_out文件夹中。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】