基于轻量级YOLOv5开发构建汉字检测识别分析系统
汉字检测、字母检测、手写数字检测、藏文检测、甲骨文检测在我之前的文章中都有做过了,今天主要是因为实际项目的需要,之前的汉字检测模型较为古老了还使用的yolov3时期的模型,检测精度和推理速度都有不小的滞后了,这里要基于yolov5轻量级的模型来开发构建新版的目标检测模型,首先看下效果图:

接下来简单看下数据集情况:

YOLO格式标注文件截图如下:

实例标注内容如下所示:
17 0.245192 0.617788 0.038462 0.038462
6 0.102163 0.830529 0.045673 0.045673
16 0.894231 0.096154 0.134615 0.134615
4 0.456731 0.524038 0.134615 0.134615
15 0.367788 0.317308 0.269231 0.269231
VOC格式数据标注文件截图如下:

实例标注内容如下所示:
<annotation><folder>DATASET</folder><filename>0ace8eaf-8e86-488b-9229-95255c69158c.jpg</filename><source><database>The DATASET Database</database><annotation>DATASET</annotation><image>DATASET</image></source><owner><name>YMGZS</name></owner> <size><width>416</width><height>416</height><depth>3</depth></size><segmented>0</segmented><object> <name>17</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>214</xmin><ymin>302</ymin><xmax>230</xmax><ymax>318</ymax></bndbox></object><object> <name>16</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>210</xmin><ymin>67</ymin><xmax>229</xmax><ymax>86</ymax></bndbox></object><object> <name>18</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>260</xmin><ymin>7</ymin><xmax>274</xmax><ymax>21</ymax></bndbox></object><object> <name>10</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>121</xmin><ymin>103</ymin><xmax>143</xmax><ymax>125</ymax></bndbox></object><object> <name>11</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>296</xmin><ymin>289</ymin><xmax>352</xmax><ymax>345</ymax></bndbox></object><object> <name>0</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>56</xmin><ymin>132</ymin><xmax>196</xmax><ymax>272</ymax></bndbox></object><object> <name>0</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>213</xmin><ymin>142</ymin><xmax>353</xmax><ymax>282</ymax></bndbox></object></annotation>因为是主打轻量级网络,这里选择了也是最为轻量级的n系列的模型,最终训练得到的模型文件不足4MB大小,网络结构图如下所示:

默认100次epoch的计算,结果目录如下所示:
【混淆矩阵】

【F1值曲线】

【PR曲线】

【训练日志可视化】

【batch计算实例】

可视化界面推理样例如下:



从评估指标结果上面来看检测效果还是很不错的。

相关文章:
基于轻量级YOLOv5开发构建汉字检测识别分析系统
汉字检测、字母检测、手写数字检测、藏文检测、甲骨文检测在我之前的文章中都有做过了,今天主要是因为实际项目的需要,之前的汉字检测模型较为古老了还使用的yolov3时期的模型,检测精度和推理速度都有不小的滞后了,这里要基于yolo…...
leetcode-每日一题-66(简单题,数组)
这道题其实还没那么简单,中间还是有的绕的。。。。给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会…...
LeetCode295之数据流的中位数(相关话题:优先队列)
题目描述 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化 Media…...
助你加速开发效率!告别IDEA卡顿困扰的性能优化技巧
在现代软件开发中,IDE(集成开发环境)是一个必不可少的工具。IntelliJ IDEA是一个广受欢迎的IDE,但有时候IDE的性能可能会受到影响,导致开发人员的工作效率降低。本文将介绍一些可以提高IDE性能的技巧,帮助开…...
Java设计模式-适配器模式
1、简介 适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。 2、适配器模式分类 目标接口(Target&#x…...
Linux 练习六 (IPC 管道)
文章目录1 标准管道流2 无名管道(PIPE)3 命名管道(FIFO)3.1 创建删除管道文件3.2 打开和关闭FIFO文件3.3 管道案例:基于管道的客服端服务器程序使用环境:Ubuntu18.04 使用工具:VMWare workstati…...
合并两个有序链表(精美图示详解哦)
全文目录引言合并两个有序链表题目描述方法一:将第二个链表合并到第一个思路实现方法二:尾插到哨兵位的头节点思路实现总结引言 在前面两篇文章中,我们介绍了几道链表的习题:反转链表、链表的中间结点、链表的倒数第k个结点&…...
33 JSON操作
目录 一、介绍 二、JSON的特点 三、JSON语法 1、json中的数据类型 四、JSON文件的定义 五、读取JSON文件 1、读取json文件的两种方式 (1)read、write (2)json.load 2、使用json.load读取json文件的步骤 3、练习读取json文件 六、练…...
三八妇女节快乐----IT女神活动随笔
献丑了,一首小小散文诗,请大家轻喷 O(≧口≦)O 我的答案 天下芸芸众生,好似夜幕漫天繁星。 与你相识,只是偶然。 简单的一个招呼,于是开始了一段故事。 我们或是诉说,或是分享; 我们彼此倾听&…...
【PSO-PID】使用粒子群算法整定PID参数控制起动机入口压力值
最近在学优化算法,接触到了经典寻优算法之粒子群PSO,然后就想使用PSO算法来调节PID参数,在试验成功之后将此控制算法应用到了空气起动系统上,同时与之前的控制器进行对比看看哪种控制效果最好。 0 引言 PID参数整定主要有两种&…...
当代数据分析指南:激发商业洞见的七个方法(上)
如果说眼下的发生的事能证明什么,那就是基于实时可信的数据分析正在变得越来越重要。但是要是想要在需要的时候准确地获取中肯的洞察,我们所需要的可不只是漂亮的可视化。 如何让你的员工都有能力和机会都做出最好的决策,不管这个决策会有多…...
javaWeb核心02-JSP、EL、JSTL、MVC
文章目录JSP1,JSP 概述2,JSP 快速入门2.1 搭建环境2.2 导入 JSP 依赖2.3 创建 jsp 页面2.4 编写代码2.5 测试3,JSP 原理4,JSP 脚本4.1 JSP 脚本分类4.2 案例4.2.1 需求4.2.2 实现4.2.3 成品代码4.2.4 测试4.3 JSP 缺点5࿰…...
spring-boot+mybatis-plus连接Oracle数据库,及查询相关数据
配置java 略(这里我用的是jdk1.8) 配置maven 环境变量: M2_HOME:D:\LJ\software\java\maven\apache-maven-3.6.3 Path:%M2_HOME%\bin 仓库/jdk/镜像云设置(./config/sitting) 仓库 <localRepository> D:/…...
电商使用CRM系统有什么好处,如何选择
数据显示,使用电商CRM客户管理系统后,企业销售额提高了87%,客户满意度提高了74%,业务效率提高了73%。要在竞争激烈的电商市场取得成功,与目标受众的有效沟通是有效的方法。下面说说什么是电商CRM系统?电商C…...
Nacos2.2.0多数据源适配oracle12C-修改Nacos源码
从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件.本文档详细介绍一个多数据源插件如何实现以及如何使其生效。 文章目录一…...
第十四届蓝桥杯三月真题刷题训练——第 5 天
目录 题目1:数的分解 题目描述 运行限制 代码: 题目2:猜生日 题目描述 运行限制 代码: 题目3:成绩分析 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 题目4:最大和…...
大数据框架之Hive:第3章 DDL(Data Definition Language)数据定义
第3章 DDL(Data Definition Language)数据定义 3.1 数据库(database) 3.1.1 创建数据库 1)语法 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPER…...
概率论小课堂:统计学是大数据方法的基础
文章目录 引言I 统计学1.1 统计学的内容1.2 统计学的目的II 用好数据的五个步骤2.1 设立研究目标2.2 设计实验,选取数据。2.3 根据实验方案进行统计和实验,分析方差。2.4 通过分析进一步了解数据,提出新假说。2.5 使用研究结果III 数据没用好的原因3.1 霍桑效应3.2 数据的稀…...
监控集群概念讲解
监控概述 1、监控的重要性 监控是运维日常的重要工作之一; 监控是有多重要? 监控可以帮助运维监控服务器的状态;要及时解决; 如果淘宝、腾讯宕机了1个小时? 损失是无法估量的; 服务器是否故障、宕不…...
如何通过DAS连接GaussDB
文章目录1 实验介绍2 实验目的3 配置DAS服务4 SQL使用入门1 实验介绍 本实验主要描述如何通过华为云数据管理服务 (Data Admin Service,简称DAS) 来连接华为云GaussDB数据库实例,DAS是一款专业的简化数据库管理工具,提供优质的可视化操作界面…...
KEIL MDK生成bin文件全攻略:从C51到ARM的两种方法详解(附工具下载)
KEIL MDK生成bin文件实战指南:C51与ARM双架构深度解析 在嵌入式开发领域,bin文件因其体积小巧、结构简单而成为固件升级(IAP)的首选格式。不同于其他IDE的直接输出功能,KEIL MDK需要开发者掌握一些"隐藏技巧"才能生成bin文件。本文…...
ESP32嵌入式开发实战:如何用Arduino生态构建企业级物联网解决方案?
ESP32嵌入式开发实战:如何用Arduino生态构建企业级物联网解决方案? 【免费下载链接】arduino-esp32 Arduino core for the ESP32 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 在物联网技术快速演进的时代,ESP32凭…...
Dify前端DIY指南:从修改样式到Docker部署的完整避坑手册
Dify前端DIY指南:从修改样式到Docker部署的完整避坑手册 当你需要为企业内部系统打造独特的品牌界面,或是为教学演示环境定制专属交互体验时,Dify的前端定制能力就显得尤为重要。不同于简单的主题切换,深度定制Dify前端需要掌握从…...
Qwen2.5-7B-Instruct实现网络安全威胁智能分析
Qwen2.5-7B-Instruct实现网络安全威胁智能分析 1. 引言 网络安全运维团队每天都要面对海量的日志数据,从防火墙告警到系统日志,从网络流量到用户行为记录。传统的人工分析方式不仅效率低下,还容易遗漏关键威胁信号。一个中等规模的企业每天…...
Wan2.1-UMT5与数据库课程设计结合:构建视频素材管理系统
Wan2.1-UMT5与数据库课程设计结合:构建视频素材管理系统 最近在指导学生的数据库课程设计时,我发现了一个很有意思的现象:很多同学的设计选题还停留在“图书管理系统”、“学生选课系统”这些传统项目上。不是说这些项目不好,只是…...
SolidWorks用户福音:Nanbeige 4.1-3B辅助三维设计文档生成
SolidWorks用户福音:Nanbeige 4.1-3B辅助三维设计文档生成 作为一名和三维设计软件打了十几年交道的工程师,我太懂那种感觉了:模型画得又快又好,但一到写文档环节,头就开始疼。零件说明、装配指南、材料清单ÿ…...
嵌入式系统中七大底层数据结构实战解析
编程世界里的七个底层数据结构1. 引言:数据结构作为嵌入式系统设计的工程基础在嵌入式系统开发中,数据结构远非教科书中的抽象概念,而是直接决定资源利用率、实时响应能力与内存安全性的工程要素。MCU通常面临RAM仅数KB、Flash空间受限、无虚…...
PyCharm与Anaconda环境配置全攻略:从零搭建Python开发环境
1. PyCharm与Anaconda环境配置全攻略 刚接触Python开发时,最头疼的就是环境配置。我当初也是一头雾水,试了好几个IDE都不顺手,直到遇到PyCharmAnaconda这对黄金组合。今天我就把自己踩过的坑和实战经验分享给大家,手把手教你从零搭…...
运维绩效怎么考?揭秘我们团队用‘四维一体’模型提升服务质量的实战记录
运维绩效怎么考?揭秘我们团队用‘四维一体’模型提升服务质量的实战记录 当团队运维服务从"救火式"响应转向体系化运营时,传统"工时统计主观评价"的考核方式开始暴露致命缺陷——我们曾连续三个季度客户满意度低于行业基准值&#x…...
libsodium嵌入式移植实战:ESPHome安全工程指南
1. libsodium 在嵌入式系统中的工程化移植:以 ESPHome 为例的深度解析1.1 为什么嵌入式系统需要 libsodium?在资源受限的 MCU 平台上(如 ESP32、nRF52840、STM32H7),密码学功能长期面临三重矛盾:安全性要求…...
