使用tensorflow和cnn(卷积神经网络)识别验证码并构建API

cnn_captchause CNN recognize captcha by tensorflow.本项目针对字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别。项目封装了比较通用的校验、训练、验证、识别、API模块,极大的减少了识别字符型验证码花费的时间和精力。项目已经帮助很多同学高效完成了验证码识别任务。如果你在使用过程中出现了bug和做了良好的改进,欢迎提...
摘要由CSDN通过智能技术生成

项目源地址:https://github.com/nickliqian/cnn_captcha
欢迎大家star和fork~

cnn_captcha

use CNN recognize captcha by tensorflow.
本项目针对字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别。
项目封装了比较通用的校验、训练、验证、识别、API模块,极大的减少了识别字符型验证码花费的时间和精力。

项目已经帮助很多同学高效完成了验证码识别任务。
如果你在使用过程中出现了bug和做了良好的改进,欢迎提出issue和PR,作者会尽快回复,希望能和你共同完善项目。

如果你需要识别点选、拖拽类验证码,或者有目标检测需求,也可以参考这个项目nickliqian/darknet_captcha

时间表

2018.11.12 - 初版Readme.md
2018.11.21 - 加入关于验证码识别的一些说明
2018.11.24 - 优化校验数据集图片的规则
2018.11.26 - 新增train_model_v2.py文件,训练过程中同时输出训练集和验证集的准确率
2018.12.06 - 新增多模型部署支持,修复若干bug
2018.12.08 - 优化模型识别速度,支持api压力测试和统计耗时
2018.02.19 - 新增一种准确率计算方式

目录

1 项目介绍

2 如何使用

3 说明

4 已知BUG

1 项目介绍

1.1 关于验证码识别

验证码识别大多是爬虫会遇到的问题,也可以作为图像识别的入门案例。目前通常使用如下几种方法:

方法名称 相关要点
tesseract 仅适合识别没有干扰和扭曲的图片,训练起来很麻烦
其他开源识别库 不够通用,识别率未知
付费OCR API 需求量大的情形成本很高
图像处理+机器学习分类算法 涉及多种技术,学习成本高,且不通用
卷积神经网络 一定的学习成本,算法适用于多类验证码

这里说一下使用传统的图像处理和机器学习算法,涉及多种技术:

  1. 图像处理
  • 前处理(灰度化、二值化)
  • 图像分割
  • 裁剪(去边框)
  • 图像滤波、降噪
  • 去背景
  • 颜色分离
  • 旋转
  1. 机器学习
  • KNN
  • SVM

使用这类方法对使用者的要求较高,且由于图片的变化类型较多,处理的方法不够通用,经常花费很多时间去调整处理步骤和相关算法。
而使用卷积神经网络,只需要通过简单的前处理,就可以实现大部分静态字符型验证码的端到端识别,效果很好,通用性很高。

这里列出目前常用的验证码生成库:

参考:

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值