【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证

前言

1、背景

现在工地上会规定所以进工地的人员必须带安全帽,避免人员在工作过程中受伤,以此为背景我们考虑用拍照识别人员在工地上工作是否带安全帽。因此以此为前题我就想通过目标检测的方式识别人员是否带安全帽;

2、为了能用人工智能的方式推理出人员是否带安全帽,那们首先在网络上收集工地上带安全帽的图片也就是就是我们所谓的数据集;

3、找到数据集后我们就得用专门标注的工具对图片进行标注,因为我们只区分戴安全帽与不戴安帽的员工,因为数据标注分为两类,一类是戴安全帽,一类是不戴安全帽;

4、按照yoloV8提供方式我们进行训练;

5、训练完我们对模型进行验证;

一、收集数据

我就是在网上找的,这块不用多说了,并且数据我亲自也已经标注过了,可以下载我整理好的数据集;

下载网址:

https://download.csdn.net/download/weixin_40950590/88370532?spm=1001.2014.3001.5503

二、标注数据

1、WINDOWS下载标注工具

下载网址:

https://download.csdn.net/download/weixin_40950590/88370483?spm=1001.2014.3001.5503

2、解压ZZNRemark.zip【里面有两个包支持ubuntu+widows】
3、打开ZZNRemark.exe 如图

4、配置标注类型

点击第8个工具按钮,添加helmet、noHelmet(如下图)

5、对图片进行标注

6、所有图片标注完成后,会在对应图片的路径下生成跟图片名称一样的txt文件,里面就是标注的数据信息。

标注软件的使用方法可以通过下面网址进行详细了解(专门针对yolo系列开发的,很好用)

【超好用】亲手开发的yolo系列数据标注工具软件说明_Coding_C++的博客-CSDN博客

7、将标注好的数据整理成yoloV8格式

7.1 新建一个文件件命句为mydata

7.2 在mydata里面再建一个文件夹images

7.3 在mydata里面再建一个文件夹labels感受

7.4 将数据集中的*.jpg拷贝到images下

7.5 将数据集中的*.txt拷贝到labels下

三、利用yoloV8训练模型

yoloV8的环境是装在了ubuntu上,接下来我们的ubuntu上训练数据模型。

1、环境安装请参照

【亲测】ubuntu20.4利用conda安装yoloV8 CUDA(python)环境_Coding_C++的博客-CSDN博客

2、如果训练步骤有不明白的地方请参照

【亲测】yolo v8训练自己的数据集(超详细)_Coding_C++的博客-CSDN博客

3、激活yoloV8环境

conda activate yoloV8

4、查看环境路径配置

yolo settings

5、将mydata文件夹拷贝到 /home/jsbz/桌面/yoloV8/train/datasets 下

cp -r mydata /home/jsbz/桌面/yoloV8/train/datasets

6、在yoloV8的安装环境的创建mydata.yaml

我的路径在:

/home/jsbz/miniconda3/envs/yoloV8/lib/python3.11/site-packages/ultralytics/cfg/datasets

7、将以下内容拷贝到mydata.yaml里(也可以通过其他文件来修改,比如:coco128.yaml)

8、修改yolov8.yaml

将原来的80改为2 其路径在:

/home/jsbz/miniconda3/envs/yoloV8/lib/python3.11/site-packages/ultralytics/cfg/models/v8

三、利用yoloV8训练自己的模型(我用的集GPU)

1、训练

yolo detect train data=mydata.yaml model=yolov8n.yaml epochs=3000 imgsz=640 device=0

2、等待结束(训练时间比较久)

训练完成后

此时我们看到训练好的模型在

/home/jsbz/桌面/yoloV8/train/runs/detect/train11/weights/best.pt

四、利用训练好的模型进行推理

1、网上下载一张工地戴工地帽的图片(或者直接从训练集里面抽一张)

比如说:/home/jsbz/下载/123.jpeg

2、利用命令推理

yolo detect predict model=/home/jsbz/桌面/yoloV8/train/runs/detect/train11/weights/best.pt source=/home/jsbz/下载/123.jpeg

推理结果在:/home/jsbz/桌面/yoloV8/train/runs/detect/predict8

如果还要提升识别的准确率,就需要从其他方面着手了,比如说增大数据集、更换yolov8s.yaml或者更大参数的模型等.....

我们可以看看自己的数据集2个类别,206张图,能识别到这个程度自己认为可以了。

本教程是带领大家快速把流程熟悉起来,有直观的感受!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勿扰,学习中......

你的鼓励将是我不断前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值