【亲为】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 如图

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第1张图片

4、配置标注类型

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

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第2张图片

5、对图片进行标注

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第3张图片

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收集数据->数据标注->数据集训练->模型验证_第4张图片

三、利用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

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第5张图片

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)

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第6张图片8、修改yolov8.yaml

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

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

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第7张图片

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

1、训练

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

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第8张图片

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

训练完成后

【亲为】yoloV8收集数据->数据标注->数据集训练->模型验证_第9张图片此时我们看到训练好的模型在

/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张图,能识别到这个程度自己认为可以了。

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

你可能感兴趣的:(YOLO,人工智能)