Deep Learning 第 N 次入门。 (总是喜欢跟验证码过不去
油猴: https://greasyfork.org/zh-CN/scripts/417693-scnu-sso-auto-captcha-filler/
模型:https://github.com/fengkx/scnu-sso-captcha
训练模型
输入前先做一些图像处理。灰度去色 => 二值化 => 中值滤波(去干扰线和椒盐噪点)
这样能去除颜色和一部分噪点的干扰,能够用比较少的数据(约6000张sso的验证码)还有约2000张生成的验证码,比较快(大概batch 300 一两千轮的基本上到头了)的搞出来。
站在巨人的肩膀上用这的 any-captcha 生成一些比较恶心的验证码。比如 nh
, 4a
, 0Oo
, 5sS
之类的字符组成的验证码去教神经网络做人。
输入形状是 50 * 100 * 1
输出形状是 4 * 36 (不区分大小写) softmax 激活
然后就是跑咯。。。。。。。
效果还是不错的。
跑在浏览器上
tensorflow.js 可以加载python训练出的模型。前面的处理用 opencv.js。基本上可以说是一对一翻译。
正准备搞成油猴,又发现一个巨人的肩膀可以靠了。一把梭之后然后发现在 Firefox 上加载模型的速度慢的过头了。又删掉了几层神经网络又训练了一波 Lite 版模型。
准确率自然是下降一些。。。
稍微好一些,属于可以接受但是仍然很慢的那种。主要的瓶颈在于加载模型而不是预测。还有就是opencv.js 和 tf.js 的加载。Performance 面板中 compile script 占了很大部分。
安利
https://book.douban.com/subject/30270959/ 是本好书。没有一上来就 import xxx layer 加加加。是真的 From Scratch 很适合 0 基础入门。