Python项目实战篇——常用验证码标注和识别(需求分析和实现思路).docxVIP

Python项目实战篇——常用验证码标注和识别(需求分析和实现思路).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python项目实战篇——常用验证码标注和识别(需求分析和实现思路) 一、前言 ????今日给大家共享的实战项目是常用验证码标注识别,从想法诞生到实现思路,再到编码实战的全体过程,这个过程我前后整理了上万字,方案分章节来发布。言归正传,一起来看看今日的内容吧!今日这篇内容次要讲解这篇文章的创作灵感、需求分析和实现思路。 ????首先引见一下验证码基本概念,验证码全称为全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机和人的公共全自动程序。验证码的次要目的是强制人机交互来抵挡机器自动化攻击,为了确保服务器系统的稳定和用户信息的平安,大部分网站接受了验证码技术。图片验证码是目前最常用的一种,本文也次要争辩这种验证码的识别。 ????最后,图片验证码识别的想法最后源于12年的高校阶段,当时的学校教务系统每次抢课系统就崩溃,而且还要特定时间段跟其他同学一起抢指定课程,基本抢不到本人想修的课程,那时候就想绕过系统图片验证码通过代码实现自动抢课,鉴于当时本人编码力量和技术力量有限,机器学习、神经网络相关框架效果较差,最终以各种条件限制实现不了告终~~ ??? XDM,等等,故事还没完,时间回到2021年,做为一名勤于搬砖、擅长思考学习的程序猿,在经过几年社会的毒打后,想着以现在本人的项目阅历、学习力量和编码功底,以及行业内机器学习、神经网络等AI技术的进展,能不能把多年以来的想法给实现,达到图片验证码高正确率识别猜测,训练一个高度可用的CNN模型。在做项目之前经过笔者几天的材料查询过程中,确信高可用的验证码识别模型想法是可以做的,于是开启了CNN神经网络等技术前置学问的漫长学习过程。 ????几个月过后,项目编码实战出炉,效果嘛,自我感觉还行,基本达到高可用,500张训练数据图,CNN模型单个字符97%以上精确?????率。 ????这里先贴项目的工程Git地址,有基础的同学可以去直接拉取项目下来把玩源码: [Java后台-通用验证码标注系统](/snowball2dev/DataMarkService)? [Vue管理后台模板-通用验证码标注系统](/snowball2dev/DataMarkService-Vue) [Python-图片验证码识别模型案例](/snowball2dev/VerifyCodeRecognize-Python) [标注系统线上效果体验地址](03:8084/) ????好的,XDM,假如到这里还有爱好往下看的话,那么就请跟随结合笔者的学习、编码实战过程来了解常用的验证码识别方法和过程。 二、需求分析 ????说到图片验证码识别功能,这个功能初步想想也简约,网上搜一下关键词,相关文章和开源项目格外多。以下是github搜索结果: ????乍一看,好像真有免费的午餐,任凭下载个CNN-python项目,改几行代码,然后开头疯狂标注数据过程,就能跑出来模型。 ????笔者本人最后也是这么想的,只求简约粗暴,于是弄了几个项目下来跑了之后,发觉代码是可以用,但是效果格外拉跨,单个字符识别正确率很低,70%不到,4-6个字符那正确率就更低了,基本上达不到高正确率,可用性情外一般。对于一个有追求的程序猿,不行能这么就完事了,于是,这就有了这个项目的整活。 ????在使用这些开源项目的过程中,发觉下载的项目实现过程大都分为2种思路,第一种无需图片切割,直接数据标注训练模型;其次种为图片验证码进行字符切割,然后为单个字符进行分类训练。项目执行的具体过程就不演示了,有爱好的读者开源自行捣鼓,下面就是笔者本人对2种思路适用方式的实践思考总结: 1. 第一种无需图片切割 ? ?优点:简约粗暴,通用性强,直接用各种卷积神经网络模型硬怼图片验证码提取特征,适合晓得验证码生成的正向代码过程,用代码生成图片验证码数据给模型训练。 ? ?缺点:数据量小时模型拟合效果差,需要大量人工标注数据,不太适合不晓得验证码生成规章,少量标注数据。 2. 其次种进行字符切割 ? ?针对验证码生成规章,分析验证码各种背景干扰、噪声点像素、字体形变和累叠、字符位置随机及个数不定、反色等情况,对图片逆向处理,达到局部字符可切割,降低卷积模型层次,降低数据标注量,实现字符分类。 ? ?优点:可针对单一图片验证码做特殊预处理,可实现部分字符切割,针对字符小图进行分类训练,小批量数据标注就可以训练模型达到高拟合效果,达到可用 ? ?缺点:通用性不强,训练模型只适用特定图片验证码,简单验证码可能无法切割 ??? XDM,等等,还有一种思路: ????笔者本人学习OpenCV时想到的

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档