买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种面向字母识别的图编辑距离方法_桂林电子科技大学_201710833159.5 

申请/专利权人:桂林电子科技大学

申请日:2017-09-15

公开(公告)日:2020-10-23

公开(公告)号:CN107609592B

主分类号:G06K9/62(20060101)

分类号:G06K9/62(20060101);G06K9/68(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.10.23#授权;2018.02.13#实质审查的生效;2018.01.19#公开

摘要:本发明公开一种面向字母识别的图编辑距离方法,基于现有的SFBP算法框架,通过对代价矩阵框架元素的逐项搜索比较,对每行和每列中满足约束条件的元素个数进行计数;通过比较每行每列满足约束条件的元素个数所占每行每列的比例,对SFBP代价矩阵框架添加相应的代价值行列数,改变其代价矩阵框架,以达到优化的目的。当达到优化目标时,就可以使用求解算法对代价矩阵进行求解计算,从而避免约束条件对算法使用的限制,使得算法更好的应用于字母识别领域中。

主权项:1.一种面向字母识别的图编辑距离方法,其特征是,包括步骤如下:步骤一、提取字母的特征为图数据,构建代价矩阵,其中代价矩阵的构建具体包括如下步骤:步骤1、设定的插入操作代价值Ci和删除操作代价值Cd;步骤2、构建SFBP算法的原始代价矩阵;步骤3、逐行逐列统计原始代价矩阵中替换操作部分满足约束条件的元素个数;其中约束条件为:αCs>Ci+Cd其中,α为给定参数,α∈0,1];Cs为元素值即替换操作代价值,Ci为设定的插入操作代价值,Cd为设定的删除操作代价值;步骤4、计算原始代价矩阵中替换操作部分的每一行中所有满足约束条件的元素个数与该行所有元素个数之比即行占比ti,并统计行占比ti小于预设占比参数q的行数m;其中i=1,2,…,M,M为原始代价矩阵中替换操作部分的总行数,q∈0,1];步骤5、计算原始代价矩阵中替换操作部分的每一列中所有满足约束条件的元素个数与该列所有元素个数之比即列占比tj,并统计列占比tj小于预设占比参数q的列数n;其中j=1,2,…,N,N为原始代价矩阵中替换操作部分的总列数,q∈0,1];步骤6、根据步骤4所得行数m和步骤5所得列数n,计算r=maxm,n;并在整个原始代价矩阵的基础上添加r行和r列元素,添加的r行元素的每一行的前N个元素的元素值为插入操作代价值Ci,添加的r列元素的每一列的前M个元素的元素值为删除操作代价值Cd,添加的r行和r列的剩余元素的元素值为0,由此得到供后续计算图编辑距离使用的求解代价矩阵;其中,M为原始代价矩阵中替换操作部分的总行数;N为原始代价矩阵中替换操作部分的总列数;步骤二、先使用通用的求解算法对步骤一所构建的代价矩阵进行求解计算,求解得出图编辑距离;再利用图编辑距离来衡量字母图之间的匹配度,以完成字母识别。

全文数据:一种面向字母识别的图编辑距离方法技术领域[0001]本发明涉及图编辑距离技术领域,具体涉及一种面向字母识别的图编辑距离方法。背景技术[0002]对字母的识别是模式识别中常见的问题。在完成特征提取后,字母主要由点与线组成,对于识别速度来说,越快越好,同时特征提取后可能会产生噪声数据,因此需要处理速度较快且容错性较好的算法处理。基于图编辑距离的算法是字母识别领域中常见的算法之一。[0003]图编辑距离方法是图匹配技术中容错性最好、应用最广泛的方法之一。图编辑距离指的是将源图编辑成目标图所需的最小编辑操作代价值之和,其编辑操作有六种,分别是点与边的插入、删除和替换。每种操作的代价值由定义的相应代价函数得出,代价值之和即所求得的距离值。由于图编辑距离主要通过度量图之间不相似度来衡量图之间的匹配度,而不相似度则是通过距离值来进行衡量,因此如何计算出图距离对图匹配结果至关重要。[0004]图编辑距离的公式定义如下:[0006]其中,γgl,g2表示所有可从图81转化为图助的完全编辑路径;C幻表示编辑操作^的编辑代价;Amin表示所有完全编辑路径中代价和最小的路径。计算得出的距离越小,表示两个图越相似。[0007]在图编辑距离方法中,主要分为精确算法和近似算法。相比于精确算法的幂次计算时间,近似算法计算速度为多项式时间,因而近似算法得到了学者更多的关注。现有应用最广泛的近似算法是基于二分图匹配的图编辑距离算法。二分图匹配算法将需匹配的两个图构成一个二分图,以顶点之间的编辑操作关系为边,编辑所需的编辑代价为边上的权值,形成一个二分代价矩阵,从而将图匹配问题转化为指派问题,再使用指派问题的算法,如Hungarian算法等进行求解。相关的基于二分图匹配算法有BP、FBP及SFBP算法。[0008]SFBP算法由FBP算法延伸而来。使用SFBP算法需满足下述约束条件:[0010]其中,Cs表示替换操作代价值,^表示插入操作代价值,Cd表示删除操作代价值。在不满足约束的情况下,根据图编辑距离的定义,编辑操作只考虑替换操作,因此SFBP算法的代价矩阵框架在源图与目标图顶点数不同时会有两种形式,当源图顶点数多于目标图顶点数时,代价矩阵框架为:[0012]其中,Cs’表示替换操作部分的代价值,由所有替换操作代价值构成;Cd’表示删除操作部分的代价值,由所有删除操作代价值构成。当目标图顶点数多于源图顶点数时,代价矩阵框架为:[0014]其中,V表示插入操作部分的代价值,由所有插入操作代价值构成。在源图顶点数等于目标图顶点数时,框架只剩下替换操作代价。[0015]可见,对于现有的SFBP算法,在使用时需要不满足上述约束条件,即替换代价值应不大于删除与添加的代价值之和,因此SFBP算法的使用会使得在满足约束时所求结果不佳,存在一定的图匹配误差。也就是说,由于现有SFBP算法中存在着约束条件,因此算法在使用时受到约束条件的制约,导致算法的使用受限,不能广泛应用于字母识别中。发明内容[0016]本发明所要解决的是现有SFBP算法中受条件约束而在应用于字母识别中时有所限制的问题,提供一种面向字母识别的图编辑距离方法,其能在破解SFBP算法约束条件限制的同时将其应用于字母识别中。[0017]为解决上述问题,本发明是通过以下技术方案实现的:[0018]—种面向字母识别的图编辑距离方法,包括代价矩阵框架的构建过程和根据代价矩阵计算图编辑距离的过程。上述代价矩阵框架的构建过程具体包括如下步骤:[0019]步骤1、设定的插入操作代价值^和删除操作代价值Cd;[0020]步骤2、构建SFBP算法的原始代价矩阵;[0021]步骤3、逐行逐列统计原始代价矩阵中替换操作部分满足约束条件的元素个数;其中约束条件为[0022]aCsCi+Cd[0023]其中,a为给定参数,ae〇,1];^为元素值即替换操作代价值,Ci为设定的插入操作代价值,Cd为设定的删除操作代价值;[0024]步骤4、计算原始代价矩阵中替换操作部分的每一行中所有满足约束条件的元素个数与该行所有元素个数之比即行占比ti,并统计行占比ti小于预设占比参数q的行数m;其中i=l,2,…,M,M为原始代价矩阵中替换操作部分的总行数,qe〇,1];[0025]步骤5、计算原始代价矩阵中替换操作部分的每一行中所有满足约束条件的元素个数与该列所有元素个数之比即列占比并统计行占比tyj、于预设占比参数q的列数η;其中j=1,2,…,N,N为原始代价矩阵中替换操作部分的总列数,qe〇,1];[0026]步骤6、根据步骤4所得行数m和步骤5所得列数n,计算r=maxm,η;并在整个原始代价矩阵的基础上添加r行和r列元素,由此得到用于后续求解的求解代价矩阵。[0027]上述步骤1中,设定的插入操作代价值C1和删除操作代价值Cd相同或不同。[0028]上述步骤3-5中,当原始代价矩阵为方阵时,原始代价矩阵中替换操作部分即等同于整个原始代价矩阵。[0029]上述步骤6中,求解代价矩阵为方阵。[0030]上述步骤6中,添加的r行元素的每一行的前M个元素的元素值为插入操作代价值C1,添加的r列元素的每一列的前N个元素的元素值为删除操作代价值Cd,添加的r行和r列的其他元素的元素值为O;[0031]其中,M为原始代价矩阵中替换操作部分的总行数;N为原始代价矩阵中替换操作部分的总列数。[0032]上述步骤3还进一步包括将原始代价矩阵中替换操作部分满足约束条件的元素的元素值变为无穷大。[0033]本发明利用现有SFBP算法的代价矩阵框架模型,通过对代价矩阵框架元素的逐项搜索比较,对每行和每列中满足约束条件的元素个数进行计数;通过比较每行每列满足约束条件的元素个数所占每行每列的比例,对SFBP代价矩阵框架添加相应的代价值行列数,改变其代价矩阵框架,以达到优化的目的。当达到优化目标时,就可以使用通用的求解算法对代价矩阵进行求解计算,从而避免约束条件对算法使用的限制,使得算法更好的应用于字母识别中。[0034]与现有技术相比,本发明利用添加编辑操作的方法,解决现有算法受约束条件而不能很好的应用于代价值关系未明确的字母识别问题中,具有良好的实用性。附图说明[0035]图1为一种面向字母识别的图编辑距离方法的流程图。[0036]图2为源图与目标图的示例图(字母L及其变形),其中a为源图,⑹为目标图。[0037]图3为根据现有SFBP算法和本发明算法得到的代价矩阵框架示例图,其中(a为现有SFBP算法,⑹为本发明算法。具体实施方式[0038]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。[0039]本发明利用现有SFBP算法的代价矩阵框架模型,使用逐项搜索比较的方法,对每行和每列中满足约束条件的元素个数进行计数;通过得出的每行每列满足约束条件的元素个数,比较其所占每行每列的比例,若比例超出人为设定的参数q,则对SFBP代价矩阵框架添加相应的代价值行列数,改变算法的框架,以达到优化的目的。由于本发明考虑了算法存在的约束条件,并采用了添加相应代价值的方式,因此能够有效避免约束条件对算法的制约。参见图1。[0040]实施例一:[0041]—种面向字母识别的图编辑距离方法,包括步骤如下:[0042]步骤一SFBP算法代价矩阵框架的构建。[0043]步骤11、使用相关算法提取任意两个字母的特征为图数据。设得到的两个图数据顶点数分别为a和b,每个顶点上有一个数字标签,且顶点间的边结构是无向无标签的。为方便叙述,根据图顶点数,图分别称为a图和b图。[0044]步骤12、设定插入操作代价值C1和删除操作代价值Cd。设定的插入操作代价值CdP删除操作代价值Cd可以相同,也可以根据点标签值的不同而不同。[0045]步骤13、使用欧式距离的方法计算两个图之间所有顶点的标签距离,得到的标签距离为顶点间的替换代价值。此时得到的替换代价值区域为一个aXb大小的矩阵。[0046]步骤14、若a=b,则进行下一步;若ab,在上述所得矩阵右端添加a-b列矩阵,所添加矩阵中的元素分别对应a图中相应点的删除代价值;则a〈b,在上述所得矩阵下端添加b-a列矩阵,所添加矩阵中的元素分别对应b图中相应点的插入代价值。[0047]步骤15、得到SFBP算法代价矩阵框架,框架大小为maxa,b2。[0048]步骤二、改进的代价矩阵框架的构建。[0049]步骤21、根据构建的SFBP算法代价矩阵框架,对替换操作部分的所有代价值分别进行逐行和逐列的搜索,分别比较其与删除和插入的代价值大小,并对每行和每列中满足约束条件的替换操作代价值的个数进行计数。[0050]利用约束条件时可无需严格满足约束条件,可以人为设定参数α,定义替换操作的代价值与插入、删除操作代价值之间关系。[0051]定义搜索时的约束条件为:[0052]aCsCi+Cd[0053]其中,a表示替换操作的代价值与插入、删除操作代价值之间关系的参数;a的取值范围为ae〇,1]Xs表示替换操作代价值,^表示插入操作代价值,Cd表示删除操作代价值。[0054]步骤22、通过述得出的每行每列中满足约束条件的代价值个数,得出其所占该行该列的比例t。将t与人为设定的参数q比较,qe〇,1],若不小于参数q,则在代价矩阵框架中添加一行插入代价值与一列删除代价值。[0055]S221、初始化m=0,用于计数。记录下替换操作部分中某行满足约束条件的代价值个数,得出其所占该行的比例t,将t与参数q比较,若不小于参数q,则m=m+l,直至搜索完所有行。[0056]S222、初始化n=0,用于计数。记录下替换操作部分中某列满足约束条件的代价值个数,得出其所占该列的比例t,将t与参数q比较,若不小于参数q,则n=n+l,直至搜索完所有列。[0057]S223、令r=maxm,n,根据r值添加r行插入代价值与r列删除代价值。再添加相应行和列的〇元素,使得代价矩阵为方阵。[0058]由此,完成基于图编辑距离的SFBP算法的改进代价矩阵框架。[0059]步骤三、计算图编辑距离。[0000]步骤31、根据上述步骤得出的代价矩阵框架,使用Hungarian或Volgenant-Jonker算法,得出完全图编辑路径。[0061]步骤32、根据所得出的编辑路径,求解得出图之间编辑距离。完成整个方法的设计。[0062]实施例二:[0063]实施例二与实施例一的方法大体相同,其区别是,实施例一在计算完的每行每列中满足约束条件的代价值个数后,同时将这些代价值替换为正无穷大,[0064]另一种面向字母识别的图编辑距离方法,包括步骤如下:[0065]步骤一、SFBP算法代价矩阵框架的构建。[0066]步骤11、使用相关算法提取任意两个字母的特征为图数据。设得到的两个图数据顶点数分别为a和b,每个顶点上有一个数字标签,且顶点间的边结构是无向无标签的。为方便叙述,根据图顶点数,图分别称为a图和b图。[0067]步骤12、设定插入操作代价值C1和删除操作代价值Cd。设定的插入操作代价值CdP删除操作代价值Cd可以相同,也可以根据点标签值的不同而不同。[0068]步骤13、使用欧式距离的方法计算两个图之间所有顶点的标签距离,得到的标签距离为顶点间的替换代价值。此时得到的替换代价值区域为一个aXb大小的矩阵。[0069]步骤14、若a=b,则进行下一步;若ab,在上述所得矩阵右端添加a-b列矩阵,所添加矩阵中的元素分别对应a图中相应点的删除代价值;则a〈b,在上述所得矩阵下端添加b-a列矩阵,所添加矩阵中的元素分别对应b图中相应点的插入代价值。[0070]步骤15、得到SFBP算法代价矩阵框架,框架大小为maxa,b2。[0071]步骤二、改进的代价矩阵框架的构建。[0072]步骤21、构建原始SFBP算法的代价矩阵框架,对替换操作部分的所有代价值分别进行逐行和逐列的搜索,分别比较其与删除和插入的代价值大小,并对满足约束条件的值的个数进行计数。[0073]利用约束条件时无需严格满足约束条件,可以人为设定参数α,定义替换操作的代价值与插入、删除操作代价值之间关系为:[0074]定义搜索时的约束条件为:[0076]其中,α表示替换操作的代价值与插入、删除操作代价值之间关系的参数;α的取值范围为ae〇,1]Xs表示替换操作代价值,^表示插入操作代价值,Cd表示删除操作代价值。[0077]步骤22、通过述得出的每行每列中满足约束条件的代价值个数,同时将这些代价值替换为正无穷大,得出其所占该行该列的比例t,将t与人为设定的参数q比较,若不小于参数q,则在代价矩阵框架中添加一行插入代价值与一列删除代价值。[0078]S221、初始化m=0,用于计数。记录下替换操作部分中某行满足约束条件的代价值个数,同时将这些代价值替换为正无穷大,得出其所占该行的比例t,将t与参数q比较,qe〇,1],若不小于参数q,则m=m+l,直至搜索完所有行。[0079]S222、初始化n=0,用于计数。记录下替换操作部分中某列满足约束条件的代价值个数,得出其所占该列的比例t,将t与参数q比较,若不小于参数q,则n=n+l,直至搜索完所有列。[0080]S223、令r=maxm,n,根据r值添加r行插入代价值与r行删除代价值。再添加相应行和列的〇元素,使得代价矩阵为方阵。[0081]由此,得到最终算法的代价矩阵框架,且考虑排除约束后框架模型更加不受约束条件的影响。[0082]步骤三、计算图编辑距离。[0083]步骤31、根据上述步骤得出的代价矩阵框架,使用Hungarian或Volgenant-Jonker算法,得出完全图编辑路径。[0084]步骤32、根据所得出的编辑路径,求解得出图之间编辑距离。完成整个方法的设计。[0085]实验结果:[0086]图2为源图与目标图的示例图。其中,圆圈表示顶点,顶点中的数字1、60、90等为顶点中所包含的数字标签。本发明的实施例以点为中心的构建方法来构建代价矩阵框架,不考虑边的操作代价值等信息。由于代价矩阵中元素表示的是源图某点对应目标图某点的操作代价,所以行是源图的点,列是目标图图的点,行列交汇的地方,也就是代价矩阵里的元素,代表点之间操作的代价值。[0087]图3a为SFBP算法得到的代价矩阵框架示例图。图3⑹为根据本发明得到的代价矩阵框架示例图。[0088]图3a中,为了使得框架最小,没有考虑替换操作代价与插入、删除操作代价之间的关系,因此,对于SFBP算法需要限定约束条件才能保证算法的有效性。在图3a中,代价矩阵框架为3行3列。[0089]而图3⑹中,考虑了操作代价值之间的关系,通过添加编辑操作的代价值,在求解过程中为点的编辑操作提供更多选择。在图3⑹中,代价矩阵框架为4行4列。增加的最后一行和最后一列的元素根据设定的插入操作代价值和删除操作代价值进行确定,设定的插入操作代价值和删除操作代价值可以相同,也可以不同。在本实施例中,设定的所有插入操作代价值C1和删除操作代价值Cd均设为1,参数α与q也设为1。此时最后一行表示的“Γ表示源图为空点,目标图为实点的插入操作;最后一行表示的“〇”表示源图为空点,目标图为空点的插入操作。最后一列表示的“Γ表示源图为实点,目标图为空点的删除操作;最后一列表示的“〇”表示源图为空点,目标图为空点的删除操作。[0090]通过相同求解计算算法,可以得出图3a框架计算所得距离远大于图3⑹框架,因此图3〇3框架相较于图3a框架,更能说明源图与目标图相似。由此可以看出,图3a的现有技术和图3b的本发明相比,本发明的改进方法,可以更精确地求得图之间的编辑距离,提高字母识别精度。[0091]需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

权利要求:1.一种面向字母识别的图编辑距离方法,包括代价矩阵的构建过程和根据代价矩阵计算图编辑距离的过程;其特征是,上述代价矩阵的构建过程具体包括如下步骤:步骤1、设定的插入操作代价值和删除操作代价值Cd;步骤2、构建SFBP算法的原始代价矩阵;步骤3、逐行逐列统计原始代价矩阵中替换操作部分满足约束条件的元素个数;其中约束条件为:aCsCi+Cd其中,a为给定参数,ae〇,1];^为元素值即替换操作代价值,Ci为设定的插入操作代价值,Cd为设定的删除操作代价值;步骤4、计算原始代价矩阵中替换操作部分的每一行中所有满足约束条件的元素个数与该行所有元素个数之比即行占比ti,并统计行占比ti小于预设占比参数q的行数m;其中i=1,2,…,M,M为原始代价矩阵中替换操作部分的总行数,qe〇,1];步骤5、计算原始代价矩阵中替换操作部分的每一行中所有满足约束条件的元素个数与该列所有元素个数之比即列占比并统计行占比tyj、于预设占比参数q的列数η;其中j=1,2,…,N,N为原始代价矩阵中替换操作部分的总列数,qe〇,1];步骤6、根据步骤4所得行数m和步骤5所得列数n,计算r=maxm,n;并在整个原始代价矩阵的基础上添加r行和r列元素,由此得到供后续计算图编辑距离使用的求解代价矩阵。2.根据权利要求1所述的一种面向字母识别的图编辑距离方法,特征在于:步骤1中,设定的插入操作代价值C1和删除操作代价值Cd相同或不同。3.根据权利要求1所述的一种面向字母识别的图编辑距离方法,特征在于:步骤3-5中,当原始代价矩阵为方阵时,原始代价矩阵中替换操作部分即为整个原始代价矩阵。4.根据权利要求1所述的一种面向字母识别的图编辑距离方法,特征在于:步骤6中,求解代价矩阵为方阵。5.根据权利要求1所述的一种面向字母识别的图编辑距离方法,特征在于:步骤6中,添加的r行元素的每一行的前M个元素的元素值为插入操作代价值C1,添加的r列元素的每一列的前N个元素的元素值为删除操作代价值Cd,添加的r行和r列的剩余元素的元素值为0;其中,M为原始代价矩阵中替换操作部分的总行数;N为原始代价矩阵中替换操作部分的总列数。6.根据权利要求1所述的一种面向字母识别的图编辑距离方法,特征在于:步骤3还进一步包括将原始代价矩阵中替换操作部分满足约束条件的元素的元素值变为无穷大的过程。

百度查询: 桂林电子科技大学 一种面向字母识别的图编辑距离方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。