易语言神经网络验证码识别_使用深度学习的方法识别验证码

本文介绍了一种使用深度学习,特别是卷积神经网络(CNN),基于Keras框架识别易语言验证码的方法。通过Python的captcha库生成训练数据,避免了手动标记。使用VGG16结构的CNN模型,经过多次卷积和池化层,实现了对验证码的高效识别。在训练过程中,模型的验证集准确率从4%逐渐提升至95%以上。
摘要由CSDN通过智能技术生成

计算机主要配置如下:

CPU:Intel 酷睿i7 7700HQ;

内存:8GB;

显卡:NVIDIA GeForce GTX 1060

1 训练数据准备

常见的字符型验证码一般是由英文字符及数字随机组合而成,同时添加对字符进行随机的旋转角度处理并且添加具有干扰作用的噪点。干扰图形往往会与真实的验证码字符混淆在一起,让人难以分辨本来的字符形状或者是将其误以为是别的字符。

本文采用的方法是使用以Python编写的能够生成验证码的captcha库,该生成器能够满足以上提到的所有关于字符型验证码的特点,能够生成具有识别难度的验证码图形。在生成图形的过程中会对字符进行不同程度的拉伸、旋转、扭曲、加入噪点及重叠等操作。

同时采用生成器生成训练数据还有两项优点,一是成本大大降低,不但不需要去各种网站收集大量的验证码数据,更不需要投入大量人力对其进行标记;二是训练数据的数目没有任何限制,从理论上能够生成无限的验证码样本。

本文所使用的验证码字符集仅包括了数字‘0’-‘9’,英文字母‘A’-‘Z’,共36种不同字符。若需要拓展验证码适用范围,可以仅仅变动所使用的字符库或是更换生成器即可。本文采用的验证码生成器所生成的验证码图形如下图所示。

156e473113a7e53cef930065675e27e5.png

验证码样本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值