数字验证码识别的设计与实现 计算机科学和技术专业.docx
《数字验证码识别的设计与实现 计算机科学和技术专业.docx》由会员分享,可在线阅读,更多相关《数字验证码识别的设计与实现 计算机科学和技术专业.docx(27页珍藏版)》请在三一办公上搜索。
1、数字验证码识别的设计与实现摘要数字验证码在安全方面起着十分大的用处,因此在很多网站都可以看到数字验证码的使用。如今互联网的发展相当快速,紧随着我们也就需要思考安全问题,隐私的泄露会或重或轻的影响用户,而数字验证码作为互联网安全的常用的屏障,可以让互联网生态环境更加健康便利且很好的保护用户隐私。目前,在网站上中相对常用的是由数字、字母组成的数字验证码。本文针对粘连且存在干扰噪声的数字验证码图像识别性能欠佳的情况,通过比较各种识别数字验证码的方法,最终选择使用KNN算法作为数字验证码字符识别方法,本课题对有粘连扭曲情况的数字验证码的识别进行设计和分析,过程主要是以下三步:预处理、匹配识别、分析识别
2、率。图片预处理过程采用了灰度化、二值化、降噪和分割,在分割图片阶段,可能出现检测出四、三、二和一个字符的情况,分别采用不同的方法进行处理,再采用Python工具进行单字符匹配,最后通过KNN算法来识别匹配数字验证码,得到了高达94.4%的识别率,这说明采用该算法能很好的识别粘连扭曲的数字验证码图片。关键词验证码识别;KNN算法;验证码匹配;PythonDesignandImplementationofDigitalAuthenticationCodeRecognitionAbstractDigitalAuthenticationCode(DAC)playsaveryimportantrolei
3、nsecurity,soitcanbeusedinmanywebsites.WiththerapiddevelopmentoftheInternet,wealsoneedtothinkaboutsecurityissues.Theleakofprivacywillaffectusersmoreorless.DigitalAuthenticationCode,asacommonbarriertoInternetsecurity,canmaketheInternetecologicalenvironmenthealthier,moreconvenientandbetterprotectuserpr
4、ivacy.Atpresent,therelativelycommondigitalverificationcodeonwebsitesiscomposedofnumbersandletters.Inviewofthepoorperformanceofimagerecognitionofdigitalverificationcodeswithglueandinterferencenoise,thispaperchoosesKNNalgorithmasthecharacterrecognitionmethodofdigitalverificationcodesbycomparingvarious
5、methodsofidentifyingdigitalverificationcodes.Thistopicdesignsandanalyzestherecognitionofdigitalverificationcodeswithgluedistortion.Theprocessmainlyconsistsofthreestepsipreprocessing,Matchrecognition,analyzerecognitionrate.Picturepreprocessingprocessusesgrayscale,binarization,noisereductionandsegment
6、ation.Inthephaseofimagesegmentation,four,three,twoandonecharactersmaybedetected.Differentmethodsareusedtoprocessthem,thensinglecharactermatchingisperformedwithPythontools.Finally,matchingnumberverificationcodesarerecognizedbyKNNalgorithm,andtherecognitionrateisupto94.4%.Thisdemonstratesthatthealgori
7、thmcanrecognizethedistorteddigitalauthenticationcodepictureverywell.KeywordsVerificationcodeidentification;KNNrecognition;VerificationCodeMatching;Python第一章绪论1.1 研究目的及意义当前,随着互联网技术的不断创新研发,我国科技技术飞速发展,各类新兴产品应运而生,在不断丰富人们生活的同时,提高了人们生活质量与生活水平。当前,随着网络技术不断的应用与普及,各类识别技术运用其中,极大的提高了网络使用的安全性与便捷性,当前识别技术应用较为广泛,如语
8、音识别,图像识别,射频识别,数字验证码识别等,对我国军事,刑侦,医学等各领域产生了积极的贡献与作用。在本文中,主要对数字验证码识别技术进行研究,其作为识别技术中的一种,在当前电子设备广泛应用的背景下,能够有效完成多类复杂运算,具有较高的准确性与高效性。在当前互联网时代背景下,大数据发展日益加快,需求增多,因此,为有效提高数据的准确性与安全性,保障用户权益,识别数字验证码技术在其中扮演着重要角色。同时,与语言文字等相比,我们在现实生活中对数字的精准度有着更高要求,究其原因,主要在于一旦其中任意数字出现错误,便很可能造成重大失误,如金融,快递,财务等对数据的准确性有着较高要求。总而言之,为有效提高
9、数据的精准性与安全性,数字验证码识别技术研究意义重大。而随着互联网的不断发展,自动化程序日益增多,对互联网的安全性所造成威胁逐渐增加,一旦网站被自动化程序所破解,很容易造成网站用户信息泄露,资源非法使用等各类问题,严重时甚至造成系统崩溃,对网站的推广与应用带来一系列不利影响。为有效避免或减少该类问题的发生,通过数字验证码技术,实现对系统网站使用用户合法性的验证,进而提高系统网站的安全性。一般而言,数字验证码技术较多应用于系统网站的注册,登录,以及发帖页面,避免出现自动化程序非法注册,登录以及使用该系统资源,对网站进行攻击,有效提高了系统的安全性以及抗攻击力。验证码,即CAPTCHA,其相关概念
10、于2000年被首次公示,其本质上作为一种全自动图灵测试的程序,主要用于对人类使用系统以及计算机自动化程序使用系统的识别。验证码在系统使用中,主要由计算机程序自动产生,进而由人类用户对验证码进行手动输入或语音输入,根据验证码输入的准确性,进而对系统用户进行合法性判断,究其原因,主要在于验证码的输入大多数人类能够准确进行,而自动化程序大多数不具有输入验证码的功能,因此,能够有效实现对系统用户合法性的判定。同时,通过对验证码识别技术的运用,能够有效避免网站系统被暴力性攻击,提高系统安全性,避免系统用户相关信息泄漏,对用户的安全性造成一定威胁。另外,验证码识别技术还可以防止网站出现恶意刷票,论坛灌水等
11、问题,在现实生活中被广泛运用。1.2 研究历史及发展现状在国外,数字验证码的识别研究较早,是一个热门的研究领域。1990年YannLecun等人使用反向传播神经网络(BP_NN)设计了一种识别手写数字的方法,其误识率1%,拒识率为9%,识别率达90%。20世纪90年代末期,以MAHearst为代表的学者研究出支持向量机算法,这是种基于统计学的回归算法以及分类算法,该类识别技术在运用中具有较好的识别效果,为识别技术的推广与应用打下良好的基础。21世纪初期,以A.BeIlili为代表的学者研究出MLP-SVM算法,该类算法能够有效达到对数字的无约束识别效果,识别效果显著,可高达98%左右,应用较为
12、广泛。同一年,Cheng-LinLiU等人通过研究,实现了对图像数据的采集与识别,主要借助图像的特征以及特征分类等技术,分类器则采用了K最近邻算法(K-NearestNeighbor,KNN)以及支持向量机等算法,有效提高了图像数据识别的准确性有高效性。以CireSanDC为代表的学者提出借助反向传播,能够有效实现对普通多层感知器识别效果的提高,识别效果十分显著,可达到99%的识别效果,有效促进了识别技术的发展与推广。以MORI为代表的学者主要借助形状上下文的研究办法,实现了对两种验证码的研究,一种是GlMPY验证码,另外一种是EZ-GIMPY验证码。相比于国外对数字验证码识别技术的研究,我国
13、研究起步较晚,相关理论与技术不够成熟与完善,但随着我国科技技术的发展,以及对数字识别技术的逐渐重视,研究逐渐加快。以胡君萍为代表的学者研究出KNN数字识别器,借助主成分分析法实现了对数字维度的有效减少,进一步提高了数字识别的效率。张海生基于神经网络对数字验证码进行识别研究。借助深度置信网络,我国以宋晓茹为代表的学者,实现了对数字识别算法的研究。我国以闵锋为代表的学者,对数字验证码识别技术的研究,主要分为以下三步:第一,借助主成分分析法实现对数字维度的降低;第二,实施投影;第三借助svm算法实现对数据的分类,通过研究发现该类数字验证码识别技术有较好的识别效果以及识别效率,得到广泛的应用与推广。以
14、曾文献为代表的学者以MNIST数据为被识别对象,借助卷积神经网络以及自编码器实现对数据的识别,识别效果显著,高达99%,为我国数字验证码识别技术的发展与应用打下坚实基础。】徐文进等人基于KNN算法的改进K-means算法进行数字识别。明1.3 课题研究内容本课题分析比较了以上几种识别方法,最终选取KNN算法作为数字验证码识别研究的方法。KNN算法本质上作为一种人工智能算法,主要通过对数字特征的统计,并在此基础上,进行数字分类的一种算法,该算法操作简单,便捷,适用性强,应用较为广泛。在本文中借助KNN算法实现对数字验证码技术的研究,其中对于编程语言的选择主要是Python,对于PythOn而言,
15、其在运行过程中主要借助编译器实现,能够高速完成人工智能算法以及机器学习,满足本文中对自动化程序以及人工操作系统的识别。在本文中,对数字验证码图像的研究,主要用于解决图像中字符粘连扭曲以及噪声较多的问题,有效提高对图像数字验证码识别效果。通过PythOn进行图片预处理和分割粘连字符后,基于KNN算法识别验证码图像中包含有多个字母,字符以及数字之间相互粘连的验证码,并对其开展测试识别以及网络训练,进而分析出识别率并用Python界面展示出识别结果。本文的主要框架结果梳理如下:第一章作为本课题的前言介绍了数字验证码识别的研究目的和意义、数字验证码的研究历史及发展现状。第二章介绍了本课题涉及的相关图像
16、处理技术,分析比较了几种识别方法并进行方案选择,并阐明所采用的方案的特点。第三章介绍了数字验证码识别的设计实现过程,包括各功能模块的详细设计原理及相关程序的详细说明。第四章是对数字验证码识别的设计过程的结果分析。第五章是对数字验证码识别的研究工作进行归纳和总结。第二章数字验证码识别的相关技术对于数字验证码而言,其对图像的识别主要包括三大步骤:第一是对图像的预处理操作,实现对图像的灰度化、降噪、二值化等;第二是对数字验证码的分割,该环节在整个数字验证码识别过程中扮演着重要角色,决定着识别效果的高低,究其原因主要在于数字验证码的不同性特征,即不同的数字验证码,其粘连性,扭曲性程度有所不同,因此需对
17、其进行不同分割,在一定程度上造成对数字验证码分割效果的不同;第三,是对数字验证码的识别。目前对验证码图像的识别方法主要有三种:模板匹配分类算法、形状上下文分类算法、人工智能领域的分类算法(KNN算法、神经网络算法)。2.1 图片预处理图片预处理作为数字验证码识别的首要步骤,首先对图像格式进行检测,通过对图像格式的判定,进而将其转换成可识别格式,并进一步对图像进行灰度化,降噪,以及二值化等处理。当前,在许多系统网站中,对于数字验证码的运用较多为彩色,因此为有效提高对数字验证码的识别效果,提高识别效率,一般将彩色的数字验证码转变为黑白色的数字验证码,大大减少了复杂程度,便于后续操作。因此,在该图片
18、预处理阶段的目标是除去不必要信息,包括图像的背景,像素,噪声等信息,减少数字验证码识别的程序与复杂性,实现对图像的二进制点阵转换,便于下一步操作。2.1.1 灰度化彩色图像,顾名思义,又可称其为三通道图像,主要由R、G、B共同组成图像的像素。因此在对彩色图像进行灰度化处理时,需分别处理R.G,B三通道,在该处理模式下,会耗费很多时间消耗多余的资源。鉴于此,为有效提高对彩色图像的灰度化处理效果,提高对数字验证码识别的效率,减少处理数据,对彩色图像的灰度化处理需将三通道的彩色图像进行转换,将其转换为单通道的灰度图像。对于RGB模型而言,如果R、G、B三通道具有相同的值,即呈现为灰度,灰度值即代表着
19、三通道的值。对于灰度图像而言,每个像素处于。或255的灰度范围内,当三个通道值不相同时,主要采用以下彩色图像灰度处理法。1 .单分量法在不同的图像中,三个通道的值分别代表着相应的灰度值。因此,在对彩色图像进行灰度化处理时,以三个通道中任一通道值作为处理对象,具体公式如下所示:f(x,y)=R(X,y)f(x,y)=G(x,y)(1)f(x,y)=B(x,y)其中f(,y)为灰度化后的灰度图像在位置(,y)的像素值,R(,y),G(,y),B(x,y)代表着R、G、B三通道的各个值。2 .最大化处理法:首先对R,G,B三通道的最大值进行计算,即代表着图像灰度化后的最大值,具体公式如下所示:f(x
20、,y)=max(R(x,y),G(x,y),B(x,y)(2)3 .求取平均值法:对R、G、B三通道的值分别进行计算,在计算结果得出后,求取平均值,即代表着彩色图像的灰度值,具体公式如下所示:f(x,y)=(R(X,y)+G(x,y)B(x,y)3(3)4 .加权平均法在对彩色图像灰度化处理中,单分量法,最大化法以及平均值法的具体运用较为简单,对三通道的处理具有统一性,操作较为简单,便捷。但不同的图像,其特征也有所不同,分量比重也有所区别,因此根据三通道分量比重,需对其进行相应的权值分配,并对其进行加权计算,并进一步获取均值,即灰度值。即按照下列公式对要处理的图像进行灰度化:f(x,y)=0.
21、30R(x,y)+0.59G(x,y)+0.11B(x,y)(4)在对彩色图像灰度化处理法中,加权平均法在四类彩色图像灰度处理法中应用最为广泛,所得结果更准确。所以进行图像灰度化时本课题采用了OPenCV中的BGR2GRAY方法,因为它的转换原理与加权平均法的公式相似,即GRAY=B*0.114+G*0.587+R*0.299(5)2.1.2 二值化在图像的预处理中,二值化代表着对图像灰度值数据的处理,将其转换为灰度值0255的范围内,图片由彩色转换为黑白,便于图像的下一步处理与识别。通过图像二值化处理,实现对图像局部特征以及整体特征的有效显现。在对图像进行预处理的整个流程中,二值化在其中扮演
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字验证码识别的设计与实现 计算机科学和技术专业 数字 验证 识别 设计 实现 计算机科学 技术 专业
链接地址:https://www.31ppt.com/p-5672150.html