为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

带干扰验证码

2012-03-19 41页 pdf 2MB 54阅读

用户头像

is_296914

暂无简介

举报
带干扰验证码 浙江工业大学 硕士学位论文 带干扰的验证码识别研究 姓名:吕刚 申请学位级别:硕士 专业:计算机技术 指导教师:郝平;包中文 20091018 浙江工业大学硕士学位论文 带干扰的验证码识别研究 摘 要 验证码(CAPTCHA)是现在很多网站通行的方式,在每次访问页面时随机生成。对验 证码识别技术的研究,可以及时发现和改善认证码生成程序的漏洞,在加强网站安全性, 防止恶意程序的攻击方面有着重要意义。 本文运用计算机视觉,模式识别相关理论对多种不同类型的验证码进行识别研究,总 结探讨验证码识别的...
带干扰验证码
浙江工业大学 硕士学位论文 带干扰的验证码识别研究 姓名:吕刚 申请学位级别:硕士 专业:计算机技术 指导教师:郝平;包中文 20091018 浙江工业大学硕士学位论文 带干扰的验证码识别研究 摘 要 验证码(CAPTCHA)是现在很多网站通行的方式,在每次访问页面时随机生成。对验 证码识别技术的研究,可以及时发现和改善认证码生成程序的漏洞,在加强网站安全性, 防止恶意程序的攻击方面有着重要意义。 本文运用计算机视觉,模式识别相关理论对多种不同类型的验证码进行识别研究,总 结探讨验证码识别的一般方法,提供验证码反识别的建议。通过对比各种的不同识别方法, 使研究具有一定的理论水平和实用价值。 本文的主要工作和成果如下: 1.研究图像灰度化相关的理论和方法。常用的彩色图像灰度化方法因为没有考虑到 像素的色度差,灰度化后的图像丢失色度信息会让目标区域变得很难分割。通过试验对比 各种灰度化公式的应用效果,本文采用了一种非线性灰度化公式,取得了很好的灰度化效 果。 2.在验证码字符识别上,本文先研究基于模板匹配的识别方法,在此基础上,研究 了Hopfield神经网络的识别效果。通过两者的对比,分析了各自的优缺点及规避方法。 3.在传统模板匹配识别的基础上引入了加权模板和透明模板的改进,大大提高了模板 匹配识别的识别率。 4.基于半监督学习对二值化阀值进行优化,得到比Otsu阀值分割更好的效果。采用 半监督学习进行模板权值学习,提高了权值模板的识别率。 其中,上面3,4点是我们的创新点。 虽然,本文的方法在验证码识别上具有一定的实用性,但离人类的识别能力还有很大 的差距。今后,我们将在特征提取和匹配上开展更多的研究,以求在验证码识别上的更大 突破。 关键词:验证码, 模式, 神经网络, 模板匹配,图像处理 浙江工业大学硕士学位论文 StudyOnRecognitionOfCAPTCHA ABSTRACT CAPTCHAhereisanimagewithrandomizedcharacters,whichisproducedwhilespecial webpageisrequested.Characterimagesfromdifferentprogramhavegreatdifference;someof themhaveobviousvulnerabilities.StudyOilrecognitionofauthenticationcodewillhelptofind theseleaksandtopreventwebsitefromattacksbyrobotprogram. Followingisourmainworks: 1.Westudiedtheoriesaboutimagegrayprocessing,takeafew-usedformulaonimage nonlineargrayprocessing.Asouraimistosegregatethetargetpixelsfrombackground,wehope keeporenlargethegrayleveldifferencebetweenthebackgroundpixelsandthetargetpixels whilegrayprocessing.Herewetakeanewgrayprocessingformulawhichisbetterthan traditionalformulaintheapplicationwestudied. 2.Westudiedtemplatematchingbasedcharacterrecognitionandneuralnetworkbased characterrecognition,discussedtheiradvantagesanddisadvantages. 3.Weightedtemplateandtransparenttemplateisadoptedherebasedontraditionaltemplate matching,whichimprovedtherecognitionrategreatly. 4.Semi—supervisedlearningisusedinthresh—holdingofgrayimageandgetabetterresult thantraditionalOtsuthreshold.Semi-supervisedlearningisusedinadjustingtemplate’Sweight, whichimprovestherecognitionrate. Theabove3,4areourinnovativepoints. Ourmethodsinthispresentpaperareusefulinalimitedrange,thereisabiggaptosimulate human’Sability.Ourtasksinthefuturewillbemainlyinfeatureextractionandfeaturematching. KeyWords:CAPTCH八Pattern,NeuralNetwork,TemplateMatching,ImageProcess 浙江工业大学 学位论文原创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作 所取得的研究成果。除文中已经加以标注引用的外,本论文不包含其他个人或 集体已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的 学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中 以明确方式标明。本人承担本声明的法律责任。 作者签名:∑父∥∥),j 日期:砂矿睁卜月加日 【一/ , 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 1、保密口,在 年解密后适用本授权书。 2、不保密口。 (请在以上相应方框内打“v”) 作者签名: 导师签名: 日期:b。锋lz--B加日 日期:砂。7年I乙月乙·日 浙江1=业大学硕士学位论文 第1章引言 验证码(CompletelyAutomatedPublicTuringtesttotellComputersandHumans Apart,CAPTCHA)这个词最早是在2002年由卡内基梅隆大学的LuisvonAhn、ManuelBlum、 NicholasJ.Hopper以及IBM的JohnLangford所提出。一种常用的CAPTCHA是让用户输 入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被OCR之类的电脑程 式自动辨识出图片上的文字、数字而失去效果。由于这个测试是由计算机来考人类,而不 是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反向图灵测试。因 为图灵测试中,测试者是人类,受试者是机器和人;而验证码验证过程中,测试者是计算 机,受试者是人或机器。 验证码系统在用户每次访问页面时随机生成一个图像,图像里的信息对于人类是可识 别,而对于计算机则无法识别(基于当前的发展水平)。Google,Yahoo,微软MSN都采用 了验证码来防止非法的邮箱注册、反垃圾邮件等。国内QQ,tabao等著名的网站也有类似 的系统,用来防止暴力的账号猜解以及其他的机器人程序。随着游戏外挂的泛滥,很多网 络游戏中也采用了验证码来防止外挂程序,比如QQ农场,完美世界等。比较有意思的是 著名的reCaptcha憎验证码程序,把书籍电子化和验证码结合起来,把书籍电子化过程中, 目前的OCR系统无法识别单词拿出来,用做验证码。然后通过Web发布到各个采用 reCaptcha傅验证码的系统中,由人类进行识别,通过统计识别结果得到最佳的识别结果。 充分利用了互联网资源,在防止SPAM的同时,甚至还被用来帮助识别电子图书中机器无 法识别的单词,为书籍的电子化做出了贡献。 由于验证码生成程序的不同,认证码图像各种各样,安全级别也不相同,有些生成程 序甚至还存在着不少漏洞。文献[1,2,3,4,5]中对相应验证码的识别率都达到了80%以上, 对于当前的Gmail验证码也有识别的报道,这些信息说明验证码的安全性是一个有待检验 的课。对验证码识别技术的研究,可以及时发现弱验证码,改善验证码生成程序的漏洞, 在加强网站安全性,防止恶意程序的攻击方面有着重要意义。 同时,验证码作为一种比较容易获得的样本资源,具有内容丰富,干扰性强等特点。 是学习和研究图像处理,模式识别技术的良好样本资源。验证码识别涉及到图像预处理, 分割,特征提取,识别等相关技术,很多研究成果可以推广到其他的应用领域。更重要的 是验证码的一条基本规则是减少硬人工智能(hardAI)问题[2],即任何能通过验证码 .1. 浙江l。业大学硬十学何论文 测试的程序都可以用来解决个困难的未解决的人工智能问题c1]。因此个问题如果才; 能用计算机程序解决.则可以加做验证码,反之,如果这个验证码被破解,则是人工智能 领域的一大进步,这是一种双赢的情况。 1.1课愿的研究背景 目日U验证码主要有Gimpy,Bongo,PIX三人类[1].网络上流行的以Gimpy及其变形 为={三,Gimpy是一种基于OCB的文本验证码,也是本文的研究类型。验证码图片的文本内 容一般为数字、英文字母或者数字和英文字母的组台,也有少量程序采用了中文字符。其 基本原理就是由服务器端程序随机生成一串文本,把这串文本转换为图片后发送到客户端 要求客户识别。 早先的研究表明单个的字符已经能够很好的被计算机所识别[4]。如表1.1所示r各种 典型的扭曲字符都能够很好的破程序勘{别。正如文献[4]指出,如果一个字符能够被成功 分割(定位)出来,那么以别这个验证码就变成了单纯的字符识别问题,而字符识别问题 已经有标准的机器识别算法如神经网络,没有多大的研究价值。 表Il各种扭曲情况下的单个字符识别率(表中所有数据摘自文献[4]) 典型的扭曲字符 识别率% j ;2 C(‘ 100 k3,,1#n96+ P L乒。C毯 lOO .I)?13 7 98 》耸獭糯噬 辫辎辫燃鹱 00 95 虽然,字符的识别已经不是一个大问题;然而宁符的分割(定位)则仍旧是手写谚{别 和机器视觉领域一个有挑战性的问鲤。一般而者,分割是一个耗时的问题也常常是一个复 .2- 浙江下业人学硕十学位论文 杂的组合问题[3]。 当前验证码设计的一个主要思路就是增加验证码被分割的难度。 为了增加机器识别的难度,在人眼可以识别的前提下,目前的验证码生成程序往往会 添加一些随机的干扰手段,如粘连、噪声、形变、旋转等。本文的研究重点,就是研究对 添加了各种干扰的验证码如何进行有效的识别。对于能分割的验证码,研究了通过 nopfield神经网络进行分割识别的可行性和识别率;针对粘连字符分割无法有效分割的现 状,结合验证码自身的特点,提出了无分割的权值模板匹配识别法,能够对分割法识别率 不高的csdn验证码进行有效的识别。 1.2国内外研究现状 验证码识别和其他字符识别方法有很大的相似性,可以参考现有的图像识别、字符识 别方法。在这一方面,国内外已经发展了较为成熟的识别技术,在OCR系统、车牌识别、 指纹识别、人脸识别都有成功的商业应用。 在字符识别上,有大量的学者投入了很多精力在各个应用领域丌展了很多研究。CR识 别可以追溯到1900年俄国科学家Tyuing试图发明一种视觉障碍的辅助工具,20世纪.40 年代中期借助计算的第一台字符识别装置问世。早期的字符识别研究重点是规范的印刷字 的识别。第一个商用的CR系统出现在1950s,然而直到1980才有第一个比较成熟的联机 手写识别系统。20世纪90年代早期图像处理、模式识别技术和人工智能有效结合后,研 究者开发出了复杂的CR系统。神经网络、隐马尔科夫模型、模糊集推理、自然语言处理 等技术被大量研究和采用。这一时期的脱机印刷体识别和小字符集脱机手写识别已经能够 符合严格环境下的商业应用[21]。目前字符识别的难点在于脱机手写识别,极端条件下的 印刷体字符识别。 国内近些年也有很多字符识别的研究,以小字符集条件下的识别比较多见,如车牌号 码识别。2003年王韬[30]用连续性Hopfield网络对噪声字符进行了分类识别,结果表明 连续性Hopfield不仅在失真率较大和吸引半径变化较大的情况下,都能正确识别,而且 与NTE方法比较,求解质量稳定,速度快,且对吸引半径不敏感,有较强的鲁棒性;2004 年谭旭等人[31]用语义和Hopfield网络对车牌上的模糊汉字进行识别研究,在一定程度 上可以解决印刷字体中较为模糊不清汉字的识别问题。2005年韩笑[20]等人对机动车号牌 图像进行大小、灰度方差、灰度均值的标准化处理。然后根据机动车号牌字符的特点,抽 .3. 浙江工业大学硕士学位论文 取字符3种不同的特征,构造3个BP神经网络对机动车号牌字符进行识别达到了92%以 上的识别率。2005年徐海兰,刘彦婷,杨磊等人用模板匹配法、完全基于字符结构特点和 笔画类型的识别法以及基于BP神经网络的字符识别法对字符识别进行了研究,但没有给 出具体的识别数据和结果。 验证码图片有其自身的特点,如干扰性强、干扰信号的变化相对单调,字符图片很小, 一般不需要考虑时间代价。因此目前对少量离散噪声干扰,无粘连字符,无旋转,扭曲的 验证码识别上,已经取得了较好的识别效果。对于彩色干扰线干扰、粘连、选择、扭曲以 及缩放干扰的验证码识别效果还很不理想,对于这类验证码的识别,属于极端环境下的字 符识别。 2004年DONTNOD公司的Hocevar.S[29】在网络上发布了他的验证码识别程序 PWNtcha(PretendWe’reNotaTuringComputerbutaHumanAntagonist的英文缩写),以告 知人们验证码不是一种安全的交互验证手段,现在这个项目已经开源。Hocevar同时还在 网站上发布了多个验证码的识别结果,识别率从49%到100%,其中有著名的电子支付公 司Paypal的验证码。PWNtcha针对的验证码主要是背景容易分离和非粘连的验证码,网站 也给出了一些难以识别的验证码样本,但没有给出识别结果。2003年Mori.G和Malik.J13】 利用形状上下文对Gimpy和EZ—Gimpy验证码进行了识别,识别率分别达到33%和92%【2】; 2008年英国纽卡斯尔大学的Yah.J,AHMADASE等人对Microsoft的验证码进行了威功 分割,并通过多分类器进行识别,识别率达到60%;2005斯坦福大学的年Chellapilla.K等 人f4】的研究表明单个的验证码字符可以很好的被计算机识别。国内学者对基于分割法的验 证码识别也有一些研究,2007年张淑雅等人【5】对SMTH.BBS验证码进行分割识别,分割 结果采用分别采用K近邻分类器、BP网络、SVM进行识别,识别率均在95%以上;2007 年潘大夫、汪渤[7]提出了一种基于外部轮廓的数字验证码识别方法,选取验证码字符的 外部轮廓结构上下左右四个方向的一阶微分作为识别特征,通过检测待识别数字某一侧外 部轮廓特征以及多侧外部轮廓的组合特征就能以非常高的J下确率识别出数字验证码; 以上的研究采用的方法都是先分割后识别的思路,对于字符粘连比较严重,无法分割 的验证码如QQ,Google等网站的验证码,尚无明确的被破解的报道。另外,目fj{『对验证 码识别的研究多是针对一种验证码,通过一种或多种方法进行识别。这类方法对先验知识 的依赖很大,识别方法对其他验证码不一定有效,或者需要大量调整来适应新的验证码。 浙江T业大学硕士学位论文 1.3课题研究的主要内容 本文按照验证码字符是否能分割把验证码分成两类。 一类是已经有较多研究的可分割的验证码。这类验证码的研究重点是粘连字符分割的 问题和算法的适应性问题。为了研究可分割验证码识别算法的适应性问题,通过选取多个 具有代表性的网站的验证码图像,基于分割法和Hopfield神经网络进行分析和试验,取得 了较好的试验结果。试验结果表明利用字符图像灰度信息和Hopfield网络可以有效的对可 分割的验证码进行分类识别,算法有一定的适应性,并且仅需字符图像的灰度信息既可适 应新的验证码,对先验知识的依赖少。 另一类是基于目前的研究水平不能分割或者说分割比较困难的验证码。基于验证码自 身的特点,本文通过最佳模板匹配识别法对其进行识别,取得了良好的识别效果。 验证码识别系统是一个基于图像处理,模式识别等技术的智能化系统。系统主要有图 像获取,图像预处理,字符分割和字符识别四部分构成。 1.3.1图像获取 验证码图片的获取方式主要有两种。网站验证码主要通过HTTP发送,可以通过 URL地址获取到验证码图片;网络游戏等应用程序的封包经过加密处理,可以从本机内存 . 中读到验证码图片或者从封包数据中直接产生验证码图片。本文假设验证码图像已经获 得,不讨论图像获耿的技术。 1.3.2图像预处理 图像预处理属于初级图像处理的范围,处理的输入数据和输出数据都是图像。验证码 图像预处理是对验证码图像进行有目的的图像增强,以便进行图像分析。本文中主要讨论 图像灰度化、二值化、抑噪(滤波)等技术。在常用的2个灰度化公式外,给出了一个不常 用的灰度化公式,应用在验证码图像灰度化上,取得了突出的效果。并基于半监督学习改 进了验证码图像二值化的自动化程度和二值化效果。 1.3.3字符分割 字符分割包括从验证码图像中分割出字符区域和把字符区域划分成单个字符两个部 分。如果采用统计特征匹配以及神经网络法识别,必须要先分割出单个的字符。简单的分 割方法包括等距分割,积分投影分割,交叉点分割,求连通区等。其中,粘连字符的分割 是一个难点,复杂的粘连情况下分割比较困难,是一个硬人工智能问题。本文主要研究了 积分投影分割和求连通区。 浙江工业人学硕十学位论文 1.3.4字符识别 字符识别就是把处理后的图片还原回字符文本的过程。可以分成基于字符分割的识别 (包括采用神经网络、SVM、各种统计距的识别法)和模板匹配法识别。本文运用Hopfield 网络对可分割的验证码进行识别,识别率达到85%以上;对于不可分割的验证码,本文改 进了传统的模板匹配法,提出了最佳模板匹配识别法,引入了透明模板,加权模板。通过 基于字符宽度估计的匹配点过滤等方法提高了模板匹配法的识别率。 浙江T业人学硕十学位论文 第2章数字图像处理基础 数字图像处理是将图像信号转换为数字格式并用计算机进行处理的过程。数字图像处 理最早的应用是在报纸页,早在20世纪20年代曾引入Bartlane电缆图片传输系统,把 横跨大西洋传输-N图片的时间由1个多信息减小为3个小时。1964年,美国加利福尼亚 的喷气推进实验室,利用计算机对“旅行者7号"发回的月球图像进行畸变校J下,取得明 显的效果。进行空间应用的同时,数字图像处理技术在20世纪60年代末和20世纪70年 代初开始用于医学图像、地球遥感监测和天文学等领域,如今已经在各个技术领域取得显 著的成果。我国在20世纪70年代后期开始大规模的数字图像处理研究,取得了巨大的进 步。 2.1图像的数字化与表述 一副图像可以定义为一个二维函数f(x,Y),这里石,Y是空间坐标,而在任何一对空间 坐标(石,y)上的幅值f称为该点图像的强度或灰度。当x+,Y和幅值厂为有限的、离散的数 值时,称该图像为数字图像。自然界呈现在人眼中的图像是连续的模拟信号,在计算机处 理前,必须用图像传感器把光信号转换为表示亮度的电信号,再通过取样和量化得到一副 数字图像。取样是对图像坐标上的离散化过程,每~个取样点称为像素。量化是对图像灰 度上的离散化过程。取样后将得到MxN个像素,每个像素量化得到一个灰度值£,以L表 示灰度值的允许取值范围,则数字图像存储需要的比特数b可以表示为 b;M×N×L (2.1) 图像的厌度值取值范围也常被称为图像的动态范围。把占有灰度级全部有效段的图像 称为高动态范围图像,高动态范围图像有较高的对比度。相反,低动态范围的图像看上去 是冲淡了的灰暗格调。 2.2数字图像处理概念 数字图像处理就是利用计算机对数字图像进行各种目的的处理。早期的数字图像处理, 浙江工业人学硕+学位论文 主要是改善图像的视觉质量。视觉是人类最高级的感知器官,然而人类感知只限于电磁波 谱的可视波段。成像机器则可涵盖几乎全部的电磁波段,从伽马射线到无线电波。它们可 以对非人类习惯的那些图像源进行加工。这些图像包括超声波、电子显微镜和计算机产生 的图像。因此数字图像处理涉及各种各样的应用领域。 图像处理所涉及的范畴或其他领域(例如,图像分析和计算机视觉)的界定在初创人 之间并没有一致的界定[4]。一般把图像处理分为低级,中级,高级三个层次。低级图像 处理涉及初级操作,如降低噪声的图像预处理,对比度增强和图像尖锐化。低级处理是以 输入、输出都是图像为特点的处理。中级图像处理是以输入为图像,但输出是从这些图像 中提取的特征(如边缘、轮廓)为特点的。高级图像处理涉及在图像分析中被识别物体的 总体理解,以及执行与视觉相关的识别函数等。其中中级图像处理常称为图像理解,高级 图形处理常称为计算机视觉。 图像理解和计算机视觉与模式识别,专家系统,计算机图形学等众多科学有着密切的 联系。目前虽然取得了不小的进展,但它本身是一个较难的研究领域。因人对自身的视觉 系统还不甚了解,因此计算机视觉是一个有待人们进一步探解的新领域。 23图像处理常用方法简介 数字图像处理的基本方法主要有空间域法、频域法、小波变换。1987年Mallat在《多 分辨率基础》一文中采用了以小波为基础的分析方法,此后小波变换作为数字图像处理的 重要方法,在图像压缩、传输和分析等很多领域得到了广泛的应用。 图像处理的通用方法是不存在的,例如一种适合X射线的图像增强方法,不一定是增 强由空间探测器发回的火星图像的最好方法。需要根据特定的应用选择特定的处理方法。 2.3.1空间域图像处理 空间域一词是指图像平面自身,这类方法是以对图像的像素直接进行处理为基础的。 空I、日J域处理可由下式定义: g(x,.),)=r[f(x,),)】 (2.2) 其中f(x,Y)是输入图像,g(x,Y)是输出图像,r是对,的一种操作,其定义在@,Y)的 邻域。 丁操作最简单的形式是1×1的邻域(即单个像素),这样的操作又叫做点操作,如对 比度增强的灰度级变换函数。更大的邻域会有更多的灵活性。一般的方法是,利用点O,Y) 一只一 浙江工业大学硕士学位论文 事先定义的邻域里的一个,值的函数来决定g在点(X,),)的值。这个事先定义的厂值的函 数,从根本上说说就是一个二维阵列,常称为模板、滤波器、掩模等。 如邻域平均法、选择平均法、中值滤波等都是常用的空间域处理法。空问域处理法的 重点是选择合适的滤波器(包括滤波器窗口大小)。在实际的使用中,窗口的尺寸一般选3 再选5,逐渐增大,直到滤波效果满意为止。对于有缓慢变化的较长轮廓线物体的图像, 采用方形或圆形窗口为宜,对于包含尖顶角的图像,适宜用十字形窗口[6]。 2.3.2频域图像处理 频域图像处理是以修改图像的傅罩叶变换为基础的。法国数学家傅里叶指出任何周期 函数都可以表示为不同频率的正弦或余弦函数的和的形式(现在称这个和为傅罩叶级数)。 甚至非周期的函数(有限域)也可以用正弦或余弦乘以加权函数的积分来表示。在这种情 况下的公式就是傅里叶变换。傅里叶级数和傅罩叶变换是解决实际问题的工具,给信号处 理领域带来了巨大的变革[6]。 a)傅罩叶变换 单变量连续函数f(x)的傅里叶变换F(u)定义为等式: ,@);广。厂@)P一,加出 (2.3) 其中.『一√一1。相反,给定F@),通过傅里叶反变换可以得到f(x): ,@):广。F@弦72”du (2.4) 这两个等式组成了傅里叶变换对,它们指出了一个重要的事实,既一个函数可以从它 的反变换中重新获得。这种等式很容易扩展到两个变量U和v: F(H,y)一L'i(x,y)e。72玎‘“+咿’蛐 类似地,反变换为: /(x,y)=L-P证明
h(x,y)兮H@,’,) (2.12) 因此,给出在频率域的滤波器,可以通过将前者进行反傅罩叶变换而得到在空间域相 应的滤波器,反之亦然。 2.3.3小波变换和多分辨率处理 虽然从20世纪50年代末起傅罩叶变换就一直是变换域图像处理的基石;近来,一种 新的变换,称为小波变换,使得压缩、传输和分析许多图像变得更为便捷。不像傅里叶变 换,它的基础函数是正弦函数,小波变换基于一些小型波,称为小波,具有变化的频率和 有限的持续时间。这就允许它们对图像提供一张等效的乐谱,不光阐明了要演奏的音符(或 频率),而且阐明了何时要演奏。而另一方面,传统的傅罩叶变换,只提供了音符或频率 信息,局部信息在变换过程中丢失了。1987年Mallat在《多分辨率基础》一文中采用了 浙江工业人学硕+学位论文 以小波为基础的分析方法,此后小波变换作为数字图像处理的重要方法,在图像压缩、传 输和分析等很多领域得到了广泛的应用。 浙江工业人学硕十学位论文 第3章 验证码识别的图像处理技术 验证码识别应该属于字符识别领域,和传统印刷体文字识别领域的主要区别是小字符 集,人为的复杂噪声。因此验证码识别可以借用大多数的文字识别领域的研究成果,设计 针对某一类验证码的识别算法。本章在第2章的基础上有针对性的介绍验证码识别常用的 图像处理技术,并结合验证码实例讨论这些技术的实际效果。 3.1图像预处理 一般把从获得图像后到提交识别前的这段图像处理过程,称为图像预处理过程。预处 理的目的是获得更加适合识别的图像。 3.1.1图像的灰度化 RGB系统中一个颜色值由3个分量组成,这样的图像称为彩色图像,RGB系统称为颜色 空间模型。常见的颜色空间模型还有HSI、CMYK等[4]。如果一幅图像的颜色空间是一维 的(一个颜色值只有一个颜色分量),则这幅图像就是一幅灰度图。在位图图像中,一般以 R=G=B的调色板来显示灰度图像。 我们在对CSDN网站验证码做识别研究的过程中发现,用常用方法灰度化后的图像亮度 不能很好的反映原图的亮度,目标像素和背景像素的亮度差受加权值的影响被缩小,灰度 化后的图像有时候不适合做阀值分割。如图3.1中原图是一幅彩色图像,做分割和识别操 作前,需要先转换成二值图像。公式(3.1)、(3.2)是两种常用灰度化方法的结果,其中公 式(3.1)的方法来源于I彩色空间中1分量的计算公式,公式(3.2)的方法来源于NTSC彩 色空间中Y分量的计算公式,分别如下:g@,y)。坐业塑譬幽 (3.1) j g“,Y)=0.11×RO,Y)+0.59×Gx,Y)+0.3×BO,Y) (3.2) 公式(3.3)是本文方法的灰度化结果。基于灰度化的目的是做阀值分割,我们采用了保 留最小亮度(黑色)的方法,公式如下: g(x,y);Min(R(x,y),GO,y),B0,y)) (3.3) RGB彩色图像可以看成是由3幅单色的灰度图像构成的,我们可以直接取RGB通道中 浙江T业大学硕士学位论文 的任一个通道得到灰度化图像,如gO,Y)=G@,Y),前提是图像中目标像素的亮度信息主 要分布在G通道上,否则灰度化结果将是亮度信息的大量丢失。灰度图像又叫亮度图像, 由归一化的取值表示亮度,最大取值表示白色,最小取值表示黑色。 本文中的验证码图片中字符区的亮度要比背景区和干扰的亮度低(颜色较深),我们希 望灰度化后的图像中字符区能够保留较小的亮度值,同时字符区和背景区像素的亮度差 (对比度)不被缩小,以利于阀值分割(亮度差越大双峰距离越大)。 以P(x,Y)表示图像中的一个点,x、Y分别是图像的横坐标和纵坐标,RO,y)表示R 通道的颜色分量,G0,y)表示G通道的颜色分量,曰@,y)表示B通道的颜色分量。点 P(x,Y)的亮度值用LO,Y)表示。彩色图像的亮度没有严格的定义和计算公式,一般用公 式1来计算,我们记做工1@,y)。同样的用公式2计算的亮度值记做L2(x,Y),用公式3计 算的亮度值记做L3仅,),)。可以证明: L3(x,y)sL1@,y) L3(x,y)sL2(x,y) (3.4) (3.5) 式(3.1)取RGB通道的平均值,得到的图像相对比较柔和,同时也缩小了目标和背 景的平均亮度差,不利于后续的阀值处理。式(3.2)考虑了人眼对绿色的适应度最强, 蓝色次之,红色最差。本文中在处理绿色调和蓝色调的验证码图像时,公式2的效果都比 较满意。但是在处理红色调图像时,因为公式中红色的权值很小,灰度化后目标像素和背 景像素的亮度差被严重缩小,效果还不如式(3.1)。式(3.3)基于一个前提,那就是优 先保留目标像素的亮度信息,利于后续的阀值分割。 浙江工业大学硕士学位论文 琢圈 式3.1灰度化 式3.2灰度化 式3.3灰度化 图3.1 3个灰度化公式的效果比较 我们用该公式对100多幅CSDN的验证码图片,进行灰度化,表明该公式灰度化效果最 好。 需要说明的是,要根据图像灰度化的目的不同,原图色彩特征的不同,选择合适的灰 度化方法。公式(3.3)的方法对类似CSDN的验证码图像灰度化中特别有效。 3.1.2图像的二值化 一般24位RGB图像的灰度图是8位256个灰度级的,如果把灰度级减少到l位2个灰 度级,就得到一幅二值图像,二值图像中的数据全部是0或1。如果以0代表目标像素,1 代表背景色,则一幅灰度图的二值化可以用下式表述[6]: 删一彤毒磐 ㈣6, 其中r是一个确定的阀值。经常采用的计算阀值丁的方法是最优阀值法。 有时图像中目标和背景的狄度值有部分交错,这时如用一个全局阀值进行分割则总会 产生一定的误差。实际中常希望尽可能减小误分割(包括把目标分成背景和把背景分成目 标两类)的概率,而选取最优阀值是一种常用的方法。这罩最优阀值指能使误分割率最小 的分割阀值。图像的直方图可看成像素灰度值的概率分布密度函数的一个近似,设一幅图 像仅包含两类主要的灰度值区域(目标和背景),那么其直方图所代表的像素灰度值概率分 布密度函数实际上是对应目标和背景的两个单峰分布密度函数之和。如果已知密度函数的 形式,就有可能计算出一个最优阀值,用它可以把图像分成两类区域而使误分割率最小。 最优阀值法又叫最大类间方差法或Otsu法[9]。 驾 蓠丁 浙江一1:业大学硕士学位论文 如果以L(1,29-oo,工)表不图像的灰度级,n,表不图像中灰度级为i的像素个数。图像中的 像素总数可以表示为N=挖。+,l:+⋯+%。图像的灰度直方图可以表述为: "专以乩∑h=1 (3·7) 假设图像中的像素可以被一个灰度阀值尼分成两类C。和C。,分别代表背景像素和目标 像素。C。由图像中灰度级从1一★的像素组成,C,由图像中狄度级从七+1..上的像素组成。 则类概率‰,q和类平均灰度级∥。,∥。可以表示为: ‰=Pr(c。)=∑2。P;=∞(七) (3·8) ∞。=Pr(c。);∑■P,=1一∞@) (3·9) 胪∑扣m小擎=器 ㈣㈨ ”∑oPr(邶1)_单一篙@⋯ 其中,∞@)、∥@)分别是图像直方图中灰度级1一丘的零次累积距,和一次累积距: ∞@)=∑2,Pt (3·12) ∥@)=Xi:。/p; (3·13) 而蜥是图像的平均灰度级,表述如下: 蜥=∥o)=∑三,驴, (3·14) 容易证明: ∞o∥o+0-)1/-/1一∥r,%+0)1=1 (3.15) 类方差可以表述为: 小Xi羔l(i-UO)2Pr(iIco);半 (3.16) 仃?;∑三。+。(f一弘。):Pr(flc,);二∑学 (3.17) 为了评价阀值k的好坏,我们从判别分析法中引入三个判别式: A:雩,K;霉,叩:-仃LT; (3.18) 浙江J:业人学硕十学位论文 分别是类内方差,类间方差和总方差,求最优阀值k就是求一个k使得其中任一个方 差的值最大,可以推导出如果存在k使其中一个方差表达式达到最大值,则另两个也达到 最大值。注意到口;是常数,Otsu法选择求ri的最大值o(k): ,7(七)一罢 (3.19) 仃r 仃2。;垃丝巡 (3.20)P ∞@)【1一∞@)】 则,最优阀值k+: 仃;(七’)=maxa;(k),1sks£ (3.21) 以上是Otsu法求最优阀值的推导过程。省略部分可以参看1979年Otsu发表的论文《A ThresholdSelectionMethodfromGray—。LevelHistograms》 下面是应用这一方法二值化图像的例子。 冶60甍 原圈 裙60麓 荻魔化 3603 :缓化 图3.2二值化的例子 ■■U● 积分投影 图3.2是某网站的验证码采用Otsu方法自动二值话的例子,虽然原图背景有彩色干扰 线,目标字符的颜色也是随机的,但经过公式(3.3)的灰度化操作可以得到较理想的灰 度图,再经过Otsu阀值二值化(Ostu法计算阀值T=71)后得到的二值图非常理想。从此 例可以看出,图像的二值化过程本身是一个图像分割的过程,选择合适的阀值,可以很好 的把目标从背景从分割出来。 3.1.3图像的滤波 图像的滤波是一个很广的概念,根据目的不同有平滑滤波,锐化滤波,低通滤波,高 通滤波等(参看第二章)。通常,在滤波器较小时,空间域滤更加有效,频域滤波器可以 从空域滤波器通过傅罩叶变换得到(参看2.3.2)。本文中主要用到平滑滤波器,下面介绍 两类平滑滤波器。 8邻域均值滤波是最小的均值滤波器,该滤波器通过对目标像素8领域内的像素(包 括目标像素)进行加权平均得到目标像素新的颜色值。图3.3显示了两个3×3的平滑滤 浙江T业大学硕士学位论文 波器,第一个产生掩模下标准的像素平均值,第二个采用加权平均,可以减小平滑处理中 的边缘模糊问题。 1 1 1 1 2 1 1×11 1,三×242 9 16 1 1 1 1 2 1 图3.3平滑滤波器 中值滤波器也是常采用的一种空间域平滑滤波器。中值滤波是一种统计排序滤波器技 术,经常用于去除图像或者其它信号中的噪声。这个设计思想就是检查输入信号中的采样 并判断它是否代表了信号,使用技术个采样组成的观察窗实现这项功能。观察窗口中的数 值进行排序,位于观察窗中间的中值作为输出。然后,丢弃最早的值,取得新的采样,重 复上面的计算过程。中值滤波是图像处理中的一个常用步骤,它对于斑点噪声(en:speckle noise)和椒盐噪声(en:saltandpeppernoise)来说尤其有用。保存边缘的特性使它 在不希望出现边缘模糊的场合也很有用。 3.2图像分析 图像分析是图像识别的一个重要步骤。图像分析更侧重点在于研究图像的内容,包括 但不局限于使用图像处理的各种技术,它更倾向于对图像内容的分析、解释、和识别。因 而,图像分析和计算机科学领域中的模式识别、计算机视觉关系更密切一些。本节中我们 重点介绍下验证码识别中用到的图像分割和特征提取技术。 3.2.1图像分割 分割将图像细分为构成它的子区域或对象[15]。分割的程度取决于要解决的问题。图 像分割算法一般是基于亮度值的两个基本特性之一:不连续性和相似性。第1类性质的应 用途径是基于亮度的不连续变化分割图像,比如图像的边缘。第2类的主要应用途径是依 据事先制定的准则将图像分割为相似的区域,阀值分割、区域生长、区域分离和聚合都是 这类方法的实例。 ’ a)阀值分割 浙江T业大学硕士学位论文 阀值分割又称门限处理,由于阀值分割具有直观性和易于使用的特性,使它在图像分 割应用中处于中心位置。计算阀值的方法参考3.1.2介绍的Otsu法。对于亮度不均匀的 图像,可以采用局部自适应阀值,局部阀值法先把图像分成12个区域,然后对每个区域分 别计算阀值。 b)积分投影 阀值分割只能把目标区域和背景区域分开,如果有多个目标区域,则可以采用积分投 影法把多个目标区域分割歼。积分投影法也可以看成是一种区域生长法。如图3.2,在图 像的Y轴上进行区域生长分割,区域生长的起止条件设为目标像素targetPixel>l,就可以 把4个字符分割开。从图上来看,就是寻找明显的波谷区,做字符分割。 c)粘连分割 粘连分割是图像分割的一个难点[12],[13]。积分投影分割可以处理简单目标区域分 割,对于目标区域粘连的情况,则显的无能为力。下图是CSDN网站验证码的一些粘连字 符截图,第一栏是原图,第二栏是预处理结果,第三栏是积分投影。 ::.。。j- SQ so -- .勰 ∞, 山 i∥. 。f一 _.. 原图 预处理结果 积分投影图 图3.4积分投影 图3.4中,字符的垂直投影图没有明显的波谷区,所以用积分投影法很难识别。可以 采用等距分割,交叉点检测分割等方法进行分割,能取得一定效果。 CSDN网站验证码的字符大小是固定的,而且没有变形、旋转、缩放等形变干扰。可以 采用模板匹配法,跳过分割的难题。用于验证码识别的模板库都比较小,匹配法可以获得 很好的速度。参看4.1基于模板匹配的识别法。 如果复杂粘连再结合各种形变干扰,则识别的难度就很大。 浙江l:业人学硕士学位沧文 苓刮蛤 幽3.5是Qq验证码图像,复杂的粘连结合旋转和缩放。目前还无法有效的进行识别。 D)计算连通区 如果两个字符的外边框叠加,但字符的目标像素没有粘连如图3.6。则可以采用求连 通区的方法获得字符区域。求连通区Ij勺方法也可以用在’,符粗分类上,参看3.2.2特{if!提 取。 &她藏 圆鏖曩圈 暑皇踊IllLl-‘ 宇符: 字符2 图3.6游戏完美世界的验证码 无意义字符 泼图是网络游戏完美世界的验证码的部分截图,可以通过求连通区得到4个字符区 再通过汁算连通区的面积等方法去掉两个无意义的字符区。 种搜索封闭环的算法[26]蜘l下: 1)读入二值宁符图像。 2)找到个像素值为”0”的背景像素点B。 3)搜索B的连通域,井将该连通域内的像素仝部标记为背景l。 4)遍历剀像中像素值为”0”的像素。 5)若所有”0”像索都已标记为背景1,则馥图像内_||寸闭环个数为0,跳转到(11)。 6)若存存没有标记为背景1的”0”像素点Bl,则有封闭环。 7)搜索Bl的连通域,并将改琏通域内的像素全部标记为背景2。 8)遍历罔像中像素值为⋯0的像素。 9)若所有”0”像素都已标记为背景1或背景2谈图像内土寸脚环个数为I,跳转到(1l 10)*存在没有标也为背景1或背景2的”0”像累,则该图像内封闭环个数为2。 11)结束搜索,返回封闭环个数。 浙江:』:业人学硕十学位论文 3.2.2特征提取 特征提取是分割法字符识别的关键问题。要选取合适的特征以便把不同的字符区分开, 还要考虑特征对字体的不同、字符大小的不同以及噪声等因素的不敏感性。 a)归一化 在对文字图像做特征提取之前通常需要对文字图像做归一化处理。归一化主要有位置 归一化、大小归一化和笔画粗细归一化。 有两种简单的位置归一化方法。一种是基于质心的位置归一化;另一种是基于文字外 框的位置归一化。基于质心的位置归一化方法需要首先计算文字的质心,然后再把质心移 动到指定的位置上来。基于文字外边框的位置归一化需要首先计算文字的外边框,并找出 中心,然后把文字中心移动到指定的位置上来。基于质心的位置归一化方法抗干扰能力更 强。 对不同大小的文字做变换,使之成为同一尺寸大小的文字,这个过程被称做大小归一 化。常用的大小归一化方法也有两种。一种是将文字的外边框按比例线性缩放到规定尺寸 的文字。另一种是根据水平和垂直两个方向文字目标像素的分布进行大小归一化。基于外 边框的方法对噪声很敏感。 笔画粗细的归一化在手写识别中用的比较多。在验证码识别中较少使用。一种笔画粗 细的归一化方法是骨骼化,在交叉点检测,环检测中用的比较多。 b)封闭环检测 验证码一般都是以英文字母和数字构成,通过检测图像中封闭环的数量可以很好的把 字符分成几个大类,提高的后续识别的准确度。如在模板匹配识别法中字符5和6是比较 接近的,容易混淆。通过环检测就能很好的区分字符5和6。 搜索封闭环实际上就是在字符图像中搜索连通域。在字符的二值图像中,假定字符像 素值"1",背景像素值为"0”,则无封闭环的字符图像中只有两个连通域,即字符连通 域和背景连通域; 只有一个封闭环的字符图像中有三个连通域,即一个字符连通域和两 个背景连通域;有两个封闭坏的字符图像中有四个连通域,即一个字符连通域和三个背景 连通域。 c)不变矩 不变矩是图像的统计特性,满足平移、绅缩、旋转均不变的不变性,在图像识别领域 得到了广泛的应用[6]。Hu首先提出了用于区域形状识别的不变矩,但对封闭和不封闭结 构,由于不能直接计算矩的特征,因而还需要先构造区域,而且由于这种矩的计算涉及区 一20— 浙江j二业人学硕十学位论文 域内部和边界的所有像素,因而耗费的时间较多。另外,Chen也提出了基于边界的计算区 域不变矩的快速算法。目前矩特征广泛应用于目标识别、景物匹配、形状分析,以及字符 识别等许多方面。 不变矩的方法是一种比较经典的特征提取方法。单纯的中心矩或是原点矩尽管可以表 征平面物体的几何形状但都不具有不变性,然而可以从这些矩构造不变量。这种方法最初 由Hu提出。他利用中心矩构造出了7个不变量,这些不变量已经被成功地应用于很多领 域。关于对平移、缩放、镜像和旋转都不敏感的7个二维7变矩可以参看HUMK[18]。 浙江下业大学硕士学位论文 第4章验证码字符识别 目前市场上已经有成熟的商业化OCR识别系统,这类系统对印刷体字符的识别效果良 好,但对添加了复杂形变干扰的验证码字符的识别上效果不佳;脱机手写字符的识别对验 证码识别也有很好的借鉴意义,但是手写字符识别比验证码更加复杂和庞大,验证码识别 的针对性比脱机手写识别强。还是需要针对不同的验证码编写有针对性的识别系统。验证 码的识别主要包括分类器设计和粘连字符的分割问题,是~个涉及多个硬人工智能问题的 研究领域。 4.1基于模板匹配的识别法 验证码图像一般具有如下特点: 1)图像分辨率很小,一般在200.100像素以内。 2)一般只包含数字和英文字符,模板数相对有限。 3)包含的字符个数一般是4-6个,很少超过10个。 基于以上特点,加上验证码识别的实时性要求不高,本文认为模板匹配法可以作为验 证码识别的有效方法。字符模板匹配中一般以字符的点阵图为模板,通过狄度相关匹配在 验证码图像中寻找最佳匹配点。 模板匹配法识别中图像预处理的主要工作包括图像灰度化,图像二值化。这部分的技 术在第3章中已经做过介绍,这里不在重复。对于能够直接分割的验证码,可以通过计算 连通区得到字符模板,对于无法分割的验证码可以借助图像处理软件制作模板,因为模板 本身数量很少,这个工作并不费时。因此模板匹配法可以绕过字符分割的难题。 模板可以是基于字符特征的N维向量。字符模板匹配中一般以字符的点阵图为模板, 通过序贯相似性检测法(SSDA)在验证码图像中寻找最佳匹配点,这是一种狄度相关匹配 [6]。SSDA算法是一种快速图像匹配算法,它使用式4.1作为相似性度量,以随机不重复 的顺序选取像素对0,Y),求和时不需要计算所有像素,只要其和超过设定的阀值(又称 为拒绝因子),则说明当前位段为非匹配位置,停止本次计算,否则进行下一位置的测试, 直至找到匹配点为止。实际操作中,常做从图像左上角到右下角的遍历,选择最佳匹配点。 设模板图像x州的大小为m×,l,输入图像k大小为MxN,其中M>m,N>以。 Y(a,6)胛表示输入图像以(口,6)为中心,与模板图像大小相等,对应(工,y)位置的像素灰度。 一22— 浙江工业大学硕士学位论文 则相似度可以表示为: 卿,炉去∑二,∑;.。№垆x叫 模板匹配法在实际使用中很容易受相似性字符的干扰。如图4.1、4.2所示。 .汐izr 输入图像K 部分最佳匹配点如图4.2, 图 8(0 B(0 D(0 E(0 Z(0 I(0 L(0 I(0 I(0 7(0 T(0 , 字符i的模板 ~ f 字符二的模板 4.1模板的例子 117.0184 /16,0184, 118.0184 117.0184 150.0184 137.3184 116.0184 13914184 117.2184 15e,0184, 151,0184, b 468 404 363 354 348 163 144 135 135 128 儿4 图4.2模板匹配识别的部分数据 C .468 .348 246 .213 .1
/
本文档为【带干扰验证码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索