OCR(脱机手写汉字识别与印刷汉字识别)

4 “最后的堡垒”——脱机手写汉字识别

4.1 攻克堡垒待创新

脱机手写汉字识别的用途是把手写字符用字符阅读器自动输入计算机,常用于信函分拣、银行支票识别和统计报表处理以及手写文稿的自动输入。

从工作原理上说,脱机手写汉字识别和印刷汉字识别是一样的。但是由于手写汉字字形变化大,上一章中介绍的各种印刷汉字识别特征和方法不完全适用,目前也还没有一套行之有效的识别方法。这是汉字识别最困难的问题,被认为是模式识别领域最后的一个堡垒

近几十年来各国学者做了很多研究工作,提出了一些思路和方法。但是目前还没有哪一种方法能够解决自由书写的汉字识别问题,已发表的一些实验系统的性能也都不够好,难于付诸实用。因此,在这一章中我们只能择要分析手写汉字的特点,讨论手写汉字脱机识别的主要问题和困难,介绍解决问题的途径、方法以及目前的研究水平;鉴于建立“标准”手写汉字库是开展手写汉字识别研究的基础,因而本章将介绍几种国内外所建立的手写汉字库,供读者参考。我们希望我国能有更多的科技工作者、特别是青年学者踊跃参加中文信息处理的研究,开拓进取,勇于创新,更好更快地攻克这个堡垒。

4.2 手写汉字脱机识别的困难

手写汉字脱机识别跟印刷汉字识别系统同属光符阅读器OCR的范畴。它们的识别对象都是二维的方块汉字,工作原理相同,系统构成也基本相似,但手写汉字脱机识别问题更多,困难更大。

手写汉字脱机识别为什么那么困难呢?我们认为:最根本的原因是手写汉字的字形变化太大!我国有一句俗语:“人心不同,各如其面”。这句话对手写汉字的字形也完全适用。可以说,不同的人书写的字是千差万别,各不相同,即使是同一个人所写的同一个字,往往也因时、因地而有明显的变化。我们知道,脱机汉字识别的对象是方块汉字的图形,用于识别的特征是根据汉字图形提取的,因而字形变化对识别结果具有决定性的影响。为了使读者对手写汉字字形的变化有更具体的了解,下面以几种不同来源的手写汉字字样为例,具体加以说明。

4.1是几种手写汉字的字样。其中图4.1(a)是某种钢笔字帖的字样,这些字写得十分工整,基本上是标准的手写楷书,但它们跟印刷体汉字(包括印刷体的楷书)还有明显的差异。图4.1(b)是我国IAAS-4M手写汉字库的一些字样,在这个字库中,这些字样的质量属于优等。图4.1(c)是常见的一些手写汉字,显然其字形跟印刷体汉字的差别更大,而且笔画形状和结构更缺少规律性。

从上述几种字样可以看出手写汉字的一些特点:

①基本笔画变化。印刷体汉字的笔画基本上是横平竖直,折笔(乛、乙、く)的拐角大都是尖锐的钝角、锐角或直角,因而折笔基本上可以看做是由折线段所组成。我国手写汉字的笔画大都不具备上述的特点:横不平、竖不直,直笔画变弯,折笔的拐角变为圆弧,等等,例如,“品”字的三个“口”变成三个圆圈,“阝”变成“;有时把较短的笔画变为,有时则在起笔或折笔的拐角处增加额外的笔锋,如图4.1(a)怕、杆、史等。

②笔画该连的不连,不该连的相连,这种情况十分普遍。它不是由于干扰等客观原因而产生,主要是由于书写者的习惯而造成的。应,笔画的长短及部件的大小也发生变化。以图4.l(a)的钢笔字帖为例,“担、打、报、择”几个字的偏旁“扌”,其竖笔</PGN0084.TXT/PGN>长短不一,“阳、队、陈、陶”的部首“阝”也大小不同,它们在整字中的位置就有差异。方块汉字字形是一种艺术,书写时要求笔画及部件的形态和相互关系,尽量彼此协调,使整字字形结构匀称美观,因此上述笔画与部件的大小、位置变化,客观上是不可避免的。此外,由于书写者文化水平、习惯等的不同,他们所写的字差别就更大。图4.1(c)的样本属于比较工整的字样,但是不难看出,字形变化仍相当明显。这说明即使是同一个人写的字也有一定的差异。笔画长短、部首大小及位置等的变化,使我们难以仿照印刷体汉字识别的办法事先确定它们的位置,按规定区域提取笔画或部

首特征。

a)一种钢笔字帖的字样;(b)我国IAAS-4M手写标准汉字库字样;(c)一般的手写字字样

4.1 几种手写汉字的字样

 

上面讨论的几种手写字样大体上都是比较工整的楷书,它们字形尚有明显的差别,更何况日常见到的各种手稿或书信中的字,其差别会更大。我国主要的手写字体有楷书、行书和草书三种,如图4.2所示。可以看出,同一个字的笔画和字形几乎迥然不同,相差甚远。草书的字甚至文化较高的人有时也不认识,要求计算机能自动识别这样的手写字显然是不可能,也是不合理的。

因此,对用于计算机自动识别的手写汉字应有所要求。具体地说,对构成汉字的笔画及其相互关系,应有必要的规定和限制,不能无约束地随意书写。这种字叫做“限制性手写汉字”。显然,这种限制不能太严,规定不能过于复杂,否则用户难以适应,识别系统也不容易推广应用。另一方面,对书写的要求也不宜太宽,否则难以使系统具有足够高识别率。这是一个不容易解决的矛盾。通常对书写的基本要求有如下几点:

①书写工整,笔画横平竖直,粗细均匀;

②不同笔画不连笔书写,联机识别时,应按常规笔顺书写。

③每个字符应写在规定方格内(通常为6mm×6mm~12mm×12mm),字符大小尽量一致,笔画不应超出方格。

上述要求并不复杂,但实际上很难完全做到,即使是文化水平较高的人,除非曾经受过书写工程字的训练,否则也不易按上述规定自始至终地书写。这就是手写字符识别的困难所在。

4.3 联机手写汉字识别系统的“课本”——手写汉字样本库

现在来讨论建立“标准的”手写汉字样本库的问题。

建立标准的手写汉字库是开展手写汉字识别的基础。这是因为:其一,研究者必须拥有被研究的对象才能进行研究工作。这跟学生上学一样,必须先有课本才能学习。计算机也必须先有汉字字样才能进行训练,学习识字。其二,这种字符库最好是“标准的”、为多数研究者所采用的,这样才能对各种识别方法的优劣进行比较,也有利于识别系统的推广应用。

但是,如上所述,手写汉字以及数字、字母等字符的图形随意性很大,很难有科学的方法对它们加以描述,也很难提出合理的、可操作的规范对它们加以刻画;因此,至今还没有满意的、具有权威性的手写汉字库。在手写字符识别研究初期,为了工作需要,有的研究单位,如加拿大的Concordia大学和日本的一些公司,不得不自己设法建立供研究用的手写字符库,同时也制订了一些标准和要求,对书写的格式和工具等施加一定的限制,力求使所建立的手写字符库能满足实际应用的要求。近10多年来各国建立的手写字符数据库已逐渐增多,如美国国家标准局所属OCR委员会制定的NIST手写字符数据库,日本电子技术研究所的ETL系列手写体汉字库等。20世纪80年代中期以后,在我国863计划支持下,中国科学院自动化所建立了IAAS-4M手写体汉字样本库,其后清华大学、北京邮电大学和华南理工大学等单位也建立了各自的手写体汉字样本库。下面择要介绍几种手写汉字库的特点,供读者参考。

1)ETL手写字符库

日本电子技术综合研究所(ETL)于1984年建立了一个名为ETL-8的手写字符库,收集了日本教学用的881个汉字和75个假名,1984年后扩充至3000个汉字。

4.3是ETL-8的样张片段。可以看出,这种手写汉字相当工整,几乎可以和印刷体汉字相比拟;基本笔画大体上保持平直,因而通常把它叫做“手写印刷体汉字”。这可能与日本人的书写习惯有关,但也许是考虑到适应计算机自动识别的需要,因而对书写提出较严格要求的缘故。顺便指出:日本学者发表的有关手写汉字识别研究的文章中,其识别率大多在95%以上,可能跟采用这种工整的手写汉字库有关。

2)IAAS-4M手写汉字样本库

我国中科院自动化研究所于1980年开始从事建立手写汉字样本库的工作,1988年建成了IAAS-4M汉字库。该库拥有3755个国标一级汉字、305个数码、符号、字母和若干个常用的繁体字,总计共4060个字符。每种字符有1000个样本,构成一个共有400万个字符样本的数据库。图4.1(b)已给出该库汉字字样的片段。用于书写的纸张上印有8mm×8mm的方格,要求书写者按自己的习惯书写,但需把字写在方格内,不得潦草;书写笔的笔尖不应过粗,以免笔画粘连使字形模糊。所收集的样张经筛选后根据字形质量分为优、良、中、差四等。前三者各占30%,最后一类占10%,主要原因是书写潦草,字迹不清。IAAS-4M手写汉字样本库的汉字书写者来自不同地区,包括不同年龄、性别、职业和不同文化水平的人员,对书写的限制较少,只要求尽量按楷书规范书写,因而样本库基本上反映了我国日常使用的手写汉字的状况,可以作为研究手写汉字脱机识别的样本。但是由于对书写限制较少,字形差别很大,因而采用这种字库进行训练、测试的识别系统的识别率不高,一般首字识别率在80%左右,十字识别率也只达到90%。

4.4 脱机手写汉字识别的主要问题及其解决办法

脱机手写汉字识别和印刷汉字识别的对象都是方块汉字的点阵图形,因而它们的工作原理是一样的,识别系统的构成也大体上相同(参看图3.2)。但手写汉字的字形变化大,识别更为困难。

如何有效地解决手写汉字的变形问题是脱机手写汉字识别的核心问题之一。解决这个问题有两种思路,一是在“预处理”的环节中采取“矫形”措施,使汉字字形变得较为工整。另一种途径是精心选择识别特征,使同一种汉字不同样本的特征,其差别尽量小;而不同汉字的特征,其差别则尽量大,这跟对印刷汉字识别的要求是相同的。

在“预处理”环节中采用图像处理技术来纠正图形失真是一种常用的办法。图4.4是这种“矫形”方法的示例。这种方法对于“有规律性”的图形失真非常有效。例如,照相时如果聚焦不好,或镜头晃动使相片模糊,采用适当的办法可以很好地恢复原来的图像,如图4.4所示。

对于变形的手写汉字采用适当的“非线性变换”方法也可以矫正字形的变化,使它变得较为工整。图4.5是一种“矫形”方法的例子,其中图4.5(a)是原来的手写汉字字形。可以看出,这个字的重心不在中央,右边的一“捺”也太长!矫正的办法是把字形的左边部分在水平方向加以放大,右边部分则加以压缩。经过这个处理之后,这个字的字形可以变得较为工整。上述处理方法,技术上叫做非线性变换。

应该指出的是,由于手写汉字的字形变化没有一定的规律,因而很难有一种能够较好地、万能地矫正各种字形变化的方法。采用某一种非线性方法可能对矫正某种字形变化有很好的效果,但却不能有效地纠正其他类型的字形变化,有时甚至会适得其反。这是脱机手写汉字识别一个难以解决的难题,对提高系统的正确识别率有极大影响。

 

目前解决手写汉字字形变化对识别性能影响的主要途径,仍是精心选用识别特征,使其既能代表各个汉字的基本特点,又能适应字形变化,以保证识别系统具有足够高的识别率。20多年来各国学者在这方面做了很多工作,提出了很多方案:在结构识别法方面,有笔画分析一综合法(ABS法)、笔画序列识别法、属性关系图法(ARG)与多边形近似轮廓法等;在统计识别特征方面,有变换特征、笔画密度特征(SDF)、笔画方向特征(S-DCD)、背景特征、细胞特征以及方向线素特征,等等。这些特征各有特点,但都不能彻底解决脱机手写汉字识别的问题。通常是采用一些综合特征,取长补短,以获得较好的效果。目前已达到的水平是:对于书写工整的文稿,正确识别率在90%左右。我国原国家科委等五个单位为了推动智能人机接口的研究工作,组织了一个“全国汉字识别、语言识别与合成系统及自然语言处理系统”评测小组,定期对国内各单位的研究成果进行评测。第五届评测工作于1998年在北京举办。在脱机手写汉字识别方面有六个单位参加,测试字数共187750个。测试结果是:最佳的首字识别率为88.87%,前十字正确率为97.91%。大多数单位研制的系统,首字识别率都在85%以下,难以满足实际应用的要求。

对各个系统的测试结果进行分析后我们发现:①笔画多、字形复杂的字错误较少;相反,笔画少、特别是字形相似的字错误较多。因此,应该有针对性地加强对这些容易错识字的研究工作。②前十字正确率都很高,大都在98%左右,这对利用上下文关系进行后处理以提高识别率很有利。有关后处理的原理与方法在第5章中再作介绍。

脱机手写汉字识别是汉字识别最为困难的问题,被认为是该领域内未被攻克的最后一个堡垒。

近二三十年来计算机技术虽然进展神速,但其工作原理却没有实质性的变化。模式识别是计算机技术的应用领域之一,情况也是如此,识别方法也没有跳出原来的窠臼。以汉字识别为例,根据方块汉字二维点阵图形提取的特征来识别汉字,仍然是脱机识别系统唯一可行的办法。因此汉字的字形变化超过一定限度时,所提取的特征也必有较大的变化,而计算机的智能又不高,缺乏“去伪存真、分清主次”的能力,无法有效地判断、消除这种变化的影响,其结果必然使系统识别率下降。这是目前汉字识别系统、特别是手写汉字识别系统的性能难以提高的根本原因。

因此本章较多地讨论了脱机手写汉字识别的困难和问题,虽然也从技术上讨论了一些解决问题的思路,但还不能给出切实可行的解决问题的方法和答案,也不可能介绍可供应用的识别系统。不过我们不是悲观论者,不会在困难面前退缩。人类社会的发展过程中经常会遇到某些一时难以解决的问题,随着人们认识的提高和技术的进步,很多原来以为解决不一了的问题都陆续解决了。10多年前的汉字识别也曾被视为“拦路虎”,相信这个最后堡垒也是能够攻破的。

5 实用印刷汉字识别系统

5.1 沿“实现产业化”的方向做不懈努力

汉字识别是计算机智能人机接口的主要研究课题之一,对解决计算机汉字录入问题具有十分重要的意义。如何使汉字识别系统付诸实用是20年来我国有关科技工作者为之努力奋斗的目标,也是中国学者必须担当的重任。经过多年的努力这个目标已基本达到了。

1965年IBM公司Casey和Nagy两位学者发表了第一篇关于印刷汉字识别研究的学术论文以来的30多年间,各国学者在汉字识别方面做了很多工作,取得了丰硕成果。日本在这方面投入的人力物力最多,写出了很多学术论文,也有一些产品问世。但是日本使用的汉字字数较少,字体也不多,80年代研制的汉字识别系统字数在2000个以下,所采用的主机也大都是小型机或者专用的大型计算机,价格昂贵,我们难以采用。

我国开展汉字识别研究始于20世纪70年代末。虽然我们起步较晚,实验条件也很差,但目标明确,今天看来,我们的技术路线比较合理,因而研究工作进展很快。1985年前我国只有少数单位从事探索、研究,发表了一些文章,研制了几种模拟软件或实验系统。经过短短几年的酝酿,我国在汉字识别方面的研究工作就形成高潮,不但参加单位和科技人员数量大幅度增加,在研究成果方面也有极大的进展。首先是总参通信部与中科院自动化所合作的联机手写汉字识别系统研制成功;其后不久,1986年清华大学原无线电系又制成了一个能识别6763个印刷汉字的系统,在国内外当时还没有先例。这些成果的取得使我国在汉字识别这个前沿科技舞台上取得了一席之地。在国家863高科技计划支持下,我们的研究工作,按照“发展高科技、实现产业化”的方针,不断朝着改进系统性能、促进成果实用化的方向发展。80年代末至90年代初的几年间,又先后有11个单位的14项研究成果通过技术鉴定,其中有几种系统脱颖而出,在市场上推广应用,成为我国有关部门建立汉字数据库重要技术装备之一。曾经困扰我们的只用一个字典识别多字体印刷汉字的问题,以及当时国际上刚刚提出的汉英或汉日混排文本识别等问题也先后解决了。此外,在复杂版面自动分析和理解、版面自动分割,以及实现“原版重现”(俗称“所得即所见”)等方面也都取得很好进展,满足更多用户更高的需求,大大开拓了汉字识别的应用范围。这些成果的取得都是值得我们自豪的。

识别系统的核心技术是识别特征的选择与提取。本书前面各章中我们围绕这个问题详细讨论了选择识别特征的原则和提取方法,在此基础上介绍了几种汉字识别系统的工作原理和实验系统。但是在一个实用的识别系统中,除了特征提取与匹配判决之外,还有许多必不可少的环节,如输入装置、预处理、后处理以及输出装置等等。这些环节与整个系统的性能有着密切的关系,对提高整个系统性能至关重要。在实践中我们认识到,对识别系统的所有环节都必须妥善处理,适当安排,否则我们所取得的研究成果只能停留在实验室内,难以在实际中得到应用推广。这可能是我们的许多科研成果不能及时转化为产品的症结所在。

因此,在这一章中我们将以一种实用的印刷汉字识别系统为例,较详细地介绍识别系统的构成和系统各个环节的作用,特别是分析它们对系统性能的影响,并提出解决的办法或方向,使读者对汉字识别系统能有更具体深入的了解。

5.2 印刷汉字识别系统的构成

5.1是一种实用的印刷汉字识别系统较为完整的方框图,图5.2是它的部件配置照片。

整个系统的工作过程主要包括下列诸项:

①原始文本的扫描光电转换输入。一般采用图像扫描仪将文本按页面逐页扫描输入,再选择合适的阈值二值化,得到二值的文本图像。

②文本版面分析。将输入后版面的原始文本图像数据按页面中的间隔分割成一些方块,再将这些方块按不同篇章的标题、摘要、作者、正文、图像和表格等,对其属性和相互连接关系加以理解和标注。

③字符的切割。将各文字块中每一文字行逐一切割出来(称为行切割),然后再将每个文字行的字符一个个地顺序切割(称为字切割)。

④归一化处理。单个字符图像在特征提取以前,一般要进行归一化处理,包括位置归一化和大小归一化,以便对各种大小的字符都能正确识别。

⑤特征提取。对归一化后的各个字符图像进行特征提取,得到每个字符的特征描述。

⑥字符的单字识别。通常先根据每一个字符的特征进行预分类,得到待识字符较少的候选字符集合;然后再从候选字符集合中将待识字符识别出来。

⑦后处理。通常利用词条或上下文关系对单字识别结果进行后处理纠错。

⑧输出识别结果。识别的结果可以显示在计算机屏幕上,可以打印输出,可以利用语音合成设备转变为声音读出,也可以作为文件存入计算机文档系统或直接写入有关数据库中,作为可供查询的文本文件。

5.3 实用印刷汉字识别系统的总体技术指标

实用印刷汉字识别系统的总体技术指标主要有如下各项:

1)识别的字符类总数

系统识别的字符类总数决定整个系统的识别容量。

我国1980年公布的国家标准GB 2312-80《信息交换用汉字编码字符集——基本集》(简称国标)中第一级常用汉字共有3755个,第二级有3008个,两级共有6763个汉字。目前常用的汉字操作系统一般也只包含这两级汉字。根据汉字综合频率表的统计结果,一级汉字使用频度已大于99.7%,二级汉字除约500汉字较经常使用外,其余的二级汉字和二级以外的汉字主要用于人名和地名,约有一两千字,这些字的使用频度比较均匀。我国台湾目前常用汉字为5401个汉字(繁体汉字)。

目前我国汉字识别系统所识别的汉字字符集,一般分为三级:第一级包括国标第一级汉字,即3755个汉字;第二级包括国标一、二级两级汉字,共6763个,或包括用于我国台湾的5401个汉字;第三级扩大至近万个汉字,识别汉字字符集的确定应根据需要和可能综合考虑。由于一级汉字的使用频度已达99.7%,因此,受系统资源的限制,扩大字符集对识别率的提高可能好处不大,但对计算机内存的要求会大大加重,识别速度也会显著下降。目前国内研制的系统主要以国标一级汉字为主,也可以适当增加一些较常用的二级汉字和专用汉字。

由于实际文本、杂志中,除汉字字符外,还包括标点符号、阿拉伯数字、英文字母等,尤其近来的报纸、科技书籍经常混有不少英文或其他外文字符,因此实用汉字识别系统的识别字符集内还应当包含这些字符集。具体字符集的规模和内容,可根据实际应用的需要仔细选用。

综上所述,实用汉字识别系统的识别字符集应由汉字、标点、符号、数字、英(其他外文)文字母等部分组成,字符总数在4000~8000之间。

2)识别的字体

我国常用的印刷字体大致分为宋、仿宋、黑、楷四大字体,各种字体还有许多较小的子类,如宋体字就有报宋、书宋、大标(题)宋、小标(题)宋、扁宋、长宋等字体;仿宋字体有老仿宋、新仿宋;黑体还有扁黑、长黑、粗黑、细黑之分;楷体又分正楷、长楷和扁楷;等等,因此常用字体总计有16种以上。只有对所有这些常见的多种印刷字体都能识别,才能真正解决印刷文本的自动输入问题。在设计多种字体印刷体汉字识别系统时,往往选用最常见的书宋、黑、仿宋和楷四种最主要字体,这些字体也是结构差别最大的四种字体。保证了这四大字体的高识别率,其他变化较小字体的识别问题也就基本上迎刃而解了。

通常把只能适应单一种字体的印刷汉字识别系统称为单字体印刷汉字识别系统。这种系统采用切换特征字典的方法来识别不同字体的印刷汉字。能用同一特征字典识别</PGN0100.TXT/PGN>多种字体(如同时识别宋、仿宋、黑、楷四种主要字体)的识别系统称为多字体印刷汉字识别系统。目前我国的印刷汉字自动输入大都是多字体汉字识别系统。这是因为:第一,我国的印刷资料大都采用各种字体和各种字号的汉字混合编排的,识别不同字体时要求人或系统自动切换相应的特征库是十分困难的、甚至是不可能的,出路只能是采用同一特征库来识别它们。第二,实践证明,采用单一特征库的多字体汉字识别系统不仅对字体的变化有很高的适应能力,而且对于字号的变化,以及印刷质量、扫描输入噪声也具有很高的应变能力。因此,真正解决印刷汉字识别系统的实用化,就必须解决多字体印刷汉字的识别问题,实现具有高度鲁棒性的,能适应实际印刷文本复杂变化的实用系统。

3)识别的字号

我国铅字的字号约有16种,从特大号直到7号字的大小比例相差约9.3倍。不同大小的汉字经常同时出现在同一文本中。不同字号的汉字,其大小差别较大,识别时必须对大小进行归一化。实践表明,能识别多种字体的汉字识别系统,具有较强的适应汉字字形结构变化的能力,从而也具有适应字号变化的能力。因此只要对不同字号汉字进行一定比例的归一化处理,原则上就可以解决所有字号汉字的识别问题。唯一还需要考虑的是,要有足够清晰度的扫描输入设备,保证提供足够清晰度的汉字图像点阵,以供识别之用。

4)识别率

这是系统最重要的指标。识别率分两种,一种是指被正确切分的汉字图像被正确识别的概率,称单字识别率,另一种是识别结果相对原始文本而言的正确识别的概率,称为系统识别率。从原始文本到识别结果输出,中间要经过扫描输入、行切割、字切割,然后才进行单字识别,中间各步都有可能影响识别率,尤其是字“切割”这一步往往容易发生切分错误,造成字符的误识。因此,系统误识概率主要包括切分错误和单字识别错误。实验表明,由于文本印刷的复杂性,切分错误造成的误识有时甚至会超过单字识别产生的错误。这告诉我们,除了努力提高单字识别率外,还要花大力气提高文本字切割的质量,保证最终系统识别率的提高。

汉字识别系统的识别率是和印刷文字的质量密切相关的,而且好坏差别较大。也就是说,没有统一的印刷文字质量标准是难以进行系统识别率比较的。

影响印刷文字质量的主要因素有:

①印刷文字产生方式的不同造成汉字的质量差异。我国常用的印刷方式有铅印、胶印、激光打印、油印和计算机点阵式打印机打印等。不同方式的汉字不仅形状有较大差异,而且印字质量相差也很悬殊。铅印、激光打印的印刷文字质量较好,边缘轮廓清晰、笔画完整;胶印次之;最差的是油印和传真机打印输出的文字,笔画边缘模糊,笔画往往有残缺或粘连。这两种文字目前很难用一般印刷汉字识别系统来识别。因此,在论及汉字识别系统的识别率时,一定要对被识别印刷文字的印刷方式加以明确限定,因为它是影响识别率的重要因素之一。

②印刷文本纸张质量的影响。纸张质量和纸张的密质程度(紧度)、白净程度(白度)、光洁度和不透明度等有关。纸张的质量直接影响到印刷体文字的识别率。对汉字识别来说,对印刷纸张应有一定的要求,以保证汉字识别的质量。

为了对汉字识别系统的识别率进行比较,一般应选定一定印刷方式、一定纸张质量、同样印刷文字质量的文字进行识别测试,或采用统一的文字数据文件进行识别测量,所得识别率才有进行比较的意义。另一方面,这也说明了,为了推广汉字识别系统的应用,也应对上述两方面内容制定相应的标准和规范,使汉字识别系统的设计和应用都有所依据。这项工作需要各方面的配合,也是十分重要的工作。

实用汉字识别系统在正常识别条件下的单字识别率应达到98%~99%以上,系统识别率也应在95%~96%以上,才有实际使用价值。

5)识别速度

汉字识别速度分单字识别速度和系统识别速度两种。

单字识别速度可以是从汉字特征提取到识别结果输出所需的单位时间内识别的字数,也可以是从行切割到识别结果输出的单位时间内识别的字数,这两种一般都称为单字识别速度。另一种是以从文本扫描输入开始,直到识别结果输出所需的时间为标准,这样计算出的单位时间内平均识别的字数,称为系统识别速度。作为系统真正的效益是由系统识别速度最终体现出来的,它应作为系统真正追求的目标。

识别速度和正确识别率是一对矛盾。这是因为,要获得高的正确识别率,一般必须采取较复杂的特征和匹配算法,</PGN0103.TXT/PGN>并花费较多的计算代价,因而会使识别速度有所下降。因此系统设计时必须综合考虑两者:一般是把高正确识别率的要求放在首位,在缺乏高识别率的前提下提高速度的意义是不大的。这是因为,由于错识字符的纠错要花费时间,也会将系统识别速度降下来。

目前单字体印刷汉字识别系统的单字识别速度在386微机上可达到10~20字/秒,多字体印刷汉字识别系统可达5~10字/秒,利用部分专用硬件,识别速度可达30~70字/秒以上。

6)系统配置的代价

作为实用系统,除了性能指标以外,还必须有经济指标。要尽量降低系统价格,才能易于推广使用。目前国内研制的汉字识别系统都是建立在微型计算机的基础上,用软件实现的。系统配置代价较低,性能受到一定的限制。随着汉字OCR的不断推广,今后对其性能(特别是识别率和识别速度)将会更高的要求,如何妥善做好系统配置,使其具有较高的性能/价格比是一个应该研究的问题。

5.4 汉字识别系统的输入装置

脱机汉字识别系统(OCR)的输入装置用来将印刷、打印或书写在纸张上的文字图像,经传感器转换为电信号输入计算机,以便计算机进行识别处理。

在脱机汉字识别系统中,输入装置是一个光电转换设备,常用的有图像扫描仪、电视摄像机和传真机。目前一般采用图像扫描仪,如图5.3所示。它是采用线阵CCD光电传感器,利用步进电动机实现机械垂直扫描运动,将同一版面的文字图像扫描输入的。为了将多页文本不断换页扫描输入,有的图像扫描仪还配置有专门的换页装置,如HP公司的扫描仪中的自动供纸装置ADF。扫描仪采用封闭的光学扫描环境,受周围环境的影响小,图像稳定,干扰小,扫描精度较高,有200,300,400和600点/英寸。有时可以利用软件处理办法把扫描精度的调节范围扩大,如300点/英寸的扫描仪利用软件可以在38~600点/英寸的范围内以1点/英寸的增量调节扫描精度。

图像扫描仪的扫描精度和所能获取的汉字图像点阵大小(或称汉字图像清晰度)直接有关。识别时从字切割后得到的汉字图像点阵中提取汉字特征,对汉字进行识别。因此汉字图像的点阵大小是影响汉字识别率的重要因素,也是汉字识别系统的重要参数。常用的汉字图像点阵有48×48,64×64乃至96×96等几种。点阵数大,汉字图像清晰度高,包含的信息量大,这对汉字识别是有利的。但点阵太大也有明显的缺点,就是数据量大,运算负担加重,速度会受影响,以及对扫描仪的要求提高等。

对汉字图像点阵大小的选择决定了对输入扫描设备清晰度的要求,表5.1列出在不同点阵时识别5号、6号、7号汉字所需要的扫描仪清晰度。显然字的尺寸愈小,要求的扫描清晰度也愈高。目前商用扫描仪的清晰度为300~400点/英寸,一般可以满足汉字识别的需要。

从以上分析可见,汉字图像点阵数增加,要求输入设备清晰度相应提高,同时所需的内存和处理时间也增加,这些都是我们所不希望的。但是,由于汉字笔画数多、结构复杂,汉字点阵数减少会使笔画粘连而发生错识。为了得到高的识别率,有时宁愿将汉字点阵选得略微高一些。一般采用48×48的汉字点阵,基本上能满足印刷汉字识别的需要。

图像扫描仪(见图5.3)通过专门设计的接口电路跟计算机接通,可把A4页面的文本图像输入计算机。输入图像可以是二值图像或灰度图像,灰度图像可以有16级的或64级灰度的,后者含有更多的信息,但需要比二值图像高出4~6倍的存储容量。用于汉字识别时,一般可根据输入文本印刷质量的不同,选择不同的灰度门限,将灰度图像转换为符合识别要求的二值图像。

 

除了上述台式图像扫描仪之外,目前市场上出售的还有价格便宜的手持式图像扫描仪(见图5.4 ),其清晰度可手动分档调节,最高可达400点/英寸,灰度门限也可连续手动调节,使用方便。缺点是扫描窗口一般仅4英寸,每次输入的页面面积小,且输入文本质量由于手持运动抖动而受到影响,从而使识别率有所下降。但在一定范围内(如输入小块文本时)还是可以采用的。

5.5 文本的版面分析和理解

报刊、杂志、书籍和表报等各种印刷文本的内容除了正文和插图之外,还有大小标题、注释、公式、表格以及作者姓名及地址等项目。这些内容在版面上的安排有一定的、但不是固定不变的顺序和规则。例如:在期刊杂志中标题大多放在正文之前,并用较大的字号排印;其后是作者姓名、单位名称与地址;在大块正文之间往往穿插有小标题、公式和图片;正文的编排可以是单栏、双栏甚至是3~4栏。总的说来,书籍和一般刊物的版面编排比较简单,花样不多,报纸和某些大型刊物的版面编排较为复杂、多变,例如同一篇文章的正文分为若干小块,交叉排印,有的甚至穿插一些“花边”,其目</PGN0108.TXT/PGN>的或许是使整个版面更有“艺术”特色,不会过于呆板,更能吸引读者的注意和兴趣。我国20世纪30年代的上海报纸就有一种缀有“花边”的小文章,被冠以“花边”新闻的“雅号”。这种“花边新闻”大都是一些短小精悍、针砭时弊,施加鞭贬的文章,当时曾经吸引众多读者的注意,还形成为一种很有特色的流派,叫做“花边文学”,在社会上特别是文化界中影响极大。由此可见报刊杂志版面加以精心地艺术性地编排是有道理和必要的。

对于这样丰富多彩的印刷版面,人们在阅读时大都能一目了然,理解其中的含义及相互连接的关系,从而能够正确阅看每一篇章及其相关的图片与表格。然而,如果我们不赋予电脑必要的功能,它将无法处理这样的复杂的排列组合,也难于对其中的文字进行识别。这种特殊功能就是对文本版面的分析与理解。

版面分析是把印刷文本同一版面中的图像分割成一些图像块,每一图像块大小不等,但都含有相对独立、完整的内容。如标题、正文段落、标注、图、表和公式等等。

版面理解是在版面分析的基础上进行的。其作用是判定各图像块的属性及相互之间的逻辑关系。文本各图像块的属性主要包括:标题、摘要、小标题、作者姓名及其单位、图表、标注、表格等等;它们之间的逻辑关系则包括:是否是同一篇文章的图像块、同一篇章各图像块的连接关系(如大标题、作者、摘要、正文、小标题),以及同一篇章但不在同一栏目的图像块的连接关系等等。显然,一个完整的识别系统必</PGN0109.TXT/PGN>须具有对每一版面的图像进行正确分析、理解的能力,才能把经过识别的文字及相关插图、表格等,按顺序自动地连接成完整的篇章,供后续各种处理之用。

把印刷文本版面分割成图像块的方法原则上比较简单。同一版面中的图像块往往是被空白的背景区分隔开的。寻找出背景区的位置,就可以把各图像块分割开来。这种方法和第1章所介绍的行分割和字分割相同,利用文本图像的水平投影和垂直投影就能够确定背景区的位置,实现各图像块的分割。图5.5是版面分割示意。这个版面的编排比较复杂;正文分三栏排印,标题及图片的宽度则都是两栏,而且在垂直方向上互相重叠。显然,如果将整个版面图像分别进行水平和垂直投影,则难以求得能够将它分割为若干图像块的空白间隔。对于这样比较复杂的版面,一般可采用局部投影方法,先将能够分离的图像块分割开,再处理其他部分的问题。

版面理解目前还没有较好的通用的方法,看来也很难有“放之四海而皆准”的方法。其原因是版面的安排已不是一门科学,而是一种艺术。目前解决这个问题的方法之一是根据图像块的投影来确定该图像块的属性。例如:正文的投影有周期性的行空白间隔,而插图的投影则是连续的;又例如,标题的空白间隔宽于正文各行间隔,其投影高度也比正文大。此外在一般情况下,横排文本的标题在正文之上,竖排文本的标题则大多在正文右侧,等等。

5.6 汉字的行切割和字切割

汉字文本经光电扫描输入计算机,再经过对文本的二值图像进行版面分析。将文字图像分割出来以后,为了识别单个汉字,还需要将每个汉字的图像从整块文字图像中分割出来,才能送到识别装置进行识别。</PGN0111.TXT/PGN>

我国现在的汉字文本有横排版和竖排版两种。横排版的文字从左向右编排成行,然后再从上往下逐行排列。竖排版的文字则是从上往下按列编排,然后将各列文字再从右往左排列。对于横排版面要先按水平方向进行行切割,然后再按垂直进行字切割。竖排版的行、字切割方法与此相似。下面以横排版面为例说明行切割、字切割的方法和所遇到的问题。

1)行切割

行切割的方法是:对二值图像从上到下逐行扫描,同时计算每扫描行的像素,以获取图像的水平投影。利用文字行间空白间隔造成的水平投影空隙,即可以将各行文字分割开来,如图5.6所示。

在图像输入时,有时会出现纸张倾斜,造成文字行的倾斜。少量的倾斜对行切割以及后面的字切割和识别影响都不大。但倾斜严重时,相邻两行文字图像的水平投影可能互相重叠,使它们之间的空白间隙被填满而无法实现行切割(见图5.7)。这种问题原则上可设计一套软件,将文字图像旋转适当的角度来解决;但用软件的办法运算量很大,实际上难于采用。最直接的方法是尽量把纸张的位置放正,再进</PGN0112.TXT/PGN>行扫描和识别,因为一般目测纸张放正就满足要求了。当行空白间距过小且每行的长度又很长时,纸张倾斜的影响较大,一般也采用人工矫正方法较为便捷。

2)字切割

字切割的作用是从行切割后得到的文字图像行中将单个汉字的图像分割出来。字切割的正确与否直接影响识别结果,是汉字识别系统中较重要也较困难的环节,特别是汉字与其他文字混排时,字切割就更为困难。

字切割的基本方法是,利用字与字之间的空白间隔在图像行垂直投影上形成的空白间隙,将单个汉字的图像切割出来的,如图5.8所示。

但是汉字中有相当数量的由左、右两部分构成的二根字和由左、中、右三部分组成的三根字。据对3755个宋体汉字的统计,其中二根字有约250个,如“八、北、非”等;三根字也不少,如“川、排、衍”等。这些字的图像垂直投影在一个单字内部也会出现空白间隙,因而单纯使用垂直投影空白间隙切分单字的切割算法会产生误分。

字切割中遇到的更为困难的问题是目前报刊、杂志中的阿拉伯数字是按半角宽度(半个汉字宽度)排版的,即两个阿拉伯数字占据了一个全角汉字的宽度,它们之间的间隔也往往小于两个汉字之间的空白间隔,这和二根字的情况极为相似,如图5.9(a)所示。这些情况在标点符号非常靠近时也会出现,如图5.9(b)所示。

目前解决这些问题有如下几种办法。

①根据方块汉字、拼音字母、阿拉伯数字和标点符号的图形高度、宽度和间隔不同,综合利用投影的空白间隙宽度、黑像素投影值,以及投影宽度和高度等信息来进行切割。在以汉字为主的版面中,这种方法较为简单可行,个别切分错</PGN0114.TXT/PGN>误对总体识别率影响较小,可再进行人工校对加以纠正。

②把两个半角的阿拉伯数字图像当做一个新的字符来识别。也就是说,在字切割时,是把两个阿拉伯数字的图像当做是一个新的字符图像切割下来,加以识别的。这样在识别字符集内至少需要增加100个字符。

随着我国科学技术的发展,在各种印刷资料中,汉字、数码和拼音字母混排的情况日益增多,目前我国印刷文字排版又缺乏一定规则可供遵循,因而在识别系统中如何正确分割不同类型的字符,并采用相应的字典进行识别,这是一个必须重视的问题。这个问题的解决不但要充分依靠切分技术的改进,也需要出版界对印刷字符的排版方法制订适当的规则。只有各方面相互配合才能得到更好的效果。

5.7 汉字图像的归一化

行切割和字切割后所得到的单个汉字图像还必须进行归一化处理,以消除因排版及字号、字体不同而带来的汉字图像在位置和大小上的变化。归一化处理主要包括“位置归一化”和“大小归一化”两种。汉字识别主要是以汉字的图形为基础的,如果不对汉字点阵图像在位置和大小上进行归一化处理,使待识字跟字典中的标准字按相同的准则一致起来,那么根据汉字点阵图形抽取的识别特征就无法相互比较,进行判别。

位置归一化和大小规一化的方法有好几种,本文不能详述。图5.10(a)是待识别的一篇短文,包括标题、日期和正文三部分。其中标题是4号字、日期是6号字,正文是小5号字。它们的大小差别很大,经字、行切割后,各个单字图像的位置也有所变化。因此在提取特征进行识别之前,必须先对它们的位置和大小做归一化处理。图5.10(b)是经归一化处理后的图像。

5.8 怎样建立识别系统中的字典

在前面的章节中我们着重讨论了识别特征的问题。在确定系统所采用的识别特征和提取方法之后,还有很多重要的问题要解决。例如:如何对系统进行训练,建立所需要的字典?如何利用字典对输入的待识字符进行匹配、判决,给出单字识别结果?对于单字识别器输出中错误能否校正,如何校正等等。这些问题也都十分重要,是一个完整的汉字识别系统必不可少的环节。在下面各节就来讨论这些问题。

为了讨论上述这些问题,我们把单字识别模块和后处理模块的框图再画在图5.11中。其中,单字识别模块包括字典和匹配判决器两种部件;后处理则包括词条库和词匹配器两部分。本节先讨论怎样建立识别系统中的字典。

我们知道,计算机必须先有一个“字典”才能“识字”。在计算机中建立字典(特征库)的过程,叫做训练过程或学习过程,用它来认字的过程叫做识别过程或匹配判决过程。这跟人们读书识字的过程相似。小学生到学校读书,要先在老师的教导下进行学习,然后自己才能读书识字。

对计算机进行训练、建立字典的方法,从原理上说是比较简单的。假设识别系统应能识别的字数为N个。训练时抽取每一个汉字的特征,把它们存储起来,原则上就建成了一个特征库,可以用来识字了。但是实际上同一个汉字的不同样本(例如不同字体、不同字号等)彼此之间是有差异的,从不同样本抽取的特征也有所不同,因此,只采用某一个汉字样本的特征来建立特征库是不妥当的。解决这个问题的办法是每个汉字都采用若干个样本的“平均”特征来代表这个汉字。换句话说,计算机必须先学习如何适应各种使用条件的变化,才能具有较高的“智能”,适应复杂多变的情况。

用于训练的汉字样本集合叫做训练样本集合。通常汉字OCR训练样本集合的字数应为系统容量的10倍或几十倍。如果系统容量为3755个汉字,那么训练样本集合至少应有37550个字。训练时,依次抽取集合中各个汉字样本的特征,把它跟已存储在特征库中的特征相比较,同时适当调节有关参数使系统能正确识别这个字。然后,按照这一方法再输入另一个样本并进行识别。这样反复迭代,直到系统能正确识别训练样本集合中的所有样本为止。经过训练后的特征库用于识别训练样本集内的样本时,识别率一般可达到100%,但用于识别训练样本集以外的其他汉字样本集(叫做测试样本集)时,识别率将有所降低。但性能好的识别系统在实际应用时,其识别率仍应不低于98%~99%。实践证明,训练样本集合的样本越多,效果越好。这和人们的学习规律是一致的。我们常说:“见得多,识得广”就是这个道理。当然训练样本集合也不宜太大,否则所需的训练时间太长,花费太大。

5.9 单字识别中的匹配判决

单字识别模块中“匹配判决”的作用,是把待识汉字的特征和字典中的标准特征逐一比较,按照一定的准则把某一个标准特征所代表的汉字判定为识别后输出的汉字。

汉字OCR中通常用两个特征之间的“距离”作为准则来判定它们的相似度。当字典中某个标准特征和待识汉字特征之间的距离为最小时,该标准特征所代表的汉字就判决为待识的汉字。

下面举一个例子来说明单字识别模块是怎样对输入的待识汉字进行判决的。

5.12 (a)是待识汉字样本——一篇文件的“标题”,共有38个汉字和一条“间隔符号”(长横)。图5.12(b)是识别模块判决器给出的候选字及其“距离”,其中第一列的汉字(第一候选字)和该“标题”中对应的待识汉字距离最近;第二,三……各列的字则依次是距离较大的字,这些汉字右边的数字是字典中该汉字的标准特征与待识汉字特征的“距离”。如果采用“距离最小”的判决准则,则该标题经识别后的输出结果是

 

从上述单字识别结果可以看出,在被识别的38个字的“标题”中,34个字是正确识别,有4个字(贫、赘、L、蔡)识别错误。正确识别率为89.5%,而错识率达10.5%,这样的识别结果是不能令人满意的。这里我们用这个例子只是为了说明单字识别模块中的匹配判决器是怎样工作而已,下面还将讨论如何改变判决准则来减小错误率。

 

上面的例子中判决器采用“最小距离”的准则来判定识别结果。可以看出:这种判决器的输出中,有的字和对应的待识汉字距离较近,这些字绝大多数是正确识别的字;但也有一些字虽然跟对应的待识字的距离最小,但绝对值却很大,发生错识的可能性也较大。为了使错识字减少,在某些识别系统中引入“拒识字”这一概念。其方法是采用两种判决准则:其一:若特征距离最小,且其绝对值小于一定数值的标准特征所对应的汉字,判决为正确识别的字。其二,若特征距离虽然是最小、但其绝对值大于规定值的标准特征对应的汉字,则判决为“拒识字”。根据这种判决准则,在上述例子中,如果规定距离大于48的特征所对应的汉字判为拒识字,那么匹配判决器的输出将变成如下的结果:

其中符号@代表拒识字。在这38个字中,拒识字有3个;占7.9%;错识字还有1个,占2.6%,正确识别的字34个,占89.5%。由此可见,引入了拒识字后,错识字的比例显著减少。下面我们还将看到,引入拒识字还有利于进行人工校正或自动纠错,这对于提高系统识别率是有好处的。

 

顺便指出,拒识字这一概念在很多识别系统中时常被采用。例如在自动信函分拣系统中,由于手写的邮政编码的识别率很低,如果编码识别错误,把信函寄到错误的地址,损失很大。如果把可能发生错识的编码作为拒识处理,然后再用人工纠正,就可以大大减少错误投递的损失。对某些用户,例如银行的支票识别,这个问题尤为重要。

5.10 后处理纠错

在识别系统中,利用上下文关系、组词规律或其他语法规则,对单字识别输出的文件进行处理以纠正错识字的方法,叫做后处理纠错,简称为“后处理”。这种方法用于处理拼音文字的文件十分有效。目前各种英文文字处理系统几乎都有“拼写校对"(Spelling Check)软件,它能够自动地显示每个词语中少量的拼写错误,并给出可能的改正方案。在各种办公室自动化设备中,这是一种十分得力的方法,对发现、改正文稿中的错误,提高文件质量很有帮助。

在汉字识别系统中利用“词条匹配”的方法也可以在一定程度上自动地纠正单字识别输出中的个别错误。这里再以图5.12(b)为例具体介绍这种后处理的方法。为了简单起见,这里只讨论双字词的匹配方法。

所谓双字词是指每个词语由两个汉字组成。汉语中双字词的数量最多,也最为常用。采用双字词匹配实现后处理纠错时,识别系统中必须有一个“双字词库”,用来检查单字识别器输出的文字序列中是否有某种双字词存在,在某些条件下可以纠正输出文字序列中的错识字。下面利用上节单字识别器的识别结果来说明用词条匹配纠正拒识字的方法。

在上节的例子中,单字识别器输出汉字序列的第三个字是拒识字。判决器同时也给出了“贫、贯、贯,觅、贪”五个候选字,它们和相应的待识字的距离都比较近,其中某个字可能就是正确的待识字。“词条匹配法”就是根据拒识字的某个候选字能否和与它相邻的字组成有意义的词条来选择候选字的。可以看出:这五个候选字跟与它相邻的字可能有8种组合,如:“决贫、决贯、决觅、决贪”和“贫彻、贯彻、觅彻、贪彻”,但其中只有“贯彻”两个字是有意义的双字词,由此可以认为:单字识别器输出汉字序列的第三个字应该是“贯”字。

同理,第6和第12个拒识字应该分别是“整”字和“第”字,因为它们可以分别同跟在它们后面的字组成“整顿”和“第五”两个有意义的词条。

利用词匹配的方法可以在一定程度上纠正单字识别器输出的拒识字,但是这种办法有一定的限制:如果单字识别器的性能不好,错识字和拒识字太多,这种方法就不适用。通常要求单字识别器的识别率应该足够高,而且拒识字不应该是连续出现的。还应该指出,词条匹配法不能纠正单字识别器中属于单字词的错识字,例如:在上述例子中“1989”的</PGN0123.TXT/PGN>“1”错识为“L",这个错字是无法用词条匹配来纠正的。此外用于词条匹配的“词条库”必须有足够数量的词条。据统计,汉字的双字词约有65891条,很难全部选用,否则系统的开销太大,存储器数量和搜索时间都将大大增加。但选用的词条也不宜太少,一般以1万~2万条较为合适。

词条匹配法属于利用汉语上下文关系来校验字符串是否合乎语法的方法之一。除双字词外,还可以利用三字词、四字词等,但词条字数越多,搜索匹配越复杂,目前已有的汉字OCR很少采用。

后处理的方法很多,上面介绍的方法是在词法分析的层次上进行的,这种方法比较简单,但功能有限。更高层次的后处理是基于语义和语用关系上进行的,它利用上下文关系所蕴涵的更多的信息,其功能更强,但算法复杂,开销也更大。这些后处理方法目前还处于探索研究阶段,如何进一步提高整个识别系统的性能仍是一个必须继续研究的课题。

你可能感兴趣的:(工作,数据库,测试,读书,自然语言处理,图形)