带有n个处理器的模式识别系统的制作方法

文档序号:6409622阅读:216来源:国知局
专利名称:带有n个处理器的模式识别系统的制作方法
技术领域
本发明涉及模式和字符识别领域,尤其是涉及一种带有N个处理器和由应用算法构成的过程的数据库的模式识别系统,所述数据库的数据模式由目标、用于连接目标的链和用于说明目标的属性构成。
在近几年,作为在模式识别,尤其是字符识别中提出的复杂问题的结果提出一个与面向目标的编程语言(OOPS)和面向目标的数据模式(OODM)相类似的、涉及目标的公式。而且在此的核心思想是,采用模式识别中所有出现的数据对概念目标加以说明,该概念目标适用于显式表示。对此在Proceedings of the IEEE vol 80,Seite 1116-1119,PMFT-Verbundprojekt Foerderkennzeichen ITM 8501 A01.01.1985-31.03.1989 Seite 114 bis 127中已对在数据模式基础上的数据库作了记载,该数据模式由用于表示识别目标的目标、用于表示识别目标的结构信息的目标间的连接和用于说明目标的属性构成。所有识别算法由数据库获得其输入数据并且再把其输出数据存储在数据库内。这样就实现了识别算法特征与管理和控制特征明显的分离。尤其是可以满足针对应用专门研制识别算法的要求。已证明识别质量,例如地址阅读器的读出速率和错误率与数据组有关。故在给定的应用中总是应用那些就待识别的数据组预先已知的并能提供较好的结果的算法。在字符识别系统中,预先已知的数据组的特征的简单例子是在一份文件中的字体、字号、限定的词汇或待识别字符的位置。同时可以满足算法重复应用的要求。识别算法可以在具有不同操作系统的不同类型计算机中加以实现并还应能尽可能容易地与新问题适配。
对一些复杂的问题,识别算法需要大量的计算,故在实际应用中必要的吞吐(Durchsatz)能力只能在并行计算机中实现,其中对一些处理步骤必须用专用硬件加以支持。但是由引用的已有技术公开的识别系统是作为单程系统设计的。
本发明的任务在于,提出一种带有N个处理的模式识别的方法和装置,其中系统的多机种性(Heterogenitaet)对识别算法保持未知状态。本任务采用这种的方法来解决,采用在多处理器环境下和分布式数据库条件下由识别算法构成的过程,其数据模式由目标、用于连接目标的链路和用于写入的属性构成,其中利用数据存取函数实现目标,链路和属性的写入、读出和擦除以及数据库的产生、打开、关闭和抹掉,其中识别算法不知道数据存储的执行,为每个过程专门分配有一定数量的用于读出输入数据和写入输出数据的端口,并且隐式地实现过程间的数据交换,从而通过数据存取函数的调用发送或接收数据库的数据部分。
本发明的模式识别系统在建立不同的互通的过程系统时具有很大的灵活性。可以不加改变在单过程或多过程系统中采用识别算法。该系统尤其可以用作用于高效、可配置的吞吐量可分级的字符识别软件的开发产台。
有关本发明的进一步有益的实施方式,请参见说明书和从属权利要求。
下面将对照附图对本发明做进一步的说明。


图1表示一种带有N个处理器的多机种模式识别系统。
图2表示一多程系统的过程。
图1示出一种与例如用于字符识别采用的系统相同的多机种统一的模式识别系统。地址阅读器由文件为N个处理器系统产生原始数据,该系统由个人计算机(PC)、工作站(WS)和不同的协处理器(KP)构成,该协处理器通过相应的网络相互通信。这样一种系统尤其也适用于识别系统的模拟。
在图2所示的多程系统中由用户的过程控制1确定过程分配和数据分配。数据库的数据模式由目标、链和属性构成。目标总是指应用目标,例如一份具体的文件或一个符号。目标都配有属性。属性是一目标的说明的特征,例如大小或像素图像。一个目标属于一目标类型,一个属性属于一属性类型。所有类型都是由用户定义的。目标由单一的目标标记和目标类型加以描述。属性由目标标记、属性类型和属性专用数据组加以描述。目标间的关系由链加以表示。链是双向的,它们连接两个目标。链是归类的,例如父链、同级链。所有链类型都由用户加以定义。链具有可选择替代方案。因此例如可以处理回溯算法的多个替代解决办法。链路由源目标标记、目的目标标记、类型和选择编号加以描述。
用户根据此数据模型可以用任意数量的目标类型、链类型和属性定义数据模式。另外可以对一致性条件加以表达链路类型和属性类型可以限于确定目标类型的应用,链路可以作为多向或双向应用加以说明,并确定其基数(Kardinalitaet)(1∶1、1∶n或n∶n)。选择编号可以实现将甚至不同类型的链路汇集成选择路径。尤其是目标、链路和属性的存取顺序由每一给定的识别问题所确定。
通常字符识别系统中的识别过程由两个不同类型的处理步骤的混合构成分割步骤和说明步骤。在分割步骤中,图象或象素被分解成大量的单元或大量的象素被汇集成较高级的单元,即设置一个图象结构,或确定图象中的结构。例如图象被分解成分级数量的彼此相关的区域,部分彼此相关的区域汇集成行,行被分解成词汇序列,并且词汇序列又分别被分解成字符序列。在说明步骤中,对象素产生某形式的数据。例如对一彼此相关的区域产生轮廓说明,对一行产生一限定矩形和一直方图,并且对一字符产生一分类结果。分段步骤的结果作为目标用链路输出。说明步骤结果作为属性输出。属性总是精确地分配给某一目标。算法1-N(2)关系到任意的识别算法。算法在系统中常常以流水线方式运行,其中每个算法都接受其前算法的结果。还存在有委托者一/服务者-关系,以及具有多个选择或竞争的发送者或接收者的关系。所有算法从数据存取库3输入数据,并通过该数据存取库输出其输出数据。所以对各算法而言,数据存取是相同的,而与数据永久性地存储在磁盘中,还是暂存在主存储器中,是集中存储还是分布存储无关。故算法可以不加改变地加入不同的系统配置中。
表1示出用于查找一份文件中的行或词汇的系统的简单概要。
每个数据库可以存储多份文件。通过由预定义的根目标ROOT开始的1∶n连接Document link可获得这些文件。对每份文件可以给出行的清单,每一行又有两个词汇选择清单。用限定矩形对行和词汇进行说明,矩形给出了其在文件的光栅像中的位置。如表1所示,最好采用数据定义语言对数据模式进行定义。
数据存取库3包含用于写入、读出和删除目标的函数,以及用于产生、打开、关闭和消除局部数据库的函数。对一给定的数据模式由一发生器产生数据存取库,该发生器将数据定义语言进行编译。所产生的数据存取库建立在与模式无关的数据存储库4之上,该数据存储库实现对数据的存储,例如在磁盘上或实时在主存储器上。
依照本发明,带有分散存储器的局部数据库间的数据交换机理的基础是端口通信5。一个由识别算法构成的过程可以具有任意数量的不同类型的端口(输入、输出委托者或服务者端口),过程由这些端口读出输入数据,并向这些端口写入输出数据。尤其是可以通过委托者端口发送任务数据并接着接收结果数据。通过服务者端口,过程接收任务数据并接着可以将结果数据发送给任务发送者。用于一个过程的端口数量及其类型分类由静态配置决定,同样哪些过程的哪些输出端口与哪些过程的哪些输入端口以及哪些过程的委托者端口与哪些过程的服务者端口连接,也是由静态配置决定的。所以对于一个过程,其通信伙伴的位置和数量是未知的。在多个过程的端口间不仅可以确定多向多传送连接,而且也可以确定通用的多向或双向多传送连接。来自不同源端口的连接可以并入同一个目的端口。此外还可以设置连接选择。其中采用预定的策略为在一具有连接选择端口上的每个发送选定一个连接。表2示出用于行和字词查找的过程系统的端口连接,该过程系统是表1的数据模式的基础。 表2这里,过程对行进行查找,并对每个找到的行分配两个过程,该两个过程采用选择的方法查找字。两个字词查找过程中较慢的那个过程激活两次,以便使该过程不致成为信息通过量的隘口。行查找过程的执行完全与这种过程的分配无关,因为行查找过程仅负责向委托者端口提供行并从该端口取回字。
端口通信实现了已连接好的程序在不同的系统配置中运行,这是因为不必对参与的过程重新进行编译或连接,即可产生端口连接。例如可以把一个构成信息通过量隘口的过程如表1中的Find Words Slow过程简单地加以复制。用多传送连接可以对数据流进行复制,并可在多条路径上继续处理,如表1中过程Find Words Slow所示。经编译和连接的软件组件通过端口通信与硬件组件具有一定的相似性。与硬件的接口相符,采用端口通信研制的软件组件具有一定数量的端口,这些端口根据在那里出现的预期的数据可自由地被连接。
利用传送库6的函数可以由局部数据库选出预定的数据部分或数据部分序列,并通过一预定的端口发送出去或在一预定的端口进行接收,并插入一个预定的数据库中。这类数据部分可以是目标、链、属性、目标的分树或分图形和带有属性的链路。这里,目标标记可以由整个系统中通用的单一的目标名称(过程标记+数据库标记+目标标记+时间符号)构成,或反之。这里的时间符号涉及一种保护机制,通过此机制可以相互区分由不同数据库产生的目标。采用这种在整个系统中单一的名称构成,目标拷贝在多程系统中都会被视为同一目标。
在由识别算法构成的过程之间的进行数据交换的唯一实现方法是,在由数据存取库3调用存取函数的基础上,在预定的端口发送预定的数据部分或由预定的端口接收预定的数据部分。基本构思是,将对一局部数据库尚不具有的数据读取时数据部分的接收与成功数据写入时数据部分发送结合在一起。最简单的情况是,在打开局部数据库时将一个过程的识别算法的输入数据的接收挂起,而在关闭局部数据库时相应地将输出数据的发送挂起。为此必须为数据存取库的每个函数设置一个钩(Hook),相应的函数可以挂在其上。用于一个过程的该钩函数最好集中在一个模块7中,从而使一个过程的局部数据库的局部数据间的数据交换的动作与其它过程的数据库汇集在一起。
下面将证明一字符识别系统应用的实施。
在下述例子中将借助直方图技术在一份文件中找到字区和行。
算法1区的产生将DOCUMENT(即其涂抹的彼此相关的区域)分割成区。DOCUMENT作为涂抹的彼此相关的区域(VZG)的长度存在,其中一个彼此相关的区域是光栅图中一定数量的相邻的黑色光栅点;一个涂抹的彼此相关的区域是一个在经扩散涂抹的光栅图中的彼此相关的区域。
输入数据一个DOCUMENT目标,VZG目标(涂抹的彼此相关的区域)通过VZG_LINK链挂在该目标上。分别用两个属性(ATT1和ATT2)对VZG目标加以说明。
输出数据ZONE目标,该目标通过ZONE_LINK链挂在DOCUMENT目标,并通过VZG_LINK链分配给VZG目标。
算法2直方图计算(直方图类型1)由一个区的涂抹的彼此相关的区域计算出直方图。
输入数据ZONE目标,VZG通过VZG_LINK链挂在该目标。VZG目标由ATT1属性加以说明。
输出数据ZONE目标的HISTO1属性。
算法3直方图计算(直方图类型2)由一个区的涤抹的彼此相关的区域计算出直方图。
输入数据与算法2同输出数据ZONE目标的HISTO2属性。
算法4直方图计算(直方图类型3)由一个区的涂抹的彼此相关的区域计算出直方图。
输入数据与算法2同,但ATT2替代ATT1属性输出数据ZONE目标的HISTO3属性。
算法5直方图计算(直方图类型1)对一个区直方图进行计算。
输入数据带有HISTO1属性的ZONE目标输出数据(与本例不相关)算法6直方图计算(直方图类型2)对一个区直方图进行计算。
输入数据带有HISTO2属性的ZONE目标。
输出数据(与本例不相关)算法7直方图计算(直方图类型3)对一个区直方图进行计算。
输入数据带有HISTO3属性的ZONE目标。
输出数据(与本例不相关)
上述算法可以按其序号的顺序一个接一个地在一个过程中运算。平行的一个可能的起点是对区直方图的计算。对一个区的直方图类型的计算与其它区的直方图计算无关。这样,算法可以置于并行过程中。假设类型3直方图的计算时间大大长于类型1和2的计算。这样,相应过程应加倍,以便在这里可以并行处理两个区。产生的过程如下过程1区过程区的产生和直方图的计算(算法1、5、6、7)过程2直方图过程(直方图类型1)直方图计算直方图类型1(算法2)过程3直方图过程(直方图类型2)直方图计算直方图类型2(算法3)过程4直方图过程(直方图类型3)直方图计算直方图类型3(算法4)过程5直方图过程(直方图类型3)直方图计算直方图类型3(算法4)实施的过程如下步骤1建立数据模式,表3 表3
由数据模式产生数据存取库5,图2。
该步骤与是否并行及如何并行无关。
步骤2算法的执行该步骤同样也与是否并行及如何并行无关,也许有一小小的局限在一分散系统中重要的是。可以任何一种方式识别出何时算法的输出数据完全输出。这在用于直方图计算的算法中是不重要的,这是因为输出数据仅由一属性构成。但对用于区产生的算法就不完全那样简单。在这里将写入ZONE目标、由DOCUMENT目标至ZONE目标的ZONE LINK链路和由ZONE目标至其VZG目标的VZG_LINK链路。只有当ZONE_LINK链路登记结束时,才能确认输出完毕。
对算法的执行始终需要考虑的是,以何种顺序输出输出数据是相宜的。在算法例如产生一目标树时,树的根目标总是在结束时才与总数据存储量挂钩。
步骤3局部过程控制的执行,图2对区过程的局部过程控制,直方图计算的调用是重要的。该调用应如上所述专门顺序进行,根据此顺序对直方图加以利用。
在首次数据传送前,区过程必须首先建立与直方图过程的端口连接。
在直方图过程的局部过程控制中显明地含有端口通信的预置。该预置由过程名称的设定和建立连接的触发构成。
步骤4建立端口配置,表4 表4
区过程必须对每个区的直方图过程准备两个不同的数据部分(类型1和2的直方图过程需要带有ATT1属性的VZG目标,而类型3的直方图过程则需要带有ATT2属性的VZG目标)。所以区过程需要两个端口。这两个端口系委托者端口,这是因为对准备的数据期待着结果数据。
直方图过程分别具有一个服务者端口,通过此端口接收其输入数据并将输出数据返送给委托者。类型1和2的直方图过程的服务者端口通过一多传送连接与同一委托者端口连接,这是因为它们需要相同的输入数据。两个类型3的直方图过程被交替委托,这是因为其服务者端口通过一选择连接与同一委托者端口连接。
步骤5传送控制模块7的执行,图2在区过程传送控制模块中,算法1的输出数据在写入区事件时作为分树加以发送。在读入某些属性类型时,算法6,7,表3的输入数据被接收。
在直方图过程传送控制模块中,在打开数据库时接收输入数据。在写入某属性时发送输出数据。
由局部数据库的读出、发送时数据的打包和接收时数据的拆包和写入局部数据库以及从局部目标标记向全局目标名称的转换和反向转换对传送库的传送控制函数是不可见的。
权利要求
1.模式识别的方法,采用在多处理器环境下和分布式数据库条件下由识别算法构成的过程,其数据模式由目标、用于连接目标的链路和用于写入的属性构成,其中利用数据存取函数实现目标,链路和属性的写入、读出和擦除以及数据库的产生、打开、关闭和抹掉,其中识别算法不知道数据存储的执行,其特征在于,为每个过程专门分配有一定数量的用于读出输入数据和写入输出数据的端口,并且隐式地实现过程间的数据交换,从而通过数据存取函数的调用发送或接收数据库的数据部分。
2.依照权利要求1的方法,其特征在于,利用包括在传送库中的传送函数,选出预定的数据部分或数据部分序列,并通过预定端口发送或在预定端口上接收数据部分,然后放入一数据库中。
3.依照权利要求1-2的方法,其特征在于,链路、属性、目标的分树或分图形被规定为数据部分目标。
4.依照权利要求1-3的方法,其特征在于,在打开局部数据库或对打开的局部数据库读出的基础上实现输入数据的接收。
5.依照权利要求1-4的方法,其特征在于,在关闭局部数据库或对局部数据库写入的基础上实现输出数据的发送。
6.依照权利要求1-5的方法,其特征在于,在端口间备有连接选择,该连接选择分别根据预定的策略选定。
7.依照权利要求1-6的方法,其特征在于,具有输入、输出、委托者和服务者端口。
8.模式识别装置,带有N个用于由识别算法构成的过程的处理器,其中数据模式由目标,连接目标的链路和用于说明的属性构成,其中具有用于写入、读出和擦除目标和用于产生、打开、并闭和抹掉数据库的数据存取函数,并且其中识别算法不知道数据存储的执行,其特征在于,在分布式存储器上具有局部数据库。
9.依照权利要求8的装置,其特征在于,具有作为处理器的个人计算机、工作站和协处理器网,上述三者通过一个网络互通。
全文摘要
一种模式识别的方法,采用在多处理器环境和分布式数据库条件下由识别算法构成的过程,其数据模式由目标,连接目标的链和用于写入的属性构成,其中利用数据存取函数实现目标、链和属性的写入、读出和擦除以及数据库的产生、打开、关闭和抹掉,其中识别算法不知道数据存储的执行,本发明的方法为每个过程专门分配有一预定数量的用于读出输入数据和写入输出数据的端口,并且隐式地实现过程间的数据交换,从而在调用数据存取函数的基础上发送或接收数据库的数据部分。
文档编号G06K9/62GK1142270SQ95191851
公开日1997年2月5日 申请日期1995年2月27日 优先权日1994年2月28日
发明者斯特芬·凯, 海克·冯·德拉恒菲尔 申请人:利森蒂亚专利管理有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1