机器学习杂文

基于keras 实现的验证码ocr识别

2020-02-28  本文已影响0人  yangy_fly

自从app2vec工作告一段落后,在公司招聘面试过程中发现了一个有意思的东西OCR(Optical Character Recognition)。于是趁目前疫情期间有一些时间的情况下,做了一些浅显的简单尝试。

数据准备

数据使用captcha生成。生成一些带有高斯噪音的验证码图片,图片固定大小为160*60。生成的验证码展示如下:


image.png

网络构建

网络使用常见的结构,即多层CNN+MaxPooling+RNN网络。目前更主流的做法,尤其是需要针对不定长字符检测的情况,会在RNN后加上CTC,以便更好识别不定长字符串,这也是后期我需要加入的新工作。

model.png

效果展示

训练了6个epoch,每个epoch训练样本512200,验证集样本51250。验证集准确率平均约为94%,测试集上的准确率为89.2%。对于"D0OP"以及"O00O"这种变态的验证码偶尔也能识别出来。

image.png

后期优化点

上一篇下一篇

猜你喜欢

热点阅读