论文部分内容阅读
信息安全一直是人们关注的热门话题。验证码作为网站保障用户信息安全的一种手段被广泛的使用,与此同时,验证码技术的发展也促进了破解验证码技术的发展。最近国内出现了一种新的点选汉字验证码技术,需要用户按照提示字符的顺序正确点击图片中的汉字字符才能成功通过验证,在提高用户体验的同时,也增加了破解的难度,目前还没有文章介绍关于此类验证码的识别方法。验证码的演变和破解是一个相互促进的过程,只有不断更新验证码技术,才能及时保障网站的信息安全。本文针对该类验证码的识别做出了研究,取得了较好的效果。由于常见汉字多达三千多个,如果训练网络模型进行传统的端到端的定位并识别,需要的数据集量太大,而且人工去标注每一个汉字也不太可能,本文创新性的将此类验证码的识别过程分为定位和识别两部分,提出了一种结合YOLO系列的目标检测算法加上深度卷积神经网络来识别点选汉字验证码的方法,取得了不错的效果。由于缺少此类验证码的标注样本,本文结合YOLO目标检测算法提出了一种弱监督的学习方法来训练。由于YOLO算法对于小目标物的识别效果较差,对同一类目标物的不同长宽比的泛化能力差,而汉字验证码属于小目标的范畴,并且具有不同的长宽比。本文利用Faster R-CNN的anchor机制和全卷积网络思想对YOLO算法模型进行了改进。通过少量标注图片训练了一个汉字分类器,采用区域推荐算法从图中得到候选框,用该分类器对候选框进行粗标注。粗标注的图像将用于初始化YOLO的卷积网络层,由此提升模型的检测性能。经过实验验证,本文提出的改进方法能使用少量的标注图像结合大量的未标注图像进行训练,并达到大量标注图像训练的模型效果。利用全卷积网络思想改进YOLO的全连接层,提升YOLO的检测速度。通过anchor机制改进YOLO的目标框提取层,使其学习目标框的先验知识,从而学习到更多强特征,以提升模型对于小目标物的检测精度。采用Python语言生成常见的3755类汉字的训练集图片,包括4种字体和几种图像增强操作,保证网络的泛化能力,接着搭建一个深度卷积神经网络来训练这些数据集,取得不错的效果。为了方便展示识别的效果,本文通过Python最终实现了在识别汉字字符后按顺序标出对应汉字的位置,以此给出一个直观的展示效果。