1、背景
现在工地上会规定所以进工地的人员必须带安全帽,避免人员在工作过程中受伤,以此为背景我们考虑用拍照识别人员在工地上工作是否带安全帽。因此以此为前题我就想通过目标检测的方式识别人员是否带安全帽;
2、为了能用人工智能的方式推理出人员是否带安全帽,那们首先在网络上收集工地上带安全帽的图片也就是就是我们所谓的数据集;
3、找到数据集后我们就得用专门标注的工具对图片进行标注,因为我们只区分戴安全帽与不戴安帽的员工,因为数据标注分为两类,一类是戴安全帽,一类是不戴安全帽;
4、按照yoloV8提供方式我们进行训练;
5、训练完我们对模型进行验证;
我就是在网上找的,这块不用多说了,并且数据我亲自也已经标注过了,可以下载我整理好的数据集;
下载网址:
https://download.csdn.net/download/weixin_40950590/88370532?spm=1001.2014.3001.5503
下载网址:
https://download.csdn.net/download/weixin_40950590/88370483?spm=1001.2014.3001.5503
点击第8个工具按钮,添加helmet、noHelmet(如下图)
标注软件的使用方法可以通过下面网址进行详细了解(专门针对yolo系列开发的,很好用)
【超好用】亲手开发的yolo系列数据标注工具软件说明_Coding_C++的博客-CSDN博客
7.1 新建一个文件件命句为mydata
7.2 在mydata里面再建一个文件夹images
7.3 在mydata里面再建一个文件夹labels感受
7.4 将数据集中的*.jpg拷贝到images下
7.5 将数据集中的*.txt拷贝到labels下
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)
将原来的80改为2 其路径在:
/home/jsbz/miniconda3/envs/yoloV8/lib/python3.11/site-packages/ultralytics/cfg/models/v8
yolo detect train data=mydata.yaml model=yolov8n.yaml epochs=3000 imgsz=640 device=0
训练完成后
/home/jsbz/桌面/yoloV8/train/runs/detect/train11/weights/best.pt
比如说:/home/jsbz/下载/123.jpeg
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张图,能识别到这个程度自己认为可以了。
本教程是带领大家快速把流程熟悉起来,有直观的感受!