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

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

  1. echarts python源码_基于Django快速集成Echarts代码示例

    1.在线定制下载echarts 2.创建一个django项目或者在已有的项目 配置文件中确保数据库配置.static配置.与添加项目名到INSTALLED_APPS下. 配置静态文件目录static, ...

  2. python做cae库,基于Python的CAE自动后处理开发

    以下文章来源于CAE数值优化轻量化,作者方永利 前面讲到了基于meta和hypergraph进行NVH分析(IPI.VTF.NTF)自动后处理,包括结果提取和自动出报告等功能. 基于META自动后处理 ...

  3. Python的WNTR库---基于供水网络

    WNTR使用小结(一) 本人最近主要在做设施网络的内容,主要聚焦供水管网(water distribution network,WDN),在做实验中主要用的包为WNTR,下载连接: 链接: WNTR. ...

  4. python语音播报库-基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...

  5. CV之NS之VGG16:基于TF Slim库利用VGG16算法的预训练模型实现七种不同快速图像风格迁移设计(cubist/denoised_starry/mosaic/scream/wave)案例

    CV之NS之VGG16:基于TF Slim库利用VGG16算法的预训练模型实现七种不同快速图像风格迁移设计(cubist/denoised_starry/feathers/mosaic/scream/ ...

  6. 使用Python+Tensorflow的CNN技术快速识别验证码

    北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文                        ...

  7. CV之NS之VGG16:基于TF Slim(VGG16)利用七个不同的预训练模型实现快速NS风格

    CV之NS之VGG16:基于TF Slim(VGG16)利用七个不同的预训练模型实现快速NS风格 目录 实现结果 部分实例代码 实现结果 1.本博主,以前几天拍过的东方明珠照片,为例进行快速NS风格 ...

  8. Python命令行解析:IDE内点击Run运行代码直接得出结果、基于TF flags(或argparse、sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果

    Python命令行解析:IDE内点击Run运行代码直接得出结果.基于TF flags(或argparse.sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果 目录 命令行解析 T1.采 ...

  9. python人脸识别库_基于facenet的实时人脸识别系统

    facenet_facerecognition opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别 Abstract:本文记录了在学习深度学习过程中,使用o ...

最新文章

  1. 1命名规则 sentinel_Spring Cloud Alibaba 整合 Sentinel 流控
  2. android 如何解决scrollTo无法执行
  3. SQL编程:模糊表关联不求人 --- concat + like就能行
  4. 初探DispatcherServlet#doDispatch
  5. 原生ajax请求及readyState的几种状态
  6. anaconda 怎么安装xlrd_Anaconda 安装 tensorflow 和 keras
  7. mysql索引类型和区别是什么意思_mysql主键索引和普通索引之间的区别是什么
  8. oracle怎么自定义排序,查询时怎么根据一个自定义的函数来进行排序
  9. 华为机试HJ7:取近似值
  10. A Hierarchical Deep Temporal Model for Group Activity Recognition
  11. 纪念宾得4000万象素的120数码相机645D推出两周年
  12. php常用的优化手段
  13. MySQL—SQL优化笔记整理
  14. C#使用NOPI导入Excel
  15. 计算机保护插件无法安装,电脑无法安装ActiveX控件怎么办
  16. JS网页恶搞代码,不断弹出、关不掉的对话框
  17. Putty 设置前景色和背景色
  18. 界面自动化测试工具-Ksend
  19. ORACLE —— 事务
  20. python37.dll缺失是什么情况_修复python37.dll

热门文章

  1. 银辉给园子里的兄弟姐妹们拜年啦
  2. 无意中发现Markdown,最终解放了我
  3. 160309_Qt Essentials
  4. IT痴汉的工作现状16-职业发展
  5. sersync2 安装,配置
  6. python读取文件乱码
  7. Delta-wave
  8. ztree 实例地址
  9. Windows Phone 7 文件下载进度和速度显示
  10. Could not load file or assembly An attempt was made to load a program with an incorrect format.