范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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

  来源:Python爬虫与数据挖掘
  作者:Python进阶者一、前言
  今天给大家分享的实战项目是常用验证码标注&识别,从想法诞生到实现思路,再到编码实战的整体过程,这个过程我前后整理了上万字,计划分章节来发布。言归正传,一起来看看今天的内容吧!今天这篇内容主要讲解这篇文章的创作灵感、需求分析和实现思路。
  首先介绍一下验证码基本概念,验证码全称为全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机和人的公共全自动程序。验证码的主要目的是强制人机交互来抵御机器自动化攻击,为了确保服务器系统的稳定和用户信息的安全,大部分网站采用了验证码技术。图片验证码是目前最常用的一种,本文也主要讨论这种验证码的识别。
  最初,图片验证码识别的想法最初源于12年的大学阶段,当时的学校教务系统每次抢课系统就崩溃,而且还要特定时间段跟其他同学一起抢指定课程,基本抢不到自己想修的课程,那时候就想绕过系统图片验证码通过代码实现自动抢课,鉴于当时自己编码能力和技术能力有限,机器学习、神经网络相关框架效果较差,最后以各种条件限制实现不了告终~~
  XDM,等等,故事还没完,时间回到2021年,做为一名勤于搬砖、善于思考学习的程序猿,在经过几年社会的毒打后,想着以现在自己的项目经验、学习能力和编码功底,以及行业内机器学习、神经网络等AI技术的发展,能不能把多年以来的想法给实现,达到图片验证码高正确率识别预测,训练一个高度可用的CNN模型。在做项目之前经过笔者几天的资料查询过程中,确信高可用的验证码识别模型想法是可以做的,于是开启了CNN神经网络等技术前置知识的漫长学习过程。
  几个月过后,项目编码实战出炉,效果嘛,自我感觉还行,基本达到高可用,500张训练数据图,CNN模型单个字符97%以上准确率。
  这里先贴项目的工程Git地址,有基础的同学可以去直接拉取项目下来把玩源码:[Java后台-通用验证码标注系统](https://gitee.com/snowball2dev/DataMarkService)  [Vue管理后台模板-通用验证码标注系统](https://gitee.com/snowball2dev/DataMarkService-Vue) [Python-图片验证码识别模型案例](https://gitee.com/snowball2dev/VerifyCodeRecognize-Python) [标注系统线上效果体验地址](http://139.9.191.103:8084/)
  好的,XDM,如果到这里还有兴趣往下看的话,那么就请跟随结合笔者的学习、编码实战过程来了解常用的验证码识别方法和过程。二、需求分析
  说到图片验证码识别功能,这个功能初步想想也简单,网上搜一下关键词,相关文章和开源项目非常多。以下是github搜索结果:
  乍一看,好像真有免费的午餐,随便下载个CNN-python项目,改几行代码,然后开始疯狂标注数据过程,就能跑出来模型。
  笔者自己最初也是这么想的,只求简单粗暴,于是弄了几个项目下来跑了之后,发现代码是可以用,但是效果非常拉跨,单个字符识别正确率很低,70%不到,4-6个字符那正确率就更低了,基本上达不到高正确率,可用性非常一般。对于一个有追求的程序猿,不可能这么就完事了,于是,这就有了这个项目的整活。
  在使用这些开源项目的过程中,发现下载的项目实现过程大都分为2种思路,第一种无需图片切割,直接数据标注训练模型;第二种为图片验证码进行字符切割,然后为单个字符进行分类训练。项目执行的具体过程就不演示了,有兴趣的读者开源自行捣鼓,下面就是笔者自己对2种思路适用方式的实践思考总结:
  1. 第一种无需图片切割
  优点:简单粗暴,通用性强,直接用各种卷积神经网络模型硬怼图片验证码提取特征,适合知道验证码生成的正向代码过程,用代码生成图片验证码数据给模型训练。
  缺点:数据量小时模型拟合效果差,需要大量人工标注数据,不太适合不知道验证码生成规则,少量标注数据。
  2. 第二种进行字符切割
  针对验证码生成规则,分析验证码各种背景干扰、噪声点像素、字体形变和累叠、字符位置随机及个数不定、反色等情况,对图片逆向处理,达到局部字符可切割,降低卷积模型层次,降低数据标注量,实现字符分类。
  优点:可针对单一图片验证码做特殊预处理,可实现部分字符切割,针对字符小图进行分类训练,小批量数据标注就可以训练模型达到高拟合效果,达到可用
  缺点:通用性不强,训练模型只适用特定图片验证码,复杂验证码可能无法切割XDM,等等,还有一种思路:
  笔者自己学习OpenCV时想到的,通过图片预处理,轮廓检测,然后对A-Z,0-9字符通过SIFT算法进行特征提取,最后跟需要匹配的字符进行FLANN匹配,理想很丰满,然后编写相关代码后发现由于验证码的正向生成过程导致字符特征变化太大,并不适合,于是放弃采用该思路,代码见上述代码链接中的python项目image_match.py。
  根据以上思路总结,根本没有免费的午餐,好的数据和特征工程同等重要,要实现好的效果,都是要根据具体问题具体分析,所以笔者分析自己的图片验证码识别案例,更适合第二种,另外一点原因大批量标注数据人工成本过高,个人不太喜欢。以下将附带案例详细介绍第二种识别思路的实现过程。三、实现思路
  根据需求初步分析,大概可分为四个步骤:
  1. 数据采集/预处理:http批量下载,OpenCV API使用学习,图片预处理
  2. 数据标注:GUI标注功能开发,人工标注数据阶段,模型训练后预测数据可进行数据集补充
  3. CNN神经网络模型训练:windows环境,cpu/gpu,学习神经网络框架API,微积分、线代、概率论等前置知识,加深对神经网络模型理解,pytroch框架的使用
  4. 项目部署:linux环境下,标注系统VUE前端部署、标注系统Java后端部署、Python模型部署
  以下是Xmind脑图导出效果:
  四、总结
  我是Snowball。这篇内容主要讲解了常用验证码标注&识别的背景知识, 介绍了验证码的基本概念,讲述了这个文章的的创作灵感、需求分析和实现思路。

鸿蒙系统登录华为手机九大功能亮相华为昨晚发布了最新版本的鸿蒙HarmonyOS系统,这个系统重点是打通所有智能产品,包括智能手机平板笔记本智能手表无线耳机智能电视智能家居产品等等。就算低至128KBRAM的设备,华为鸿蒙HarmonyOS2发布,极简联网无需下载AppIT之家6月3日消息据央视财经报道,6月3日,华为旗下HarmonyOS官微披露了HarmonyOS2百机升级计划。从6月2日开始,华为Mate40系列P40系列Mate30系列以华为轮值董事长徐直军早在2017年就已开启6G研究CNMO新闻6月3日,华为轮值董事长徐直军出席浦江创新论坛,并发表题为华为创新实践与启示的主题演讲。他表示,华为的发展是一个持续创新的历程,以5G为例,华为5G的研究从2009年开华为鸿蒙来了!或打破安卓苹果独大局面6月2日晚8点,备受关注的华为鸿蒙操作系统正式面向消费者发布,它也将正式搭载到手机平板电脑,甚至豆浆机烤箱等家电设备上。根据测试用户的反馈,这个系统支持几乎所有的安卓软件,不仅运行特斯拉法务部开官方媒体账号欲告某自媒体近日,我们注意到特斯拉的一些新动态,特斯拉法务部在某平台上开通了官方账号。据消息称,这个账号在近一段时间开始给一些自媒体发私信了。某自媒体曾在平台上写了几篇关于特斯拉刹车失灵事件的华为发布多款4G手机及平板,荣耀多款老机型将适配鸿蒙系统华为正式发布鸿蒙系统OS2,同时也发布了多款4G手机,包括Mate40ProMate40ENova8ProMateX2它们都预装鸿蒙系统OS2,价格上相比5G版本便宜300至400iQOO618第二日战绩三大电商安卓手机Top2IT之家6月3日消息今年的618活动提前至6月1日开启,vivi手机子品牌iQOO公布了6月2日在电商平台的销量报告。报告统计时间为6月2日全天,根据各大电商平台发布的手机销售排行华为鸿蒙系统什么时候可以升级?华为鸿蒙升级机型名单时间表介绍华为鸿蒙系统首批升级机型名单有哪些?华为鸿蒙系统在6月2日开启了正式公测,这次的新系统对游戏的优化不错,能显著提高速度,因此不少的玩家也都希望自己能早点用上这个系统。不同的手机可以华为鸿蒙操作系统是什么?鸿蒙适用机型首曝光6月2日,华为正式发布鸿蒙手机操作系统,这意味着鸿蒙手机已经变成面向市场的正式产品。鸿蒙(HarmonyOS2)是什么?鸿蒙研发耗时10年,有4000多名研发人员参与。它面向万物互华为手机长按2秒很厉害,能开启6个隐藏功能,不知道真是可惜身边的不少朋友都在用华为手机,不仅系统流畅,外观也十分好看,功能也很多。今天才发现,华为手机长按2秒很厉害,能开启6个隐藏功能,不知道真是可惜了。一启用快捷功能不管是华为手机自带A鸿蒙2。0公测升级步骤1首先参考下图确定你的手机是否属于这批公测和beta测试的型号。公测包括华为M40,P40,M30系列能申请beta测试的机型见下图2公测安装进入华为应用选我的华为,可以看到以下界
小爱同学VS小度智能屏,智能遇智能,你pick谁?智能语音发展比较火,家家户户都会购买一个,在不能释放双手时,智能语音系统可以帮助你做一些事情。小爱同学是小米旗下出品的智能语音音响,也是最早一个将智能语音实体化的品牌,随后百度出品王某文和张某被刑拘,阿里女员工周某的目的和诉求全部达到了吗?这件事本身并不复杂,不需要过度解读。就是因为合同敲定,双方搞了一个饭局庆贺一下。从后来的剧情发展来看,阿里周某女跟上级同事王某男以及华联张某男都熟悉,但我不认为周某女跟这二位事前就2150能买原装国行iPhoneXR256GB?网友不看都知道是翻新机今天某粉丝在群里发了一台iPhoneXR256GB,关键只要2150元。还还称是原装机!就被其他网友怼了,2150元怎么可能买到原装iPhoneXR。这个价格比发价都便宜好几百!我紧密贴合狂甩不掉,HAKII蓝牙耳机畅享酣畅运动体验运动时有一点音乐能让运动变得更加有趣,在音乐的陪伴中运动也能坚持更长时间的运动,因此很多人喜欢在运动的时候听一点音乐,不过在运动时听音乐也会出现很多状况,比如耳机容易掉落耳机线牵绊电脑磁盘分区攻略,让你的电脑永葆流畅前不久发了一篇关于笔记本电脑使用注意事项的文章,不少小伙伴看完之后,表示自己拿到的新电脑只有一个C盘,那么今天就跟大家详细讲一讲有关磁盘分区的问题。对于很多人而言,可能觉得重装系统使用苹果手机就不算爱国吗?感谢您的阅读!如果把爱国和使用苹果手机牵连起来。那么现在购买苹果手机的用户,似乎都背上这样的骂名。很显然,购买苹果手机并不是不爱我手机,只是我们的一种形式,使用国产或者是国际的手机微信小程序维护登录态与获取用户信息openid一登录通过wx。login()获取到用户登录状态之后,需要维护登录态。要注意不应直接把sessionkeyopenid等字段作用户的标识或者session为了标识,而应自己派发一个三星哭晕在厕所ZFold3Flip3完整规格和图片再次流出手机中国新闻对手机厂商来说,新机在发布前有一些爆料其实并不算坏事,因为这可以为新机发布吸引一些关注。也没有手机厂商能做到完全制止爆料。不过,倒也没有手机厂商像三星这样,每年在举行发以保护儿童的名义,苹果要偷看你的照片了不知道大家的记忆力如何,是否还记得苹果最近几年一直强调的用户隐私的问题,甚至还将其打在了广告语中,WhathappensonyouriPhone,staysonyouriPhone立法应对大数据杀熟,再也不用担心被宰了大数据杀熟这个2017年从OTA平台率先被曝光的词汇,在随后的数年时间里几乎是迅速席卷全网。同样的商品或服务,老用户的价格要比新用户高这类问题,也成为了大量用户的痛点。而这样对平台苹果新公布的儿童安全规则对照片意味着什么苹果公司最近宣布改变其处理儿童隐私和非法材料的方式,这激起了围绕加密和隐私权的争议。但很有可能你永远不会注意到你每天发短信和拍照的变化。苹果宣布了新的规则变化,它如何处理iClou