目标检测 YOLOv5-7.0 详细调试&自制数据集实战

目标检测 YOLOv5-7.0 详细调试&自制数据集实战

一、项目介绍及环境配置

(一)项目解读





(二)版本选择

  • v1.0版本写的代码最为简单核心,后面越来越复杂,这是一个项目从想象到成熟必经的过程。高版本的看不懂,可优先去读低版本的
  • .pt(.pth)文件:Pytorch中常用的文件扩展名,用于保存和加载模型的权重或整个模型的状态

(三)环境配置

  • 解压完压缩包,在Pycharm中打开项目后,进行Python解释器的配置

注:最好一个项目一个环境!!!不然之后很容易依赖冲突!!!别问我是怎么知道的 🤕

  • 安装项目中需要用到的库
  1. 如果作者提供requirments.txt文件
    可利用PyCharm自带的智能提示进行安装,或者利用pip install -r requirments.txt 指令输入终端进行安装
  2. 如果作者没有提供requirments.txt文件
    根据运行报错信息,百度,手动安装缺少的库

二、如何利用YOLOv5进行预测(detect.py

(一)main函数中参数的解读

(二)小技巧

(1)网络模型 下载的太慢/直接下载失败 ,怎么办?

A:可以先在GitHub上下下来之后,再复制到当前文件夹(根目录)底下

Step1:Ctrl+C 暂停

Step2:找到项目的Release

Step3:往下翻,找到想要的模型,下载下来

Step4:粘贴到文件夹中

(2)图例

  1. resize的原理
  2. --iou-thres
    iou达到某个阈值后,从下面多个框中选一个最适合的
  1. 参数解析

  2. 设置固定参数配置的位置


三、如何训练YOLOv5神经网络(train.py

(一)本地上训练

(1)main函数中参数的解读

(2)可选参数


(3)训练生成文件的解读


(二)免费云端GPU上训练

(1)进入云端



(2)上传我们的项目

(3)解压缩












(三)运行时的常见报错&解决方法

(1)attributeerror: 'FreeTypeFont' object has no attribute 'getsize'

这是因为安装了新版本的 Pillow10 删除了 getsize 功能

  • 最容易想到的方法就是降级,降级到 Pillow 9.5 的确可以解决该问题,但有可能会造成其他库的依赖冲突。
  • 我们这里讲另外一个方法:
    因为 getsize 方法将在 Pillow10 中被 getbbox 或 getlength 代替
    所以我们可以在 utils / plots.py 文件 的第 91 行,找到 w, h = self.font.getsize(label) ,把他替换成 x, y, w, h = self.font.getbbox(label) ,就可以解决问题。

(2)requests.exceptions.ConnectionError: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=1Kkx2zW89jq_NETu4u42CFZTMVD5Hwm6e (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001A5052AE640>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

这个问题的原因是因为 DeepSORT 里面需要一些权重文件,没有权重文件的话会访问 Google Drive 进行下载,而国内没办法正常访问 Google Drive

  • 那么需要我们手动下载权重文件放在 "C:\Users\31923.cache\torch\checkpoints" 里面,同时需要在DeepSORT源代码把联网下载部分注释掉,即可正常运行
  • 最好的方法就是把需要下载的文件下载好之后,直接复制到当前文件夹底下

四、如何训练与制作自己的数据集

(一)常见的几种情况

(1)有数据集 --> 标注

(2)手动获得数据集 - 人工标注

(3)手动获得数据集 - 半人工标注

用已经训练好的网络对数据集进行简单的标注,再在此基础上进行微调

(4)仿真数据集(GAN,数字图像处理)

参考:https://github.com/Unity-Technologies/SynthDet

(二)实操演练

训练与制作自己的数据集教程参考:tutorials/train_custom_data

(1)数据集的获取


(2)人工/半人工标注


标注工具1:https://github.com/cvat-ai/cvat

标注工具2:https://www.makesense.ai/

标注工具3:labelme/labelimg/roboflow......








(3)创建标准化目录


(4)创建 - - data 数据集参数


(5)训练模型检验

  1. 权重参数
  2. 验证数据参数
  3. 结果

(三)注意事项



相关推荐
容智信息2 分钟前
Hyper Agent:企业级Agentic架构怎么实现?
人工智能·信息可视化·自然语言处理·架构·自动驾驶·智慧城市
Julyers4 分钟前
【Paper】FRST(快速径向对称变换)算法
图像处理·人工智能·计算机视觉·圆检测
Bony-11 分钟前
驾驶员行为检测:基于卷积神经网络(CNN)的识别方法
人工智能·神经网络·cnn
fie888914 分钟前
基于蚁群算法求解带时间窗的车辆路径问题
数据库·人工智能·算法
dazzle14 分钟前
计算机视觉处理(OpenCV基础教学(十七):图像轮廓检测技术详解)
人工智能·opencv·计算机视觉
人工智能技术咨询.17 分钟前
CLIP 的双编码器架构是如何优化图文关联的?
人工智能
珂朵莉MM24 分钟前
2025年睿抗机器人开发者大赛CAIP-编程技能赛-高职组(国赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·机器人
猫头虎29 分钟前
Claude Code 永动机:ralph-loop 无限循环迭代插件详解(安装 / 原理 / 最佳实践 / 避坑)
ide·人工智能·langchain·开源·编辑器·aigc·编程技术
aigcapi32 分钟前
如何让AI推广我的品牌?成长期企业GEO优化的“降本增效”实战指南
人工智能
百***243740 分钟前
GPT-5.2国内调用+API中转+成本管控
大数据·人工智能·深度学习