基于yolov5s实践国际象棋目标检测模型开发

news2024/10/6 20:25:12

在我前面的一篇文章中讲解实现了基于改进的yolov5s-spd模型实现了五子棋目标对象检测模型系统的设计开发,这里紧接前文,突发奇想,是否可以借鉴同样的思路实现象棋的检测模型开发呢?理论上面肯定是可以的,但是实际效果如何就不知道了,五子棋数据相对而言比较简单只有黑子和白子两种对象性,象棋或者是军旗就不一样了,目标对象还是很多的,这里本来是想做中国象棋的目标检测的但是暂时还没有得到好用的数据集,所以这里就先做国际象棋的检测模型开发了,直接看下效果:

 针对五子棋目标检测的文章如下,感兴趣的话可以自行移步阅读。

《yolov5s融合SPD-Conv用于提升小目标和低分辨率图像检测性能实践五子棋检测识别》

今天主要是基于原生的yolov5s模型来开发模型,前文是针对小目标进行了相应的改进融合开发的模型。

这里的数据集本身质量不高,数据直接爬取的,有效数据不足100张,所以从推理识别检测的效果也能看出来,的确是效果还是比较一般的,后期有时间的话再构建一个高质量的大批次的数据集重新做一下吧,这里主要是实践一下整个流程。

yolov5官方项目在这里,截图如下所示:

 社区依旧是十分活动,截止目前已获得34k的star量了。

已经发布了10个版本了,如下:

 这里直接拉取官方项目即可,我是用的是yolov5s系列的模型,yaml文件如下;

# Parameters
nc: 12  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple
anchors:
  - [10,13, 16,30, 33,23]  # P3/8
  - [30,61, 62,45, 59,119]  # P4/16
  - [116,90, 156,198, 373,326]  # P5/32


#Backbone
backbone:
  # [from, number, module, args]
  [[-1, 1, Conv, [64, 6, 2, 2]],  # 0-P1/2
   [-1, 1, Conv, [128, 3, 2]],  # 1-P2/4
   [-1, 3, C3, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 6, C3, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, C3, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 3, C3, [1024]],
   [-1, 1, SPPF, [1024, 5]],  # 9
  ]


# Head
head:
  [[-1, 1, Conv, [512, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P4
   [-1, 3, C3, [512, False]],  # 13

   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 4], 1, Concat, [1]],  # cat backbone P3
   [-1, 3, C3, [256, False]],  # 17 (P3/8-small)

   [-1, 1, Conv, [256, 3, 2]],
   [[-1, 14], 1, Concat, [1]],  # cat head P4
   [-1, 3, C3, [512, False]],  # 20 (P4/16-medium)

   [-1, 1, Conv, [512, 3, 2]],
   [[-1, 10], 1, Concat, [1]],  # cat head P5
   [-1, 3, C3, [1024, False]],  # 23 (P5/32-large)

   [[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)
  ]

这里一共有12种目标对象需要检测识别,直接修改原始yaml中nc=12即可。

数据样例如下:

 单样本标注实例如下所示:

11 0.32125 0.851111 0.0525 0.075556
8 0.375 0.857778 0.045 0.08
6 0.43625 0.848889 0.0425 0.071111
10 0.48625 0.866667 0.0475 0.088889
7 0.55125 0.853333 0.0475 0.088889
6 0.6175 0.84 0.04 0.071111
8 0.67375 0.851111 0.0475 0.084444
11 0.74625 0.851111 0.0525 0.075556
9 0.74 0.744444 0.04 0.066667
9 0.6675 0.737778 0.035 0.062222
9 0.6125 0.733333 0.035 0.062222
9 0.55375 0.731111 0.0325 0.057778
9 0.49375 0.737778 0.0325 0.062222
9 0.43625 0.735556 0.0325 0.057778
9 0.37875 0.746667 0.0375 0.062222
9 0.32125 0.742222 0.0375 0.062222
3 0.32875 0.26 0.0375 0.066667
3 0.38375 0.257778 0.0325 0.071111
3 0.44375 0.244444 0.0325 0.071111
3 0.4925 0.257778 0.035 0.071111
3 0.54875 0.255556 0.0325 0.066667
3 0.60625 0.248889 0.0325 0.071111
3 0.66375 0.235556 0.0325 0.071111
3 0.7175 0.248889 0.035 0.071111
5 0.72 0.128889 0.045 0.097778
5 0.3275 0.162222 0.045 0.093333
2 0.38625 0.157778 0.0425 0.102222
2 0.6625 0.142222 0.045 0.097778
0 0.59875 0.14 0.0375 0.093333
0 0.44 0.133333 0.04 0.097778
4 0.49875 0.131111 0.0425 0.12
1 0.55125 0.131111 0.0425 0.128889

完成数据集构建之后就可以开启模型训练了,训练日志输出如下所示:

 前文也说到了数据集存在的问题,这里训练结束可以看到:实际的评估效果并不十分理想。

简单看下对应的结果输出:

 这里同样是为了更加简洁直观地使用模型,编写了对应的界面来使得推理可视化,如下:

 上传单张图像:

 启动推理检测:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FineReport企业报表-配置MySQL8外接数据库(2)

1. 配置外接数据库 1.1 外接数据库配置入口 外接数据库的配置入口,有三种形式: 1)超级管理员第一次登录数据决策系统时,即可为系统配置外接数据库。如下图所示: 2)对于使用内置数据库的系统,管…

burpsuite——身份验证

文章目录通过不同响应枚举用户名2FA 简单旁路密码重置破坏逻辑通过细微不同的响应枚举用户名通过响应计时的用户名枚举破解暴力保护,IP 封锁通过帐户锁定的用户名枚举2FA 破坏逻辑暴力破解保持登录状态的 cookie通过不同响应枚举用户名 就是所谓的暴力破解&#xff…

如何将高程数据转成南方CASS的DAT格式

需要的工具 BIGEMPA GIS Office 下载地址:http://download.bigemap.com/bmsetup.rar 第一步:将下载好的高程数据DEM直接拖到global mapper中(如何下载高程DEM?),如下图所示: 第二步:将DEM数据保存为高程点…

A - No Majority(DP 动态规划)[AtCoder Grand Contest 060]

题目如下: 思路 or 题解: 对于一个子串, 如果长度为 lenlenlen, 如果该子串中任意一个字符的出现个数 大于 len2\frac{len}{2}2len​ 那该字符串为 UngoodUngoodUngood 串 反之,如果任意子串, 长度设为 lenlenlen, 如…

Map接口-HashMap、Hashtable和Properties

1.Map 接口和常用方法 1.1Map 接口实现类的特点 [很实用] 注意:这里讲的是JDK8的Map接口特点 1)Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value。 Map 中的key 和 value可以是任何引用类型的数据,会封装到HashMap$Node对象中。(Node…

公网远程连接内网MySQL数据库【内网穿透】

作为网站运行必备组件之一的数据库,免不了随时对其进行管理维护。若我们没有在安装数据库的电脑旁,但又需要立即对数据库进行管理时,应该如何处理?这时我们可以使用cpolar对内网进行穿透,远程管理和操作MySQL数据库。现…

javaee之spring3

模拟一个银行转账事务 先来看一下基础文件 先来看这个spring中的bean.xml配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XML…

Dragonfly 和 Nydus Mirror 模式集成实践

文&#xff5c;戚文博 &#xff08;花名&#xff1a;百蓦&#xff09; Dragonfly Maintainer蚂蚁集团软件工程师 主要负责「基于 P2P 的文件以及镜像加速系统」。 本文 2175 字 阅读 15 分钟 PART. 1 背景 自 17 年开源以来&#xff0c;Dragonfly 被许多大规模互联网公司选…

C++贪吃蛇游戏开发实践

C贪吃蛇游戏开发实践 对象分析 我们首先需要确定一个像素点组成的地图&#xff08;画布&#xff09;&#xff0c;要确定行数、列数和像素点大小。这个地图上将会有两个对象&#xff1a;蛇和食物。 蛇由头和身子组成&#xff0c;他们都有自己的位置&#xff0c;所以考虑使用位置…

移动端测试必备技能: adb命令和抓包

移动端测试 是指对移动应用进行的测试&#xff0c;即实体的特性满足需求的程度&#xff0c;进行测试前需要搭建测试环境。 1 移动端自动化环境搭建 1.1 java安装 java JDK 安装jdk-8u181-windows-x64.exe 配置环境变量&#xff1a; JAVA_HOME&#xff1a;D:\developer to…

基于C#+SqlServer开发(WinForm)学生宿舍管理系统【100010056】

学生宿舍管理系统 一、前言 学生宿合是学生们最为熟悉的领域&#xff0c;假定学校有若干栋宿会楼&#xff0c;每栋宿合楼有若干层&#xff0c;每层有若干个寝室&#xff0c;每个寝室可住若干个学生。以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效…

HTML XHTML HTML5区别

文章目录HTML & XHTML & HTML5区别HTMLXHTMLHTML5区别HTML & XHTML & HTML5区别 HTML HTML&#xff0c;全称“HyperText Mark-up Language&#xff08;超文本标记语言&#xff09;”&#xff0c;它是构成网页文档的主要语言。我们常说的HTML&#xff0c;指的…

金融服务机构提高移动应用程序安全性的 3 种方式

金融移动应用程序的使用正在迅速加速&#xff0c; 2020 年用户会话数量增长了 49% 。VMware报告称&#xff0c;金融应用程序的网络攻击在同年也增长了 118%。 Intertrust的另一份报告显示&#xff0c;77% 的金融服务应用程序至少包含一个可能导致数据泄露的安全漏洞。最近发现…

【Three.js入门】纹理加载进度、环境贴图、经纬线映射贴图与高动态范围成像HDR

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;秋招&#xff09; &#x1f680;未…

VMwareLinux详细安装步骤

一、VmWare虚拟机的安装 目录 一、VmWare虚拟机的安装 1、安装虚拟机 二、在虚拟机上安装CentOS 1、创建新虚拟机 2、选择典型→ 下一步 3、选择稍后安装操作系统 4、选择操作系统和版本 5、输入虚拟机名称和安装路径 6、设置磁盘大小 7、选择CentOS安装镜像文件 8、…

射线检测中的像质计

像质计&#xff0c;透度计 Image Quality Indicators&#xff0c;Penetrameters 分类&#xff1a;线型像质计、阶梯孔型像质计、平板孔型像质计、双丝型像质计。 前三种像质计的作用&#xff1a;测定检测图像的厚度&#xff08;密度&#xff09;对比度&#xff1b; 后一种像质…

数论专题(1)数论函数,整数分块

从今天起,我们将要开始数论的学习,是不是感觉很难?难的话就听我讲吧,讲了后就不难了(bushi) 数论函数定义 (数论函数) 数论函数的定义:在全体正整数&#xff08;或者整数&#xff09;上定义的函数称作数论函数。 积性的定义&#xff1a;若 gcd(a,b)1,则f(ab)f(a)f(b)。举个栗…

适合制造业的ERP系统有哪些? 制造业的ERP对企业有什么作用?

在当前的激烈的市场竞争下&#xff0c;制造企业如果想要长期稳定地发展&#xff0c;除了需要把外部因素做好把控&#xff0c;还需要提升企业自身的管理水平&#xff0c;来提高自己的竞争力&#xff0c;而信息化是企业发展的必经之路。 适合制造业的ERP系统在企业管理中起到了至…

《Science》教你如何写好一篇博士毕业论文!

博士生涯的完美结束少不了一篇优秀的毕业论文。但是说起来容易&#xff0c;写起来有时让人痛不欲生。不仅内容多&#xff0c;还需要用严谨的逻辑把章节联系起来&#xff0c;常常耗时耗力。而且博士论文要的不仅仅是学术工作的质量&#xff0c;如何将这些工作合理、完整地呈现也…

基于Java实现(PC)大学班级事务管理系统【100010059】

大学班级事务管理系统 要求 本次设计要求利用 Java 实现 C/S 模式的大学班级内日常事务管理系统&#xff08;PC 版&#xff0c;应用于校内网有线网络访问&#xff0c;暂不开发移动端&#xff09;&#xff0c;不得依赖现有的建模框架&#xff0c;使用 swings 技术完成如下基本…