2025《基于CNN的改进验证码识别算法分析案例》1200字.docxVIP

2025《基于CNN的改进验证码识别算法分析案例》1200字.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文档。上传文档
查看更多

基于CNN的改进验证码识别算法分析案例

目录

TOC\o1-3\h\u29789基于CNN的改进验证码识别算法分析案例 1

139361.1端到端验证码识别算法简介 1

260841.1.1Inception模组 2

198901.1.2Xception架构 2

282121.2主要代码实现 3

55301.3模型训练结果分析 4

端到端验证码识别算法简介

之前识别的验证码是易分割的验证码,如果验证码变得很复杂的话就没办法很好的分开。所以就之前的方法进行改进。之前的CNN卷积神经网络识别验证码是先把字符串分割成若干字符,常用的分割方法例如有平均分割法,投影分割法,颜色填充分割法等,采用化整为零的方法,分别识别再统一,但是如果字符之间有粘连的话分割难度就会非常大且容易造成验证码信息的缺失,影响了识别的精度,所以本章就端到端不分割的算法进行研究,输入整张图片然后直接导出标记结果,省略中间复杂的预处理和特征提取等过程,直接用原始数据得到结果。区别如下图:

图4.1端到端思想示例

基于CNN去识别验证码换句话说就是一个多标签值的学习问题。如果是一个4位数字组成的验证码那么它每张图就有四个标签。端到端的识别就是连接了四个全连接层,它们分别对应不同位置的四个标签。最后将它们联系到一起同时学习这四个标签。但是这个有个问题即要求识别的验证码固定,不固定的话就没有针对固定位置的标签进行识别。

图4.2端到端验证码识别流程

识别数据集如下图所示,比之前的难度上升一个档次,加了噪声,由数字、大小写字母组成并且各个字母之间距离不尽相同,不易分割,如下图所示:

图4.2训练验证码图片示例

Inception模组

在之前,szegedy等人提出了第一代网络架构即inception,InceptionV1又叫GoogleNet,,之后随着时代的发展,InceptionV1不断升级,V2V3Inception-resNet相继出现。非常经典的Inception模块处理跨通道相关的时候,第一步就是现实用1*1的卷积核去遍历将数据的维度降下来,使现在的特征空间小于之前的特征空间。之后再通过3*3卷积核学习空间相关性。

Xception架构

Inception网络是简单来说是一种中间状态位于深度可分卷积和普通卷积之间,之后研究人员由Inception思想开发出了另外一种新的CNN卷积神经网络架构:XCeption,它的思想主要是去掉Inception模块,用深度可分卷积来替代,最后在Xception中建立更多、更细的路径。Inception网络有两个想法:开始1×1卷积负责处理通道间混合,最后3×3卷积负责操纵图像的空间结构。3x3卷积也将在通道之间混合,但是XCeption的想法是引入更多路径,甚至允许每个通道具有独立的路径,此时每个3x3卷积核都在各个通道中独立运行,不再负责通道之间的混合。这样可以节省很多参数并加快计算速度。

主要代码实现

数据集生成代码如下图:

卷积网络结构如下图:

模型训练结果分析

因为数据比较复杂迭代次数相比较之前也较长,大概的6000次左右才能达到百分之九十以上的准确率,使用tensorboard对accuracy进行监控如下图:

图4.1模型训练准确率结果展示

代码之前采用的激活函数是softmax方式,收敛效果不是很好。最后采用的是sigmoid方式。亚当优化器学习率为0.001.经过多次训练发现模型迭代次数在两千以内准确率都特别低,后面将迭代次数加到6000准确率能稳定在百分之九十五以上,由于电脑配置原因没有再增加迭代次数但清楚的是随着次数不断增加模型准确率能接近百分百,这就是我们想要的模型。

文档评论(0)

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

关注原创力文档

1亿VIP精品文档

相关文档