刘海英 陈鹏举 郭俊美 邓立霞 孙涛 赵阳
摘 要:随着计算机网络技术及验证码技术的快速发展,出现了更多复杂的验证码生成办法,如基于动态图像的验证码系统。本案例针对给定系统的验证码为研究对象,提出一种具有针对性的策略算法,对比于其它识别算法,本研究算法的识别速度、精确均占有一定优势,具有一定的理论和实际意义。
关键词:数字图像处理;验证码;识别
中图分类号:G640 文献标志码:A 文章编号:2096-000X(2020)27-0087-03
Abstract: With the continuous development of computer network technology and verification code technology, more complicated verification code generation methods have appeared, such as a verification image system based on dynamic images. This case proposes another targeted strategy for the verification code of a given system. Compared with other recognition algorithms, the recognition speed and accuracy of this research algorithm have certain advantages and have certain theoretical and practical significance.
Keywords: digital image processing; verification code; recognition
随着计算机和网络技术的发展,网络安全逐渐成为了人们关注的问题,验证码的重要性也日益凸显。为了更好地防止恶意攻击、保护网站安全,验证码技术变得越来越复杂,这给验证码技术带来了很好的机遇,同时也带了新的挑战。数字图像处理技术是利用计算机对数字图像进行分析与处理,协助人们理解和识别不同模式目标和对象的技术。数字验证码识别是光学字符识别(Optical Characters Recognition,OCR)的一种,是经典模式识别研究对象中的一种[1]。
所谓验证码是由系统随机生成的一组字符(一般为数字或数字与字母的组合)图片。验证码图片的使用是目前网上各种论坛类网站用以识别阻止自动化程序恶意行为的人机区分技术,其设计和实用安全性直接涉及到互联网的安全使用,由于技术简单,易实施,传输数据小,因此被各网站特别是论坛性质的网站广泛使用来防止自动化程序(如论坛自动灌水机)进行大批量的恶意行為。
一、国内外验证码技术的发展现状
验证码识别和其他字符识别方法极为相似,因而可以借鉴现有的成熟的字符识别技术,如系统、车牌识别等。但验证码图片其自身的特殊性使得对它的识别难于一般的光学字符识别。验证码设计的目的本就是让机器难以破解,因而通常的验证码图片干扰性强,字符间有扭曲、变形、粘连,干扰信号变化相对单调,识别较难,图像较小。目前对无扭曲旋转、有少量噪声和无粘连字符的验证码识别上已取得了较好的识别结果。而对于有彩色线噪声,字符粘连、重叠、扭曲以及缩放等干扰的验证码的识别效果尚不理想,对于此种验证码的破解,属于极端情况下的字符识别。
(一)国外验证码的发展现状
国外针对验证码的分析识别技术也已经是一个较为热门的领域,关于验证码识别的理论体系已日渐趋于完善。验证码(CAPTCHA)最早是Carnegie Mellon大学的一个科研项目,Yahoo是其第一个用户。2009年,美国Berkeley大学Chandavale等研究人员对Carnegie Mellon进行识别研究[2]。2004年Gabriel Moy等提出了一种扭曲估计的算法破解的验证码,有很高的识别率[3]。
(二)国内验证码的发展现状
国内验证码识别技术起步也比较晚,研究验证码识别较少,现有国内的研究大都集中在数字或英文字符规范、无粘连和扭曲的验证码。2010年,文献[4]用最近邻算法破解了个银行网站的验证码,识别率达到80%以上。同年,文献[5]利用基于微软办公文档图像处理库对网易、雅虎等验证码进行识别,但是对于受到干扰或者字符变形较大的验证码识别率偏低。但截至目前,国内验证码算法基本在现有算法的基础上改进其他算法,算法的发展在理论上没有大的发展和突破。
二、网络验证码级手写数字的识别
(一)简单数字验证码识别
本节主要针对单纯的数字验证码进行识别。单纯数字验证码的识别相对简单,因为图片中只有数字以及图片可能受到噪声的影响带来的干扰,所以在载入图片后需要涉及到的知识点为:图像的去噪、分割和识别的过程。图像受到噪声影响过以后的图片如图1所示。
数字验证码识别之前需要对图像进行去噪,为了减少噪声的影响,对于彩色图像而言,为了更适合计算机处理,系统将彩色图像从RGB空间转换到HSV空间,为了提高数字验证码识别的准确率,在执行识别算法之前首先利用比较简单的阈值过滤法对图像进行椒盐噪声去除的简单处理,去噪效果如图2所示。数字验证码图像去噪之后进行下一步数字定位,找到图片中的每一个数字并定位,如图3。
在数字准确定位后,进行验证码的归一化操作,结果如图4所示。通常情况下在处理信号和图像的预处理时,为了提高算法的收敛速度,需要对数字验证码图像进行归一化处理,以便达到无量纲处理和提高算法的执行速度。
经过简单处理后,数字验证码识别结果如图5左侧识别结果所示。通过识别的结果可以看出,对于简单的数字验证码识别的正确率较高。
(二)手写体数字的识别
相对于规范的数字验证码,手写体的数字随意性很大,比如笔画的粗细、字体的大小、倾斜的角度等都很难控制并且各异性很强(如图6),这些人为因素都会影响到后期识别的准确率。本案例中重要图像预处理知识点涉及到灰度转换、归一化、中值滤波、二值化以及图像细化的操作处理等。
对手写体数字进行前期的归一化处理、中值滤波后在进行图像的细化操作,提取9个向量特征,然后与载入的标准数字数据库进行对比,其中选用的是欧氏距离测度得到识别的结果,如图7所示。本案例中采用了200组样本图像进行特征提取,得到模板数据库,样本量偏小,但是识别的准确率较高。
三、结束语
本案例通过对规范性和手写体数字的数字的识别算法分贝进行验证,规范性数字识别的准确率可以达到100%,手写体数字因为受到的各种因素的影响,其识别率仅为90%。
参考文献:
[1]王璐.验证码识别技术研究[D].中国科学技术大学,2011.
[2]A.A.Chandavale, A.M. Sapkal, R.M. Jalnekar, Algorithm to Break CAPTCHA[C]. Second International Conference on Emerging Trends in Engineering and Technology, ICETET-09, 2009.
[3]Gabriel Moy, Nathan Jones, Curt Harkless, Randall Potter, Estimation Techniques in Solving Visula CAPTCHAs[C]. IEEE Conference on Computer Vision and Pattern Recognition(CVPR,04),2(23-28).
[4]Jisong Zhang, Xingfen Wang, Breaking Internet Banking CAPTCHA Based on Instance Leanring[C]. 2010 International Symposim on Computer Intelligence and Design,39-43.
[5]王晓波,王兴芬.基于MODI的验证码识别系统设计与实现[J].北京信息科技大学学报,2010(1):88-91.
[6]杨思发.验证码破解技术算法研究及实现[D].南京理工大學,2013.
[7]王枫,陈小.CNN深度学习的验证码识别及Android平台移植[J].单片机与嵌入式系统应用,2019(7):21-23.
[8]张铮,王顺帆,董雷.基于深度学习的验证码识别[J].湖北工业大学学报,2018,33(2):5-8.
[9]周文凯,韩芳,孔维健.基于Faster-RCNN的极验点选式验证码识别[J].电子科技,2019,32(9):42-45.
[10]白培瑞,王金博,丁国梅.一种通用的基于图像分割的验证码识别方法[J].山东科技大学学报(自然科学版),2018,37(3):106-113.
[11]南阳,白瑞林,李新.卷积神经网络在喷码字符识别中的应用[J].光电工程,2015,42(4):38-43.
[12]范晓杰,宣士斌,唐凤,等.基于Dropout卷积神经网络的行为识别[J].广西民族大学学报(自然科学版),2017,23(1):76-82.
[13]潘翔,王恒.基于深度学习的车牌相似字符识别[J].计算机科学,2017,44(S1):229-231.
[14]何福全,李伟烽,林培娜,等.验证码的识别技术分析与研究[J].甘肃科技纵横,2019,48(2):1-5.