python基于YOLOv6最新0.4.1分支开发构建钢铁产业产品智能自动化检测识别系统

在前文中陆续基于不同类型的目标检测模型开发构建了钢铁产业产品缺陷质检系统,关于yolov6除了刚提出的时候有过使用,后续使用较少了,今天就以yolov6最新0.4.1分支模型为基准来开发实践目标检测项目开发。

首先看下实例效果:

官方项目地址在这里,如下所示:

分支详情在这里,如下所示:

这里选择的是最新的0.4.1分支。

如果对yolov6的详细实践有疑问的可以阅读下面的文章:
《基于美团技术团队最新开源的yolov6模型实现裸土检测》

这里就不再赘述了。

本文选取的是n系列最轻量级的模型,如下所示:

# YOLOv6s model
model = dict(type='YOLOv6n',pretrained='weights/yolov6n.pt',depth_multiple=0.33,width_multiple=0.25,backbone=dict(type='EfficientRep',num_repeats=[1, 6, 12, 18, 6],out_channels=[64, 128, 256, 512, 1024],fuse_P2=True,cspsppf=True,),neck=dict(type='RepBiFPANNeck',num_repeats=[12, 12, 12, 12],out_channels=[256, 128, 128, 256, 256, 512],),head=dict(type='EffiDeHead',in_channels=[128, 256, 512],num_layers=3,begin_indices=24,anchors=3,anchors_init=[[10,13, 19,19, 33,23],[30,61, 59,59, 59,119],[116,90, 185,185, 373,326]],out_indices=[17, 20, 23],strides=[8, 16, 32],atss_warmup_epoch=0,iou_type='siou',use_dfl=False, # set to True if you want to further train with distillationreg_max=0, # set to 16 if you want to further train with distillationdistill_weight={'class': 1.0,'dfl': 1.0,},)
)solver = dict(optim='SGD',lr_scheduler='Cosine',lr0=0.0032,lrf=0.12,momentum=0.843,weight_decay=0.00036,warmup_epochs=2.0,warmup_momentum=0.5,warmup_bias_lr=0.05
)data_aug = dict(hsv_h=0.0138,hsv_s=0.664,hsv_v=0.464,degrees=0.373,translate=0.245,scale=0.898,shear=0.602,flipud=0.00856,fliplr=0.5,mosaic=1.0,mixup=0.243,
)

我这里是选择使用预训练微调的形式,当然了如果不想使用微调的方式,想要从头开始训练也都是可以的,如下所示:

# YOLOv6n model
model = dict(type='YOLOv6n',pretrained=None,depth_multiple=0.33,width_multiple=0.25,backbone=dict(type='EfficientRep',num_repeats=[1, 6, 12, 18, 6],out_channels=[64, 128, 256, 512, 1024],fuse_P2=True,cspsppf=True,),neck=dict(type='RepBiFPANNeck',num_repeats=[12, 12, 12, 12],out_channels=[256, 128, 128, 256, 256, 512],),head=dict(type='EffiDeHead',in_channels=[128, 256, 512],num_layers=3,begin_indices=24,anchors=3,anchors_init=[[10,13, 19,19, 33,23],[30,61, 59,59, 59,119],[116,90, 185,185, 373,326]],out_indices=[17, 20, 23],strides=[8, 16, 32],atss_warmup_epoch=0,iou_type='siou',use_dfl=False, # set to True if you want to further train with distillationreg_max=0, # set to 16 if you want to further train with distillationdistill_weight={'class': 1.0,'dfl': 1.0,},)
)solver = dict(optim='SGD',lr_scheduler='Cosine',lr0=0.02,lrf=0.01,momentum=0.937,weight_decay=0.0005,warmup_epochs=3.0,warmup_momentum=0.8,warmup_bias_lr=0.1
)data_aug = dict(hsv_h=0.015,hsv_s=0.7,hsv_v=0.4,degrees=0.0,translate=0.1,scale=0.5,shear=0.0,flipud=0.0,fliplr=0.5,mosaic=1.0,mixup=0.0,
)

数据集的构建方式和形式与yolov5系列完全相同,当然了前面yolov6的操作教程里面也有很详细的数据集构建流程。

完成对应的操作之后就可以启动模型训练了,如下所示:

python tools/train.py --batch-size 32 --conf configs/yolov6n_finetune.py --data data/self.yaml --fuse_ab --device 0 --name yolov6n --epochs 100 --workers 2

训练启动日志输出如下所示:

训练完成如下所示:

从终端日志可以看出来:yolov6系列模型是基于pycocotools完成评估计算的,训练完成结果详情如下所示:

一直都觉得yolov6的结果内容太薄弱了,尤其是跟yolov5相比。

weights目录如下所示:

实例推理效果如下:

感兴趣的话都可以自己动手实践下!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229751.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上市公司-绿色专利申请、授权(2000-2022年)

一、数据介绍 数据名称:上市公司-绿色专利申请、授权 数据范围:A股上市公司 数据年份:2000-2022年 数据样本:56167条 数据来源:国家知识产权局、WIPO绿色专利清单 数据整理:自主整理 二、数据用途 数…

【目标跟踪】光流跟踪(python、c++代码)

文章目录 前言一、代码流程与思路二、python 代码2.1 代码详解2.2 完整代码 三、c 代码四、结果展示 前言 光流利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。…

如何撰写和发表SCI——computer-science

你的论文是,教给过去的“你”成为现在“你”所需的所有知识 一、SCI论文基本要求 1.写作模型 2.写作要点 Material and Method(材料和方法) 我怎么解决这个问题Result(结果) 我发现了什么?Discussion 我…

vue3-在自定义hooks使用useRouter 报错问题

文章目录 前言一、报错分析报错的Vue warn截图:查看文档 二、那么在hook要怎么引入路由呢? 前言 记录在vue3项目中,hook使用useRouter 报错问题 一、报错分析 报错的Vue warn截图: 警告 inject() can only be used inside setup…

【蓝桥杯选拔赛真题26】C++字符串逆序 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++字符串逆序 一、题目要求 1、编程实现 2、输入输出 二、算法分析

如何在Rocky Linux中安装nmon

一、环境基础 [rootlocalhost nmon16d]# cat /etc/redhat-release Rocky Linux release 9.2 (Blue Onyx) [rootlocalhost nmon16d]# uname -r 5.14.0-284.11.1.el9_2.x86_64 [rootlocalhost nmon16d]# 二、安装步骤 在Rocky Linux和AlmaLinux等基于RHEL 的发行版上&#xff…

高速USB转以太网芯片CH397各系统使用指南

简介 CH397是一款USB2.0高速转以太网芯片,支持10M/100M网络的以太网MACPHY,内置青稞RISC-V 处理器、符合IEEE802.3 和IEEE802.3az-2010 协议规范。支持Windows/ Linux /macOS /iOS /Android 等多平台各系统,适配各类台式电脑、笔记本电脑、平…

Swift构造器继承链

类类型的构造器代理 Swift构造器需遵循以下三大规则: 指定构造器必须调用它直接父类的指定构造器方法便利构造器必须调用同一个类中定义的其他初始化方法便利构造器在最后必须调用一个指定构造器 两段式构造过程 Swift 中类的构造过程包含两个阶段。第一个阶段&a…

小红书广告投放形式有哪些,软文形式特点是什么?

现在广告的形式多种多样,针对不同的投放形式,面对的用户群体和投放渠道也都不一样。在平台上进行广告投放,可以快速提升品牌曝光和销量转化。本次将围绕小红书广告投放形式有哪些,软文形式特点是什么展开讨论,希望能对…

Steam搬砖上的十大网络骗术

一、buff\igxe网站api问题 骗术总结:骗子利用api链接,在网站发起报价的同时,csgo账号发起同样的报价; 解决方法:在交易网站卖完东西后,在steam注销api链接,下次使用再更换新的。交易过程中核对对…

[数据结构]-map和set

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、键值对…

“GIF转PNG轻松转换,图片批量处理神器,提升你的图像管理效率!“

你是否曾经为转换GIF格式到PNG格式而感到困扰?或者为处理大量图片而感到烦恼?现在,我们为你推荐一款全新的GIF到PNG转换工具,以及一款图片批量处理工具,让你的图像管理工作变得轻松愉快! 首先,…