基于YOLOv8开发构建目标检测模型超详细教程【以焊缝质量检测数据场景为例】

超详细教程系列在我前面的文章中也有不少的实践记录,感兴趣的话可以自行阅读即可:

《基于yolov7开发实践实例分割模型超详细教程》

《YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程》

《基于yolov5-v7.0开发实践实例分割模型超详细教程》

《轻量级模型NanoDet基于自己的数据集【接打电话检测】从零构建模型超详细教程》

《基于YOLOv5-v6.2全新版本模型构建自己的图像识别模型超详细教程》

《基于自建数据集【海底生物检测】使用YOLOv5-v6.1/2版本构建目标检测模型超详细教程》

《超轻量级目标检测模型Yolo-FastestV2基于自建数据集【手写汉字检测】构建模型训练、推理完整流程超详细教程》

YOLOv8出来也有一段时间了,但是由于这次改动的方式比较大,官方将其转化为了一个安装包的形式,其实我不是很习惯这种形式,所以就没有经常用到这里,最近正好在整理这块的内容,就想着把自己的实践记录整理记录下来。

 github打开搜索YOLOv8,然后打开第一个项目,官方的项目地址在这里,如下所示:

 从yolov8开始,变成了一个可以直接导入使用的安装包形式了,客观来讲,单纯对于使用者来说上手肯定是更加方便了,但是对于从yolov3一路跟随发展到yolov7来说,肯定是不习惯的,包括如果自己想要去改一些代码的话肯定也是不如之前的版本来的直接的。

安装很简单如下所示:

pip install ultralytics

一条命令就可以了,当然了也可以升级到最新的版本如下所示:

pip install --upgrade ultralytics

就我的使用体验来说,最好使用最新的版本,不然容易报错这样那样的问题,尤其是一个属性缺失的问题。

从YOLOv8开始,官方其实推荐使用的就是终端命令行的形式来使用模型,训练也是如下如下所示:

# Build a new model from YAML and start training from scratch
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640

当然了也可以编写简单的脚本代码来使用,如下所示:

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.yaml')  # build a new model from YAML
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights

# Train the model
model.train(data='coco128.yaml', epochs=100, imgsz=640)

就我自己来说更倾向于使用第二种方式。

这里就以焊缝质量检测场景为例来看下整体操作实践过程吧。

 实例数据标注样例如下所示:

1 0.137019 0.134615 0.274038 0.269231
0 0.151442 0.533654 0.120192 0.442308
0 0.514423 0.548077 0.129808 0.475962
0 0.685096 0.143029 0.216346 0.286058

训练数据配置文件如下所示:

 更前面各个系列不同,这里path、train、test、val各个字段的配置需要使用绝对路径才可以的不然的话会报错,如下所示:

RuntimeError: Dataset 'self.yaml' error
Dataset 'self.yaml' images not found , missing paths ['E:\\projects\\datasets\\images\\test']
Note dataset download directory is 'E:\pp-projects\datasets'. You can update this in ......

配置完成后就可以开始训练了,日志输出如下所示:

 训练完成后结果目录文件详情如下所示:

 直观来看结果文件跟之前的版本还是有所区别的。

首先就是混淆矩阵,这里同时提供了两种形式的混淆矩阵,一种是原始数值形式的混淆矩阵,一种是经过归一化处理后的混淆矩阵,如下所示:

 其次就是results.png跟之前的版本样式差异还是比较明显的,如下所示:

 接下来是评估指标相关的结果数据了。

【F1值曲线】

 【Precision曲线】

 【Recall曲线】

 【PR曲线】

 【Batch计算实例】

 整体来讲,YOLOv8的易用程度还是比较高的,相比于前面系列的模型来说新手上手的速度肯定更快,门槛更低,但是如果是想要灵活性的话感觉就不如之前的系列了。

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
基于YOLOv8的各种瓶子识别检测系统源码(部署教程+训练好的模型+各项评估指标曲线).zip 平均准确率:0.95 类别:bottle 【资源介绍】 1、ultralytics-main ultralytics-main为YOLOv8源代码,里面涵盖基于yolov8分类、目标检测额、姿态估计、图像分割四部分代码,我们使用的是detect部分,也就是目标检测代码 2、搭建环境 安装anaconda 和 pycharm windows系统、mac系统、Linux系统都适配 在anaconda中新建一个新的envs虚拟空间(可以参考博客来),命令窗口执行:conda create -n YOLOv8 python==3.8 创建完YOLOv8-GUI虚拟空间后,命令窗口执行:source activate YOLOv8 激活虚拟空间 然后就在YOLOv8虚拟空间内安装requirements.txt中的所有安装包,命令窗口执行:pip install -r requirements.txt 使用清华源安装更快 3、训练模型过程 进入到\ultralytics-main\ultralytics\yolo\v8\detect\文件夹下,datasets即为我们需要准备好的数据集,训练其他模型同理。 data文件夹下的bicycle.yaml文件为数据集配置文件,该文件为本人训练自行车检测模型时创建,训练其他模型,可自行创建。博文有介绍https://blog.csdn.net/DeepLearning_?spm=1011.2415.3001.5343 train.py中238行,修改为data = cfg.data or './bicycle.yaml' # or yolo.ClassificationDataset("mnist") 237行修改自己使用的预训练模型 若自己有显卡,修改239行,如我有四张显卡,即改成args = dict(model=model, data=data, device=”0,1,2,3“) 以上配置完成后运行train.py开始训练模型,训练完毕后会在runs/detect/文件夹下生成train*文件夹,里面包含模型和评估指标等 4、推理测试 训练好模型,打开predict.py,修改87行,model = cfg.model or 'yolov8n.pt',把yolov8n.pt换成我们刚才训练完生成的模型路径(在\ultralytics-main\ultralytics\yolo\v8\detect\runs\detect文件夹下),待测试的图片或者视频存放于ultralytics\ultralytics\assets文件夹, 运行predict.py即可,检测结果会在runs/detect/train文件夹下生成。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值