手写数字识别(Handwritten Numeral Recognition)是光学字符识别技术(Optical Character Recognition,简称OCR)的一个分支,它研究的对象是:如何利用电子计算机自动辨认人手写在纸张上的阿拉伯数字。
一、引言
在整个OCR领域中,最为困难的就是脱机手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中已取得很多可喜成就,但距实用还有一定距离。而在手写数字识别这个方向上,经过多年研究,研究工作者已经开始把它向各种实际应用推广,为手写数据的高速自动输入提供了一种解决方案。
二、研究的实际背景
字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。
这几年来我国开始大力推广的“三金”工程在很大程度上要依赖数据信息的输入,如果能通过手写数字识别技术实现信息的自动录入,无疑会促进这一事业的进展。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社会和经济效益。
三、研究的理论意义
手写数字识别作为模式识别领域的一个重要问题,也有着重要的理论价值:
阿拉伯数字是唯一的被世界各国通用的符号,对手写数字识别的研究基本上与文化背景无关,这样就为各国,各地区的研究工作者提供了一个施展才智的大舞台。在这一领域大家可以探讨,比较各种研究方法。
由于数字识别的类别数较小,有助于做深入分析及验证一些新的理论。这方面最明显的例子就是人工神经网络(ANN)------相当一部分的ANN模型和算法都以手写数字识别作为具体的实验平台,验证理论的有效性,评价各种方法的优缺点。
尽管人们对手写数字的识别已从事了很长时间的研究,并已取得了很多成果,但到目前为止机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题(Open problem)。
手写数字的识别方法很容易推广到其它一些相关问题棗一个直接的应用是对英文这样的拼音文字的识别。事实上,很多学者就是把数字和英文字母的识别放在一块儿研究的。
四、研究的难度
数字的类别只有十种,笔划又简单,其识别问题似乎不是很困难。但事实上,一些测试结果表明,数字的正确识别率并不如印刷体汉字识别正确率高,甚至也不如联机手写体汉字识别率高,而只仅仅优于脱机手写体汉字识别。这其中主要原因是:第一,不同数字之间字形相差不大,使得准确区分某些数字相当困难;第二,数字虽然只有十种,而且笔划简单,但同一数字写法千差万别,全世界各个国家各个地区的人都用,其书写上带有明显的区域特性,很难完全做到兼顾世界各种写法的极高识别率的通用性数字识别系统。
另外,在实际应用中,对数字识别单字识别正确率的要求要比文字要苛刻得多。这是因为,数字没有上下文关系,每个单字的识别都事关重要,而且数字识别经常涉及的财会、金融领域其严格性更是不言而喻的。因此,用户的要求不是单纯的高正确率,更重要的是极低的、千分之一甚至万分之一以下的误识率。此外,大批量数据处理对系统速度又有相当的要求,许多理论上很完美但速度过低的方法是行不通的。因此,研究高性能的手写数字识别算法是一个有相当的挑战性的任务。
五、学习和测试样本库的选择
正如前一部分提到的,手写数字的写法带有明显的地区性和民族性,因而选择一个可供系统训练和测试使用的样本库是手写数字识别研究的重要基础之一,对识别系统的性能也有重要的影响。研究者对所需的样本库有两种选择:一是自己根据需要建立专门的样本库,二是选用其它机构做好的现成的样本库。前者的优点是帖近自己的应用,缺点也是明显的:要费相当的精力且代表性很难保证,与其它人的结果不好比较。因此,现在的趋势是使用有权威性的通用样本库。目前,比较有代表性的、样本数量较大的手写数字样本库有:
NIST数据库,由美国国家标准与技术局收集;
CEDAR数据库,是由纽约州立大学Buffalo分校计算机科学系文本分析与识别中完成的邮政编码的样本库;
ETL数据库,由日本电工技术研究所收集;
ITPT数据库, 由日本邮电通信政策研究所收集。
六、识别系统性能的评价
作为一个识别系统,我们最终要用某些参数来评价其性能的高低,手写数字识别也不例外。评价的指标除了借用一般文字识别里的通常做法外,还要根据数字识别的特点进行修改和补充。
对一个手写数字识别系统,可以用三方面的指标表征系统的性能:
正确识别率
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的提高。因此,在评价手写数字识别系统系统时,我们必须综合考虑这几个指标。另外,由于手写数字的书写风格、工整程度可以有相当大的差别,因此必须弄清一个指标在怎样的样本集合下获得的。
以上多种因素使得不同系统的性能很难做绝对比较,根据作者从文献中所看到的和在科研实践中的体会,可以认为目前手写数字识别研究的较高水平是:对自由书写的数字,在不拒识时达到96%以上的识别率;在拒识少于15%的样本时,误识率能降到0.1%以下。
七、手写数字的识别方法
手写数字识别在学科上属于模式识别和人工智能的范畴。在过去的四十年中,人们想出了很多办法获取手写字符的关键特征。这些手段分两大类:全局分析和结构分析。对前者,我们可以使用模板匹配、象素密度、矩、特征点、数学变换等技术。这类的特征常常和统计分类方法一起使用。对后者,多半需要从字符的轮廓或骨架上提取字符形状的基本特征,包括:圈、端点、节点、弧、突起、凹陷、笔画等等。与这些结构特征配合使用的往往是句法的分类方法。
多年的研究实践表明,对于完全没有限制的手写数字,几乎可以肯定:没有一种简单的方案能达到很高的识别率和识别精度。因此,最近这方面的努力向着更为成熟、复杂、综合的方向发展。一方面,研究工作者努力把新的知识运用到预处理,特征提取,分类当中,如:神经网络、数学形态学等。作者认为,在手写数字识别的研究中,神经网络技术和多种方法的综合是值得重视的方向。
八、基于手写数字识别的典型应用
手写数字识别有着极为广泛的应用前景,这也正是它受到世界各国的研究工作者重视的一个主要原因。下面我们将介绍基于手写数字识别的应用系统的特殊要求,以及一些以手写数字识别技术为基础的典型应用。
(一)基于手写数字识别的应用系统的特殊要求:
尽管手写数字识别与一般的文本(如:汉字,英文等)识别同属于光学字符识别(OCR)的大范畴,从应用的角度出发,手写数字识别应用系统有很多特殊的要求:
1. 识别精度要达到很高的水平:
在一般的文本识别中,信息的冗余较大,有充分的上下文信息,因而对识别的精度要求不是十分高,达到98%-99%就足够了。而在数字识别中,由于没有上下文关系,数据中的每一位数字都至关重要(试想:在财务报表中,把40,000元认成90,000元,从字符识别的角度仅认错了一个数字,但对用户而言,这是一个绝对不能容许的错误)。一般来说,这类实用系统的精度至少应在99.9%以上。前面已经提到,高性能的自由手写数字识别是一个很困难的问题,至今为止还没有什么方法能与人的辨识能力相比,那么在目前的技术水平下,如何满足高精度的要求呢?
要求书写者用规定的字型认真填写,避免使用某些容易造成混淆的变体。
这个限制对用户可能是很不方便的,因为这意味着书写速度的降低和书写习惯的改变,但从整体上,系统的识别水平将有大幅度的提高,能很大程度上提高系统的运行效率。
提高拒识率。
通过提高拒识率就可以减低误识率,直到达到指定的精度要求。当然,拒识的增多意味着操作人员的介入的增加,这对用户是极为不利的。
加入逻辑校验。
在通信系统中,人们常通过加校验码来保证数据的高质量传输,常见的校验码有:奇偶校验,汉明码等。在基于手写数字的应用系统中,我们也可以采用类似的方法。不过,这时校验方式应尽量简单,直观,利于填写人快速算出。
2. 对处理速度也有很高的要求:
数字识别面对的都是极其大量的数据报表,一般都要求达到每分钟几页到几十页的处理能力(包括扫描到完成识别的全过程)。而众所周知,处理速度与处理精度是一对矛盾,现在既要达到前面提到的高识别精度,又要有如此之高的速度,无疑增加了系统的设计难度。不过近年来,硬件水平提高很快,目前市场上已有较低价格,每分钟可扫描10-20页的高性能扫描仪;微机的运算速度更是飞快提高。这些都为高的处理速度奠定了坚实的基础。
3. 要能批量自动作业。
在一般的文本识别中,多是操作者一页页地送入文本,手工帮助机器进行版面分割(机器的自动分割能力往往是十分有限的)后再开始识别,很难保证高质量的批量自动识别。而在数字识别系统中这是一个必须做到且应能做到的基本要求。原因如下:
如果每页的处理都要人手工帮助完成,系统的综合处理速度无法达到要求;
扫描仪的自动进纸(ADF-Automatic Document Feeding)技术已十分成熟;
处理的对象在很多情况下是版面完全相同的大批表格,很容易作到栏目的自动提取。
4. 要有便于批量快速校对修改的手段。
(二)手写数字识别在大规模数据统计中的应用:
在大规模的数据统计(如:行业年检、人口普查等)中,需要输入大量的数据,以前完全要手工输入,则需要耗费大量的人力和物力。近年来在这类工作中采用OCR技术已成为一种趋势。
因为在这种应用中,数据的录入是集中组织的,所以往往可以通过专门设计表格和对书写施加限制以便于机器的自动识别。目前国内的大多数实用系统都要求用户按指定规范在方格内填写。另外,这些系统往往采用合适的用户界面对识别结果做全面的检查,最终保证结果正确无误。可以看出,这是一类相对容易的应用,对识别核心算法的要求比较低,是目前国内很多单位应用开发的热点。
(三)手写数字识别在财务、税务、金融领域中的应用:
财务、税务、金融是手写数字识别大有可为的又一领域。随着我国经济的迅速发展,每天等待处理的财务、税务报表、支票、付款单等越来越多。如果能把它们用计算机自动处理,无疑可以节约大量的时间、金钱和劳力。与上面提到的统计报表处理相比,在这个领域的应用难度更大,原因有:
对识别的精度要求更高;
处理的表格往往不止一种,一个系统应能智能地同时处理若干种表格;
由于处理贯穿于整个日常工作之中,书写应尽量按一般习惯(如:不对书写者的写法做限定,书写时允许写连续的字串,而不是在固定的方格内书写),这样对识别及预处理的核心算法要求也提高了。
(四)手写数字识别在邮件分拣中的应用:
随着人们生活水平的提高,经济活动的发展,通信联系的需求使信函的互换量大幅度增加,我国函件业务量也在不断增长,预计到2000年,一些 大城市的中心邮局每天处理量将高达几百万件,业务量的急剧上升使得邮件的分拣自动化成为大势所趋。在邮件的自动分拣中,手写数字识别(OCR)往往与光学条码识别(OBR---Optical Bar Reading),人工辅助识别等手段相结合,完成邮政编码的阅读。目前使用量最大的OVCS分拣机的性能指标:OCR拒分率30%,OCR分拣差错率1.1%。
九、手写数字识别技术展望
随着国家信息化进程的加速,手写数字识别的应用需求将越来越广泛,因此应当加强这方面的研究工作。作者认为,应用系统的性能的关键与瓶颈仍然在于手写数字识别核心算法性能上,最终目标是研究零误识率和低拒识率的高速识别算法。此外,尽早建立反映中国人书写习惯的、具有国家标准性质的手写数字样本库也是当务之急。