具体实施方式
下面将参照附图详细说明本发明的地址识别装置和方法。在附图中,相同的附图标记代表相同或类似的部件。
图3是依据本发明第一实施例的地址识别装置的方框图。在图3中,单字符区域检测单元1将输入的地址图像分成一个个的单个字符,每个单个字符的图像区域称为单字符区域。关键字符提取单元2根据单字符区域检测单元1的结果提取关键字符。地名区域提取单元3再根据关键字符提取单元2中提取出来的关键字符,提取出地名区域。整体地名识别单元4对地名区域提取单元3提取出来的地名区域进行递归和整体性的识别。单字符识别单元E1在地名区域提取单元3提取出来的地名区域内,将单字符区域检测单元1输出的字符识别成相应地名。地名校验单元5校验并确定整体地名识别单元4与单字符识别单元E1输出的地名识别结果。据识单元6确定是拒识还是接受该地名识别结果。
具体而言,当输入了要进行识别的地址图像时,首先由单字符区域检测单元1将其分割成多个单字符区域。单字符区域被分割出之后,各个单字符区域都将被关键字提取单元2识别,并提取出关键字符。提取关键字符之后,关键字符所限定的区域将被地名区域提取单元3从输入图像中分割出来,然后整体地名识别单元4将该关键字符限定区域的特征向量与地名词典里的地名的特征向量相匹配,得出匹配距离小于规定阈值的地名候选的地名候选队列。匹配距离表示由关键字符限定的图像与候选对象的相异程度,其值越小,表示当前判断的图像与候选对象的差异越小,即越接近。其计算在后文说明。同时,依次评估地名候选队列里的各个地名候选的匹配距离与匹配距离最小的地名候选的匹配距离之差与该最小匹配距离的比值,当该比值大于预定的域值时,则判断其与图像相差过大,将其排除。因此,在本发明中并不需要对所有的候选地名都进行评估。即,当判断的图像与候选地名相差过大时,则无需进行下一步的比较(具体参看图5,6的说明),由此缩短了识别时间。此时,还可以通过单字符地名识别单元E1和地名校验单元5,通过将单字符识别结果与整体识别结果相结合,对整体识别出的地名进行筛选。类似地,各级地名区域将被逐个识别。很多时候,地名识别的第一个候选对象往往不正确;相反,正确的结果有可能会是另外的候选。因此,随后对所形成的各相应路径的匹配距离进行计算,找到平均匹配距离最小的路径,将其确定为最终的地名路径。因此本发明采用的多候选递归识别提高了识别的正确性。此外,在与平均匹配距离最小的路径相近的路径有多条时,也可通过单字符地名识别单元E1和地名校验单元5,通过将单字符识别结果与整体识别结果相结合,对该多条路径中有分歧的地名图像的整体识别的候选地名进行筛选。
单字符地名识别单元E1将提取在该关键字符限定区域之内的,单字符区域检测单元1得到的单字符区域的特征,并将它们的特征将与单字符字典之内的字符特征对比,逐个识别。地名被识别之后,地名校验单元5将整体的识别结果和单字符识别结果相结合,并最终检验识别结果。这样,实现了单字符区域识别结果与递归和整体识别结果的结合,提高了识别的正确性。
下面对图3中的各模块进行逐一介绍。
图4是图3所示的单字符区域检测单元1的方框图。
图4中,连通域标示单元34通过连通域检测算法(参见HypermediaImage Processing Reference,Bob Fisher,Simon Perkins,AshleyWalker and Erik Wo1fart.Depa rtment of Artificial IntelligenceUniversity of Edinburgh,UK.http://www.cee.hw.ac.uk/hipr/html/label.html),标示出输入图像中所有的连通域。连通域是图像前景色(通常为黑色)像素点的集合,在此集合中,任何两个像素点都能通过该集合内的像素相连通。
候选单字符区域确定单元35将根据标示出的连通域的大小、位置及其与相邻连通域之间距离等信息,将相应的连通域合并为新的连通域,这些新的连通域则为候选的单字符区域。比如,假设输入地址图像为横向书写,当连通域A在连通域B之上,则B和A应该属于同一字符,那么B和A则应当被合并为一新的连通域。具体地,连通域的合并可参见美国专利US 6,535,619 B1中图11A,11B,11C及其说明。
平均字符大小计算单元36将滤除由候选单字符区域确定单元35得到的新的连通域中明显大小异常的连通域,并计算得到剩下的连通域及字符的平均大小。也即,假设CCi(i=1,2,...,mcc)为所有的mcc个由候选单字符区域确定单元35得到的连通域,并且连通域CCi其宽度表示为Width(CCi),高度表示为Height(CCi)。则滤除所有满足下面任一条件的CCk。
(1)Width(CCk)<WCCmidian-Thwidth_low
(2)Width(CCk)>WCCmidian+Thwidth_low
(3)Height(CCk)<HCCmidian-Thheight_low
(4)Height(CCk)>HCCmidian+Thheight_low
其中WCCmidian表示从所有Width(CCi)(i=1,2,...,mcc)中所得的中位数,HCCmidian表示从所有Height(CCi)(i=1,2,...,mcc)中所得的中位数,Thwidth_low,Thheight_low为两个正的预设阈值。中位数的计算详见阮秋琦编著的《数字图像处理学》,第325页,该书由电子工业出版社出版。
像素投影单元37竖直投影输入地址图像(假如图像是水平书写)或水平投影输入地址图像(假如图像是竖直书写)。对图像进行竖直(或水平)投影将得到图像横向(纵向)每点的黑色像素的数目。
临时候选分割点提取单元38和临时候选分割点确认单元39用来将由单字符区域确定单元35输出的新的连通域分割为真实的字符区域,即用来将相连字符分割为独立的单一字符。
根据像素投影单元37得到的黑色像素数量,临时候选分割点提取单元38提取出满足下列两个条件的位置点为临时候选分割点。这些位置点就是相连字符的可能分割点。
条件1:该位置点为投影得到的黑色像素数量直方图的极小值点
条件2:该位置点上的黑色像素数量小于一预设阈值Thseg
候选分割点的提取例如可以采用美国专利公开US 6,535,619 B1中公开的方法。
临时候选分割点确认单元39将确定由临时候选分割点提取单元38得到的临时分割点是否为真正的相邻字符区域分割点。
如果输入的字符图形是水平书写的,那么对任一待分割连通域,如果某临时候选分割点位于从该连通域起始位置起的1/2平均字符宽度的倍数位置处附近的区域,则该候选点就确定为分割点。具体而言,假设Pi(0<i<s,i为一正整数)为一连通域的从起始位置起的1/2平均字符宽度的倍数位置点,Thdelta为一正的常数(预设阈值),如果存在某个分割点C,和i满足
Pi-Thdelta<C<=Thdelta+Pi
则C确定为一分割点。该连通域则在该点C被竖直分割为两个新的连通域。
如果输入的字符图形是竖直书写的,那么对任一待分割连通域,如果某临时候选分割点位于从该连通域起始位置起的1/2平均字符宽度的倍数位置处附近的区域,则该候选点就确定为分割点。具体而言,假设Pi(0<i<s,i为一正整数)为一连通域的从起始位置起的1/2平均字符宽度的倍数位置点,如果存在某个分割点C,和i满足
Pi-Thdelta<C<=Thdelta+Pi
则C确定为一分割点。该连通域则在该点C被水平分割为两个新的连通域。
图5是根据本发明实施例的关键字符提取单元2的方框图。
在图5中,候选关键字符提取单元20将从单字符区域检测单元1输入的单字符区域(或连通域)中,提取候选的关键字符。关键字符路径识别单元21将参考地址多级结构知识单元24(其为可提供地名分级知识的数据库、程序等),确定出合理的关键字符路径。关键字符路径过滤单元22储存多条关键字符路径,计算出各条路径中关键字符的平均匹配距离(即各级地名匹配距离之和与地址级数的比值),并由小到大排列所有的路径,最后选取前K条关键字路径,作为最终的关键字路径。其中K是一个预设的正整数。
具体而言,输入了地址图像进行识别时,首先从输入的图形中提取连通域,再由候选关键字符提取单元20从该连通域中提取关键字符(具体参见后文图6说明)。然后经过整合关键字符,由关键字符路径确定单元21确定出一条符合地名分级知识的关键字符路径。该关键字符路径描述了关键字符的先后顺序,其中前面的关键字符是其后关键字符的上级行政单位。例如,省-市-镇就是一条关键字符路径,而省-镇-市则不是,因为镇不能下辖市,而市的行政级别则可以下辖镇。然后在关键字符路径过滤单元22中,根据关键字符提取的识别结果中各个关键字符的平均匹配距离。对各条关键字符路径进行排序。在地名区域的提取和识别中,只有平均匹配距离最小的K条字符路径才被评估,其中K是预设的一个正常数。比如输入地址是“北京市朝阳区”,如果这里“京”和“市”所对应的图像区域被识别成关键字市,“区”所对应的区域被识别成关键字区。那么这里的关键字路径则是市(“京”)-区(“区”),市(“市”)-区(“区”)。此时计算市(“京”)-区(“区”)的“京”和“区”识别为市和区的平均匹配距离,和(“市”)-区(“区”)里的“市”和“区”识别为市和区的平均匹配距离。平均匹配距离越大的关键字则越不可能为正确的关键字路径,越应当被滤除。因此在地名区域提取和识别中,并不需要和传统方法一样评估所有的关键字符路径,而只需要选择平均匹配距离最小的前K条关键字符路径(K为一预设正整数),从而提高了地址识别的效率和正确性。
图6是根据本发明实施例的候选关键字符提取单元20的方框图。
特征提取单元42在从单字符区域检测单元1中输入的连通域(即单字符区域)所对应的图像中提取特征向量。字典匹配单元43参考关键字符字典单元41,将特征提取单元42输出的特征向量与关键字符字典中的关键字符特征向量相匹配,输出可能的候选关键字符。候选关键字符确认单元44确认这些选出的候选关键字符是否为真正的关键字符。
具体而言,当从单字符区域检测单元1中输入了连通域时,首先由特征提取单元42提取连通域的特征。然后,字典匹配单元43将从该连通域图像中提取的特征向量(记为fCCi)和关键字字典里所有关键字的特征向量(记为fkeyk,k=1,2,3...,22,中文地址一共有22个关键字符,分别为:省,市,区,弄,路,街,村,乡,镇,港,湾,县,道,里,同,巷,楼,州,旗,胡,庄,坊)相匹配。如果存在某个关键字符Kc,它与该连通域的匹配距离Dis(CCi,Kc)小于一个预设阈值Thkey,则该连通域被判断为可能候选关键字符Kc。匹配距离Dis(CCi,Kc)定义fCCi与fkeyKc的欧式距离,即:
上文中假设fCCi与fkeyKc的维数为m,并且其中fCCij表示fCCi的第j维元素的数值,同理fkeyKcf表示fkeyKc的第j维元素的数值。
因此,候选关键字符提取单元20将单字符区域仅和有限个(在汉字的情况下为22个)关键字符进行匹配,而无需如传统方法那样与所有上千汉字字符进行匹配。从而提高了系统效率和关键字识别精度。
此外,如果在对一个连通域的识别中,与L(L≤22)个候选对象的匹配距离小于预设阈值Thkey,则该连通域将被识别为L个可能的关键字符。因此,例如,如果一个连通域的可能关键字符为“省”和“市”,则将该连通域识别为“省”和“市”两个关键字符。这样一来则可以降低丢失正确字符的风险,而地址识别的正确性会有所提高。
此外,在候选关键字符确认单元44中,如果连通域CCi的候选关键字对象存在L个关键字符(K1,K2,…,KL),(K1,K2,…,KL已按匹配距离由小到大进行排序)该连通域只被识别为符合条件
[Dis(CCi,Kn)-Dis(CCi,K1)]/Dis(CCi,K1)<Thdis_k
的关键字符,其中Dis(CCi,Kn)表示关键字Kn与连通域CCi的匹配距离,Thdis_k是一个正的常数,表示一个预设阈值。采用该种关键字滤除方法,将会保留和第一候选相近的关键字,并在后面的关键字路径确定和地名匹配中评估。如果,某个关键字不满足上面的条件,说明该关键字的匹配距离与第一候选的匹配距离相差很远,则不大可能为正确的关键字,应该被滤除。因此,关键字符提取之后的地名区域提取和识别,并不用评估所有可能的关键字符,由此提高了地址识别的效率和正确性。
图7是依据本发明实施例的整体地名识别单元4的方框图。如图7所示,地名匹配单元27从地名区域提取单元3输入的与各级地名相对应的图像中提取特征,并与地名词典单元54(其存储有地名数据库、地名词典等)中存储的地名特征进行匹配,由此输出1至Nc个候选对象。候选地名评估单元28对这1至Nc个候选对象进行评估,从中确定若干个候选对象作为下级地址的上级行政单位。递归匹配评估单元29计算所有的候选地址的平均距离,并从中选出具有最小平均匹配距离的地址。地名匹配单元27包括特征提取单元(未示出),用于提取地名图像中的特征向量;以及匹配单元,将所提取的特征向量与地名词典中的地名的特征向量进行匹配,寻找所有的可能候选地名。
因此,由于地名识别的第一候选往往不是正确的地名,所以本发明的多候选递归识别方法将会极大地提高系统的识别精度。而且,采用地名评估,不必要遍历所有的候选,从而提高了系统的识别效率。
图8是依据本发明实施例的整体地名识别单元4的示意性工作流程图。
假设在输入的地址图像中有N级关键字符。在步骤SF1中设定地址识别从第i=1级开始。在步骤SF2中进行第i级地名匹配。在地名匹配中,如果存在上级地址,则将从该第i级地名所对应的地名图像中所提取的特征与地名词典中其上级地址所辖的、被第i级地名关键字所限定的地名相匹配。产生1至Nc个地名候选,并对这些地名候选按匹配距离进行小到大排序。在步骤SF3设定候选序号计数器从k从2开始。在步骤SF4计算第k个地名候选距离与第一候选距离之差和第一候选距离的比率。在步骤S5判断是否该比率大于一预定阈值Thdis或者已是最后一个候选。具体讲,如果[Dis(Cand1k)-Dis(cand11)]/Dis(cand11)<Thdis或者判断当前候选已是最后一个候选时,那么进入步骤SF7,保留1至k个候选作为上级行政单位用于下一级的地名识别。这里,Dis(Cand1k)表示在第一级地名识别当中的第k个候选对象的匹配距离,匹配距离表示由关键字符限定的图像与候选对象的相异程度,其值越小,表示当前判断的图像与候选对象的差异越小,即越接近。其计算将在下文说明。Thdis是一个正的常数,系一个预设阈值,大于该阈值说明当前判断的图像与候选对象相差过大,无需进行下一步的比较。另外,由于地名候选按匹配距离排列,如果当前候选的计算比率大于Thdis,则后面的候选的比率也一定会大于该阈值,从而无须进行评估。另一方面,如果在步骤S5判断该比率并不大于预定阈值Thdis并且不是最后一个候选,则在步骤SF6增加K值后,返回步骤SF4。
当所有候选评估完毕时,保留了1至k个候选作为下级地名匹配的上级地址。由此可见,各级地址匹配保留的候选地名数目k为动态变化,有可能不同,当候选的匹配距离与第一候选的匹配距离相差很大,该候选不大可能为正确的地名,则最后的k将为一较小的数;反之,将会以较大的数。
在步骤SF8判断是否所有N级地名已被识别,如果不是,则在步骤SF9中将I值增加后,进行下一级地名匹配。比如,在进行第二级地名匹配时,需要在第一级候选地名输出的上级行政单位的范围中,将第一、二个关键字符之间的图形与由上级地名所辖的,由第二个关键字符所限定的行政单位的地名进行匹配。举例来说,如果第一级候选地名为北京和北海,第一个关键字为市,第二个关键字为区,那么作为一种地址可能,第一和第二关键字符之间的图像则要和北京市下辖的所有取名进行匹配,作为另外一种地址可能,第一和第二关键字符之间的图像则要和北海市下辖的所有取名进行匹配。并输出从1到Nc的多个可能的候选对象。
当各级地名匹配结束,即SF8判断为是(最后一级地名无需进行地名候选评估,因为没有下级地名,因此无需输出其地名候选为下辖地名的上级地名),由SF10累加每条候选地址内的全部地名的匹配距离。SF11根据SF10得到的累加匹配距离对候选地址进行排序,并输出具有最小累加匹配距离的地址作为识别结果。
应当注意的是,上面的过程是个递归过程,也即第i级地名匹配要分别以第i-1级的所得的所有k个候选作为上级地址进行匹配。同理,第i级地名匹配所得的候选地名经过步骤SF7后的k个候选地名也都作为下一级的地名匹配的上级地址。
匹配距离Dis(Candi)定义为第i个候选地名的特征向量fi与对应的从地名图像提取的特征向量vi的欧式距离,即:
上面假设特征向量fi,特征向量vi量的维数为m。fij,vij分别表示特征向量fi和vi的第j维元素的数值。
图8仅仅是整体地名识别工作流程的一个示例。在整体地名识别过程中,步骤SF2中的匹配结果可以进一步通过地名校验单元与单字符地名识别的结果相结合,对所得的候选地址进行筛选,然后再进行SF3之后的过程,这样可以提高地名识别的精度。类似地,也可将SF7的识别结果通过地名校验单元与单字符地名识别的结果相结合,对所得的候选地址进行筛选。地名校验单元5与单字符地名识别单元E1将在后文介绍。
图9示例性地示出了依据本发明的实施例的递归与整体识别地址的方法。
图9中,假设输入的原始手写图像字符是“北京市朝阳区”,则其关键字符路径是“市-区”。该路径“市-区”中包括的关键字符将从输入图像中由关键字符提取单元2提取出来。
然后,对第一个关键字符限定的图像进行提取,就能分割出地名区域R1和R2。通过图8所示的步骤SF2整体识别R1,输出Nc个(此处假设为3)候选对象SR1。针对每一个候选对象,输出的还有其匹配距离,说明了图形R1与地名字典中的地名的相异程度。结果R1分别与北海、北京、北屯相比,距离为230、240和310。所以,相较于北京和北屯,R1更可能是北海;而相较于北屯,R1更可能是北京。
然后,所有Nc个候选对象都将受到评估,看其是否可以作为下一级地名(比如第二级地名)的上级行政单位。北屯与北海之差与北海的比率为(310-230)/230,较大,北京与北海之差与北海的比率为(240-230)/230,较小,则北屯不太可能是R1的真实地名,在SR2中被排除。具体而言,假设预定阈值为0.25,因为(310-230)/230>0.25而(240-230)/230<0.25,则北屯被排除,北海和北京被继续用作上级行政单位。
然后,重复上面的步骤对第二级地名进行识别。如果上一级是北海,根据地名词典,北海所辖范围内所有的区的真实地名图形将与R2地名相对照,输出Nc个候选对象,这些候选对象及其匹配距离在SR3中示出。如果上一级是北京,根据地名词典,北京所辖范围内所有的区的真实地名图形将与R2地名相对照,输出Nc候选对象,这些候选对象及其匹配距离在SR4中示出。
结果是,如SR5所示,所有候选对象路径中,当与所有其它候选路径进行(比如北海+银海)比较时,候选对象路径北京+朝阳的平均匹配距离最小,为(240+160)/2=200。因此,识别结果输出为北京市朝阳区。
图10是依据本发明实施例的单字符地名识别单元的方框图。
如上所述,单字符地名识别单元和地名校验单元可对整体地名识别中识别出多个可能候选地名进行筛选。此外还能对整体地名识别单元4中的匹配评估单元的评估结果(即地名路径)中与最小平均匹配距离比较接近的结果(如果有的话)进行筛选确定。
如图10所示,单字符地名识别单元E1包含特征提取单元61、字典匹配单元62、和单字符字典单元59。
特征提取单元61将逐个提取包含在地名区域提取单元3提取的地名区域之内的、由单字符区域检测单元1输出的单字符区域的特征。字典匹配单元62随后将特征提取单元61得到的各单字符区域的特征与单字符字典单元59内存储的单字符汉字特征进行匹配。输出每个单字符区域的从1到N个候选对象。
图11是根据本发明实施例的地名校验单元5的方框图。
基于单字符地名识别单元E1的地名识别结果和整体地名识别单元4所得的地名识别结果,地名校验单元5将对其进行校验和组合。图11是根据本发明实施例的地名校验单元5的方框图。如图11所示,地名校验单元5中包括编辑距离计算单元55、整体识别与单字符识别结合单元58。
编辑距离计算单元55将计算出单字符识别单元E1所得地名结果和所有合乎关键字符限定的、包含在上一级地名识别出的地址所辖地名之间的编辑距离。递归与整体识别与单字符识别结合单元58利用编辑距离计算单元55把整体地名识别单元4所得结果与单字符识别单元E1所得结果相结合。根据整体地名识别单元4所得的候选顺序或者队列,整体识别及单字符识别结合单元58将计算出各个地名的总体排名,最终输出排名最前的地名。
具体的地名校验过程如下:
首先,编辑距离计算单元55运用动态规划(参见E.Ukkonen,《简论近似串匹配》,Comp.Theory,Springer-Verlag,LNCS,158卷,487-495页,1983年。或者S.B.Needleman和C.D.Wunsch,《两种蛋白质的氨基酸序列相似性研究所用的普遍方法》,Molec.Biol杂志,48卷,443-453页,1970年)来计算方程(1)(在后定义)中所定义的:各个由某个关键字符所限定的、包含在上一级地名所辖区域以内的合理地名与单字符识别单元E1所得的结果W之间的编辑距离。编辑距离表示将单字符单元识别结果通过插入、替换、和删除等操作,变为某一合理地名的操作数(具体在后定义)。因此,当某一合理地名的编辑距离小时,则说明该地名和单字符识别结果相差很小,当某一合理地名的编辑距离大时,则说明该地名和单字识别结果相差很大。
在本发明中,编辑距离的定义如下:
假设S为一n维向量,表示一有n个字符的地名,W为一N×m矩阵,其中Wij表示输入的地名图像中第i个单字符区域或连通域的第j个识别候选,Wi则表示第i个单字符区域或连通域的识别结果,即为一m维识别候选列表。那么,S和W之间的编辑距离就是:考虑调整候选,通过插入、删除、或替换,将W变化为S时的最小的代价。Sk与Wi之间的代价计算如下:
其中k是输入的地名图像中单字符区域的总数,W是该地名图像中每个单字符区域的识别的候选数。
因此,如果某个连通域的识别候选Wi中存在待匹配地名S中的某字符Sk,则该字符越在候选队列Wi的前面(即存在小的j,匹配距离,满足Wij=Sk),匹配代价越小,则Wi越有可能是Sk。反之,该字符越在候选队列Wi的前面(即存在大的j,匹配距离,满足Wij=Sk),匹配代价越大,则Wi越有可能不是Sk。
整体识别与单字符识别结合单元58利用编辑距离计算单元55,通过下列步骤将整体识别结果与单字符地名识别结果相结合:
(1)计算每个在上级地名所辖之内的,以当前关键字限定的地名Ai的权重。权重按照如下方程计算:
Weight(Ai)=(1-t1)×Rank_ED(Ai)+t1×i (2)
其中,Ai是整体地名识别单元4所得的第i个候选地名,ED(Ai)表示Ai的编辑距离,Rank_ED(Ai)表示Ai与单字识别候选矩阵的编辑距离的排序位置,t1等于round(ED(Ai))/k。round(ED(Ai))表示对ED(Ai)取整。
(2)由小到大排序所有上级地名所辖之内的,以当前关键字限定的地名Ai的权重。并取最小的Ai作为当前识别地名。
如果Ai的编辑距离非常小,说明单字符识别结果的可靠性就较高,分给Rank_ED(Ai)的权重(1-t1)就多;如果Ai的编辑距离很大,则t1很大,那么整体识别单位所得的候选排序i就在计算权重中起较大的作用。也就是说,如果Ai的编辑距离足够小,单字符识别的结果可信;如果所有合理地址的编辑距离都足够大,那么单字符识别的结果就不大可信,这时需要输出整体地名识别单元所得的识别结果作为合并地名。因为合并了整体地名识别单元所得的识别结果和单字符识别的结果,系统正确性的得到了很大的提高。
图12是根据本发明的地址校验的例示图.
在图12中,(A)、(B)的输入地址图像实际地址为“武汉市二盛一巷”。假设此时第一级地名武汉已被识出,关键字巷也被识别出。(A)例示了对“二盛一”图像区域内的由单字符区域检测单元1所得的单字符区域的单字识别结果。W1、W2、W3分别表示对“二”、“盛”、“一”单字区域的识别候选列。假设候选数目为3。(B)例示了对“二盛一”图像区域采用整体识别得到的地名候选,假设在武汉市内的巷的地名只有三个,分别为“二盛”,“二盛一”,和“二旺一”。
根据地名校验,(A)中的W={W1,W2,W3}矩阵与所有的在武汉市所辖范围之内的、被“巷”所限定的地名(即“二盛”,“二盛一”,和“二旺一”)的编辑距离将被计算。比如“二盛”和W通过动态规划,其最小的编辑距离将在把“二”匹配为W1,“盛”匹配为W2,同时增加一空的字符(记为NULL)和W3匹配.其匹配代价为:
Cost(“二”,W1)=(2-1)/(3×3)=1/9;
Cost(“盛”,W2)=(1-1)/(3×3)=0;
Cost(NULL,W3)=1;
因此,W和“二盛”的编辑距离为1/9+0+1=10/9;
同理,W和“二盛一”的编辑距离计算过程如下:
Cost(“二”,W1)=(2-1)/(3×3)=1/9;
Cost(“盛”,W2)=(1-1)/(3×3)=0;
Cost(“一”,W3)=(2-1)/(3×3)=1/9;
因此,W和“二盛一”的编辑距离为1/9+0+1/9=2/9;
同理,W和“二旺一”的编辑距离计算过程如下:
Cost(“二”,W1)=(2-1)/(3×3)=1/9;
Cost(“旺”,W2)=(1-1)/(3×3)=1;
Cost(“一”,W3)=(2-1)/(3×3)=1/9;
因此,W和“二旺一”的编辑距离为1/9+1+1/9=11/9;
所以,所有在武汉市所辖的巷的地名的编辑距离排序为“二盛一”,“二盛”,“二旺一”。
根据校验规则(1),因为此时“二盛一”的编辑距离为1/9最小,所以“二盛一”被校验为正确的地名.
图13是依据本发明实施例的据识单元的方框图。
如图13所示,据识单元6包含特征提取单元63、据识确认单元64和据识训练单元65。
具体而言,特征提取单元63从各级地名图像区域提取特征{v1,v2,v3,…,vN}。其中,vi(0<i<N+1)为从第i级地名提取的特征,N为地名的总的级数。据识确认单元64将从特征提取单元63得到的特征传入由据识训练单元65得到的映射函数f中,并计算该函数f(v1,v2,v3,…,vN的函数值。如果该值大于0,则接收该识别结果为正确的地址,否则,拒绝该识别结果。
据识训练单元65,用一套从真实地址图像中收集而来的训练集合进行训练。对于不同的地址样品,各级地名识别的匹配距离被收集起来作为特征。如果正确识别了地址样品,该地址图像将标记为接受或+1,反之则标记为拒识或-1。
其根据为《图形识别支持向量机器教程》(克里斯多佛·J·C·巴格斯,发表于《采集数据及发掘知识》,第二卷,2,121-167页,1998)。映射函数(下文称为分类器)可以在训练数据中自动完成根据特征进行分类的过程。该分类器将作为新地址评估的拒识规则,根据该功能所得出的结果为肯定(>0)还是否定(<0)来确定是拒识还是接受识别结果。此项功能可以针对地址质量相应生成适应性的拒识规则,从而提高地址识别的可靠度。
图14示出了依据本发明实施例的地址识别装置的详细方框图。
如图14所示,依据本发明的地址识别装置包括单字符区域检测单元1、候选关键字符提取单元20、关键字符路径选取单元15、地名区域提取单元3,单字符识别单元E1、递归和整体地名识别单元4、地名校验单元5、单字符识别单元69以及据识单元6。单字符区域检测单元1包括连通域标识单元34、候选单字符区域确定单元35、平均字符大小计算单元36、像素投影单元37、候选临时分离点提取单元38、以及候选临时分离点确定单元39。
连通域标识单元34从输入的二元化的图像中标识出连通域。候选单字符区域确定单元35根据标识出的连通域的大小、位置及其与相邻连通域间的距离等信息,综合各个连通域,最终确定出候选单字符区域。
平均字符大小计算单元36将滤除与其它连通域大小不符的图形,并计算出平均的字符大小。
像素投影单元37竖直投影输入地址图像(假如图像是水平书写)或水平投影输入地址图像(假如图像是竖直书写)。对图像进行竖直(或水平)投影将得到图像横向(纵向)每点的黑色像素的数目。
临时候选分割点提取单元38和临时候选分割点确认单元39用来分割由单字符区域确定单元35输出的新的连通域为真实的字符区域,即用来分割相连字符为独立的单一字符。
临时候选分割点确认单元39将确定出由临时候选分割点提取单元38得到的临时分割点是否为真正的相邻字符区域分割点。
关键字符词典41收录存储了所有关键字符的特征。
关键字符候选提取单元20中包括特征提取单元42、词典匹配单元43、以及候选关键字符确认单元44。
特征提取单元42提取单字符区域检测单元1分离出来的区域的特征。词典匹配单元43将把特征提取单元42提取出来的特征与储存在关键字符词典41中的特征进行匹配,输出从1到N个候选字符。然后,关键字符候选确定单元44将确定候选的关键字符是否是真实的关键字符。如果该候选的关键字符的匹配距离与第一个候选字符之比小于预定的阈值,那么它就是一个真的关键字符。
地址多级结构知识单元24中存储了地址分级结构的知识。例如,关键字符省可以包含关键字符市,但关键字符市就不能包括省。
关键字符路径选择单元15包括关键字符路径识别单元21和关键字符路径过滤单元22。
关键字符路径识别单元21将参考地址多级结构知识单元24,确定出合理的关键字符路径。关键字符路径过滤单元22中将储存多条关键字符路径,计算出各条路径中关键字符的平均匹配距离,最终输出K条关键路径,其中K是一个预设的整常数。
地名区域提取单元3将提取出某一条关键字符路径中某一个关键字符限定的地名区域。
地名词典54中存储了地址中各个地名的特征向量。
对于地名提取单元3中提取出来的地名,整体地名识别单元4将逐个地进行整体识别。整体地名识别单元4中包括特征地名匹配单元27,候选地名评估单元,递归匹配评估单元29.
地名匹配单元27从与各级地名相对应的图像中提取特征,并与地名词典单元54中存储的地名特征进行匹配,由此输出1至Nc个候选对象。候选地名评估单元28对这1至Nc个候选对象进行评估,从中确定若干个候选对象作为下级地址的上级行政单位。递归匹配评估单元29计算所有的候选地址的平均距离,并从中选出具有最小平均匹配距离的地址为最后的识别结果。
单字符词典单元59中存储了地址中各个字符的特征向量。
单字符识别单元E1将逐个识别单字符区域检测单元40输出的单字符区域,这些单字符区域包含在地名区域提取单元51提取的地名区域内。单字符识别单元E1中包含了特征提取单元61和词典匹配单元62。
针对单字符区域检测单元40所得的单字符区域,特征提取单元61将提取它们的特征向量,这些单字符区域包含在地名区域提取单元51提取的地名区域内。然后,词典匹配单元62将把特征提取单元61所得的特征向量与单字符词典单元59中存储的特征向量相比较,输出每个单字符区域的从1到N个候选对象.
针对单字符识别单元E1所得的地名识别结果和整体地名识别单元4所得的地名识别结果,地名校验单元5将对其进行校验并合并。地名校验单元68中包括编辑距离计算单元55,以及合并单元58。
编辑距离计算单元55将计算出单字符识别单元E1所得结果和所有合乎关键字符限定、包含在上一级地名识别出的地址以内的地名之间的编辑距离。递归与整体识别及单字符识别的联合单元58将把整体地名识别单元4所得结果与单字符识别单元E1所得结果相结合。递归与整体识别及单字符识别的联合单元58将计算出各个地名的总体排名,最终输出排名最前的地名。
单字符识别单元69将识别那些既不是地名又不是关键字符的图形。它包括了特征提取单元61和词典参考单元62。
拒识训练单元65将根据所得的一批地址训练支持向量机分类器。
拒识单元6将确定是否接受识别结果,它包括特征提取单元63和拒识确定单元64。特征提取单元63将提取特征向量。根据拒识训练单元65输出的支持向量机分类器,拒识确定单元64将确定并输出是否接受识别结果。
最后,如果结果未遭到拒识,拒识评估单元6将输出识别结果,反之输出错误。
前面对本发明实施例的描述是示例性和说明性的,并不是排他性的,也不是为了将本发明限制到所公开的确切形式。显然,对于本领域的普通技术人员,很多修改和变型是显而易见的。选择并说明这些实施例是为了最好地说明本发明的原理及其实际应用。从而使得本领域的其他技术人员能够理解用于各种实施例的本发明以及本发明适于特殊使用目的的变型。例如本发明也可应用于日语和韩文手写地名的识别。此外,在本文中使用匹配距离来判断相似程度,但判断相似程度也可使用匹配距离以外的方法,例如特征向量之间的余弦夹角,特征向量之间的街区距离等,因此本发明的匹配距离应作广泛的解释,是本领域技术人员所能想到的相似程度的定量表示。