1 Star 0 Fork 269

鱼煎 / verification-decoder

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

四位验证码CNN识别

1.参考

[1] 街道多位数字CNN识别,神经网络架构参考

[2] 关于CNN的详细解释,深度学习入门必备

[3] 验证码生成参考类

2.支持

[1] Python3.6.1 or >=3.5

[2] TensorFlow 1.2

[3] numpy

[4] cv2

3.简介

通过训练CNN(卷积神经网络)对4位验证码识别,其中字符有0-9a-zA-Z共计62种,但是预测结果不区分大小写,所以最终预测结果为36种。验证码由多个字体、颜色、干扰线随机生成。

4.项目结构

[1] 整体结构

model.py 整个神经网络结构

code_utils.py 将字符转换为一维数组以及一维数组转换为字符的工具类

image_utils.py 读取图片,处理图片数据的工具类

app.py 主程序类,其中包括参数设置以及整个神经网络训练流程控制

test.py 提取大量的测试label测试神经网络的最终效果

model 存放神经网络参数写入的文件夹

[2] 以下为缺少文件夹:

test-images 所有测试验证码图片在这个文件夹

train-images 所有训练验证码图片在这个文件夹

如果你需要这些数据请告诉我

5.结果

以下是对100万张训练验证码进行训练,20万张不参与训练的测试验证码测试出的结果

一般的验证码系统都会去掉类似的字符(例如:i, l, o, 1, 0...),为了更全面的测试,所以我选择将这些难以识别的字符也添加进去测试,可以看出有这些难以辨别的字符时,连人类也很难去完全预测正确(下图,第一行为预测值,第二行为真实值)

训练60万次时的结果:

最终结果: 四个字符同时正确率: 90.02%		单个字符正确率: 97.42%

*说明:本项目仅用于学习,勿用于网络攻击及验证码暴力破解

空文件

简介

使用TensorFlow,CNN识别4位字符验证码,60万次训练,90.02%正确率 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/7155788/verification-decoder.git
git@gitee.com:7155788/verification-decoder.git
7155788
verification-decoder
verification-decoder
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891