string(21) "{"docs":[],"count":0}" array(2) { ["docs"]=> array(0) { } ["count"]=> int(0) } 图形验证码的没落--深度神经网络识别验证码 - 爱码网

本文就是一个实现,一堆废话,想看具体的深度神经网络构建的出门左转

图形验证码

大家在网站注册时一般都会遇到图形验证码
图形验证码的没落--深度神经网络识别验证码图形验证码的没落--深度神经网络识别验证码
图形验证码的没落--深度神经网络识别验证码
最初的验证码就是这样的清新,自然,容易看出来的数字,字母,
后来又出现了汉字的验证码
图形验证码的没落--深度神经网络识别验证码
以及丧心病狂的12306验证码

图形验证码的没落--深度神经网络识别验证码

那么为什么要设置验证码呢???

其实验证码虽然对咱们普通用户是一个很恼人的设定,但是其存在意义却是很大的
首先,我们怎么上网的?? 很明显,通过电脑,手机等设备对吧.
那么它们又是怎么获取数据的呢? 现然是联网啦!
那么它们又是怎么联网的呢?
图形验证码的没落--深度神经网络识别验证码
发现装B死角了有木有? 其实呢 这些设备上网是通过一些协议(计算机远程连接的’语言’)来通信的
图形验证码的没落--深度神经网络识别验证码
大概流程就是用户访问一个网页 本地计算机得到操作指令后请求远程服务器,然后本地计算机与服务器"唠嗑":
本地计算机:大哥我要看这个网页-‘http:www.巴拉巴拉.com’????
服务器:给给给
本地计算机:大哥这个图片加载一下
服务器:好好好
本地计算机:大哥我想看这个网页
服务器:这个要注册的 你还没注册

那么既然是计算机的通信,可不可以写一个程序来完成一些固定的,繁琐的操作呢?
图形验证码的没落--深度神经网络识别验证码
某些人(程序猿)就开始做了—这就是爬虫
爬虫可以做很多乱七八糟的东西,这里就不一一列举了
有点扯远了,说啥来着? 对! 验证码哈
我们一般啥时候才能看见验证码? 注册,访问频率过高(比如你疯狂提交一些请求)
看看上面的对话,服务器其实很难发现对方是真的用户还是爬虫,假设爬虫伪装的很好
但是爬虫伪装的再好也是个爬虫,不可能真的有人的智力(一般意义的爬虫)所以某玩网站的就想到了验证码这么个东西,别的网站也一同效仿…
对于一些普通的网页,用户浏览一会儿就跳出个验证码估计会烦死(不开心 ????)所以验证码不能经常出现
对于注册这样的网页呢,第一用户不会经常用,第二,防止有人恶意注册(比如早期的某企鹅号***)所以就要使用验证码…

深度神经网络识别验证码

github项目地址

这是github一位大佬发起的项目
通过tensorflow框架搭建的cnn神经网络,可以做到验证码识别

图形验证码的没落--深度神经网络识别验证码
生成了100000个图片四个数字组成的(95%训练集,%5测试集),腾讯云主机1 核 2 GB 的配置 跑了大概十个小时,迭代了3000*5次 左右(具体我忘了),可以做到测试集准确率为0.9104%不算太高哈,不过已经够用了.
图形验证码的没落--深度神经网络识别验证码
可以干啥呢??你懂的
图形验证码的没落--深度神经网络识别验证码
这里放出我的训练模型和代码

爱你哦 mua~~

相关文章: