文本类验证码识别方法之计算机研究

论文价格:免费 论文用途:其他 编辑:硕博论文网 点击次数:
论文字数:41577 论文编号:sb2019122311055228981 日期:2020-01-15 来源:硕博论文网

第一章 引言

1.1 研究背景与意义
1.1.1 验证码简介
验证码的术语叫做全自动区分计算机和人类的图灵测试(Completely  Automated Public Turing test to tell Computers and Humans Apart)简称 CAPTCHA,在 2002 年由卡内基梅隆大学研究人员提出[1]。验证码验证技术是一个反向图灵测试的过程,先由计算机程序来生成一个人类容易回答,而计算机程序难以回答的问题(正确率<0.01%)并给出答案,根据验证对象回答的结果是否正确来区分验证对象是人还是计算机程序[2]。

互联网社交拉近了人与人之间的距离,电子商务则让人们的生活变得更加高效快捷,而这一切便利之下是无数计算机和软件程序构建的巨大网络。访问网页时所用到的浏览器、服务器架构中服务提供商将统一的资源放于服务器之上,用户通过自己终端上的浏览器来进行访问,这样的场景包括一般的浏览网页、休闲游戏、在线购物等等。而这些常见的场景,也给不法分子提供了可乘之机。他们利用计算机程序模拟真实用户来达到一些非法的目的,诸如大量恶意评论、恶意注册和抢占服务器资源等等。如图 1 所示,不法分子使用计算机程序来模拟真实用户对服务器的计算资源被恶意占用,那么正常服务自然难以保障。有些黑客还通过模拟用户的登陆过程不断的发送伪造的登陆请求来猜测用户的真实密码,这些行为都为网络安全带来了极大的隐患。
..........................

1.2 国内外研究现状
由于验证码是网络安全的第一道屏障,所以国内外众多安全研究人员对其安全性一直做着探讨和研究。验证码识别技术本质上和光学字符识别是一致的,不过验证码字符较少,所以会加入更多的安全特征来增加机器识别的难度.
针对文本类验证码识别方法的研究主要分为分割识别和整体识别两大类[11]。Chellapilla 的研究证明,若能对验证码中字符进行有效分割,识别准确率会得到较大的 提 高 [12] 。 其特点为背景干扰信息比较少或者几乎没有,字符也缺少扭曲、旋转和粘连等复杂的变换,其防御效果有限。Jeff  Yan在 2007 年的研究中使用计算像素的方法近乎 100%的破解了这类验证码[13]。此后验证码设计者吸取建议,开始加入复杂的干扰信息,这一阶段以微软[14]早期的验证码为代表,但 Jeff  Yan 在 2008 年的研究中使用投影算法对其进行了准确率高达 90%的有效分割,使得破解成功率达 60%[14]。随后设计者进一步对验证码进行改进,为了更好的抵御分割算法,设计者对字符进行扭曲、旋转和粘连等多种复杂的变换。针对此类复杂变换的验证码,研究者提出新的攻击思路。Chandavale[15]等采用字符特征分割的方法对于 EZ-Gimpy 的验证码进行识别,其准确率达到 80%。李兴国[16]等人则通过改进的滴水算法[17]并以早期太平洋网络粘连的验证码为例进行破解,其有效分割准确率达到 78%。H Gao[18]等人通过滤波提取字符笔画,使用图搜索找出最优组合的方式进行字符分割,对 reCAPTCHA 的破解准确率达到 77%。针对难以分割的验证码也有研究者采取整体识别的方案,王璐[19]采用基于形状上下文整体识别算法来破解早期天涯论坛验证码,其准确率为 27.7%。张亮[20]等人则采用基于长短时记忆神经网络的方法对验证码整体识别,对于粘连验证码识别准确率为 60%。尹龙[21]使用传统机器学习算法中特征提取、随机抽样和队列分析的方法对 2014 年美团网验证码整体识别准确率达到 88%。
............................

第二章 相关理论与技术

2.1 验证码预处理技术
验证码预处理是指在分割或者直接识别之前对验证码中干扰信息进行剥离的过程,预处理的有效性对分割识别和整体识别都有重要的影响。预处理环节常见的操作有:灰度处理、二值化处理和去除干扰信息。
2.1.1 灰度图像与二值化图像
彩色图片中每个像素值是由 R、G、B 三个通道的像素值组合而来。每个通道像素值的取值范围为 0 到 255,那么彩色图片中每个像素值的取值概率 1/16581375。灰度图像中每个通道像素值都是相同的,这样取值概率即可提高至 1/255。图像的灰度处理是将原始的图像转换成灰度图像,在转换过程中把三个通道的值采用转换公式(2.1)来压缩到一个通道。通过灰度化处理可减少颜色对于分类结果的影响,让网络对于不同颜色有更好的适应性。

..........................

2.2 验证码字符分割技术
验证码字符分割被认为是分割识别中最重要的环节之一,传统的分割算法有:平均分割、投影分割[14]、CFS 分割[14]和滴水分割[17]。
2.2.1 平均分割算法
平均分割是指根据验证码中字符的个数,平均计算出两个相邻字符的间隔点,由间隔点垂直进行分割。平均分割示意图如图 11 中(a)所示,该算法适用于验证码中字符字体大小相同,且未出现粘连的情况。

...........................
第三章 典型文本验证码识别方案及其原型系统设计 .......................23
3.1 原型系统设计 ...............................23
3.1.1  验证码分类模型(CCNet)........................24
3.1.2  去除验证码干扰信息......................25
第四章 实验结果与分析 .......................................43
4.1 预处理效果评估 .............................43
4.1.1  实验数据集...........................43
4.1.2  去干扰效果评估................................44

第四章 实验结果与分析

4.1 预处理效果评估
本节介绍了下文实验中所使用的两个实验数据集,并通过效果图的方式展示出本文基于生成式对抗网络的去干扰法和传统去干扰法之间的差异。
4.1.1  实验数据集

本文实验数据均来自 Alexa 全球综合排名前五十的网站中三十个使用文本类验证码的网站,数据集采集于 2017 年 12 月。实验分为两个数据集,数据集 1 如图 33所示,是从以上 30 个网站中筛选出的三种不同粘连程度的验证码。该数据集合主要用于对比分割识别方案中不同分割算法在应对不同粘连程度验证码的效果差异。数据集 2 如图 34 所示,把以上 30 个网站分为电商类、社交类、搜索类、知识类四类,剔除相似类型验证码之后,从每个类别中取出典型的几种。个别网站验证码若含有多种风格则用其中的一种进行分析,个别验证码中若含有多种字符个数则选取比例最高的字符个数进行实验。
..........................

总结与展望

总结
本文的研究内容总结如下:
(1)本文对于含有干扰信息的验证码采用基于生成式对抗网络的去干扰法去除干扰信息,如果验证码使用的是空心字符,在去除干扰信息的同时将空心字符填充为实心字符,并对字符间距进行拉伸。和传统的去干扰法相比,本文去干扰法不需要特意去分析验证码中干扰信息的种类和特征,只需要根据真实验证码来制作合成验证码作为样本进行训练,即可生成去除干扰信息的验证码。前文实验证明,本文基于生成式对抗网络的去干扰法有着更好的去干扰效果和普遍适用性。
(2)本文针对预处理之后字符间距拉伸的空心验证码设计了分割识别方案,该方案有两个阶段,分别是分割阶段和识别阶段。分割阶段采用优化组合的分割算法来对验证码字符进行高效的分割,识别阶段在对比了多种经典神经网络之后采用GoogLeNet 对单个字符进行识别。最后组合识别结果,输出验证码内容。
(3)对于实心验证码本文设计基于迁移学习的整体识别方案。通过预处理阶段即可得到“干净的验证码”,使用程序模仿“干净的验证码”来生成大量合成验证码,以此作为源数据域。使用大量合成验证码通过 GoogLeNet 训练出一个预训练模型,然后使用少量真实验证码来对后面几层参数进行优化更新,从而得到迁移之后的训练模型。该方案得益于本文去干扰算法的高效性,对于多数验证码有着较好的识别效果。
(4)对于实心字符文本较长且内容为常用单词片段拼接的验证码,本文设计了一种基于修复模型的整体识别方案。该方案先通过卷积神经网络训练出一个识别模型,然后将少量真实验证码通过该模型进行预测,将预测结果作为修复模型的训练样本。由于验证码文本内容为常用单词片段的拼接,所以字符前后之间存在关联关系,修复模型的设计是参考自然语言处理中拼写纠正的设计思想,对识别模型预测出的字符进行修正。
通过以上四部分的内容,构成了一个完整验证码识别系统,使用少量真实验证码即可高效的完成识别任务。
参考文献(略)

如果您有论文相关需求,可以通过下面的方式联系我们
点击联系客服
QQ 1429724474 电话 18964107217