用yolov5训练自己的数据集

使用Yolov5v4.0训练皮带机煤炭识别数据集的详细教程
本文详细介绍了如何使用Yolov5v4.0版本对皮带机上的煤炭进行视频识别,包括环境配置、数据集构建(图片和标签制作、划分)、配置文件修改、训练过程中的报错解决以及测试和目标检测应用。

用yolov5训练自己的数据集

版本:yolov5 v4.0

一、环境配置(略)
二、数据集构建

1、本方案主要运用yolov5做皮带机上煤炭的视频识别检测,收集158张现场图片作为数据集,一共2个分类。(图略)

2、从GitHub中下载yolov5 v4.0版本文件并将其命名为belt_machine_detect,在belt_machine_detect中新建目录data,并新建images和labels文件夹,其中:

​ ~images中存放所有的数据集158张图片(.jpg格式)

​ ~labels中用于存放与数据集对应的标签文件(.txt格式)

3、标记数据集

先安装labelimg工具,在anaconda中进入yolov5虚拟环境中,输入pip install labelimg进行安装,安装完成后输入labelimg即可打开软件,在“Open Dir”中选择要标记的文件夹(data/images)打开,在“Change Save Dir”中选择标记生成的.txt文件保存路径,存放在data\labels文件夹中,注:labelimg输出格式选择YOLO。

4、划分数据集

默认train,val,test按照8:1:1的比例进行随机分类,本方案只划分train和val,在belt_machine_detect新建databases文件夹,在其中创建images和labels文件夹,这两个文件夹中都有train和val文件夹,将data中的数据集按照9:1的比例划分,并分别存放在train和val中。

5、修改配置文件

~5.1 在data文件夹中复制一份voc.yaml文件并重命名为voc_belt.yaml,打开并修改其中的内容如下:

train: databases/images/train # 训练集路径
val : databases/images/val  # 验证集路径
nc:2  # 类别数量
names : [ 'block', 'iron' ]  # 类别名称

~5.2 在models文件夹中复制一份yolov5s.yaml文件并重命名为yolov5s_belt.yaml,打开并修改其中的内容如下:

nc: 2 # 类别数量
三、训练数量集

在终端执行命令:

python train.py  --data data/voc_belt.yaml --weights weights/yolov5s.pt --epoch 100 --batch-size 4 --cfg models/yolov5s_belt.yaml

报错:

1、将database.py和general.py中的np.int改为np.int_
2、将loss.py中的:
# 原代码
anchors = self.anchors[i]
# 修改为
anchors,shape = self.anchors[i], p[i].shape
# 原代码
indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1)))  # image, anchor, grid indices
# 修改为
indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))
四、测试训练结果
python test.py  --data data/voc_belt.yaml --weights runs/train/exp8/weights/best.pt  --batch-size 4
五、正式目标检测(视频文件)
python detect.py  --source data/video/document2.mp4 --weights runs/train/exp8/weights/best.pt
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而性能高,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv5使用ultralytics/yolov5,在Windows系统上做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 希望学习Ubuntu上演示的同学,请前往 《YOLOv5(PyTorch)实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.youkuaiyun.com/course/detail/30793  本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.youkuaiyun.com/course/detail/30793Windows系统 https://edu.youkuaiyun.com/course/detail/30923《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.youkuaiyun.com/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.youkuaiyun.com/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.youkuaiyun.com/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.youkuaiyun.com/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.youkuaiyun.com/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.youkuaiyun.com/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.youkuaiyun.com/course/detail/35209《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.youkuaiyun.com/course/detail/35284       
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而高性能,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。  本课程的YOLOv5使用ultralytics/yolov5,在Windows和Ubuntu系统上分别做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集(自动划分训练集和验证集)、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 除本课程《YOLOv5实战训练自己的数据集(Windows和Ubuntu演示)》外,本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.youkuaiyun.com/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.youkuaiyun.com/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.youkuaiyun.com/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.youkuaiyun.com/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.youkuaiyun.com/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.youkuaiyun.com/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.youkuaiyun.com/course/detail/35209 《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.youkuaiyun.com/course/detail/35284  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值