YoloV8详细训练教程.

相信各位知道yolov8发布了,也是U神大作,而且V8还会出论文喔!


2023.1.17 更新 yolov8-gradcam力图可视化链接

请添加图片描述


2023.1.20 更新 YOLOV8改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU 链接


2023.1.30 更新 如果你需要修改或者改进yolov8的代码 务必请看这个视频链接 因为修改代码需要用另外一种方式使用yolov8,不可以yolov8的代码装到python环境里面。 并支持同时使用yaml初始化模型载入训练权重


2023.1.30 更新 B站教学视频链接 YOLOV8改进-添加注意力机制 附带几十种注意力机制代码.


2023.2.8 更新 B站教学视频链接 YOLOV8改进-添加Wise-IoU.


2023.2.12 更新 B站教学视频链接 YOLOV8改进-添加可变卷积(DCNV2).


2023.2.16 更新 B站教学视频链接 YOLOV8重大更新支持目标跟踪.


2023.2.26 更新 B站教学视频链接 YOLOV8教程resume继续上一次训练.


2023.2.26 更新 B站教学视频链接 可视化统计预测结果的TP,FP,FN


2023.2.26 更新 B站教学视频链接 YOLOV8重大更新-支持Anchor-Free YOLOV5结构make great again!!!


重磅!!!!! YOLO模型改进集合指南-CSDN

YoloV8精度和结构和改动简介

YoloV8精度对比:

Yolov8结构图:

来源:https://github.com/ultralytics/ultralytics/issues/189

YoloV8相对于YoloV5的改进点:

  1. Replace the C3 module with the C2f module.
  2. Replace the first 6x6 Conv with 3x3 Conv in the Backbone.
  3. Delete two Convs (No.10 and No.14 in the YOLOv5 config).
  4. Replace the first 1x1 Conv with 3x3 Conv in the Bottleneck.
  5. Use decoupled head and delete the objectness branch.
  6. anchor free.

重点来了!如何训练我们yolov8模型

哔哩哔哩Yolov8视频教学地址(配合本博文,包你秒懂!) (不用修改yolov8 纯使用的话 看这个)

1. 下载源码准备数据

代码链接:yolov8_github,本次其github名字没有直接命名yolov8。
数据集本次博主准备一个小数据集,关于口罩目标检测数据集,数据集方面只要是vocyolo格式可以,下面会有转换脚本示例。那么各位看官使用自己的数据集就可以,我这里就不提供下载我的数据集了(偷个懒!)。

2. 配置环境(yolov8从0开始安装环境哔哩哔哩视频教学地址)

  1. 首先推荐使用anaconda作为你的python环境代码工具可以使用vscode或者pycharm,这个根据使用者爱好,这边我使用的是pycharm,那么这里默认各位已经准备anaconda和(vscode或者pycharm),不会安装的话可以百度一下,这方面的教程都非常丰富。
  2. 安装torchtorchvision
    你可以在这个pytorch官网中找到对应的安装命令,这里版本要求推荐torch==1.12.0+,下面贴出torch==1.12.0的各项安装命令,各位看官可以根据自己电脑情况进行选择
    CUDA 11.6
    pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 —extraindexurl https://download.pytorch.org/whl/cu116
    CUDA 11.3
    pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 —extra-index-url https://download.pytorch.org/whl/cu113
    CUDA 10.2
    pip install torch==1.12.0+cu102 torchvision==0.13.0+cu102 –extra-index-url https://download.pytorch.org/whl/cu102
    CPU only
    pip install torch==1.12.0+cpu torchvision==0.13.0+cpu –extra-index-url https://download.pytorch.org/whl/cpu
  3. 代码目录运行python setup.py install.
    运行后其会安装一些其依赖的包,会输出比较多的信息,怎么判断自己是否安装成功,主要是看最后输出是否有Finished processing dependencies for ultralytics即可.
    在这里插入图片描述

3. 处理数据集

博主github上有适用于yolov3,v5,v7,v8的数据集转换脚本,其使用教程如下

VOC标注格式数据集使用示例
  1. 图片存放datasetVOCdevkitJPEGImages中,图片后缀需要一致,比如都是jpg或者png等等,不支持混合的图片后缀格式比如一些是jpg,一些是png
  2. 把VOC标注格式的XML文件存放datasetVOCdevkitAnnotations中。
  3. 运行xml2txt.py,在这个文件中其会把Annotations中的XML格式标注文件转换到txt中的yolo格式标注文件。其中xml2txt.py中的postfix参数是JPEGImages图片后缀,修改图片后缀即可默认jpg比如我的图片都是png后缀的,需要postfix修改为png即可。其中运行这个文件的时候输出信息输出你的数据集的类别,你需要类别列表复制data.yaml中的names中,并且修改nc为你的类别数,也就是names类别个数
  4. 运行split_data.py,这个文件是划分训练验证测试集。其中支持修改val_size验证集比例test_size测试集比例,可以在split_data.py中找到对应参数进行修改然后postfix参数也是你的图片数据集后缀格式默认为jpg,如果你的图片后缀不是jpg结尾的话,需要修改一下这个参数
YOLO标注格式数据集使用示例
  1. 把图片存放datasetVOCdevkitJPEGImages中,图片后缀需要一致,比如都是jpg或者png等等,不支持混合的图片后缀格式,比如一些是jpg,一些是png
  2. 把YOLO标注格式的TXT文件存放在datasetVOCdevkittxt中。
  3. 运行split_data.py,这个文件是划分训练验证测试集。其中支持修改val_size验证集比例test_size测试集比例,可以在split_data.py中找到对应参数进行修改,然后postfix参数也是你的图片数据集后缀格式,默认为jpg,如果你的图片后缀不是jpg结尾的话,需要修改一下这个参数
  4. data.yaml中的names设置你的类别,其为一个list比如我的YOLO标注格式数据集中,0代表face,1代表body,那在data.yaml中就是names:[‘face’, ‘body’],然后nc:2,nc就是类别个数。
VOC数据集操作示例

博主准备的是voc标注格式的数据集,我们先把图片和VOC标注文件放到以下两个文件夹中:

然后运行xml2txt.py,其中这个文件有一个postfix参数,其为你图像的后缀格式,默认为jpg,如果你的图像bmp或者png可以修改这个参数,当然其不支持混合的后缀格式,其会导致输出文件找不到的错误信息,这个请大家注意!运行后会输出以下:
在这里插入图片描述
我们需要把最后的输出[‘mask’, ‘face’]复制data.yamlnames中,并且nc修改为自己数据集的类别数,也就是names列表长度,本数据集为2.如下所示
在这里插入图片描述
而且你会发现dataset/VOCdevkit/txt里面生成对应yolo格式的标注文件

YOLO数据集操作教程

对于yolo标注格式的数据集,我们直接把图像对应yolo标注文件放到datasetVOCdevkitJPEGImagesdatasetVOCdevkittxt即可然后data.yaml填写自己数据集的类别对应关系和类别数量即可

分割数据集

无论对于VOC格式数据集还是YOLO格式数据集,按照上述步骤处理好后运行split_data.py,这个文件也有一个postfix参数,默认为jpg,如果自己的数据集不是jpg后缀的话,请自行修改,当然不支持混合后缀格式,请大家注意!split_data.py中还有val_sizetest_size参数,其为比例系数默认为0.1,0.2,如有需要请自行修改。运行成功后,其会自动创建下图这些文件夹,然后把对应的图片和标签文件复制对应文件夹中。

当你完成这一步时候,数据集就处理完成。

4. 训练

训练过yolov5的都清楚,其会有一些配置文件和参数,但是这次v8稍有不同,其参数全部都存到一个yaml配置文件里面,就是其train.py是没有参数可以调整的,只需要在那个yaml配置文件里面进行修改即可,其路径为:ultralytics/yolo/configs/default.yaml接下来对一些重点的参数进行讲解

这次的yolo训练实在是太惊艳了,就是你只需要修改配置文件,其中在配置文件中有一个taskmode的参数,task就是选择detect我们这边做的是目标检测mode的话,你训练就是选择train,然后运行

yolo cfg=ultralytics/yolo/configs/default.yaml  

即可开始训练,太好用了!示例如下:
在这里插入图片描述
然后就开始训练,下面贴点训练过程输出的图:
在这里插入图片描述
在这里插入图片描述

4. 测试

这次YOLOV8的测试参数比之前的少,其解释如下:

5.推理

推理部分参数解释

需要注意的是需要把mode改为detect,然后Train settings中的model参数修改为你训练保存的模型文件,即可进行推理:
在这里插入图片描述
一些检测效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果内容对你有帮助,麻烦点个赞,谢谢!

原文地址:https://blog.csdn.net/qq_37706472/article/details/128679699

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_29518.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注