数字验证码识别算法的研究与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字验证码识别算法的研究和设计
王虎, 冯林, 孙宇哲
Wang Hu, Feng Lin, Sun Yuzhe
大连理工大学大学生创新院,大连116023
Institute of University Students’ Innovation, Dalian University of Technology, Dalian 116023, China
E-mail: wlys111@
Research and Design of Digital character-based CAPTCHA Recognition
Abstract:CAPTCHA Recognition can be used in multi-send technology. Digital character-based CAPTCHA Recognition, which is foundation of pattern recognition research, is a kind of OCR. In this paper, we proposed a CAPTCHA Recognition System based on simple distortion and its architecture is template matching. Hilditch thinning algorithm, circle structure searching algorithm and dynamic template analyzing algorithm is chose and the weigh of template is also used to improve the recognition accuracy. The advantage of the system is that the recognition precision is perfect.
Key words:Template matching, Weighted Template, dynamic template, grid feature, crossing points feature
摘要:验证码识别技术可以用于网站的群发软件,数字验证码识别是光学字符识别(OCR)的一种,是进行模式识别研究的基础。论文提出了以简单变形的数字字符为理论研究素材,将模板匹配作为基本框架的验证码识别系统。系统采用图像的Hilditch细化算法、环结构的搜索算法、活动模板分析算法,加入模板分量的权值。其优点在于能够对特定数字验证码精确识别,实验中识别准确率基本达到100%。
关键字:模板匹配,加权模板,活动模板,网格特征,交叉点特征
文章编号:文献标识码:A 中图分类号:TP391.43
引言
目前,网络上出现了很多以图片形式出现的基于文本的验证码。所谓验证码,就是将一串随机产生的字符,生成一幅图片,图片里随机的加入一些像素干扰、颜色干扰和形变干扰等等,以达到防止恶意注册等目的。有的验证码是无像素干扰的、大小固定的、质心位置居中,含有形变干扰的数字字符,我们称之为简单变形体。反之,我们称加入了更多干扰的字符为复杂变形体。
验证码千变万化,而当前的识别系统都具有很强针对性,只能够识别一种类型的验证码,而且验证码的技术不断发展,出现了更加复杂的基于图像的验证码系统[5],并且目前人工智能(机器智能)还远未赶上人类智能,但是对于给定的验证码系统,在获知其特点之后,基本能够以一定的准确率进行识别[6、7]。
基金项目: 国家自然科学基金( the National Foundation of China under Grant No.10471051 )。
作者简介: 王虎(1984-),学士,研究方向:计算机图形处理,模式识别与智能控制; 冯林(1969-),博士,教授,研究方向:图像压缩、配准及融合和演化算法; 孙宇哲(-),硕士,研究方向:.
目前,在公开的验证码识别算法中,只有一些简单的、识别率低的识别方法,且缺乏系统性,这不利于对日新月异的验证码的识别,因此我们需要一个系统、高准确率的算法。
本文讨论了图像的模板匹配算法,细化算法,网格特征、交叉点特征[1],并由此构架识别算法的基本框架。为了提高识别准确率,使用改进的活动模板部分结构分析算法[2],减弱了字符形变对识别系统的干扰;提出一种能较大地增强模板区分能力的加权模板。
1. 数字验证码识别
算法的识别对象是网络上较为常用的简单变形体数字验证码,验证码样本取自于动网论坛。这种验证码没有像素和颜色干扰,也没有字符粘连和重叠,因此仅需要进行形变字符的识别。图1展示了十个数字字符两种不同程度形变的样本:
图 1 数字验证码样本
将四个字符为一组的验证码二值化后存入处理数组中,该数组就保存了待识别数字的外部形状特征,所以算法的关键就是通过处理数组中的形状特征,计算获取最接近的数字字符。系统的识别过程如图2所示:
图 2 识别系统及字符特征统计
2. 模版匹配和加权模板
定义数字字符图像模板为:数字图像已知的形状特征量化值的数学期望。例如,对某特定数字图像进行网格特征分析,某一格的黑点数目大致服从正态分布,其均值即为一个模板量。字符图像有多种形状特征,因而模板是由一个N维向量构成。
每个形状特征都有一定的可信度,例如,统计数字“1”的横向扫描时只有一个交叉点的行数,该值比较固定,样本方差小,具有较高的可信度;数字“2”的下部变形较大,而且位置不定,网格特征分析时,黑点数目的样本方差大,因
而此模板分量不可信。特征权值就是某形状特征的可信度的量化,可信度高则权值高,可信度低则权值低。
模板向量的每个分量均对应一个权值,从而每个字符对应一个N 维的权值向量,由这两个向量共同决定该数字的特征模板,这两个向量便组成了加权模板。加权模版可以提高某特殊外形特征的权重,降低不可信外形特征的权重,从而更加准确的获得识别结果。此外,为了达到字符的总体均衡,也需要进行权值调整。
模板匹配时,由待识别的字符x 特征向量α和某个字符i N 的模板向量β与权值向量γ即可计算两者之间的差异度。计算公式如下:
()()∑=⨯-⨯-=n
k k k k k k i Diff 1γβαβα, n 为模版向量的长度。
10个模版对应10个i Diff 值,其中最小值对应的数字即可作为x 的识别结果。 模板分量的权值j γ是基于统计学方式计算得出的。在随机的N 个验证码样本(4*N 个字符样本)中,模板长度为M 的字符图像有如下几个参数:各个字符的个数)9,,1,0( =i N i ,各个字符某模板分量的样本均值),,1,0(M j Y j =、样本方差),,1,0(S 2j M j =,不同字符的同一分量样本均值的方差),,1,0(S 2j M j ='。其中,j Y 是该模板分量的期望值,作为某个字符模板分量j 的数值j β;2j S 展示了对应模板分量度对于该字符的可信度,是确定j γ的主要依据,2j S 越小,可信度越高;2j S '展示的是该模板对各个字符的区分能力,2j S '越大,模板的区分能力越强,该数值用于调整模板分量权值。
下面三个表格展示了模板分量权值的计算方式(0-4五个数字字符的六个分量):根据表格 3,表格 1到表格 2的影射:
模板法是本项目算法的基本框架,将各个数字字符的外形特征都统一到模板内部,然后进行一致的运算,降低了程序的复杂度,提高了开发效率。那么,如