YOLOv3老矣尚能战否?基于YOLOv3开发构建建钢铁产业产品智能自动化检测识别系统,我们来与YOLOv5进行全方位对比评测

钢铁产业产品智能自动化检测识别相关的项目在我们前面的博文中已经有了相应的实践了,感兴趣的话可以自行移步阅读即可:
《python基于DETR(DEtection TRansformer)开发构建钢铁产业产品智能自动化检测识别系统》

《AI助力钢铁产业数字化,python基于YOLOv5开发构建钢铁产业产品智能自动化检测识别系统》

在前文中我们大都是使用较为新颖的检测模型来完成相应的项目开发的,这时我们不免有个疑问,早期提出来的模型比如YOLOv3是否还有一战之力呢?出于好奇就拿来开发实践了,首先看下实例效果:

整体使用层面上来说yolov3和yolov5的项目差异不大,所以比较熟悉yolov5的话,直接上手使用yolov3项目的话基本是没有什么难度的。

因为是出于好奇,这里就直接先选择的是yolov3-tiny版本的模型,目的就是能够比较快的训练完成,模型如下:

# parameters
nc: 10  # number of classes
depth_multiple: 1.0  # model depth multiple
width_multiple: 1.0  # layer channel multiple# anchors
anchors:- [10,14, 23,27, 37,58]  # P4/16- [81,82, 135,169, 344,319]  # P5/32# YOLOv3-tiny backbone
backbone:# [from, number, module, args][[-1, 1, Conv, [16, 3, 1]],  # 0[-1, 1, nn.MaxPool2d, [2, 2, 0]],  # 1-P1/2[-1, 1, Conv, [32, 3, 1]],[-1, 1, nn.MaxPool2d, [2, 2, 0]],  # 3-P2/4[-1, 1, Conv, [64, 3, 1]],[-1, 1, nn.MaxPool2d, [2, 2, 0]],  # 5-P3/8[-1, 1, Conv, [128, 3, 1]],[-1, 1, nn.MaxPool2d, [2, 2, 0]],  # 7-P4/16[-1, 1, Conv, [256, 3, 1]],[-1, 1, nn.MaxPool2d, [2, 2, 0]],  # 9-P5/32[-1, 1, Conv, [512, 3, 1]],[-1, 1, nn.ZeroPad2d, [0, 1, 0, 1]],  # 11[-1, 1, nn.MaxPool2d, [2, 1, 0]],  # 12]# YOLOv3-tiny head
head:[[-1, 1, Conv, [1024, 3, 1]],[-1, 1, Conv, [256, 1, 1]],[-1, 1, Conv, [512, 3, 1]],  # 15 (P5/32-large)[-2, 1, Conv, [128, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 8], 1, Concat, [1]],  # cat backbone P4[-1, 1, Conv, [256, 3, 1]],  # 19 (P4/16-medium)[[19, 15], 1, Detect, [nc, anchors]],  # Detect(P4, P5)]

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

# path
train: ./dataset/images/train/
val: ./dataset/images/test/# number of classes
nc: 10# class names
names: ['chongkong', 'hanfeng', 'yueyawan', 'shuiban', 'youban', 'siban', 'yiwu', 'yahen', 'zhehen', 'yaozhe']

默认是100次epoch的迭代计算,训练日志如下所示:

等待训练完成后,看下结果详情:

【混淆矩阵】

感觉yolov3项目提供的混淆矩阵不如yolov5项目的直观,下面是yolov5项目的混淆矩阵:

【Label数据可视化】

【PR曲线】

精确率-召回率曲线(Precision-Recall Curve)是一种用于评估二分类模型性能的可视化工具。它通过绘制不同阈值下的精确率(Precision)和召回率(Recall)之间的关系图来帮助我们了解模型在不同阈值下的表现。
精确率是指被正确预测为正例的样本数占所有预测为正例的样本数的比例。召回率是指被正确预测为正例的样本数占所有实际为正例的样本数的比例。
绘制精确率-召回率曲线的步骤如下:
使用不同的阈值将预测概率转换为二进制类别标签。通常,当预测概率大于阈值时,样本被分类为正例,否则分类为负例。
对于每个阈值,计算相应的精确率和召回率。
将每个阈值下的精确率和召回率绘制在同一个图表上,形成精确率-召回率曲线。
根据曲线的形状和变化趋势,可以选择适当的阈值以达到所需的性能要求。
精确率-召回率曲线提供了更全面的模型性能分析,特别适用于处理不平衡数据集和关注正例预测的场景。曲线下面积(Area Under the Curve, AUC)可以作为评估模型性能的指标,AUC值越高表示模型的性能越好。
通过观察精确率-召回率曲线,我们可以根据需求选择合适的阈值来权衡精确率和召回率之间的平衡点。根据具体的业务需求和成本权衡,可以在曲线上选择合适的操作点或阈值。
 

 yolov3的项目只提供了PR曲线可视化,没有单独的precision曲线和recall曲线和F1曲线,这点感觉是肯定不如yolov5项目的。

【训练可视化】

 【Batch计算实例】

既然yolov3只提供了PR曲线,那我就直接基于PR曲线来进行对比吧,如下:

上面是yolov5最强的模型效果与yolov3-tiny的对比,可以说是毫不意外全面碾压了。

接下来我们来看yolov5系列最弱的模型与yolov3-tiny的对比效果,如下:

可以看到:即使是yolov5最弱的n系列的模型也做到了对yolov3-tiny系列模型的全面碾压了,所有的训练数据集等参数在整个过程是保持完全一致的。

那么你觉得YOLOv3在当下的目标检测类任务中是否还有一战之力了呢?感兴趣的话也都自行动手实践下吧!

 

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

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

相关文章

每日OJ题_算法_双指针_力扣11. 盛最多水的容器

力扣11. 盛最多水的容器 11. 盛最多水的容器 - 力扣(LeetCode) 难度 中等 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成…

【云原生 Prometheus篇】Prometheus架构详解与核心组件的应用实例(Exporters、Grafana...)

Prometheus Part1 一、常用的监控系统1.1 简介1.2 Prometheus和zabbix的区别 二、Prometheus2.1 简介2.2 Prometheus的主要组件1)Prometheus server2)Exporters3)Alertmanager4)Pushgateway5)Grafana 2.3 Prometheus的…

Anthropic推出Claude 2.1聊天机器人;使用AI工具写作:挑战与策略

🦉 AI新闻 🚀 Anthropic推出Claude 2.1聊天机器人,支持20万个Token输入和提高准确度 摘要:Anthropic推出了Claude 2.1聊天机器人及对应的AI模型,支持输入多达20万个Token,并在准确度上有所改善。Claude已…

mysql查询表的字段,字段名以及注释sql语句

sql语句如下: selecta.ordinal_position 序号,a.COLUMN_name 字段名,a.COLUMN_type 字段类型,(case a.is_nullable when NO then 是 else 否 end) 是否非空,(case a.column_key when PRI then 是 else 否 end) 是否主键,a.COLumn_comment 注释 frominformation_sch…

代码随想录算法训练营第四十五天【动态规划part07】 | 70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

70. 爬楼梯 (进阶) 题目链接: 题目页面 求解思路: 动规五部曲 确定dp数组及其下标含义:爬到有i阶楼梯的楼顶,有dp[i]种方法递推公式:dp[i] dp[i-j];dp数组的初始化:dp[0] 1;确…

代码规范有用吗?听听100W年薪谷歌大佬怎么说!

谷歌内部的 python 代码规范 熟悉 python 一般都会努力遵循 pep8 规范,也会有一些公司制定内部的代码规范。大公司制定规范的目的不是说你一定要怎样去使用编程语言,而是让大家遵守同一套规则,节省其他人阅读代码的成本,方便协作…

好用的CRM系统到底有多重要?怎么选?

我们都知道,CRM软件可以让企业效率加倍。但如果选错了CRM,企业损失点钱是小,客户转化率下降才是大。下面我们就来说说,市面上有哪些好用的CRM?以及好用的CRM软件的重要性。 好用的CRM软件的重要性: 客户管…

2024深圳电子展,加快粤港澳电子信息发展,重点打造“湾区经济”

在“十四五”期间,中国电子信息产业面临着新形势和新特点。随着国家对5G、人工智能、工业互联网、物联网等“新基建”的加速推进,以及形成“双循环”新格局的形势,新型显示、集成电路等产业正在加速向国内转移。这一过程不仅带来了新的应用前…

SPSS信度分析

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

多回路交流三相单相电压电流电量监测开口式互感器适用多种环境用电能耗监控

1 产品概述 多回路交流无线电压电流传感器/电量采集监测仪搭配多路开口式互感器,可以监控采集三相电压、电流、功率和电量等信息,可用于能耗采集监控。支持RS485和4G网络接口,数据可以对接客户指定的第三方云平台。本产品可实现单相/三相用电…

电脑端有没有可以定时提醒工作计划的时间管理软件?

时间管理对职场人士来说非常重要,因为它可以帮助我们更有效地完成工作任务、提升工作效率、达到职业目标、更好地平衡工作和生活等方面。通过时间管理,我们可以更好地把握自己的工作进度,合理安排自己的时间,提高工作效率。 但是…

红酒按照糖含量怎么分类?

我们常听人们形容葡萄酒为干型或甜型,这指的是葡萄酒的含糖量。不含糖就是干型,含糖少就是半干型,含糖多就是甜型,这是葡萄酒分类的一种——按糖量分。云仓酒庄的品牌雷盛红酒分享一般分为干型、半干型、半甜型、甜型四种。 云仓…