特征值抽取方法及设备,存储图象分析程序的存储介质的制作方法

文档序号:6417056阅读:193来源:国知局
专利名称:特征值抽取方法及设备,存储图象分析程序的存储介质的制作方法
技术领域
本发明涉及一种图象处理方法,具体地说,涉及一种利用软件抽取象素(PEL)阵列模式的特征的方法。
在诸如光符识别之类的模式识别中,抽取要识别模式的各种特征,以便根据这些特征对诸如字符之类的模式进行分类。例如,T.Kawatani,“通过学习距离函数进行手写数码识别”,TheTransactions of the Institute of Electronics,Information andCommunication Engineers,1993年9月,Vol.J76-D-2,No.9,pp.1851-1859(日文)公开了一种适于确定PEL阵列模式中的轮廓上一点的属性(例如该点的指示其是凹形还是凸形的凹面/凸面标识,凹面/凸面的方向及凹面/凸面的强度(锐度))的技术,从而这些属性可被用于计算PEL阵列模式的特征值。
但是在该现有技术中,轮廓上所关心的点的切线方向仅被看作为其轮廓部分的凹面/凸面的方向,而不赋予具有强锐度的部分任何方向属性。虽然该现有技术对于如

图16中所示轮廓形状近似于直线的部分处的凹面/凸面的方向,能够获得稳定的值,但是该现有技术不能应用于如图17中所示弯曲程度较大的轮廓形状部分。这是因为在图示情况下,中心点位置的微小改变将导致凹面/凸面的方向发生根本改变,这又将引起要从PEL阵列模式中抽取的特征值发生极度变化。这样本领域中一直需要一种能够以更稳定的方式抽取特征的新方法。
转让给本受让人的日本专利公布No.6-19551(对应于美国专利No.5590220)公开了一种适于确定PEL阵列模式中轮廓上的弯曲点(图18中由字母“a”~“g”标记)的属性的技术,这些属性是,例如如图19中所示的所关心弯曲点的指示其是凹形还是凸形的凹面/凸面标识,凹面/凸面的方向及凹面/凸面的强度(锐度),从而这些属性可被用于计算PEL阵列模式的特征值。
根据这一现有技术,只在如图18中所示弯曲程度较大的轮廓形状部分计算凹面/凸面的方向,这样避免了要从PEL阵列模式抽取的特征值发生极度变化的问题。然而,这一现有技术需要另外的处理,例如在每个选定的弯曲点划分轮廓组,从而这一现有技术最后需要大量的计算时间,用于抽取要在模式识别中使用的足量特征值。此外,这一现有技术难以处理近似于圆形的“0”和/或“O”的图形中的强凸面或强凹面,从而导致特征值的发生位置不稳定。
于是本发明的一个目的是提供一种图象识别系统,它能够不依赖于图形的轮廓形状得到稳定的特征值。
本发明的另一目的是快速抽取足量的特征值,以供高识别率的有效模式(字符和/或图形)识别使用。
根据本发明,检测PEL阵列模式的一个或多个轮廓,随后确定各个轮廓上的凹面/凸面强度(锐度),及凹面/凸面的方向。利用所关心的轮廓点的锐度值,把其曲度归入强曲度组或者另一弱曲度组,恰当地使凹面/凸面的方向(轮廓方向)的定义从一种转换成另一种,以便于计算。在本发明的一个优选方面,利用所关心的轮廓点的锐度值,把其轮廓曲度分入五种曲度组中的任一组,包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”。如果其轮廓曲度被分入“强凹度”或者“强凸度”,则将计算法线方向,以便得出轮廓方向。另一方面,如果其轮廓曲度被分入“直线/拐点”,则将计算切线方向。这样,和利用常规特征值的现有技术方法相比,能够改进图象识别率。
根据本发明的一个方面,提供了一种用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值的方法,包括下述步骤(a)跟踪所述PEL阵列模式的轮廓,产生存在于每个被跟踪轮廓上的多个轮廓点的列表;(b)为所述多个轮廓点中的一个轮廓点计算表示轮廓曲度的锐度值;
(c)如果所述锐度值指示尖锐的弯曲,则利用第一计算式计算所述一个轮廓点的轮廓方向,如果所述锐度值指示直线或者拐点,则利用不同于第一计算式的第二计算式计算所述一个轮廓点的轮廓方向;(d)根据所述一个轮廓点的轮廓方向,输出特征值。
注意,在权利要求中,术语“第一计算式”代表下述任意等式,这些等式适于计算近似于法线的方向,或者另一从其中计算得到的方向,例如如后文对一个最佳实施例的说明那样,连接所关心的轮廓点,和所关心的轮廓点之前的第N个点与之后的第N个(或者第M个)点之间的中点的直线的方向。类似地,术语“第二计算式”代表了下述任意等式,这些等式适于计算近似于切线的方向或者另一从其中计算得到的方向,例如如后文对一个最值实施例的说明那样,连接所关心的轮廓点之前第N个点和之后第N个(或第M个)点的直线的方向。
根据本发明的另一方面,提供了一种特征抽取方法,其中所述第一计算式根据所述一个轮廓点Pi的座标值,所述一个轮廓点之前的第N个点Pi-N的座标值,及之后的第N个点Pi+N的座标值进行计算,所述第二计算式根据所述一个轮廓点之前的第N个点Pi-N的座标值及之后的第N个点Pi+N的座标值进行计算。
根据本发明的另一方面,提供了一种用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值的方法,包括下述步骤(a)跟踪所述PEL阵列模式的轮廓,产生存在于每个被跟踪轮廓上的多个轮廓点的列表;(b)为所述多个轮廓点中的一个轮廓点Pi计算表示轮廓曲度的锐度值;(c)根据计算的锐度值,确定所述一个轮廓点Pi的轮廓曲度属于五种曲度组中的哪一组,所述五种曲度组包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”;(d)如果确定所述一个轮廓点Pi的轮廓曲度属于“强凹面”或者“强凸面”,则根据连接所述一个轮廓点Pi和所述一个轮廓点之前第N个点Pi-N及之后第N个点Pi+N之间的中点的直线的方向,确定轮廓方向,如果确定所述一个轮廓点Pi的轮廓曲度属于“直线/拐点”,则根据连接所述之前的第N个点Pi-N和之后的第N个点Pi+N的直线的方向,确定轮廓方向;(e)根据所述一个轮廓点的轮廓方向,输出特征值。
根据本发明的另一方面,提供了一种用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值的设备,包括(a)捕获所述PEL阵列模式的图象输入装置;(b)通过跟踪所述PEL阵列模式的轮廓产生的X-Y列表,用于控制存在于每个被跟踪轮廓上的轮廓点的座标值;(c)通过计算代表所述轮廓点的轮廓曲度的锐度值产生的锐度列表;(d)如果所述锐度值指示尖锐的弯曲,则通过利用第一计算式计算获得的轮廓方向列表,或者如果所述锐度值指示直线或者拐点,则通过利用不同于第一计算式的第二计算式计算获得的轮廓方向列表;(e)根据所述轮廓方向列表输出特征值的装置。
根据本发明的另一方面,提供了一种用于存储程序的计算机可读存储介质,所述程序用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值,所述程序包括(a)指示所述计算机跟踪所述PEL阵列模式的轮廓,并产生存在于每个被跟踪轮廓上的多个轮廓点的列表的程序代码;(b)指示所述计算机为所述多个轮廓点中的一个轮廓点计算代表轮廓曲度的锐度值的程序代码;(c)如果所述锐度值指示尖锐的弯曲,则指示所述计算机利用第一计算式计算所述一个轮廓点的轮廓方向,或者如果所述锐度值指示直线或者拐点,则指示所述计算机利用不同于第一计算式的第二计算式计算所述一个轮廓点的轮廓方向的程序代码;
(d)指示所述计算机根据所述一个轮廓点的轮廓方向输出特征值的程序代码。
根据本发明的另一方面,提供了一种存储介质,其中所述第一计算式根据所述一个轮廓点Pi的座标值,所述一个轮廓点之前的第N个点Pi-N的座标值,及之后的第N个点Pi+N的座标值进行计算,所述第二计算式根据所述一个轮廓点之前的第N个点Pi-N的座标值及之后的第N个点Pi+N的座标值进行计算。
根据本发明的另一方面,提供了一种用于存储程序的计算机可读存储介质,所述程序用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值,所述程序包括(a)指示所述计算机跟踪所述PEL阵列模式的轮廓,并产生存在于每个被跟踪轮廓上的多个轮廓点的列表的程序代码;(b)指示所述计算机为所述多个轮廓点中的一个轮廓点Pi计算代表轮廓曲度的锐度值的程序代码;(c)指示所述计算机根据计算的锐度值,确定所述一个轮廓点Pi的轮廓曲度属于五种曲度组中的哪一组的程序代码,所述五种曲度组包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”;(d)如果确定所述一个轮廓点Pi的轮廓曲度属于“强凹面”或“强凸面”,则指示所述计算机根据连接所述一个轮廓点Pi与所述一个轮廓点之前第N个点Pi-N及之后第N个点Pi+N之间的中点的直线的方向,确定轮廓方向,以及如果确定所述一个轮廓点Pi的轮廓曲度属于“直线/拐点”,则指示所述计算机根据连接所述之前第N个点Pi-N及之后第N个点Pi+N的直线的方向,确定轮廓方向的程序代码;(e)指示所述计算机根据所述一个轮廓点的轮廓方向输出特征值的程序代码。
如上所述,根据本发明,能够快速抽取有助于改进图象识别率的稳定特定值,而不依赖于图形的轮廓形状。此外,在本发明的一方面,对于检测轮廓上的一点,能够抽取单一的特征值,该单一特征值由五种不同曲度(即强凹面、弱凹面、直线、拐点、弱凸面及强凸面)中的任一种,以及四种不同轮廓方向中的任一种确定,而不管所涉及的轮廓形状。
图1是图解说明硬件配置的方框图。
图2是处理部件的方框图。
图3是图解说明本发明对于光符识别系统的应用的方框图。
图4是图解说明根据本发明的一个最佳实施例的特征值抽取方法的过程的流程图。
图5a图解说明了PEL阵列模式及用于扫描该PEL阵列模式的屏蔽阵列。
图5b是图解说明图5a的PEL阵列模式的一部分的放大图,表示了利用PEL阵列模式位置中的白色及黑色表示字符图象的情况。
图5c是图5a的屏蔽阵列的放大图,表示了把二进制值分配给每个屏蔽阵列位置的情况。
图5d图解说明了根据本发明从图5a的PEL阵列模式产生的模式矩阵。
图5e图解说明了根据本发明从图5a的PEL阵列模式产生的标记矩阵。
图5f是图5e的标记矩阵的放大图,举例说明把数值分配给PEL阵列模式位置,供轮廓跟踪之用的情况。
图6是图5a的屏蔽阵列的放大图,举例说明把跟踪方向赋予由扫描图5a的PEL阵列模式产生的不同屏蔽阵列构型的情况。
图7a图解表示了第一字符图象轮廓跟踪,表示了由模式矩阵值提供的跟踪方向信息。
图7b图解表示了利用由标记矩阵值提供的跟踪控制信息的第一字符图象轮廓跟踪。
图7c图解表示了由第一字符图象轮廓跟踪引起的字符图象轮廓点的X-Y座标列表。
图8a图解表示了利用模式矩阵值提供的跟踪方向信息进行的第二及第三字符图象轮廓跟踪。
图8b图解表示了利用标记矩阵值提供的跟踪控制信息进行的第二及第三字符图象轮廓跟踪。
图8c图解表示了第二及第三字符图象轮廓跟踪过程中产生的X-Y座标列表。
图9图解表示了存储的取向表,用于确定图13及16的X-Y座标列表的座标之间的相对取向。
图10a是放大的图解说明获得轮廓点之间的差分X、Y值的方式的X-Y座标列表,轮廓点间的差分X、Y值作为地址值被输入图9的取向表中。
图10b图解说明了分配给字符图象轮廓点的取向值的取向列表。
图10c图解说明了从图10b的取向列表产生的锐度列表。
图11概略表示了沿着字符图象轮廓把取向值分配给轮廓点的情况。
图12图解表示了根据本发明的一个最佳实施例的锐度列表,该锐度列表是以二维矩阵的形式表示的。
图13a-c是说明轮廓方向的由来的示意图。
图14a-c是说明轮廓方向的由来的示意图。
图15图解说明了根据本发明的一个最佳实施例的轮廓方向列表,该轮廓方向列表是以二维矩阵的形式表示的。
图16图解说明了得出轮廓方向的方式,轮廓方向是用于图象分析的常规特征值抽取法抽取的特征值之一。
图17图解说明了得出轮廓方向的方式,轮廓方向是用于图象分析的常规特征值抽取法抽取的特征值之一。
图18图解表示了将被输送给用于图象分析的常规特征值抽取方法的例证象素(PEL)阵列。
图19图解表示了由用于图象分析的常规特征值抽取方法抽取的特征值。
A.硬件配置现在,参考附图来说明本发明的一个实施例。参见图1,图中示意地表示了实现本发明的图象处理系统100的硬件配置。该系统100包括中央处理器(CPU)1及存储器4。CPU1及存储器4通过总线2与作为辅助存储装置的硬盘驱动器13、30连接。软盘驱动器20(或者诸如MO驱动器28,CD-ROM驱动器26、29之类的另一存储介质驱动器)通过软盘控制器19(或者各种控制器,例如IDE控制器25,SCSI控制器27)与总线2连接。
插入软盘驱动器20(或者诸如MO驱动器28,CD-ROM驱动器26、29之类的另一存储介质驱动器)的软盘34(或者诸如MO盘32、CD-ROM33之类的另一存储介质)、硬盘驱动器13、30和/或ROM14能够存储实行本发明的计算机程序代码。执行时,该计算机程序代码被载入存储器4中,以便与操作系统合作,向CPU等提供指令。该计算机程序代码可被压缩或分成多段,存储在多个介质中。类似地,每个所述存储介质能够存储输入图象数据及处理的图象数据。
另外,系统100可装有用户接口硬件,包括用于在屏幕上输入位置信息的指示器7(例如鼠标、操纵杆、跟踪球),支持键入的键盘6,及向用户呈现图象数据的显示器11、12。另外,扬声器23通过放大器从音频控制器21接收音频信号,并以声音的形式输出该音频信号。
要输入系统100中的PEL阵列模式最好由扫描仪31产生,并通过并行端口16提供给系统100。或者,扫描仪31产生的这种PEL阵列模式可通过SCSI接口而不是通过并行端口17或另一接口被输入系统100。系统100可通过串行端口15及调制解调器或者诸如信令牌环型之类的通信适配器18与另一计算机通信,以便接收图象数据或PEL阵列模式,或者系统100可从诸如软盘34之类的存储介质接收输入。此外,系统100可通过串行端口15与数字相机连接,以便从数字相机接收图象数据。
根据上面的说明易于理解本发明可由普通的个人计算机(PC)、工作站、专用OCR、装在各种家用电器,例如电视机或者传真机中的计算机,及它们的任意组合实现。但是注意,列举的这些部件只用于例证说明,不必把所有这些部件看作本发明的必需部件。特别地,由于本发明的目的是图象特征值的抽取,因此在本发明的一个方面,诸如串行端口15、通信适配器18、音频控制器21、放大器22及扬声器23之类的部件是非必需的。
最好使用任意一种支持GUI多窗口环境的操作系统,例如“Windows”(微软公司的商标),“OS/2”(IBM公司的商标),“X-WINDOWS系统”(MIT的商标)或者“AIX”(IBM公司的商标),但是本发明并不限于特定的操作系统环境。
图1图解说明了一个处于独立环境中的系统,但是通过利用诸如以太网或令牌环局域网之类的局域网使客户机与服务器连接,可以客户机/服务器系统的形式实现本发明。客户机可配有数目有限的功能元件(下面将说明),例如命令输入装置、图象输入装置及图象显示装置,而服务器可配有剩余的功能元件。在不脱离本发明精神的情况下,本领域的技术人员能够随意作出各种变化或修改,包括(但不限于)多个机器,例如服务器与客户机之中功能的分布。
B.系统配置下面,参考图2的方框图来描述本发明的系统配置。在本发明的一个最佳实施例中,图象处理系统300包括命令输入装置301、控制装置303、图象分析装置305,处理结果信息存储装置307、图象显示装置309、图象输入装置311、PEL阵列模式存储装置321、模式矩阵存储装置323、X-Y列表存储装置327、取向表存储装置329、取向列表330、锐度列表存储装置331及轮廓方向列表存储装置333。
命令输入装置301接收来自用户的输入,包括开始/结束处理,设置输入图象等的指令,并把它们传送给控制装置303。图象输入装置311把从扫描仪或传真机输入的图象信息传送给控制装置303。顺便说明,在执行本发明的图象处理之前,可通过灰度级或混色变化把彩色图象变换为单色白/黑灰度图象。此外,可执行平滑处理,以消除图象信息中含有的噪声。
图象分析装置305适于分析图象信息。控制装置303控制每个处理部件。处理结果信息存储装置307存储通过系统中的处理获得的特征值信息等等。图象显示装置309在显示屏12上显示从图象输入装置311输入的图象数据和/或存储在处理结果信息存储装置307中的图象数据。PEL阵列模式存储装置321是工作区,由控制装置303管理,用于暂时存储处理中的PEL阵列模式。不同的矩阵/列表存储装置323-331存储下面将说明的不同矩阵/列表。
虽然上面已描述了图2中所示的各个功能块,但是应注意这些功能块都是逻辑功能块。这样,每个功能块不必由庞大的硬件/软件成分实现,而是可由组合的或者公用硬件/软件成分实现。此外,还应注意这里所示的所有部件都不必被看作本发明的必需部件。
图3是图解说明本发明对于OCR(光符识别)系统的应用的方框图。图3中,文件410含有一个或多个要识别的字符图象。文件410可包括呈多种形式及结构的各种各样的字符图象承载介质,例如含有字母数字文本信息的信件,含有图形及文本信息的图画,带有需要扫描的字母数字信息,可能用在,例如邮政包裹上的包装箱、标签或者标记。
利用普通的扫描、定限(thresholding)及分段设备412扫描并定限(thresholded)每个输入的文件410,并对文件410的字符模式分段。这种类型的设备在本领域众所周知,一般包括文件送进机构、光源、透镜、排列成一行的多于一个的光学传感元件,门限电路及分段电路。
一个光学元件产生对应于一个PEL的模拟信号,该模拟信号被送给门限电路。如果模拟信号低于预定的门限值,则产生代表黑色PEL的二进制“1”信号,如果模拟信号高于该门限值,则产生代表白色PEL的二进制“0”信号。分段电路把每个字符图象分解成如图3中所示的独立或者单独的字符PEL阵列模式414。PEL阵列模式414可在,例如输入存储缓冲器416中被存储为24×16 PEL的帧。
图象处理系统418从该PEL阵列模式抽取特征值数据集,并将其存储在输出存储装置426中。存储在输出存储装置426中的特征值数据集作为输入提供给光符识别系统428。根据本发明产生的特征值数据集可用于不同的光符识别系统,包括本领域中众所周知的使用后向传播方法的神经网络OCR系统。
C.操作描述图4是图解说明根据本明的特征值抽取方法的过程的流程图。下面将另外参考图5,作为例子利用对应于数字“8”的字符图象来描述该过程。使用数字“8”是因为它同时含有外部及内部轮廓,然而又不过度回旋或过度复杂。在图4的步骤50中扫描字符图象,产生一个或多个PEL阵列模式,所述一个或多个PEL阵列模式被存储在PEL阵列模式存储装置321中(步骤52)。图5a的PEL阵列模式101是代表要识别的字符图象的黑色及白色象素的24×16阵列。该PEL阵列模式具有代表该字符图象的连续轮廓的多个位置,包括图5b中所示的位置102-108。
本过程的第一目的是跟踪字符图象101的外部及内部连续轮廓,产生每个被跟踪轮廓的轮廓点列表。跟踪字符图象“8”的轮廓的最佳方法采用沿着从左到右的水平范围扫描PEL阵列模式101的每条线的2×2屏蔽阵列110。图5c图解说明了包括被赋予“8”、“4”、“2”、“1”的二进制位值的四个阵列位置的屏蔽阵列110。根据这些位置中出现的黑色及白色PEL的组合,可从该屏蔽阵列读出从“0”到“15”的值。作为例子,如果只存在位于右侧的两个PEL,则得到“4+1=5”的模式值,如果只存在位于左侧的两个PEL,则得到“8+2=10”的模式值。
在步骤54中,屏蔽阵列110被用于扫描PEL阵列模式101的每个位置。该扫描导致在步骤56及58产生模式矩阵及标记矩阵。模式矩阵120及标记矩阵130分别表示在图5d及5e中。每个矩阵包括25×17存储位置,它们是由于如图5a中所示,屏蔽阵列110的中心从PEL阵列模式101的上边缘开始,随后在PEL阵列模式101的各行之间,最后直到达到PEL阵列模式101的下边缘为止,从左边缘到右边缘扫描PEL阵列模式101而得到的。这样,模式矩阵120及标记矩阵130的每个内部位置将相应于代表PEL阵列模式101的四个位置的交叉点的一个位置。
模式矩阵120的每个元素具有一个0-15之间的值,该值是根据2×2屏蔽阵列110的四个阵列位置的颜色确定的加权和。如下所述,这些值用于决定跟踪方向。标记矩阵130的每个元素也被赋予根据在屏蔽阵列110的位置中出现的模式确定的值。如果屏蔽阵列位置都是白色或者都是黑色(模式值等于0或15),则把值“0”(无轮廓)赋予相应的标记阵列位置。如果屏蔽阵列110图解表示对角相交的两个黑色及两个白色PEL(模式值等于6或9),则值“2”被赋给标记矩阵130。所有其它模式导致值“1”被赋给标记矩阵130。标记矩阵130用于跟踪控制,以便轮廓只被跟踪一次。标记矩阵值“2”是一种特殊情形,用于为两个轮廓的一部分的矩阵位置(见图5f)。
扫描PEL阵列模式101,产生模式矩阵120及标记矩阵130的过程可以利用常规的编程语言,例如C语言等编写的软件实现。另外,处理步骤54-58可以以使用存储寄存器22的硬件部分实现,存储存储器最好包括一对16位移位寄存器,如所述日本专利申请No.6-195513中公开的一样。在本实现中,PEL阵列模式101的连续线条对被加入移位寄存器中。借助每个寄存器的连续移位,2×2屏蔽阵列110的每个位置的值被顺序读出,并被用于产生模式矩阵120及标记矩阵130。另外还将认识到可利用来自模式矩阵120的相应位置的值产生标记矩阵130。
接下来,在步骤60中,跟踪输入的字符图象的第一轮廓,并产生X-Y列表。在该跟踪过程中,从左到右扫描标记矩阵130以寻找指示轮廓起始点的第一非零值。该起始点的X-Y标记矩阵座标位置被存储到X-Y座标列表140中(图7c)。为了确定到下一轮廓点的方向,在相应的X-Y座标位置查询模式矩阵120。在该位置,将存储一个介于“0”和“15”之间的值,该值对应于屏蔽阵列110被放置在该点时,屏蔽阵列110中包含的白色及黑色PEL的模式。如图6中所示,根据分配给该模式矩阵存储位置的数值,确定跟踪方向。模式矩阵值“1”、“5”及“13”指示向下的跟踪方向。模式矩阵值“2”、“3”及“7”指示向左的跟踪方向。模式矩阵值“8”、“10”及“11”指示向上的跟踪方向。模式矩阵值“4”、“12”及“14”指示向右的跟踪方向。
如果模式矩阵值为“6”或“9”,则如图6中所示,参考前一轮廓点的方向值,确定采取的方向。从图6中可看出根据相应的屏蔽阵列模式的状况,直观地校正分配给模式矩阵120的方向值。如果屏蔽阵列110被看作是叠置在PEL阵列模式101上的窗口,则每个屏蔽阵列模式将似乎对应于输入的字符图象的轮廓上的一个位置。例如,图5d图解说明了字符轮廓模式上会产生具有值“10”及“5”的屏蔽阵列的位置。容易看出分配给屏蔽阵列值的方向将导致在跟踪过程中沿字符轮廓而行。
对于图5a的PEL阵列模式101,根据标记阵列130确定的跟踪超始点对应于为“1”的模式矩阵值。如图7a中所示,到下一轮廓点的方向是向下的。图7a中的其它箭头概略地表示了基于各个后续轮廓点上的模式矩阵值的逐次跟踪方向。图7b图解说明了标记矩阵130的起始轮廓点。一旦把该起始点的X-Y座标放入X-Y例表中,则该位置上的标记矩阵值减“1”,以指示该轮廓点已被处理。随后通过沿着根据模式矩阵120确定的跟踪方向移动一个位置,从标记矩阵130确定下一轮廓点的X-Y座标。随后把该下一轮廓点的X-Y座标存储在X-Y列表中,并以类似的方式继续该过程,直到完成对整个轮廓的跟踪为止。
图7c图解说明了由跟踪过程产生的X-Y列表140。跟踪将产生确定输入字符图象“8”的外轮廓的X-Y座标点列表。这里注意,在本发明的一个最佳实施例中,X-Y列表具有一个环形结构,该环形结构总是含有所关心的任意轮廓点之前的第N个点及之后的第N个点。随后,如图8中所示,以相似的方式进行第二次及第三次跟踪,并且产生数字“8”的内轮廓的X-Y列表142、144。产生X-Y列表140、142及144之后,不再需要PEL阵列模式110、模式矩阵120及标记矩阵130,可删除它们。这是因为所有的轮廓点都已被识别,并存储在相应的X-Y列表中。步骤62说明确定是否遗留另外的轮廓的测试。
在识别所有轮廓之后,开始步骤64。产生表示X-Y列表中的选定点之间的取向方向或位置关系的取向列表。如图9中所示,可利用取向表150容易地产生取向列表。取向表150具有多于一个的存储位置,每个存储位置含有一个值,该值表示一个轮廓点与选定的一个后续轮廓点之间的取向方向。利用表示轮廓点与选定的后续轮廓点之间的X-Y座标值差的X-Y偏移值,取向表是可寻址的。
图10a图解说明了含有一系列X-Y轮廓点座标值的X-Y列表152。最好得出从各个轮廓点到其后第N个轮廓点的取向方向。用于门限增量N的数字可变化,不过对于24×16 PEL阵列模式,利用N=3-5已获得了满意的结果。对于具有更多位置的PEL阵列模式,可使用高的N值。例如图9及10均基于N=5的门限增量值。
这样各个轮廓点的取向被定义为从该轮廓点指向其后第N个轮廓点的箭头。它可通过利用预先计算的取向表150快速获得,取向表150最好由(2N+1)×(2N+1)个元素组成。图10a中,X-Y列表152中的第一轮廓点(X=8,Y=1)与该X-Y列表中其后的第5个轮廓点(X=6,Y=4)之间的X-Y偏移值为dx=-2,dy=3。在取向表150中利用这些值作为地址,看出能够快速确定代表从参考位置(中心)到该取向方向的角度的取向值Θ。
图11图解说明了取向值是如何与字母“8”的外轮廓相联系的。步骤64中存储的取向值被存储在如图10b中所示的取向列表160中。在某些情况下,最好执行步骤66(图4)中的平滑处理,以便增强轮廓点之间的取向稳定性。平滑处理通过获取所关心的轮廓点的前一及后一轮廓点的加权平均取向值,确定轮廓点之间的更全面的角度。例如,根据下面的等式可根据ith轮廓点的前一及后一轮廓点的取向值Θi- 1及Θi+1确定ith轮廓点的平滑取向值Θi。(Θi-1+2Θi+Θi+1)/4要注意在PEL阵列模式101的大小为50×50 PEL或者更大,及门限增量N约为7或更多轮廓点的情况下,一般不需要平滑处理。
在生成取向列表及对其进行平滑处理之后,在步骤68中产生锐度列表。图10c中所示的锐度列表的附图标记为170。通过确定代表各个轮廓点与其后的第N个轮廓点之间弯曲部分的锐角的值,产生锐度列表。通过查找分配给第i个及第(i+N)个轮廓点的取向值Θi及Θi+1之间的差,容易得到该锐角。“N”的值最好与分配取向值中所使用的“N”值相同。
在本发明的一个最佳实施例中,利用所关心的轮廓点的锐度值把其轮廓曲度划分入5种曲度组中的任一组,包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”。为了便于下面对最佳实施例的描述,假定覆盖凸面的整个角度范围的0~180度角(0~π),及覆盖凹面的整个角度范围0~-180度角(0~-π)分别被等分为10个扇形(每个扇形的角度范围为π/10),以便为这种分类作好准备,从而对应于这19个不同扇形的19个不同值(“9”~“-9”)中的任一值被用作关心的轮廓点的锐度值。
图12图解说明了手写字符“5”(24×16)的轮廓(25×17)的锐度列表,该锐度列表是以二维矩阵的形式表示的。为了简化该图,字母“a”代表值-1”,字母“i”代表值“-9”。注意值“9”代表最强的凸面,而值“-9”(i)代表最强的凹面。在本发明的一个最佳实施例中,分别把值为“9~4”的点划分为“强凸面”,值为“3~2”的点划分为“弱凸面”,值为“1~a”的点划分为“直线/拐点”,值为“b~d”的点划分为“弱凹面”,值为“e~i”的点划分为“强凹面”。考虑到计算的加速及识别率的改进,已采用了这样的5种不同曲度组分类。
在本发明的一个最佳实施例中,由于落入“直线/拐点”组中,以一致的方式具体处理值“1”、“0”及“a”,而不区别这些值中的各个值表示的微细凹面/凸面。这是由于下述原因的结果(1)这些值之间的微细差别使凹面/凸面的标识从一个变为另一个,导致不稳定性;(2)在黑色线性笔划的两侧存在一对线性轮廓的概率大,正如对于字“1”所看到的那样,因此在哪一侧存在笔划或者背景的一个或多个黑色PEL不是很重要(使特征尺寸的数目增加一倍没有实质性的优点);及(3)最好如下所述个别地对待具有清晰的凹面/凸面标识的轮廓点的轮廓方向的定义。
接下来,在步骤70产生轮廓方向列表。在除了模拟图象或尺寸较大的字符图象之外的24×16的较小图象中,难以稳定地确定轮廓弯曲的强度及轮廓方向(方向的确定尤其困难)。如图13a中所示,简单地把先前的第N个点和其后的第N个点连接起来,把该直线定义为切线方向,相邻轮廓点上的这种切线方向彼此明显不同。在具有由大的绝对值表示的锐度的轮廓点的附近,最好尽可能地定义相同的方向。
这样,在本发明的一个最佳实施例中,连接先前的第N个点与其后的第N个点的直线的中点再与所关心的轮廓点连接,以定义法线方向(如图13b中所示),从而采用该法线方向作为轮廓方向。代替这样定义的轮廓方向,落入从关心的轮廓点Pi到先前的第N个轮廓点Pi-N(矢量PiPi-N)及从关心的轮廓点Pi到其后的第N个轮廓点Pi+N(矢量PiPi+N)的两个矢量之间的方向(或其反方向),或者这两个矢量的半角可用作为备选轮廓方向。此外,代替先前的第N个轮廓点及其后的第N个轮廓点,先前的第N个轮廓点及其后的第M个轮廓点(M是接近N的值)可用于进行涉及的计算。
此外,在本发明的一个最佳实施例中,在某一束轮廓方向的基础上,对计算得到的轮廓方向分类,以获得特征值。本发明者进行的实验的结果已证实与计算速度相应的较高识别率,只要具有“强凹面/凸面”的轮廓点的轮廓方向被分入如图13c中所示的上、下、左、右方向中的任一方向。
另一方面,如果把该定义应用于“直线/拐点”曲线组,则微小的差别将导致“凹面/凸面”的标识从一个变为另一个,此外还将导致方向的漂移,如图14b中所示。这样,对于这些情况,在不考虑所关心的轮廓点的情况下连接先前的第N个轮廓点及其后的第N个轮廓点,以便其方向(切线方向)被用作轮廓方向(如前所述,在哪一侧存在笔划或者背景的一个或多个黑色PEL不太重要)。本发明人进行的实验的结果已证实直线的箭头指向哪一个方向不太重要。另外,实验结果已证实与计算速度相应的较高识别率,只要不考虑箭头指向的方向,把轮廓点分入如图14c中所示的分别用于每个45度的四个方向中的任一方向。
可利用类似于具有“强凹面/凸面”的轮廓点的轮廓方向的计算方法,或者类似于另一计算具有“直线/拐点”的轮廓点的轮廓方向的方法,计算具有“弱凹面/凸面”的轮廓点的轮廓方向,不过在本发明的一个最佳实施例中采用前一计算方法。
图15图解说明了手写字符“5”(24×16)的轮廓(25×17)的轮廓方向列表,该轮廓方向列表是以二维矩阵的形式表示的。该图中,值“a~d”均代表“直线/拐点”的轮廓方向,而值“0~3”均代表强及弱凹面/凸面两者的轮廓方向。
在处理步骤72中,产生处理结果数据(特征值数据)组。另外,在本发明的一个最佳实施例中,字符图象被划分为3×3区域,并根据关心的点所属的特定区域对每个所关心的点分类(C语言的说明性例子-int feat[3][3][4][5])。
在C语言的这一说明性例子中,第一维是用于识别PEL阵列模式中垂直划分的三个区域中的特定区域的条目,所关心的点存在于该特定区域中,第二维是用于识别PEL阵列模式中水平划分的三个区域中的特定区域的条目,所关心的点存于该特定区域中,第三维是用于把所关心的点分入四种不同轮廓方向中的任一轮廓方向的条目,第四维是用于把所关心的点分入五种不同组(包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”)中的任一组的条目,从而可利用这些属性可对各个轮廓点进行分类及计数。作为例子,“5”的最右上位置处的点231具有第一维=0(上区),第二维=2(右区),第三维=0(右方向),第四维=0(强凸面)的分类值。分类数据存储在处理结果信息存储装置307中,并被送给用于字符识别的光符识别程序428。
权利要求
1.一种用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值的方法,包括下述步骤(a)跟踪所述PEL阵列模式的轮廓,产生存在于每个被跟踪轮廓上的多个轮廓点的列表;(b)为所述多个轮廓点中的一个轮廓点计算表示轮廓曲度的锐度值;(c)如果所述锐度值指示尖锐的弯曲,则利用第一计算式计算所述一个轮廓点的轮廓方向,如果所述锐度值指示直线或者拐点,则利用不同于第一计算式的第二计算式计算所述一个轮廓点的轮廓方向;(d)根据所述一个轮廓点的轮廓方向,输出特征值。
2.按照权利要求1所述的方法,其特征在于所述第一计算式根据所述一个轮廓点Pi的座标值,所述一个轮廓点之前的第N个点Pi-N的座标值,及之后的第N个点Pi+N的座标值进行计算,所述第二计算式根据所述一个轮廓点之前的第N个点Pi-N的座标值及之后的第N个点Pi+N的座标值进行计算。
3.一种用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值的方法,包括下述步骤(a)跟踪所述PEL阵列模式的轮廓,产生存在于每个被跟踪轮廓上的多个轮廓点的列表;(b)为所述多个轮廓点中的一个轮廓点Pi计算表示轮廓曲度的锐度值;(c)根据计算的锐度值,确定所述一个轮廓点Pi的轮廓曲度属于五种曲度组中的哪一组,所述五种曲度组包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”;(d)如果确定所述一个轮廓点Pi的轮廓曲度属于“强凹面”或者“强凸面”,则根据连接所述一个轮廓点Pi和所述一个轮廓点之前第N个点Pi-N及之后第N个点Pi+N之间的中点的直线的方向,确定轮廓方向,如果确定所述一个轮廓点Pi的轮廓曲度属于“直线/拐点”,则根据连接所述之前的第N个点Pi-N和之后的第N个点Pi+N的直线的方向,确定轮廓方向;(e)根据所述一个轮廓点的轮廓方向,输出特征值。
4.一种用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值的设备,包括(a)捕获所述PEL阵列模式的图象输入装置;(b)通过跟踪所述PEL阵列模式的轮廓产生的X-Y列表,用于控制存在于每个被跟踪轮廓上的轮廓点的座标值;(c)通过计算代表所述轮廓点的轮廓曲度的锐度值产生的锐度列表;(d)如果所述锐度值指示尖锐的弯曲,则通过利用第一计算式计算获得的轮廓方向列表,或者如果所述锐度值指示直线或者拐点,则通过利用不同于第一计算式的第二计算式计算获得的轮廓方向列表;(e)根据所述轮廓方向列表输出特征值的装置。
5.一种用于存储程序的计算机可读存储介质,所述程序用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值,所述程序包括(a)指示所述计算机跟踪所述PEL阵列模式的轮廓,并产生存在于每个被跟踪轮廓上的多个轮廓点的列表的程序代码;(b)指示所述计算机为所述多个轮廓点中的一个轮廓点计算代表轮廓曲度的锐度值的程序代码;(c)如果所述锐度值指示尖锐的曲线,则指示所述计算机利用第一计算式计算所述一个轮廓点的轮廓方向,或者如果所述锐度值指示直线或者拐点,则指示所述计算机利用不同于第一计算式的第二计算式计算所述一个轮廓点的轮廓方向的程序代码;(d)指示所述计算机根据所述一个轮廓点的轮廓方向输出特征值的程序代码。
6.按照权利要求5所述的存储介质,其特征在于所述第一计算式根据所述一个轮廓点Pi的座标值,所述一个轮廓点之前的第N个点Pi- N的座标值,及之后的第N个点Pi+N的座标值进行计算,所述第二计算式根据所述一个轮廓点之前的第N个点Pi-N的座标值及之后的第N个点Pi+N的座标值进行计算。
7.一种用于存储程序的计算机可读存储介质,所述程序用于分析从象素(PEL)阵列模式检测到的一个或多个轮廓,并抽取该PEL阵列模式的特征值,所述程序包括(a)指示所述计算机跟踪所述PEL阵列模式的轮廓,并产生存在于每个被跟踪轮廓上的多个轮廓点的列表的程序代码;(b)指示所述计算机为所述多个轮廓点中的一个轮廓点Pi计算代表轮廓曲度的锐度值的程序代码;(c)指示所述计算机根据计算的锐度值,确定所述一个轮廓点Pi的轮廓曲度属于五种曲度组中的哪一组的程序代码,所述五种曲度组包括“强凹面”、“弱凹面”、“直线/拐点”、“弱凸面”及“强凸面”;(d)如果确定所述一个轮廓点Pi的轮廓曲度属于“强凹面”或“强凸面”,则指示所述计算机根据连接所述一个轮廓点Pi与所述一个轮廓点之前第N个点Pi-N及之后第N个点Pi+N之间的中点的直线的方向,确定轮廓方向,以及如果确定所述一个轮廓点Pi的轮廓曲度属于“直线/拐点”,则指示所述计算机根据连接所述之前第N个点Pi-N及之后第N个点Pi+N的直线的方向,确定轮廓方向的程序代码;(e)指示所述计算机根据所述一个轮廓点的轮廓方向输出特征值的程序代码。
全文摘要
本发明的目的是不依赖于字符图象的轮廓形状,快速获得有助于改进字符图象识别率的稳定特征值。检测象素(PEL)阵列模式的一个或多个轮廓,随后确定每个轮廓上的凹面/凸面强度(锐度)及凹面/凸面的方向。利用所关心的轮廓点的锐度值,把其曲度归入强曲度组或者另一弱曲度组,恰当地使凹面/凸面的方向(轮廓方向)的定义从一种转换成另一种,以便于计算。
文档编号G06T7/60GK1250196SQ9912056
公开日2000年4月12日 申请日期1999年9月29日 优先权日1998年10月2日
发明者高桥弘晏 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1