计算机工程与应用 ›› 2016, Vol. 52 ›› Issue (18): 1-7.

• 热点与综述 • 上一篇    下一篇

卷积神经网络在验证码识别上的应用与研究

刘  欢1,2,邵蔚元1,郭跃飞1   

  1. 1.复旦大学 计算机科学技术学院,上海 201203
    2.上海市智能信息处理重点实验室(复旦大学),上海 201203
  • 出版日期:2016-09-15 发布日期:2016-09-14

Research on captcha recognition with convolutional neural networks

LIU Huan1,2, SHAO Weiyuan1, GUO Yuefei1   

  1. 1.School of Computer Science and Technology, Fudan University, Shanghai 201203, China
    2.Shanghai Key Laboratory of Intelligent Information Processing, Fudan University, Shanghai 201203, China
  • Online:2016-09-15 Published:2016-09-14

摘要: 针对日前在互联网中被广泛使用的验证码,提出将卷积神经网络引入到验证码识别之中。通过设计新的卷积网络拓扑结构,针对可分割成语验证码提出基于k-means聚类的字符分割方法,以及仿真验证码图片自生成训练集,通过预训练过程使得卷积训练网络具有良好初值,加速收敛并提高模型泛化能力;针对不可分割验证码,省去字符分割操作直接将验证码整体作为卷积模型输入,引入仿射变换、水漫填充等预处理和SVM算法二分类,或者结合多标记学习方法设计卷积拓扑等。最终实验研究证实卷积神经网络对于可分割及不可分割验证码的平均识别准确率均收敛于99%左右。

关键词: 卷积神经网络, 验证码, 模式识别, 预训练, 二值化

Abstract: At present, captcha is widely used on the Internet. This paper introduces convolutional neural networks method to captcha recognition. By customizing new convolutional training networks, this paper uses k-means algorithm method for divisible idiom character segmentation, and through model pre-training to auto-generate images to enrich training dataset. Pre-training makes training network have a good initial value, thus speeds up the network convergence. Aiming at indivisible captcha, it leaves out character segmentation and inputs whole image to the convolutional networks model. It uses affine transformation, flood fill, and SVM classification or combines multi-label learning for captcha recognition. Finally, experimental study confirms that the method which is based on convolutional neural network, on average, achieves test accuracy of around 99% in the three types of CAPTCHA.

Key words: convolutional neural networks, captcha, pattern recognition, pre-training, binarization