登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 文献综述 > 电子信息类 > 通信工程 > 正文

基于tensorflow的验证码识别方法分析文献综述

 2020-04-22 19:16:39  

1.目的及意义

1.1 研究目的及意义

近几年来,互联网飞快的发展,信息成为了第一生产要素,同时构成了信息化社会的重要技术物质基础。同时,信息不再存储在实体介质,而是存储在海量的网站内,人们存储,查找和获取信息变得更加方便快捷了。但与此同时,不法分子盗取信息的可能性也大大增加。因此,人们逐渐开始重视网络防护与信息安全,其中,WEB的信息安全性尤其重要。

验证码是目前解决WEB系统安全登录的技术之一。验证码,即全自动区分计算机和人类的公开图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),是一种区分用户是计算机或人的公共全自动程序。可以有效防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

然而直到今天,也没有哪种验证码设计方法可以说是万无一失的。验证码能在一定程度上防止恶意攻击,但是对于一些安全性要求极高的用户,如银行和证券交易账户,验证码的设计还不够完善,存在一定的漏洞和隐患。特别是在人工智能快速发展的现在社会,毕竟人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作,这个目标就与验证码存在的意义相矛盾。

而矛盾又是事物发展的动力。验证码识别者必须和设计者博弈:如何尽可能的识别计算机生成的验证码,从而找到设计的漏洞。在这个博弈的过程中,促进双方技术进步。然后,把高识别率的技术对不法分子封锁,并将高安全性的生成技术提供给网络服务者,从而增强网络安全性。从种种原因来看,验证码识别技术的研究,不仅能提高人工智能的发展,也能促进验证码的安全性。因此说明验证码识别具有很强的现实意义,是必不可少的。

1.2 国内外研究现状

验证码识别技术,属于字符识别的一个分支,是模式识别领域一个非常热门的研究方向,在国外的起步比较早,技术相对完善。Mor和Malik将复杂对象识别算法应用在了EZ-Gimpy和Gimpy这两种相似类型的验证码,其识别的准确率分别达到了92%和33%o Chellapilla和Patrice将逐渐火热的机器学习技术应用在了验证码识别,对几个网站上获取的验证码进行识别,识别率从4. 89%到66. 2%不等。Yan等人对网站Captchaservice.org的验证码展开了研究,它是一个免费网站,为用户提供验证码的生成服务,该网站宣称其生成的验证码可以有效的防止用户使用当时市场上的OCR软件进行自动识别,但是Yan及其团队发现Captchaservice.org所生成的验证码有一个缺陷,Yan等人仅仅利用简单的匹配像素值方法就达到了接近100%的识别率。Moy和他的同事采用失真估计技术识别了EZ-Gimpy验证码和四个字符长度的Gimpy-r验证码,其中EZ-Gimpy验证码的识别率为99%,Gimpy-r验证码的识别率为78%。随后在2008年,还是Yan,又提出了一种字符分割的技术,并将该技术用在了微软,雅虎和谷歌网站使用的早期验证码上,这些验证码当时主要是基于数字的,该方法达到了不错的效果,尤其对于微软早期验证码,达到了92%的识别率。2011年,Elie Bursztein,Matthieu Martin和John. Mitchell总结评价分析了当前知名网站的15种不同类型的验证码,发现计算机能够很容易的自动识别该15类中的13类。2017年10月26日,美国凡思智能公司研究人员在美国《科学》杂志上发表论文,提出了一个用于物体识别的计算机视觉模型——递归皮层网络,可以有效识别真实场景中的文字,并具有较好的通用性,即一个模型有效破解不同变体的验证码,比如变形的文字和复杂背景中的验证码。

在国内方面,通过使用神经网络,最近邻法等算法,张淑雅分割识别了SMTH-BBS验证码,识别率达到95%以上。潘大夫和汪渤设计算法分析了验证码的轮廓信息,识别了一些基于数学基本运算的验证码。另外殷光,贾磊磊,陈锡华等人设计了一种基于支持向量机的算法,并识别了一些验证码,识别率在47%左右。2014年4月,中国人工智能极客团队MentalTrotter宣布其自主研发的模拟人脑图像识别算法已经成功破解了Google的reCAPTCHA验证码。

{title}

2. 研究的基本内容与方案

{title}

传统的早期验证码算法,例如用Tesseract OCR、OpenCV等其它方法都需把验证码分割为单个字符,然后识别单个字符。缺点在于如果复杂的验证码字母之间相互重叠,那么就无法识别了。得益于基于卷积神经网络CNN的人工智能技术的发展,目前基于主流的深度学习框架的直接开发出端到端不分割的识别方式:输入整张图片,输出整个图片的标记结果,具有更强的通用性。本文重点采用基于python语言的TensorFlow的“端到端”的字符型验证码识别模式。

首先我们来用 TensorFlow 来实现一个深度学习模型,接着用标注好的数据来训练这个模型,然后再用模型来实现这个验证码的识别。所有的训练模型,数据才是关键,这里采用的是Python的captcha库生成验证码,captcha可以生成语音和图片验证码,验证码是由数字、大小写字母(也可以自定义特殊字符),长度为4,共有62^4种组合。将验证码识别问题转化为分类问题,总共62^4中类型,采用4个one-hot编码分别表示4中字符取值。接下来定义卷积神经网络结构,我们采用3个卷积层加1个全连接层的结构,在每个卷积层中都选用2*2的最大池化层和dropout层,卷积核尺寸选择5*5。将生成的验证码作为训练集输入神经网络,训练过程中不断调整权值和阈值,最终得到有较高识别精度的模型。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图