python+tensorflow+captcha库:基于TF快速破解验证码

python+tensorflow+captcha库:基于TF快速破解验证码


点击打开链接:文章摘自       
https://blog.csdn.net/tengxing007/article/details/78539213
http://www.cnblogs.com/beer/p/7392397.html

1、概述

       所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰像素(防止OCR),由用户肉眼识别其中的验证码信息。输入表单提交网站验证,验证成功后才能使用某项功能。

       人人都烦验证码——那些烦人的图片,显示着你在登陆某网站前得输入的文本。而设计验证码的目的正是,通过验证你是真实的人来避免电脑自动填充表格。但是随着深度学习和计算机视觉的兴起,现在验证码常常易被攻破传统的验证码识别算法一般需要把验证码分割为单个字符,然后逐个识别,如果字符之间相互重叠,传统的算法就然并卵了,本文采用cnn对验证码进行整体识别。

            通过本文的学习,大家可以学到几点:

                        1.captcha库生成验证码;

                        2.如何将验证码识别问题转化为分类问题;

                        3.可以训练自己的验证码识别模型。

2、步骤

  1. prepare_data.py - 验证码生成,使用python库captcha来生成,速度快,数量多
  2. prepare_model.py - 两层RNN网络模型,采用LSTM模型;
  3. train.py - 训练CNN模型(3 层隐藏层、2 层全连接层)
  4. predict.py - 使用图片进行预测

3、安装 captcha 库

captcha 可以生成语音和图片验证码,我们采用生成图片验证码功能,验证码是由数字、大写字母、小写字母组成(当然你也可以根据自己的需求调整,比如添加一些特殊字符),长度为 4,所以总共有 62^4 种组合验证码,

  • sudo pip install captcha

2.    机器学习方法

传统的机器学习方法,对于多位字符验证码都是采用的 化整为零 的方法:先分割成最小单位,再分别识别,然后再统一。 

卷积神经网络方法,直接采用 端到端不分割 的方法:输入整张图片,输出整个图片的标记结果,具有更强的通用性。

端到端 的识别方法显然更具备优势,因为目前的字符型验证码为了防止被识别,多位字符已经完全融合粘贴在一起了,利用传统的技术基本很难实现分割了。本文重点推荐的就是 端到端 的方法。

免训练的快速通道:

wget http://tensorflow-1253902462.cosgz.myqcloud.com/captcha/capcha_model.zip
unzip capcha_model.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值