位置: IT常识 - 正文

YOLOV8最强操作教程.(yolov5 教程)

编辑:rootadmin
YOLOV8最强操作教程. YoloV8详细训练教程.

推荐整理分享YOLOV8最强操作教程.(yolov5 教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov3使用教程,yolov5 教程,yolov3.cfg,yolov5使用教程,yolov3使用教程,yolov3使用教程,yolov3使用教程,yolov教程,内容如对您有帮助,希望把文章链接给更多的朋友!

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

2023.1.17 更新 yolov8-grad-cam热力图可视化链接

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,FN2023.2.26 更新 B站教学视频链接 YOLOV8重大更新-支持Anchor-Free YOLOV5结构并make great again!!!重磅!!!!! YOLO模型改进集合指南-CSDNYoloV8精度和结构和改动简介YoloV8精度对比:

Yolov8结构图:

YoloV8相对于YoloV5的改进点:Replace the C3 module with the C2f module.Replace the first 6x6 Conv with 3x3 Conv in the Backbone.Delete two Convs (No.10 and No.14 in the YOLOv5 config).Replace the first 1x1 Conv with 3x3 Conv in the Bottleneck.Use decoupled head and delete the objectness branch.anchor free.重点来了!如何训练我们的yolov8模型?哔哩哔哩Yolov8视频教学地址(配合本博文,包你秒懂!) (不用修改yolov8 纯使用的话 看这个)1. 下载源码和准备数据集

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

2. 配置环境(yolov8从0开始安装环境哔哩哔哩视频教学地址)首先推荐使用anaconda作为你的python环境,代码工具可以使用vscode或者pycharm,这个根据使用者爱好,这边我使用的是pycharm,那么这里默认各位已经准备好anaconda和(vscode或者pycharm),不会安装的话可以百度一下,这方面的教程都非常丰富。安装torch和torchvision 你可以在这个pytorch官网中找到对应的安装命令,这里版本要求推荐torch==1.12.0+,下面贴出torch==1.12.0的各项安装命令,各位看官可以根据自己的电脑情况进行选择 CUDA 11.6 pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 --extra-index-url 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在代码目录下运行python setup.py install. 运行后其会安装一些其依赖的包,会输出比较多的信息,怎么判断自己是否安装成功,主要是看最后输出是否有Finished processing dependencies for ultralytics即可. 3. 处理数据集YOLOV8最强操作教程.(yolov5 教程)

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

VOC标注格式数据集使用示例把图片存放在dataset\VOCdevkit\JPEGImages中,图片后缀需要一致,比如都是jpg或者png等等,不支持混合的图片后缀格式,比如一些是jpg,一些是png。把VOC标注格式的XML文件存放在dataset\VOCdevkit\Annotations中。运行xml2txt.py,在这个文件中其会把Annotations中的XML格式标注文件转换到txt中的yolo格式标注文件。其中xml2txt.py中的postfix参数是JPEGImages的图片后缀,修改成图片的后缀即可,默认为jpg。比如我的图片都是png后缀的,需要把postfix修改为png即可。其中运行这个文件的时候,输出信息会输出你的数据集的类别,你需要把类别列表复制到data.yaml中的names中,并且修改nc为你的类别数,也就是names中类别个数。运行split_data.py,这个文件是划分训练、验证、测试集。其中支持修改val_size验证集比例和test_size测试集比例,可以在split_data.py中找到对应的参数进行修改,然后postfix参数也是你的图片数据集后缀格式,默认为jpg,如果你的图片后缀不是jpg结尾的话,需要修改一下这个参数。YOLO标注格式数据集使用示例把图片存放在dataset\VOCdevkit\JPEGImages中,图片后缀需要一致,比如都是jpg或者png等等,不支持混合的图片后缀格式,比如一些是jpg,一些是png。把YOLO标注格式的TXT文件存放在dataset\VOCdevkit\txt中。运行split_data.py,这个文件是划分训练、验证、测试集。其中支持修改val_size验证集比例和test_size测试集比例,可以在split_data.py中找到对应的参数进行修改,然后postfix参数也是你的图片数据集后缀格式,默认为jpg,如果你的图片后缀不是jpg结尾的话,需要修改一下这个参数。在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.yaml的names中,并且nc修改为自己数据集的类别数,也就是names列表的长度,本数据集为2.如下所示: 而且你会发现在dataset/VOCdevkit/txt里面会生成了对应的yolo格式的标注文件

YOLO数据集操作教程

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

分割数据集

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

4. 训练

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

model pt模型路径或者yaml模型配置文件路径。这次的v8稍有不同,这个model参数可以是pt也可以是yaml。

pt 相当于使用预训练权重进行训练,比如选择为yolov8n.pt,就是训练一个yolov8n模型,并且训练前导入这个pt的权重。yaml 相当于直接初始化一个模型进行训练,比如选择为yolov8n.yaml,就是训练一个yolov8n模型,权重是随机初始化。data 数据配置文件的路径,也就是第三点中的data.yaml。epochs 训练次数。patience 在精度持续一定epochs没有提升时,过早停止训练。也就是早停机制。batch batch size大小。imgsz 输入图像大小。save 是否保存模型。cache 是否采用ram进行数据载入,设置True会加快训练速度,但是这个参数非常吃内存,一般服务器才会设置。device 所选择的设备训练。workers 载入数据的线程数。windows一般为4,服务器可以大点,windows上这个参数可能会导致线程报错,发现有关线程报错,可以尝试减少这个参数,这个参数默认为8,大部分都是需要减少的。project project name.一个保存文件夹的名字,一般不用改动。name 训练保存的文件夹名字。exist_ok 是否覆盖现有的保存文件夹。pretrained 是否使用预训练模型,这个参数我并没有使用,因为在model参数中我直接设置pt模型路径。optimizer 优化器选择。直接SGD、Adam、AdamW、RMSProp。verbose 是否打印详细输出。seed 随机种子。deterministic 设置为True,保证实验的可复现性。single_cls 如果你的数据集是多类别,这个参数设置为True的话,其会当做一个类别来进行训练,相当于只负责识别目标,不负责识别类别。image_weights 使用加权图像选择进行训练。rect 是否采用矩形训练。这个参数不好解释,想了解的同学可以自行百度。cos_lr 是否采用cor lr调度器。close_mosaic 默认值为10,意思就是在最后10个epochs关闭马赛克数据增强,其思想来源于YOLOX。resume 是否继续上一次没完成的训练。

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

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

即可开始训练,太好用了!示例如下: 然后就开始训练,下面贴点训练过程输出的图:

4. 测试

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

val 我的理解是:设置为True就是计算验证集指标,设置为False就是计算测试集指标 但是我测试的时候无论是True或者False都是计算验证集,可能是一个bug,毕竟刚出不久,代码架构改动这么大,期待后续更新。save_json 是否把结果保存为json file。save_hybrid 是否把结果保存为hybrid version of labels。这个我也不知道什么来的,没用过,大家可以设置为True看看,估计就是一种保存的格式。conf 置信度。iou iou阈值。max_det 最大检测数量。half 是否使用fp16测试。dnn 使用opencv的dnn进行onnx推理。plots 配置文件中给的注释是show plots during training,有兴趣可以设置为True和False对比一下。 需要注意的是需要把mode改为val,然后Train settings中的model参数修改为你训练保存的模型文件,如下: 验证集测试结果如下: 5.推理

推理部分参数解释:

source 这个参数跟之前的yolov5一致,可以输入图片路径,图片文件夹路径,视频路径。show 配置文件中给的解释是show results if possible,不太能理解,有兴趣可以设置为True or False进行对比看看。save_txt 是否把识别结果保存为txt。save_conf 保存为txt过程中是否保存目标的置信度。save_crop 是否把目标进行裁剪下来进行保存。hide_label 保存识别的图像时候是否隐藏label。hide_conf 保存识别的图像时候是否隐藏置信度。vid_stride 视频检测中的跳帧帧数。line_thickness 目标框中的线条粗细大小。visualize 配置文件中给的解释是visualize results,不太能理解,有兴趣可以设置为True or False进行对比看看。augment 是否使用测试数据增强。agnostic_nms 是否采用class-agnostic NMS。retina_masks 配置文件中给的解释是use retina masks for object detection,没了解过,有兴趣可以设置为True or False进行对比看看。

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

如果内容对你有帮助,麻烦点个赞,谢谢!
本文链接地址:https://www.jiuchutong.com/zhishi/288096.html 转载请保留说明!

上一篇:Tensorflow1 搭建Cuda11(tensorflow1 教程)

下一篇:跨站脚本攻击(XSS)(跨站脚本攻击是什么)

  • 微博怎么改回原来的昵称(微博怎么改回原来版本)

    微博怎么改回原来的昵称(微博怎么改回原来版本)

  • 华为nova5如何截屏(华为nova5如何截长图)

    华为nova5如何截屏(华为nova5如何截长图)

  • 快手小剧场怎么没了(快手小剧场怎么登录成功)

    快手小剧场怎么没了(快手小剧场怎么登录成功)

  • 群活跃头衔怎么升级(群活跃头衔名)

    群活跃头衔怎么升级(群活跃头衔名)

  • 显存频率8000与14000区别(显存频率14000mhz什么意思)

    显存频率8000与14000区别(显存频率14000mhz什么意思)

  • 苹果ipad1474什么型号(苹果平板ipad1474)

    苹果ipad1474什么型号(苹果平板ipad1474)

  • 华为mate30通话声音小(华为mate30通话声音小怎么设置)

    华为mate30通话声音小(华为mate30通话声音小怎么设置)

  • 蓝牙耳机放回仓就充电吗(蓝牙耳机放回仓里还在连接状态)

    蓝牙耳机放回仓就充电吗(蓝牙耳机放回仓里还在连接状态)

  • 苹果13.1.2可以降吗(ios13能降到10吗)

    苹果13.1.2可以降吗(ios13能降到10吗)

  • 红米note8pro是双卡双待吗(红米note8pro支持应用双开吗?)

    红米note8pro是双卡双待吗(红米note8pro支持应用双开吗?)

  • 天猫买的东西质量有问题到哪里去投诉(天猫买的东西质量问题不给退货怎么办)

    天猫买的东西质量有问题到哪里去投诉(天猫买的东西质量问题不给退货怎么办)

  • oppopadm00什么型号(oppo padm00参数)

    oppopadm00什么型号(oppo padm00参数)

  • iphone11突然黑屏关机(iphone11突然黑屏但是能听到声音)

    iphone11突然黑屏关机(iphone11突然黑屏但是能听到声音)

  • 荣耀9x怎么清理运行内存(荣耀9x怎么清理听筒灰尘)

    荣耀9x怎么清理运行内存(荣耀9x怎么清理听筒灰尘)

  • 抖音号能查出手机号码吗(抖音号能查出手机号吗?)

    抖音号能查出手机号码吗(抖音号能查出手机号吗?)

  • 快手视频超过10分钟怎么发(快手视频超过15分钟怎么发)

    快手视频超过10分钟怎么发(快手视频超过15分钟怎么发)

  • 小米6x什么时候更新miui11(小米8什么时候上市)

    小米6x什么时候更新miui11(小米8什么时候上市)

  • 货拉拉押金多久可以退(货拉拉要交多少钱押金)

    货拉拉押金多久可以退(货拉拉要交多少钱押金)

  • 拼多多拼单购买是什么意思(拼多多拼单购买和单独购买的区别)

    拼多多拼单购买是什么意思(拼多多拼单购买和单独购买的区别)

  • 蓝牙耳机为什么不能视频通话(蓝牙耳机为什么会自动断开)

    蓝牙耳机为什么不能视频通话(蓝牙耳机为什么会自动断开)

  • iphone11黑边和xr一样吗(iphone11黑边和pro一样吗)

    iphone11黑边和xr一样吗(iphone11黑边和pro一样吗)

  • 抖音长视频怎么看(抖音长视频怎么保存观看进度)

    抖音长视频怎么看(抖音长视频怎么保存观看进度)

  • 快手评论上限怎么解除(快手评论上限怎么恢复)

    快手评论上限怎么解除(快手评论上限怎么恢复)

  • lut调色是什么(lut调色预设怎么装入pr)

    lut调色是什么(lut调色预设怎么装入pr)

  • 小米手环4怎么显示微信内容(小米手环4怎么设置密码)

    小米手环4怎么显示微信内容(小米手环4怎么设置密码)

  • 入门级单反和专业级单反的区别(入门级单反值得买吗)

    入门级单反和专业级单反的区别(入门级单反值得买吗)

  • AI 杀疯了,NovelAI开源教程(杀疯了出自哪里)

    AI 杀疯了,NovelAI开源教程(杀疯了出自哪里)

  • 个税申报的收入是应发还是实发
  • 按适用税率征税销售额等于销售收入吗
  • 公司承担个税的账务处理
  • 小规模纳税人可以开数电专票吗
  • 生产工人工资和福利费是产品成本项目对吗
  • 收到电子退库如何操作
  • 因保管不善,不慎遗失
  • 外币折算会计处理例题
  • 代扣代缴公积金有返还吗
  • 电商返佣平台有风险吗
  • 银行支付结算工作内容
  • 总分包外地施工怎样预缴税款?
  • 母子公司有什么关系
  • 分支机构多预缴应该怎么退税呢?
  • 信用等级D可以贷款吗
  • 民间非营利组织有哪些
  • 汇算清缴涉及到哪些科目的调整
  • 股权转让交的印花税怎么做会计分录
  • 购入商品入库时发现实收物多余应收数计入什么科目
  • 会计师事务所执业许可和监督管理办法
  • 企业委托研发过程中发生的研发费用如何加计扣除?
  • 房产免租期间缴纳房产税吗
  • 合伙企业个人所得税计算案例
  • 户外拓展费用入什么科目
  • win10文件用什么打开
  • 劳务报酬已经缴税怎么办
  • 金蝶k3外购入库核算没单据
  • Win10 Build 19043(21H1最新版)即将推送 更新内容汇总
  • 在win7系统中,添加打印机驱动程序
  • 开启开发人员模式的方法
  • 公允价值变动损益会计处理
  • 今天端午节?
  • vnisedit 打包
  • 拍卖有抵押的车子怎么处理
  • php代码生成
  • 增值税抵扣新政策
  • 工具合集
  • 固定资产到期后残值怎么处理
  • 2022年最新公务员职务职级对照表
  • 应收账款等于什么加什么
  • 税务三方协议怎么重签
  • 进口商品会计分录怎么写
  • 帝国cms生成app
  • 织梦专题页模板
  • mysql查询缓慢
  • sql server怎么恢复
  • 发放职工福利的会计处理
  • 关联方交易金额达到多少算转移定价
  • 应付职工薪酬科目余额表怎么看
  • 会计估计变更和政策变更有哪些
  • 失控发票要转出成本吗
  • 免税出口是什么意思
  • 非正常损坏的商品计入哪个会计科目
  • 上一年度的费用怎么做会计分录
  • 水利建设基金的征税对象
  • 油票抵税能抵多少
  • 收到投资厂房有折旧的记账凭证怎么处理
  • 营业收入净额怎么算出来
  • 记账凭证制作流程
  • sqlserver查看磁盘大小
  • Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
  • 如何远程连接小米摄像头
  • Winserver2012下mysql 5.7解压版(zip)配置安装教程详解
  • win2003网络设置
  • 苹果电脑mac怎么卸载软件
  • centos设置hostname
  • 使用windows防火墙禁止软件联网
  • 升级 win10
  • windows xp sp3 vl
  • win7系统两台电脑共享
  • linux系统如何安装软件包
  • css display none之后怎么显示回来
  • javascript中substr,substring,slice.splice的区别说明
  • 点击电子税务局里的税务数字账户不跳转怎么回事
  • 非涉密网络严禁什么
  • 按期申报和按次申报的区别
  • 个人社保缴纳年限怎么算
  • 新税法折旧年限怎么算
  • 上海地税定额发票在哪开
  • 建筑行业的公司近期出现的问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设