【项目】YOLOv5+PaddleOCR实现艺术字验证码识别

YOLOv5+PaddleOCR实现艺术字类验证码识别

  • 一、引言
    • 1.1 实现目标
    • 1.2 人手动点选验证码逻辑
    • 1.3 计算机点选逻辑
  • 二、计算机验证方法
    • 2.1 PaddleOCR下方文字识别方法
    • 2.2 YOLOv5目标检测方法
    • 2.3 艺术字分类方法
    • 2.4 返回结果
  • 三、代码获取

一、引言

1.1 实现目标

要识别的验证码类型如下图所示:
在这里插入图片描述

1.2 人手动点选验证码逻辑

以我们人输入验证码的逻辑,分为三个步骤:

  1. 首先应该观察下方的文字:请从图中以此选出“力量无限”
  2. 在上图中观察所有的艺术字及其位置
  3. 按顺序依次点击“力量无限”

1.3 计算机点选逻辑

所以当用计算机视觉的方法来点选此类验证码的过程也分为类似的四个步骤:

0.首先把原图像分为上方和下方两部分

  1. 使用PaddleOCR开源的方法识别出下方文字(下方为常规常规字体,容易识别)
  2. 使用YOLOv5检测检测的方法检测出上方所有艺术字的位置(数据集自制)
  3. 使用分类的方法识别出每个艺术字对应的文字(需要标注)
  4. 按照顺序给出四个字对应的位置

算法执行过程之所以比我们人检测步骤多一步,是因为其实人点选验证码的第二步(观察所有的艺术字及其位置),其实也等同于计算机的先观察位置,再判断艺术字对应的具体文字。

二、计算机验证方法

2.1 PaddleOCR下方文字识别方法

本文使用百度开源的OCR框架直接对整张图进行识别,由于下方文字比较规整,所以直接使用默认的OCR训练权重效果就已经很好,准确率在99%以上。
PaddleOCR链接: https://gitee.com/paddlepaddle/PaddleOCR
识别效果如下:
在这里插入图片描述
将上图中得出的文字按照规律先把引号消除,再取最后四个字符,即可得到我们需要点选的验证码文字。
此外,由于此类验证码图像比例相对固定,因此其实可以只输入验证码图像的下半部分,这样会提升模型推理速度。

2.2 YOLOv5目标检测方法

使用YOLOv5进行此类检测任务首先要搞的就是数据集了,笔者搜集了网络上一些开源数据集,并没有找到此类现成的数据集,因此就自己标注了一些,最后得到的图像样本一共是2757张,标注了821张样本,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用这些样本训练出来的算法精度可以达到95%+,算法速度与精度都很高,一些检测效果示例图如下所示

在这里插入图片描述

2.3 艺术字分类方法

第三步是艺术字分类,笔者搜集了很多网络资源,依然没有找到好用的数据集,因此也只能自己标注了。
首先把上个步骤中使用YOLO算法检测出来的目标保存起来,接着按照文件名对齐进行文字标注,最后把标注好的艺术字文件都丢进分类网络训练
在这里插入图片描述

2.4 返回结果

最后一步就是简单的逻辑步骤了,首先把PaddleOCR检测出的文字与YOLOv5检测出的艺术字进行比对,接着按照OCR给出的字符顺序返回给服务器四个艺术字的坐标位置即可。

三、代码获取

q:1831255794(有偿)
可接项目,大作业等 
价格略贵,技术够硬,认真负责,保证质量

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浏览器的渲染原理

浏览器的渲染原理 来总结一下最近理解的浏览器渲染原理和流程 首先浏览器是多进程的,分为渲染进程、插件进程、主进程、网络进程以及GPU进程 而我们打包出来的js html css文件,经过浏览器的渲染进程,就会展示出看到的页面。下面主要来了解一…

mysql索引实现

什么是索引失效 在MySQL中,索引失效指的是查询语句无法有效地使用索引,而必须进行全表扫描。索引失效可能会导致查询性能下降,特别是在处理大量数据时。 索引失效的原因 1.索引列进行了运算或函数操作 如果对索引列进行了运算或使用了函数…

第十届电气工程、控制和机器人技术国际会议(ICRAS 2024)即将召开!

2024年第十届电气工程、控制和机器人技术国际会议(ICRAS 2024)将于2024年6月21日至23日在日本东京举行。本次会议由中国地质大学(武汉)和北京控制机器人与智能技术研究所主办。ICRAS 2024旨在聚集来自世界各地的教授、研究人员、学…

遇到大量的照片需要尺寸调整怎么办?跟着小编往下看 轻松帮你解决照片尺寸修改的烦恼

在日常的摄影后期处理中,我们可能会遇到需要将大量照片上传至社交媒体、制作相册、或者进行打印等需求。不同的平台或用途对照片的尺寸有不同的要求,因此我们需要对照片的尺寸进行调整以满足这些要求。此外,随着手机、相机等设备的普及&#…

开源问卷调查系统

Java Vue 开源问卷调查系统 附项目地址 Astar问卷调查系统 基于SpringBootVue前后端分离的问卷调查系统 平台简介 本项目旨在提供一个简单易用的问卷调查平台,帮助用户创建、分享问卷,并收集、分析调查数据。我们希望能够为各行各业的调查需求提供一种…

【python】python结合js逆向,让有道翻译成为你的翻译官,实现本地免费实时翻译

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者等等。 🏆《博客》:Python全栈,前后端开发,人工智能,js逆向,A…

理清大数据技术与架构

大数据并不是一个系统软件,更不是一个单一的软件,它实际上是一种技术体系、一种数据处理方法,甚至可以说是一个服务平台。在这个技术体系中,涵盖了许多不同的部件,比如Hadoop服务平台。这一服务平台可以根据具体情况自…

管理类联考–复试–英文面试–问题–WhatWhyHow--纯英文汇总版

文章目录 Do you have any hobbies? What are you interested in? What do you usually do in your spare time? Could you tell me something about your family? Could you briefly introduce your family? What is your hometown like? Please tell me so…

复旦发布层次性奖励学习框架,增强大模型人类偏好对齐

在人工智能领域,强化学习(Reinforcement Learning, RL)一直是实现智能体自主学习的关键技术之一。通过与环境的交互,智能体能够自我优化其行为策略,以获得更多的奖励。然而,当涉及到复杂的人类偏好时&#…

顶顶通呼叫中心中间件-机器人话术编辑器意向问题详解

文章目录 前言联系我们意向页面和分类页面的区别意向权重意向权重的计算意向权重的作用 分类规则如何分类 前言 顶顶通旗下有一款机器人话术可视化编辑工具,可以根据用户的需求编辑话术流程。针对该话术编辑工具的意向功能进行讲解: 机器人话术可视化工…

案例练习:敲桌子

大家好: 衷心希望各位点赞。 您的问题请留在评论区,我会及时回答。 案例描述 从1开始数到数字100,如果数字的个位含有7,或者数字是7的倍数,我们打印输出“敲桌子”,其余数字直接打印输出。 代码 #includ…

婴儿洗衣机硬核测评:希亦、鲸立、小吉婴儿洗衣机性能大比拼!

如果你非常注重婴儿衣物的卫生问题,那么婴儿洗衣机则是非常理想的选择。毕竟,在婴儿吃奶或者接触其他材料时,其抵抗力是比较弱的,再加上普通洗衣机无法对婴儿的衣物进行有效的消毒处理,轻则会对婴儿的健康造成威胁&…

libVLC windows开发环境搭建

1.简介 LibVLC是一个强大的开源库,它构成了VLC媒体播放器的核心部分。 LibVLC提供了一系列的功能接口,使得VLC能够处理流媒体的接入、音频和视频输出、插件管理以及线程系统等核心任务。 跨平台性:VLC作为一个跨平台的多媒体播放器&#x…

设计师最常用的UI设计软件

无论您的设计侧重于用户体验设计还是用户界面设计,您都需要一个高效的界面设计工具来帮助您完成设计项目。根据设计的不同界面功能,合适的 UI 界面设计工具也会有所不同。本文总结了市场上 5 款流行的界面设计软件。每个界面设计工具都有自己的优点和缺点…

DevEco Studio 项目创建

安装DevEco Studio后开始使用,双击桌面DevEco Studio 快捷方式弹出界面: 选择Application —> Empty Ability,点击Next 项目配置 Project name:工程的名称,可以自定义,由大小写字母、数字和下划线组成。…

HarmonyOS NEXT应用开发之听歌识曲水波纹特效案例

介绍 在很多应用中,会出现点击按钮出现水波纹的特效。 效果图预览 使用说明 进入页面,点击按钮,触发水波纹动画。再次点击按钮,停止水波纹动画。 实现思路 本例涉及的关键特性和实现方案如下: 要实现存在两个连续…

vue el-table 前端js实现导出数据为Excel

目录 一、背景描述 二、功能分析 三、详细开发 1.导出为excel 2.导出为cvs 四、总结 一、背景描述 有些业务常见,例如前端已经获取到表格的所有数据了,并且后端技术人员比较繁忙,总会提出前端分页,前端排序,甚至…

CycleGAN训练及测试过程细节记录

CycleGAN训练及测试过程细节记录 文章目录 关于训练关于测试 关于训练 1、训练前将数据配置好,并在Pycharm中写好配置信息 2、关于训练过程的参数配置在 options/train_options.py options/base_options.py batch_size:批大小 crop_size:…

Vue.js前端开发零基础教学(一)

目录 第一章 初识Vue.js 前言 开发的好处 一.前端技术的发展 什么是单页Web应用? 二. Vue的简介 三. Vue的特性 四. Vue的版本 五.常见的包管理 六.安装node环境 第一章 初识Vue.js 学习目标: 了解前端技术的发展 了解什么是Vue掌握使用方…

凡事不以规矩不成方圆,合同协议模板范本大全

一、资料描述 本套合同协议资料,大小18.42M,24个压缩文件。 二、资料目录 01-租赁合同.rar(112个文件) 02-装修协议.rar(32个文件) 03-转让或承包协议.rar(32个文件) 04-员工手…