法律状态公告日
法律状态信息
法律状态
2017-09-26
授权
授权
2014-12-31
实质审查的生效 IPC(主分类):G06K9/00 申请日:20140812
实质审查的生效
2014-12-03
公开
公开
技术领域
本发明涉及利用计算机对汉字书写进行评价的技术领域,尤其涉及一种基于特征矩阵进行 相似度匹配的手写汉字笔画确认方法。
背景技术
汉字是记录汉语言文字的符号系统,是所有使用汉语言的人交流思想感情的工具,它具有 独特魅力,充满美感,是世界最悠久的文字之一。汉字凝聚着中华民族的聪明才智,承载着中 华民族的文化和文明史,蕴含着中华民族的美好追求和气节,是中华民族最宝贵的文化遗产。 而伴随着计算机的普及,人们记录汉字的方式发生了革命性的变化,传统的纸笔书写逐渐被电 脑打字所代替,人们手写汉字的机会则越来越少,书写能力普遍下降。如何提升国人汉字书写 能力的已成为一个亟待解决的问题。
目前手写汉字书写自动评价方法主要有以下几种:
1、《计算机工程与应用》2010年第46期的《规定格式文字书写练习质量普适评价》中针 对规定格式手写字母,通过建立标准模板,利用距离比较法,检测二者之间的相似度,而提出 了一种普适质量评价方法,取得了一定的实验效果,然而这一方法针对手写汉字效果并不理想, 因为汉字类别众多,结构复杂,手写汉字具有更大的随意性,从而导致其结构产生较大的模糊 性。
2、通过对人工给定的汉字样本进行机器学习,然后使用图像处理与人工智能的方法对手 写汉字进行相似度模糊判断,如中国发明专利“一种汉字书写美观度的计算机评估方法”(公 开号:CN101295371A);
3、通过记录书写笔迹、笔画数、判断笔画相交关系来进行评价,如中国发明专利“手写 汉字笔画相交离的规范性判定方法和装置”(公开号:CN101320422A)公开了一种通过判断手写 汉字笔画相交离关系判断手写汉字书写是否规范的方法;
上述方法虽然能在某些方面对于手写汉字书写质量进行评价,但这些方法都没有实现笔画 关系的一一对应,因而无法判断出多写或少些了哪些笔画,无法对每一笔画的正确性进行判断, 无法实现笔顺正确性判断、结构合理性判断以及整体书写质量评价。
发明内容
本发明的目的是克服现有技术的不足,提供一种基于特征矩阵进行相似度匹配的手写汉字 笔画确认方法。
本发明采用的技术方案如下:
基于特征矩阵进行相似度匹配的手写汉字笔画确认方法,具体包括如下步骤:
(1)建立给定标准汉字笔画的方位、拓扑关系和形状的特征集;
(2)利用数字手写平台记录用户汉字书写的给定汉字的笔迹点集,并对点集进行预处理得 到用户汉字各笔画特征集;
(3)建立与标准汉字笔画特征相统一的用户汉字笔画特征匹配空间;
(4)计算用户汉字各个笔画与对应标准汉字各笔画的总相似度,计算方法有两种:一种是 计算汉字笔画在方位、拓扑关系、形状三个维度上的相似度,并对每个特征的相似度进行加权 平均得到总相似度矩阵;另一种是对单个笔画在方位、拓扑关系、形状三个维度上的相似度进 行加权平均得到该笔画的总相似度,计算所有笔画的总相似度并组合得到汉字笔画的总相似度 矩阵;
(5)总相似度矩阵的每一行为用户汉字的某个笔画与对应标准汉字的各个笔画的总相似 度,在其中选择最大者,若最大者的值大于某一阈值则该笔画完成匹配关系,否则认为匹配失 败,该笔画书写错误;若匹配过程中出现多个用户笔画都大于某一阈值而匹配到同一标准笔画 的情况,则选取其中相似度最高笔画作为匹配的结果,其他笔画循环上述过程,最终完成用户 汉字所有笔画的匹配判断。
所述步骤(1)中,建立标准汉字特征集的方法如下:
(1)以标准汉字点集中的xmin、xmax、ymin、ymax为顶点组成水平矩形,构造以水平矩形的对 角线交点为圆心,以构成笔画的点中距离圆心最远的点到圆心的距离为半径的圆,四等分半径 形成4个同心圆。再从圆心出发,分别以0°、45°、90°、135°、180°、225°、270°, 315°做射线,将同心圆区域分割为32个区域共8个方向,以此确定标准汉字笔画径迹点集方 位坐标,建立标准汉字笔画方位特征集;
(2)笔画间的拓扑关系分为相交、相接、相邻、相离四种,交、接、邻、离特征以下述原 则进行区分:获得给定标准汉字中任意两笔画的径迹点之间最接近的两个点pi和pj,在点pi的两侧各取一点,即点pi-1和pi+1,做过这两点的直线y=ax+b,取点pj两侧的点pj-1和 pj+1,判断点pj-1和点pj+1是否在直线两侧,若在两侧则两笔画相交;否则判断最近点pi和 pj的距离是否小于某一阈值,若小于则两笔画相接;否则判断是否有其他笔画穿过它们最接 近的点,若没有则两笔画相邻,否则两笔画相离;根据上述规则得到标准汉字各笔画间的拓扑 关系,进而建立标准汉字的笔画拓扑关系特征集;
(3)把笔段走向划分为右、右上、上、左上、左、左下、下、右下八个不同的方向区域; 计算标准汉字各笔段中相邻两点所在直线与水平线之间夹角的余弦值,确定笔段所在的方向区 域,确定笔段的走向码,笔画中所有笔段走向码的集合即为该笔画的走向码特征集;
所述步骤(3)中,建立统一的手写汉字匹配空间的方法如下:
以标准汉字点集中xmin、xmax、ymin、ymax组成的水平矩形作为待匹配空间,对用户汉字做矩 形外包轮廓并进行旋转-比例-平移变换,得到与标准汉字相同的匹配空间。
所述步骤(4)中,获得手写汉字笔画方位、拓扑关系和形状相似度的方法如下:
(1)首先计算用户手写汉字的笔画s'1与标准字中第k个笔画sk的方向编码的距离 HMHD(s'1(i),sk(i)),方向编码距离计算公式为:d(s1',sk)=|s1'(i)-sk(i)|mod(M-m+1);其次计 算s'1与sk的相对位置编码的距离HMHD(s'1(j),sk(j)),相对位置编码距离计算公式为: l(s1',sk)=|s1'(j)-sk(j)|;将计算结果带入公式
(2)分别对笔画拓扑关系中的相交、相接、相邻、相离关系赋予不同的权值用于区分拓扑 关系之间的相似性,设权重值分别为ω1、ω2、ω3、ω4,用户字中某一笔画s'1的四种拓扑关系 的个数分别为N交、N接、N邻、N离,则该笔画拓扑关系总取值为:
topology(s'h)=N交ω1+N接ω2+N邻ω3+N离ω4,以相同方法计算标准汉字中某一笔画sk拓扑关系总取值topology(sk);将计算结果代入公式
(3)计算用户字中某一笔画s'1与标准字中某一笔画sk的方向链码的距离 HMHD[s'h(p1',p'2,...,p's),sk(p1,p2,...,pt)],将获得的结果代入公式
求解用户汉字中各个笔画与对应标准汉字中所有笔画的总相似度矩阵的方法如下:
方法一:利用上述方法,分别求解每个用户汉字笔画与对应标准汉字各个笔画在方位、拓 扑关系、形状三个维度上的相似度,得到笔画的方位相似度矩阵、拓扑关系相似度矩阵和形状 相似度矩阵;对汉字每个特征的相似度矩阵进行加权平均得到总相似度矩阵,求解公式为: S=ω1P+ω2U+ω3V,其中S为总相似度矩阵,P、U、V分别为方位相似度矩阵、拓扑关系相 似度矩阵和形状相似度矩阵,ω1、ω2、ω3分别对应方位、拓扑关系、形状三个矩阵的权值;
方法二:对上述方法得到的手写汉字笔画方位相似度、拓扑关系相似度、形状相似度进行 加权平均得到笔画的总相似度,求解公式为:s=ω1p+ω2u+ω3v,其中s为笔画的总相似 度,p、u、v分别为笔画的方位相似度、拓扑关系相似度、形状相似度,ω1、ω2、ω3分别对应 方位、拓扑关系、形状三个相似度的权值。
所述步骤(5)中,用户字与标准字笔画一一匹配的方法如下:
总相似度矩阵的每一行对应用户汉字某个笔画与对应标准汉字各个笔画的总相似度,在其 中选择最大者,若最大者的值大于某一阈值则该笔画完成匹配关系,否则认为匹配失败,该笔 画书写错误。匹配过程中可能会出现多个用户笔画都大于某一阈值而匹配到同一标准笔画的情 况,该问题解决方法如下:假设用户字笔画s'1、s'2同时与标准字笔画s1匹配,且匹配的最大总 相似度分别为sim(s'1,s1)和sim(s'2,s1);具体步骤为:(1)比较sim(s'1,s1)和sim(s'2,s1)的大小,选 取其中最大者作为匹配的结果;(2)假如s'1与s1匹配,处理s'2匹配的情况为:在p'2中选取除 sim(s'2,s1)之外的最大者,对应笔画为sk,若被选中者的值大于某一阈值且s'2≠s'i,i=3,...,n, 则认为s'2与sk匹配,否则循环上述过程,一直到找到满足条件的笔画或全部备选笔画都被过 滤掉为止,若全部备选笔画都被过滤掉,则认为该用户汉字笔画是失配的笔画。
本发明与现有技术相比的有益效果:
(1)本方法通过特征矩阵相似度匹配的方式实现了手写汉字笔画的确认,汉字书写完成 即可对手写汉字的各笔画进行识别与判断,具有高效、准确、客观的优点。
(2)本方法可以准实时的识别手写汉字各笔画,从而可以及时对用户的汉字书写过程及 书写结果进行监督与纠正,提升汉字书写能力,具有重要的应用价值。
附图说明
图1是本发明的流程图;
图2是本发明所描述的手写汉字笔画方位相似度的坐标体系;
图3是本发明所描述的判断手写汉字笔画相交的情况;
图4是本发明所描述的判断手写汉字笔画相接的情况;
图5是本发明所描述的判断手写汉字笔画相离的情况;
图6是本发明所描述的手写汉字笔画的方向链码的编码方式。
具体实施方式
下面结合附图,对本发明做详细说明。
如图1,一种基于特征矩阵进行相似度匹配的手写汉字笔画确认方法,包括如下步骤:
1.建立标准汉字笔画方位、拓扑关系和形状的特征集;
(1)遍历标准汉字点集,获取点集中X坐标最小值和最大值xmin、xmax,Y坐标最小值和最 大值ymin、ymax,以(xmin,ymin)、(xmin,ymax)、(xmax,ymin)、(xmax,ymax)四个点为顶点构建水平矩形。 如图2所示,构造以水平矩形的对角线交叉点p0为圆心,以p0A为半径的圆,其中,A是构 成笔画的点中到p0的最远点。4等分p0A形成4个同心圆,再从p0出发,分别以0°、45°、 90°、135°、180°、225°、270°,315°做射线,将同心圆区域分割为32个区域,共8 个方向,每个方向有4个相对位置,编号从外向内依次减小。如图2所示。编码C(i,j)中i表 示方向,j表示相对位置。
(2)笔画间的拓扑关系分为相交、相接、相邻、相离四种特征关系,交、接、邻、离特征 以下述原则进行区分:设用户字s'中笔画s'h的点集为笔画s'k的点集为 首先找s'h、s'k原始坐标最接近的点,方法是:循环比较 值,取其最小者,此时对应的坐标和 即为笔画s'h与笔画s'k中最接近的点。在的两侧各取一点:即 和做过这两点的直线y=ax+b,再取两侧的点 和在y=ax+b中代入这两点,判断它们是否在直线的两侧, 采用的方法是判断
(3)把笔画方向区域划分为八个不同区域,分别对应右(横)、右下(捺)、下(竖)、左下(撇)、 左、左上(钩)、上(竖弯钩中的钩)、右上(提)八个不同的方向,从向右的走向开始沿逆时针方 向分别用1到8的八个数字来表示,如图6所示。计算笔画中相邻两点所在直线与水平线之间 夹角的余弦值,确定笔画所在的方向区域,得到笔画走向码(见图6中最右边插图)。
2.记录用户书写轨迹,建立用户特征集;
根据用户在数字手写平台上书写汉字的轨迹的移动情况,获取用户书写汉字的点集,用户 的点集表示为p={pk(xk,yk),k=1Κn},其中n为用户字点集的总数,将用户书写过程中落笔 到抬笔过程中所形成的一条径迹定义为一个笔画,在该径迹上生成的点集即为该笔画的点集。 汉字的笔画集表示为S={si(p1,p2,Κ,pk),i=1Κm},其中m为该手写汉字笔画的数量,j表 示某一笔画中包含的点集数量。遍历笔画中的所有点,对原始点集进行降噪处理,降噪处理的 实现方式为:计算相邻点之间的距离L
求L的最大值Lmax,若相邻两点pi,pi+1的距离Li<0.2*Lmax,则去掉点pi+1,同时使Li+1=Li+Li+1。, 遍历手写汉字的所有笔画,形成新的笔画集S={si(p1,p2,Κ,pk),i=1Κm},其中m为该手写汉 字笔画的数量,k表示某一笔画中包含的点集数量。
3.建立与标准字统一的手写汉字匹配空间;
假设用户汉字中的笔画为S',标准汉字中的笔画为si,遍历标准字的点集,获取点集中X 坐标最小值和最大值xmin、xmax,Y坐标最小值和最大值ymin、ymax,以
(xmin,ymin)、(xmin,ymax)、(xmax,ymin)、(xmax,ymax)四个点为顶点构建水平矩形,将该水平矩形作为待匹 配空间,对用户汉字做矩形外包轮廓并进行旋转-比例-平移变换,即
4.计算每个用户汉字笔画与对应标准汉字各个笔画在方位、拓扑关系、形状三个维度上的 相似度;
(1)方位相似度计算:设用户汉字S'中笔画sh’的点集编码为 s'h={c1'(i1',j1'),c'2(i'2,j'2),...c'm(i'm,j'm)},标准汉字S中的笔画sk的点集编码为 sk={c1(i1,j1),c2(i2,j2),...,cn(in,jn)}。进行方位相似度计算的步骤是:1)计算HMHD(s1'(i),s1(i)), HMHD(s1'(i),s2(i)),……,HMHD(s1'(i),sn(i)),其中,s1'(i)和sk(i)表示用户汉字笔画和标准汉字笔 画的方向编码,HMHD(s1'(i),sk(i))中计算s1'和sk方向编码间距离时用下列公式: d(s1',sk)=|s1'(i)-sk(i)|mod(M-m+1)。最大的方向编码M是8,与之方向差最大的方向m(相 似度最小)编码为4,因此需要与M-m+1=5取余;2)计算HMHD(s1'(j),s1(j)), HMHD(s1'(j),s2(j)),…,HMHD(s1'(j),sn(j)),其中,s1'(j)和sk(j)表示用户笔画和模板笔画的相 对位置编码,HMHD(s1'(j),sk(j))中计算s1'和sk相对位置编码间距离的公式为: l(s1',sk)=|s1'(j)-sk(j)|;3)根据计算的结果给出s1'与第k个标准笔画的相似度:
(2)拓扑关系相似度计算:分别对笔画拓扑关系中的相交、相接、相邻、相离关系赋予不 同的权值用于区分拓扑关系之间的相似性,假设权重值分别为ω1、ω2、ω3、ω4,用户汉字中某 一笔画的四种拓扑关系的个数分别为N交、N接、N邻、N离,则该笔画拓扑关系总取值为: topology(s'h)=N交ω1+N接ω2+N邻ω3+N离ω4,以相同方法计算标准汉字中某一笔画拓扑 关系总取值topology(sk);将计算结果代入公式
(3)形状相似度计算:计算每个HMHD[s'h(p1',p'2,...,p's),sk(p1,p2,...,pt)]值,计算s'h中第i个 方向编码和sk的第j个方向编码间距离的公式:l[s'h(pi'),sk(pj)]=|pi'-pj|,其中,s'h(p1',p'2,...,p's) 表示用户字笔画s'h的方向链码,sk(p1,p2,...,pt)表示模板字笔画sk的方向链码,而
5.计算生成用户汉字笔画与对应标准汉字各个笔画的总相似度矩阵;
方法一:利用步骤4中的方法,分别求解用户汉字每个笔画与对应标准汉字所有笔画在笔 画的方位、拓扑关系以形状三个维度上的相似度,得到如下矩阵:
笔画的方位相似度矩阵
拓扑关系相似度矩阵
形状相似度矩阵
对汉字的每个特征的相似度矩阵进行加权平均得到总相似度矩阵
方法二:对步骤4中得到的手写汉字笔画方位相似度、拓扑关系相似度和形状相似度进行 加权平均得到笔画的总相似度sim(s'h,sk),h=1,Κ,m,k=1,Κ,n,求解公式为: s=ω1p+ω2u+ω3v,其中s为笔画的总相似度,p、u、v分别为笔画的方位相似度、拓扑 关系相似度、形状相似度,ω1、ω2、ω3分别对应方位、拓扑关系、形状三个相似度的权值;
6.用户汉字笔画与对应标准汉字笔画的一一匹配。
汉字笔画总相似度矩阵的每一行为用户汉字某个笔画与对应标准汉字所有笔画的总相似 度,在其中选择最大者:
当
在用户字与标准字笔画进行一一匹配的过程中会出现如下两种情况:
(1)出现某些笔画失配的情况,则认为用户字中失配的笔画就是错误笔画或者是多余的笔 画。
(2)出现不同的用户汉字笔画相似度都大于某一阈值而匹配到同一个标准汉字笔画的情 况,解决方法如下:1)当时,记或为sk,选取中较大者作 为匹配的结果,若则认为与sk匹配;2)处理匹配的情况:在中选取除之外的最大者,若被选中者kj≠k满足且
机译: 基于双笔画和包含双笔画的词根的汉字输入法及相关键盘
机译: 汉字简单笔画输入法和汉字简单笔画输入法
机译: 用于减少在数据处理系统的手指或基于手写笔的输入设备中进行笔画时系统开销的设备和方法