首页 手写英文识别系统

手写英文识别系统

举报
开通vip

手写英文识别系统手写英文识别系统 目录 2.1 研究意义 ........................................................... 2 2.1 识别过程及研究现状 ................................................. 3 3.1 基础知识 ........................................................... 6 3.2 识别系统设计 ...........................

手写英文识别系统
手写英文识别系统 目录 2.1 研究意义 ........................................................... 2 2.1 识别过程及研究现状 ................................................. 3 3.1 基础知识 ........................................................... 6 3.2 识别系统设计 ....................................................... 8 3.2.1 算法介绍 ....................................................... 8 3.3 系统实现 .......................................................... 13 3.3.1 平台及语言 .................................................... 13 3.3.2 程序实现 ...................................................... 13 4.1 复杂度分析 ........................................................ 17 4.2 实际测试及分析 .................................................... 18 4.2.1 模板生成测试 .................................................. 18 4.2.2 识别单词效果及分析 ............................................ 18 西南大学2008届本科毕业生 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 手写英文识别系统 :国外英文手写识别也已经实用化,但在英文手写识别,特别是连笔手写识别国内研究还很少, 本文阐述了一种基于模板匹配的手写识别方法。本文首先对比各种手写识别方法,选择其中比较简 单的模板匹配方法加以改进,以适应单词或句子的识别,提出了将分割和识别同时处理的思路。在 处理的过程中应用了维数缩减和简化模板匹配以提高程序执行效率。本文所阐述系统稍加修改可应 用于计算机能力弱,特别是不具备浮点运算能力的微型设备,具有比较高的实用价值。 :手写识别;连笔手写;模板匹配 English Manuscript Recognition System Abstract: English manuscript recognition is wildly applied in abroad. But in English manuscript recognition, especially consecutive manuscript recognition is rarely found in domestic researches, and a template match-based manuscript recognition is put forward in this paper. First, series of recognition methods are compared, and then selected the simple template match as the main method of recognition, and ameliorated it so that it can be applied to multi-character, such as words and sentences. The method that combine the dividing and matching at same time is put forward. In the progress of recognition the dimension of templates is cut, and templates are simplified to improve efficiency of the system. The system can be applied on these micro devices capability of them were limited, especially float computing. So this system has sure practice value. Keywords: manuscript recognition; characteristic scavenge; template matching 第1页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 一直以来,让机器代替人类从事人类的工作,从而让人类从繁重的劳动中解脱出来 是人类不断追求的目标。在计算机出现以前,人类所能做到的只是让机器能部分取代人 类的体力劳动,而不能帮助人类解决脑力劳动的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。随着计算机的出现,人们发现, 可以通过一定的手段,让计算机辅助人类做一些脑力劳动,在计算机发展的几十年中, 出现了很多新的方法和技术,它们之中有一门学科——人工智能,主要目的就是使计算 机能模仿人类的思考活动,从而帮助人类解决实际问题。在人工智能研究领域中,信息 输入是一个比较重要的部分,因为它决定着智能系统接收外部信息的能力、好坏,将直 接或间接影响智能系统的效率,甚至正确性。模式识别是信息输入中最理想的方法,因 为它不需要人工进行外界信息到计算机信息的转换工作,进一步提高了智能系统的智能 程度。因此对于智能系统自治等非常重要。 虽然模式识别最终目标是为了让智能系统实现自动获取外界信息,但由于目前人工 智能方向发展并不十分成熟,对于完全模仿人类行为的系统还无法实现。因此模式识别 的应用就出现了不多的形式,主要有图像分析,波形分析,手写识别等。其中,手写识 别主要解决计算机自动输入信息的问题。它可以广泛地用于计算机文字录入,票据信息 输入等方面。 手写英文识别(English Manuscript Recognition)是光学字符识别技术(Optical Character Recognition,简称OCR)的一个分支,它研究的对象是:如何利用电子计算机自 动辨认人手写在纸张上的英文单词及数字。在整个OCR领域中,最为困难的就是脱机手写字符的识别。 虽然本文介绍的是一个联机手写识别系统,但由于没有利用用户输入过程中的相关 信息,因此完全可以经过修改适用于脱机手写的识别。 如何让计算机理解自然信息,比如语音识别,手写文字识别是模式识别中一个重要 的分支。手写识别是模式识别的一个重要研究方向,已经有40多年的研究历史,只是近几年才基本成熟。在联机汉字识别方面,国内的汉王等公司已经达到了较高水平,在 联机手写英文识别方面,国外已有Transcribe等相关产品,但国内这方面的研究还非常少。但随着我国商业国际化程序的不断提高,英语应用场合增加,对于计算机处理手写 第2页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 英文的的要求也越来越多,而如上所述,我国这方面的研究还相对很少,迫切地需要一 种实用的英文手写识别方法。本文实现了一种简单的模板匹配英文识别方法,基本可实 用化。 目前手写识别技术的研究主要分为预处理、特征抽取分析、识别字典的生成与分类 器的设计、多 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 集成、单子识别后处理几个阶段技术的研究。 , 预处理技术 手写英文变形问题是非特定人脱机手写英文识别中的关键问题,所谓脱机手写英文 识别的预处理,就是探讨直接从英文点阵图像上补偿手写变形、减小属于同一类别的不 同模式之间的差异的理论和方法。通常,直接从英文点阵图像上消除手写变形的方法有 两种,即非线性规一化方法和变换 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 法。 非线性规一化是预处理方法的主流和核心,其目的主要是将不同大小的英文点阵规 一化成相同大小并直接在英文点阵图像上矫正手写变形,常用的非线性规一化方法有: 基于点密度均衡的非线性规一化、基于笔画穿透数目均衡的非线性规一化、基于笔画间 隔均衡的非线性规一化、基于线密度均衡的非线性规一化、基于英文点阵二维平面矫形 的非线性规一化等,各种非线性规一化方法的主要区别在于如何刻画英文笔画的疏密程 度的不同,使得规一化后的英文点阵中笔画分布尽量均匀。 , 特征抽取与分析 特征抽取是模式识别的一个重要环节,抽取稳定且有效的特征是识别系统成功的关 键。一般认为,英文笔画及其相对位置关系是手写英文中最为稳定的特征,然而,直接 从英文点阵图象上准确地抽取英文的每一个笔画并找出其相对位置关系则十分困难,早 期利用结构模式识别方法来识别手写英文的研究人员所遇到的问题和困难证实了这一 点。统计特征具有良好的抗噪声、抗笔画的粘连与断裂等特性,但是,英文具有二维结 构,单纯利用统计特征还不能很好的反映出英文的结构信息,所以,一种有效的手写英 文特征应该将英文的统计特性与结构信息结合起来,将英文笔画的特性与英文背景空白 处的特性结合起来,如目前在手写英文识别中最为有效的方向线素特征、四平面笔画穿 透数目特征、细胞特征等。 , 主要识别方法分析介绍 自从IBM公司的casey和nagy于1966年首次发表关于英文识别的文章以来,英文识别取得了很大的进展,提出了很多理论和方法。 第3页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 (1)结构模式识别方法 结构模式识别方法是人们最初用来进行手写英文识别研究的方法,一般需要先抽取 笔段或基本笔画作为基元,由这些基元再构成部件(子模式),由部件的组合来描述英 文(模式),最后再利用形式语言及自动机理论进行文法推断,即识别。然而,人们美 好的初衷并未能如愿以偿,这是因为从英文图像中抽取笔画等基元比较困难。早期的脱 机手写英文识别研究者将精力主要集中在如何准确地抽取基元、轮廓、特征点等能够反 映英文结构信息的特征上,并且在假设这些特征已经比较准确地抽取完毕的前提下,研 究文法匹配、属性图匹配、松弛迭代匹配等。然而,单纯采用结构模式识别方法的脱机 手写英文识别系统,识别率较低,这就促使人们将目光转向了统计模式识别方法。 (2)统计模式识别方法 与结构法相比,统计法具有良好的抗噪声、抗干扰的性能,其鲁棒性主要体现在统 计特征的抽取和模式匹配方法上。用于脱机手写英文识别的统计特征,根据特征抽取区 域的不同可粗略地分为全局统计特征和局部统计特征两大类。全局统计特征是将整个英 文点阵作为研究对象,从整体上抽取特征。局部统计特征是将英文点阵图象分割成不同 区域或网格,在各个小区域内分别抽取统计特征,根据抽取特征的不同,可以选用不同 的匹配方法,常用的统计匹配方法有模板匹配、相关匹配、树分类器等。常用的距离度 量有欧氏距离、城市块距离、马氏距离等。 (3)统计与结构相结合的识别方法 由上述可见,统计与结构方法各有优缺点。统计方法具有良好的鲁棒性,较好的抗 干扰抗噪声的能力,它一般按一定的距离度量匹配准则,采用多维特征值累加的办法, 把局部噪声和微小畸变淹没在最后的累加和里,但是,可以用来区分“敏感部位”的差 异也随之消失,因此区分相似字的能力较差;而结构方法对结构特征较敏感,区分相似 字的能力较强,但是结构特征难以抽取,不稳定。因此,人们已注意到将两种方法结合 起来使用,在特征抽取过程中,注意抽取能反映手写英文结构信息的统计特征,如方向 线素特征、四平面笔画穿透数目特征等,识别方法的结合:可以先用统计方法进行粗分 类,再用结构方法进行细分类来区分相似字,即两种方法的串联;也可以将两种方法并 联使用,然后进行综合集成,这是近年来文字识别领域的一个重要研究方向。 (4)人工神经网络方法 基于串行符号处理的数字电子计算机在人工智能等研究领域遇到了一定的困难,促 使人们以更大的兴趣去研究以并行处理模式为特征的神经计算机。 第4页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 通常,用于文字识别的人工神经网络模型有:hop field神经网络、前向多层神经网 络(如bp算法、rbf网络等)、art网络、自组织特征映射网络、认知器模型等等。目前 常用的做法是将神经网络方法和传统的识别方法结合起来使用,互相取长补短,如先用 传统的方法抽取较为稳定的特征,然后再用神经网络进行自组织聚类学习并设计性能良 好的分类器等。神经网格学习过程中收敛与否,收敛速度等都较难控制,而且计算量相 当大,尤其是浮点计算,这使得该方法仅能在有强大计算能力的计算机上实现。 , 识别字典的生成与分类器的设计 在手写英文识别中,由于不同人书写风格的差异造成的手写变形很大,使得属于同 一英文类别的不同样本之间的差异较大,产生一个具有代表性的识别字典是补偿手写变 形、提高手写英文识别率的有效途径,通常,识别字典可以分成单模板字典和多模板字 典两大类,前者指每个类别仅有一个参考模板(也可称为代表元)存放在识别字典中, 而后者指每类有一个或一个以上的参考模板。显然,由于手写变形的存在,单模板字典 显得不足,因此有必要生成多模板字典,问题的关键在于如何生成多模板字典,即如何 进行类内聚类以及如何确定代表元,而且,在学习训练过程中,如何选定学习样本的数 量和质量也是一个值得研究的课题。 分类器是模式识别中重要的工具,经过几十年的发展,现在已经有一些分类器被广 泛应用。而在应用上,往往将多个分类器集成,这样使之发挥各种分类器的优势,达到 比较理想的识别效果。 , 多字符识别难点 在单字母和单数字识别方面,现有的研究已经比较成熟,基本能达到实用要求。但 是对于单词,甚至句子的识别仍然相对困难。 我们知道,人类在阅读文字时是有先验知识的,试想如果让小学生看量子力学的知 识,是不可能看懂的,原因就在于在他所知的知识里没有足够的先验知识。我们在阅读 时,总会依靠已有的知识加以分析,因此,当我们遇到形状相似的符号时,往往可以通 过上下文的理解确定其正确内容。比如在遇到单词ball时,我们一般不会把后面两个“l” 理解成“十一”,而会把他当成ball单词的一部分。如何让计算机也拥有和我们相同的 能力呢?这就需要设计一个复杂的逻辑分析程序,它需要包含知识理解(也是人工智能 中一个重要的分支)的内容。 另外,人类手写文字有一个特点,就是往往有大小不一,字母粘连等问题,这将使 识别难度提高很多。例如,在单个字母的识别情况下,识别准确率可达99.3%,但利用 第5页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 相同的识别方法对单词,句子进行识别,正确率往往只有80%。在识别系统中,字符分割和调整的好坏直接影响下一步识别的好坏,甚至直接影响整个识别结果的好坏。因此 如果设计一个好的分割和调整方案,是关系到识别好坏的重点和难点。 , 模板匹配法介绍 模板匹配是一种依靠先验知识为识别基础的识别方法,其主要思想是计算目标与模 式的相似程度,选取最相似模式为输出。由于其方法简单,没有使用像贝叶斯分类器或 神经网络中那样大量的浮点运算,因此易于在无浮点运算能力或运算能力较弱的设备, 如手持设备中实现。因此本文选择该方法作为识别方法。 它的核心思想是认为在人的长时记忆中,贮存着许多各式各样的过去在生活中形成 的外部模式的袖珍复本。这些袖珍复本即称作模板(Template),它们与外部的模式有一对一的对应关系;当一个刺激作用于人的感官时,刺激信息得到编码并与已贮存的各 种模板进行比较,然后做出决定,看哪一个模板与刺激有最佳的匹配,就把这个刺激确 认为与那个模板相同。这样,模式就得到识别了。由于每个模板都与一定的意义及其他 的信息相联系,受到识别的模式便得到解释或其他的加工。例如,当我们看一个字母A,视网膜接收的信息便传到大脑,刺激信息在脑中得到相应的编码,并与记忆中贮存的各 式各样的模板进行比较;通过决策过程判定它与模板A有最佳的匹配,于是字母A就得到识别;而且我们还可以知道,它是英文字母表中的第一个字母,或是考试得到的最 好的分数等等。由此可见,模式识别是一个一系列连续阶段的信息加工过程。 然而现实世界输入视觉系统的景物是复杂的。就拿字符“F”来说,输入“F”字符可能是拉伸的、压缩的、旋转的、歪扭的、断裂的,等等,这使得模板匹配工作变得 困难和复杂起来。 因此,在进行识别以前需要对输入图像进行调整,该过程称为输入 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化。但是为 了不在标准化时损失图像信息,将分割工作放在识别过程中来做。这样可以尽量避免因 为分割字符而将字母损坏,为识别带来严重后果。 本系统的识别方法主要分为两步:预处理以及分割并识别。 预处理主要完成以下工作:剪裁、确定斜率、纠正垂直倾斜、确定基线、纠正水平 倾斜。 将分割和识别放在一起,可以实现动态取得最相似的图像(匹配程度最好的模板) 第6页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 对一个手写数字识别系统,可以用三方面的指标表征系统的性能: 正确识别率 A=正确识别样本数/全部样本数*100% 替代率(误识率) S=误识样本数/全部样本数*100% 拒识率 R=拒识样本数/全部样本数*100% 三者的关系是: A+S+R=100% 数字识别的应用中,人们往往很关心的一个指标是 “识别精度”,即:在所有识别的字符中,除去拒识字符,正确识别的比例有多大,我们 定义: 识别精度P=A/(A+S)*100%。 一个理想的系统应是R,S尽量小,而P,A尽可能大。而在一个实际系统中,S,R是相互制约的,拒识率R的提高总伴随着误识率S的下降,与此同时识别率A和识别精度P的提高。因此,在评价手写数字识别系统时,我们必须综合考虑这几个指标。另外, 由于手写数字的书写风格、工整程度可以有相当大的差别,因此必须弄清一个指标在怎 样的样本集合下获得的。 以上多种因素使得不同系统的性能很难做绝对比较,根据作者从文献中所看到的和 在科研研究的较高水平是:对自由书写的英文,在不拒识时达到86%以上的识别率;在拒识少于15%的样本时,误识率能降到5%以下。 作为一个识别系统,我们最终要用某些参数来评价其性能的高低,手写数字识别也不例外。评价的指标除了借用一般文字识别里的通常做法外,还要根据数字识别的特点进 行修改和补充。 为便于进一步讨论,定义几个常用术语,首先定义图1所示的两条边界线(即基线): Base Line为单词中a,b等字母底部所在直线;Core Line为单词中s,r等字母顶部所在直线I 主笔划( 向下笔划:primitive)是极大值点(图1中X点)与紧随的极小值点(图1中长方形点)间的部分(图1中的p0-p5),而过渡笔划则是相邻主笔划间的部 分(图1中的l1-l5)以及笔迹的开始(图1中的l0)与结束(图1中的l6)部分。Slant为所有主笔划与垂直方向的平均夹角,而Skew就是基线与水平方向的夹角I中区是Core Line与Base Line间的部分,上区是Core Line以上部分,下区则是Base Line以下部分。 第7页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图1 手写单词的结构 Figure1 Structure of Manuscript 匹配过程仍然采用传统的一字母一次地匹配,但因为将字符分割工作和匹配过程结 合,因此需要确定一个结果采纳条件。在规格化后,字符串应当是基本按水平和垂直方 向正直化。 为了算法描述的需要,我们首先作以下约定: 识别系统基于位图分析进行识别。 书写区大小为320×160像素大小,书写字符仅有前景色和背景色两种颜色。 模板大小为20×20方阵。 识别算法分为预处理和分割识别两部分,下面分别介绍: , 预处理 人工手写的单词、句子往往有许多不规则的地方,比如个别笔划特别长,水平方向 的倾斜,垂直方向的倾斜等,预处理就是尽可能地去除这种差异,为识别提供规一化的 图像,在本系统中主要是对用户书写的字符进行角度调整,让字符基本处于平直状态, 主要分为水平倾斜调整和垂直倾斜调整。调整过程使用的统计平均的方法获得倾斜程 度,然后根据倾斜程度调整图像。在调整过程中为了减少不必要的计算,我们需要对字 符有效区域进行确定,这里暂时把这个过程叫做裁剪。其处理结果如图所示。 第8页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图2 处理前的单词 图3 处理后的单词 Figure2 Word before being processed Figure3 Word after process (1)裁剪 裁剪主要是对字符区域进行限定,使算法能在有效的文字区域内扫描,避免过多地 处理无信息的空白数据。在本系统中,该过程是利用简单的像素扫描来完成:从图像左 起向右逐列扫描,当遇到第一个前景像素时,计此时的水平坐标为区域左边界,以此类 推得到有效区域的四个方向的边界,从而将有效区域从原图像中区分出来。 (2)确定倾斜程度 首先求得字符上沿的极大值点集和下沿的极小值点集,将它们放入一个数组中保存 起来,这里需要保存每个点的横纵坐标。 求极值点均值,再从顶极值点集中去掉高度大于均值的点。同样去除底极值点集中小于 底极值均值的点。 再求平均顶极值,底极值,则易得Core line 到Base line距离 以及求得基线斜率。 (4)纠正垂直倾斜 在Core line 及 Base line之间求所有点在不同Y坐标下X的均值。 利用均值求之差,求得垂直方向的斜率。 用此求得斜率纠正垂直方向的倾斜。原理同水平方向纠正过程,这里不再赘述。 第9页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图 4 纠正处理过程 Figure4 Adjust Procedure , 分割并识别 模板匹配开始于时,系统根据初始宽高比确定一个从有效区域左侧开始的一个矩形 选取框。逐步加大选取框的宽度,直到这个矩形框达到最大宽高比结束。在匹配过程中, 需要记录相关信息,如选择框的起始位置,右边界等作为匹配后进行下一次匹配的初始 条件。 第10页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图5 识别流程图 Figure5 Recognize Flow Diagram 选取框的变化情况如图6、图7所示。 图6 起始分割块 图7 结束分割块 Figure6 Block of beginning Figure7 Block of ending 对于每一次选取结果进行模板匹配,模板匹配算法如下 第11页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图8 匹配过程 Figure8 Match Procedure 模板数据被设计为20*20的格子,格子保存了生成模板时所书写的字符的像素分布 信息。可以看作是书写对应字符该格子被填充为前景色的可能性大小。在匹配过程中, 需要将目标矩形区域内的图像映射到20*20的格子中,与每一个模板数据一一比较,求 得相似程度,以此选择什么字符作为输出。由于部分字符存在局部与其它字符相似的情 况如“O”包含了“C”的像素特征,因此需要考虑目标数据中存在,但模板数据中不 存在的部分,即“误命”像素。综合上述,相似度的计算采用以下计算方法: 相似程度=命中系数×命中像素-误命系数×误命像素 在该式中,如果希望系统具有比较高的接受率,可以适量增大命中系数,如果希望 增加拒识率,则可以增加误命系数。 当所有模板数据均与目标数据按上述方法比较后,匹配结束。匹配算法当匹配结束 后,选取最大相似度的字符作为输出,并由此确定下一个字符的起始位置,做到匹配和 字符分割结合。 第12页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图10 下一次分割位置 图9 最佳分割块 Figure10 The next block Figure9 The best block 在上一次右边界开始取矩形内图像 最后,当剩余有效区域部分过小时,系统将结束识别,并输出最终结果。 Microsoft Window一直在图形处理方面比较突出,Windows系统普及程度也很高,因此本系统开发平台基于Windows XP SP2。 开发平台及语言为Microsoft Visual Studio 2005,Microsoft 为开发者提供了一套利用C++进行面向对象方法开发Windows图形界面程序的类库MFC,它大大简化了应用程序的开发,因此本系统定为一个基于MFC的对话框程序。 为了逻辑上的分离,将处理过程封装到CRecognizer类中,该类与CDarwPanel共同处理一个位图图像。CDrawPanel是一个为本系统开发的一个控件,它包含一个 320*160的书写区域,在内在中有一个设备无关位图(DIB)与之关联,当用户在书写区用鼠标书写字符时,它将用户书写的字符信息存储在DIB中。 CRecognizer主要负责模板数据的生成,以及图像的识别,它内部包含有一个DIB位图数据,处理过程是基于此位图来操作的。在本系统中,这个DIB是一个指针,它与CDrawPanel中的DIB对象是同一个对象,虽然这样有违面向对象程序设计的规则,但 可以减少拷贝,而图像的拷贝是一个比较耗时的操作。 CDrawPanel从用户处获取书写的图像,然后将之保存在DIB中,CRecognizer对该DIB进行识别处理,并将结果保存在成员变量中,当外部需要猎取识别结果时,可以 调用输出成员函数以获取输出结果。 系统主要类的类关系见图11。 第13页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图11 主要类类图 Figure11 Main classes diagram , 主要类及成员 类CDib是一个图像类,它包涵了要处理的图片,手写过程中也是先写进图片,然 后利用图片的数据做识别。该类主要提供从文件读,写,拷贝图像,裁剪图像等操作。 class CDib:public CObject { public: CDib(); ~CDib(); void LoadFile(const CString& readFile); void SaveFile(const CString& strFile); CPalette* Palette(); UINT CountColor(); BOOL IsValid(); UINT Width(); UINT Height(); DWORD DibSize(); BYTE* DataAddr(); 第14页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 RGBQUAD* RGBAddr(); BITMAPINFO* DibInfo(); WORD PaletteSize(); void Cleanup(); DWORD SetPixel(COLORREF color, LONG x,LONG y); COLORREF GetPixel(LONG x, LONG y); CDib* Crop(DWORD posX, DWORD posY, DWORD width, DWORD height); CDib& operator=(CDib& other); …… }; CRecognizer类是识别的关键类,所有有关识别的代码差不多都在这个类中实现。 class CRecognizer : public CObject { public: inline float HRatio(){ return m_fHRatio; } inline float VRatio(){ return m_fVRatio; } CRecognizer(void); ~CRecognizer(void); BOOL SetImage( CDib* pImage ); BOOL Adjust(); BOOL Recognize(); BOOL GetResult( CString& strOut ); BOOL AddMode( char chChar , CTemplate* mode ); …… }; CTemplate类是单个模板类,它主要提供模板的比较函数。从而提供利用它简单地进行匹配。 class CTemplate : public CObject { public: CTemplate(); ~CTemplate(); float Compare( const CTemplate& otherTemplate ); 第15页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 void SetPoint( DWORD x, DWORD y, BYTE point ); BYTE GetPoint( DWORD x, DWORD y ); void Serialize( CArchive& archive ); void Reset(); …… } 程序取得当前图像与模板的相似度是通过以下方法计算的(代码): total/(float)m_cPoints-10*(float)invalidPoints/(Dimension* Dimension ); total表示总命中像素的权值和,invalidPoints是错误的像素的权值和。两部分系数 为1、10,在算法修正中这个比例还有待优化。Dimension是模板数据的维,在本系统中为20。该常量决定了模板数据的精度,实践证明该数据不是越大越好,经多次试验, 选择了20。如果将系统移植到小型设备上,可以考虑减小此值以减小计算量。 , 其它类简介 另外,程序运行还需要其它几个类,但这些类都是MFC框架或Windows。因此没有列具体成员出来,现简要介绍如下: CHandWriteApp 系统入口。是基于对话框的MFC程序必须有的。 CHandWriteDlg 该类是对话框程序主要的容器类,本系统的所有操作均在该类上 完成。该类负责创建手写板,识别器(CRecognizer)以及加载图像等功能。 CRecognizer 该类是本系统关键部分,它包含了识别算法的所有内容,提供了对 图像进行识别的功能。本系统中正是由对话框类对本类进行调用实现在对话框里识别手 写字符。 CTemplate 该类是基本的模板,它代表了某一字符的模板,该类提供比较的函数, 将两个模板(其中一个更准确地说应该叫目标)相比较,返回相似程序,作为是否选择 该字符的判断标准。该类可以序列化到磁盘,实现模板的保存,在程序启动时可以从文 件加载模板数据。 CDib 该类是设备无关位图类,提供保存、加载、裁剪、拷贝、清空、设值、取 值等功能,是一个比较全面的位图操作类。但在本系统中为了缩短开发时间,将位图的 支持限定在24位,但预留了接口,方便在需要的时候加入其它色深的位图支持。 , 程序界面介绍 第16页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 图12 程序界面 Figure12 User interface 程序界面分为四个区域,手写区为书写的窗口,用户可以在里面书定要识别的字符。 提示信息区域主要显示一些识别过程中的信息,如字符的倾斜程度等。识别结果输出区 在识别后将会显示识别的结果,这个是文本框,可以复制其中的内容以作他用。最后, 最重要的是控制区,这里提供不同的按钮以执行各种操作。在控制区中有一个输入文本 框和按钮用绿色线框指示出来的,那是训练时用的功能。当用户在手写区中写出要识别 的字符(单个)后,在此输入框输入正确的字符,然后点“Add Char”这个字符将会被 加入训练集。 本系统在识别过程中,其效率中要依赖于起始及终止宽高比的选择。在字符占用高 度为N的网格时,选择起始宽度为1/4N(考虑到可能存在l这类比较窄的字符),终止宽度为3N,那么程序在识别一个字符时有: O(N) = (3N-1/4N)*ONc ONc (N)= N*width 其中width随循环在1/4N到3N之间变化,即有 O(N) = (3N-1/4N)N*logN 第17页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 O(N)=N2*logN 由此可知,该算法效率并不高。但是该算法完全可采用整型计算。这将大大缩小原 子操作的时间。另外,由于式中N一般是固定的,因此该算法在固定N的条件下,执行时间仅取决于识别串的长度。 N可以根据计算机硬件条件进行酌情增加或减少以适应具体要求。在PC上可选择大一些的N值以改善字符识别精度,例如20。 系统的测试分为两个部分,第一部分需要生成模板数据,这是第二部分识别所必需 的,第二部分的识别测试及分析主要测试系统在书写正规和潦草情况下的识别的正确 率。 在绘图区绘手写单个字母或数字,并在input char 中填入对应的字符,点击Add char实现将该字符并入模板。 本系统测试时使用62个字符,每个字符用可能的写法训练十次,可基本得到比较 准确的模板数据。 图13 训练时使用“Add char” Figure13 Training using ”Add char” , 规范书写识别 第18页 共22页 工整写入单词、名字、数字识别出正确字符的比例较高,在输入Hello Sam十次中,西南大学2008届本科毕业生论文 手写英文识别系统 正确识别出来8次,识别为LIello Sam 一次, 识别为Hello Som一次。 分析原因:因为系统对所有字符仅做了高字符和矮字符区分处理,而未对L l这类相似字符的特征处理,因此在这种情况下可能误识。 改进措施:可在模板类中加入匹配时针对该字符的特殊处理,将可能与其它字符混 淆的可能性在模板的比较函数中降到最低。 图14 书写正规情况下识别结果 Figure14 Result of well written , 较潦草书写识别 当输入单词连笔增多,识别正确率下降。最坏情况是在输入We are well时仅有W、w正确输出。 分析原因:这里主要有三方面原因,其一是因为训练集不够大,没有较好的涵盖连 笔的字符字型,其次是对于字符严重变形的情况没有好的纠正措施,最后,由于本系统 仅使用匹配,而没有用到字典查对,因此在输出错误单词时没有比较好的纠正措施。 改进措施:针对第一个问题,可以增加训练的数量,特别是连笔字符的训练,较好 的办法是人工截取连笔书写的单词中的单个字符用以训练,因为这更接近连笔中的字符 特性。针对第三个问题,可以增加词典,在识别过程中,在判定为空格后,将已得输出 在词点中查询,如果存在则确定为输出,如果不存在,可以选择一个相似的单词作为输 出或者修改程序,使在比较中有一定的偏向,当词典中没有输出的单词时,可修改偏向, 第19页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 重新进入识别过程,直到得到正确的结果。而第二个问题,由于处理过程会大范围修改 设计,因此暂无应对措施。 图15 输入潦草时程序识别 Figure15 Result of bad written 当以比较潦草方式写出英文时,识别率非常低。几乎不能正确识别。 分析原因:这个问题同上一种情况中第二个问题。 表1测试结果 Table1 Test result 书写规范 输入数量(字符) 重复次数 误识率 正确识别率(单字符) 5-12 20 8.68% 91.32 % 标准 6-13 20 26.34% 73.66% 较好 8-12 20 94.7% 5.3% 较潦草 由测试结果可以看出,本系统对于书写潦草的英文单词、名字识别率严重低下,主 要原因已在上面分析过了。因此本系统在不修改识别逻辑的情况下,仅能用于较工整的 手写识别,可用于连笔手写识别。 本文就英文手写识别问题,概览目前识别技术,对比了各种识别方法的优劣,提出 第20页 共22页 西南大学2008届本科毕业生论文 手写英文识别系统 一种可用于运算能力较弱的计算机上的一种识别方法。该方法以模板匹配为基础,利用 动态分割结合模板匹配的方法,边识别边分割,能有效地识别英文单词、阿拉伯数字。 由于知识所限,有部分功能尚未完全实现,限制了该系统的应该范围,特别是应用于潦 草的手写稿的识别不太可能。但对于不会打字的计算机用户仍然可以应用,另外者书写 正规的书信、笔记等,可以通过修改CRecognizer类使之能识别比较广泛的内容。 本系统还有诸多可以丰富的地方,比如增加词典,根据用户选择匹配的模板等,如 果将这些功能实现,它将是一个易用的、快捷的输入平台。如在本文开始所述,它可以 在做较少改动的情况下移植到计算机能力较弱的平台。应用前景非常乐观。这促使我会 在以后回过头来丰富它,完善它,使之实用化。 [1]陈友斌,丁晓青,吴佑寿.非特定人脱机手写英文识别.2003 [2]林晓帆,丁晓青,吴佑寿.手写数字识别.2003 [3]周韶园,王树青,张建明.PCA-CHMM在化工过程故障诊断中的应用. 2001 [4]邹明福,钮兴昱,刘昌平,白洪亮.联机手写英文识别.计算机研究与发展.2006 [5]Judea Homer. Manuscript Recognition using Nerves network.1997 第21页 共22页
本文档为【手写英文识别系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_995397
暂无简介~
格式:doc
大小:233KB
软件:Word
页数:33
分类:
上传时间:2017-09-25
浏览量:52