深度学习特别篇(1)复杂验证码识别(参赛过程详细叙述)

前言

本来想好博客要一周更新一篇的,用于记录我的学习进度以及感受,但是连续俩月都只有一篇,原因一是要考试在复习,二是学校出去实习了一周多,最后就是想小试牛刀参加了一下这个比赛。比赛规模不算大,也就是两百多队伍,我算是为达目的绞尽脑汁了,最后用尽全力只得到了%95.9的成功率,第一名能达到%99.7,我至今不知道这是怎么做到的。在这里我把这些东西记录下来,如果能有大神给我一些思路,或者告诉我怎么能达到99的,我会很感谢,也便于探讨。

比赛题目

验证码识别乍一看是个挺简单的东西,但是它的复杂度随着给你的验证码不同而在变化,这次的复杂程度确实比较超出预期。当时拿到数据集之前我觉得卷积够用了,但是拿到之后就发现有点不对了。
深度学习特别篇(1)复杂验证码识别(参赛过程详细叙述)
既然是比赛,肯定要给一些难以处理的东西,这时候有一些细节就很值得注意:首先就是背景色,加了噪点不说其实是渐变的,人眼难以察觉,这就给去除背景提高了难度;还有就是有些图片实在是太黑了,如上图的99.jpg,连人眼都几乎看不见这是什么,去除背景的时候很容易直接就去掉验证码本身。还有一个很关键的事情就是大小写。因为训练集只提供了5000张图片,所以0与O这类的区分不会太准。作为初学入门者学的东西实在有限,所以只能想到用卷积神经网络去做,后面想想大概还有其它的方法。

思路

去噪——二值化读取——第一个卷积网络训练字符位置之后分割(使用自己生成的验证码)——第二个卷积网络训练分割后的图像
具体内容我会继续在后面写。