一种手写字符识别方法及系统的制作方法

文档序号:6470678阅读:190来源:国知局

专利名称::一种手写字符识别方法及系统的制作方法
技术领域
:本发明涉及手写字符识别领域,尤其涉及一种手写字符识别的方法及系统。
背景技术
:目前手写输入的识别技术被应用到各种通信终端及信息处理终端;这种类型的终端产品通常具有一个用于书写的触摸手写荧光屏,用户能在上面用笔或手指写字,然后经过终端的识别处理,生成相应的字符显示在终端上,并进行后续的相关操作,手写输入的识别技术提高了输入的速度和灵活性,因此被普遍地应用。现在的手写输入的识别过程大多分为信号采集、预处理、特征提取、特征匹配等步骤,现有技术因计算量大、处理时间长,使得识别速度还是较慢,且识别精度不高,还有待进一步的改进。
发明内容基于现有技术的不足,本发明实施例要解决的技术问题在于提供一种手写字符识别的方法及系统,使得手写字符输入识别的特征提取速度更快,且更准确。本发明的目的通过以下技术方案实现一种手写字符识别方法,包括以下步骤A、建立由各个字符类的第一样本中心构成的粗分类模版,以及由各个字符类的第二样本中心构成的细分类模版,该细分类模版是利用特征变换矩阵对各个字符类的样本进行特征变换得来的;B、接收用户手写字符输入的信号并采集输入字符轨迹点的离散坐标序列,进行预处理之后得到该字符的规整坐标序列;C、根据所述规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写输入字符的多维特征矢量;D、从所述手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述粗分类模版进行匹配,从中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;E、利用步骤A中所述的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取步骤D中得到的所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。本发明还提供一种手写字符识别系统,其包括存储模块,用于存储各个字符类,以及所述各个字符类对应的粗分类模版和细分类模版,还有根据Fisher准则计算得到的特征变换矩阵;第一信号采集模块,用于接收用户手写字符输入的信号并采集手写字符轨迹点的离散坐标序列;第一归一化模块,用于将所述第一信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;第一特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;粗分类模块,用于从用户手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述存储模块中的粗分类模版进行匹配,从中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;细分类模块,用于对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。显示模块,用于显示所述细分类模块输出的最相似的字符类,以供用户选择。与现有技术相比较,本发明将笔划轨迹线段直接分解到8个方向,避免了生成图像所增加的计算量,而且得到的方向特征更准确,从而使得字符识别的准确度更高。本发明一种手写字符识别方法的一种优选实施方式是,所述步骤A具体包括以下步骤Al、采集各个字符类的手写字符样本,并计算所述手写字符样本的轨迹点的离散坐标序列;A2、将手写字符样本的轨迹点的离散坐标序列进行预处理,得到该手写字符样本的规整坐标序列;A3、根据所述的规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到该手写字符样本的多维特征矢量;A4、从全体字符类的样本的多维特征矢量中选取部分特征值,计算各个字符类的第一样本中心,得到由各个字符类的第一样本中心构成的粗分类模版;A5、根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的第二样本中心,得到由各个字符类的第二样本中心构成的细分类模版。本发明一种手写字符识别方法的另一种优选实施方式是,所述步骤A3和C具体包括以下步骤根据所述规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,每个标准方向上得到各个矢量线段的长度值;对所述得到的各个矢量线段的长度值进行处理,计算大尺度特征值和小尺度特征值,得到由大尺度特征值和小尺度特征值构成的多维特征矢量。本发明一种手写字符识别方法的另一种优选实施方式是,所述步骤A4具体包括以下步骤根据Fisher准则,从预存的每一个字符类的样本中,选取使得Fisher比最大的若干个特征值;根据由选取特征值构成的样本的特征矢量,计算该字符类的样本中心的特征矢量,得到由全体字符类的样本中心构成的粗分类模版。本发明一种手写字符识别的方法的另一种优选实施方式是,所述步骤A5具体包括以下步骤利用根据Fisher准则得到的特征变换矩阵,将所有字符类的样本进行特征变换,降低其多维特征矢量的维数;重新计算特征变换后的所有字符类的样本中心;对所述特征变换矩阵及所有字符类的样本中心进行迭代调整,重新计算特征变换矩阵和所有字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版。本发明一种手写字符识别方法的另一种优选实施方式是,所述步骤D具体包括以下步骤根据Fisher准则,从所述手写输入字符的多维特征矢量中选取部分特征值,所述手写输入字符具有与字符类的样本相同维数的由选取特征值构成的特征矢量;将所述手写输入字符分别与所述粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类。本发明一种手写字符识别的方法的另一种优选实施方式是,所述步骤E具体包括以下步骤用迭代调整后的特征变换矩阵对手写输入字符进行特征变换,得到其低维特征矢量;该手写输入字符的低维特征矢量分别与从所述细分类模版中选取的候选字符类的样本中心进行匹配,从候选字符类中确定相似度最大的字符类,以供用户选择。本发明一种手写字符识别方法的另一种优选实施方式是,所述步骤Al和B具体还包括以下步骤判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集。检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阔值,则删除其中的一点,使得相邻点之间保持一定距离。本发明一种手写字符识别方法的另一种优选实施方式是,所述步骤A2、B中的预处理是将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写输入字符的大小和形状以及重心的坐标值,具体包括以下步骤将所有轨迹点的4黄坐标值和纵坐标值变换到介于0到100之间;分别计算所有轨迹点4黄坐标和纵坐标的重心坐标值;将所有轨迹点坐标值和重心坐标值除以100,使所有轨迹点坐标12值和重心坐标值变为O到l之间,利用使重心坐标值的4黄坐标和纵坐标变为0.5的一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列;再将所有轨迹点坐标值乘以64,得到输入字符的规整坐标序列。本发明一种手写字符识别系统的一种优选实施方式是,该系统还包括一个匹配模版获得子系统,该子系统包括第二信号采集模块,用于接收手写字符样本的信号并采集手写字符轨迹点的离散坐标序列;第二归一化模块,用于将所述第二信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;第二特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;粗分类模版计算模块,用于从所述特征提取模块得出的全伟字符类的样本的多维特征矢量中,选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版,并将该粗分类模版存储到所述存储模块;细分类模版计算模块,用于根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版,并将该细分类模版和所述特征变换矩阵存储到所述存储模块。本发明一种手写字符识别系统的另一种优选实施方式是,所述第一信号采集模块和第二信号采集模块还包括采集单元,用于接收手写字符的信号并采集手写字符轨迹点的离散坐标序列;判断单元,用于判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集;检测单元,用于检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;以及检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,则删除其中的一点,使得相邻点之间保持一定距离。图1是本发明实施例一种手写字符识别方法的流程图。图2是本发明实施例一种手写字符识别方法的详细流程图。图3是本发明实施例一种手写字符识别系统的结构示意图。图4是本发明实施例一种手写字符识别系统的详细结构示意图。图5a是图1中步骤S02中字符大小形状调整前的示意图。图5b是图1中步骤S02中字符大小形状调整后的示意图。图6是图1中步骤S02将调整后的字符放进一个网格的示意图。图7是图1中步骤S03中所述的8个标准方向图。图8是图1中步骤S03中所述的将一个矢量线段分解到2个标准方向的示意图。具体实施例方式为使本发明更加容易理解,结合附图对本发明作进一步阐述,但附图中的实施例不构成对本发明的任何限制。本发明是对手写输入的字符经过坐标序列采集,预处理、特征矢量提取、粗分类、细分类等处理流程,从而最终识别该手写字符。图1示出了本发明实施例一种手写字符识别方法的流程图,其中获得字符匹配模版的方法包括以下步骤步骤SOI,采集全体各个字符类的手写字符样本,并计算所述手写字符样本的轨迹点的离散坐标序列;具体地用笔在触摸屏上书写,下笔时把笔尖的位置(x,y)坐标序列记录下来。一个输入字符的完整书写轨迹用一个(x,y)序列表示((xl,yl),(x2,y2),…,(xn,yn)}。步骤S02,将手写字符样本的轨迹点的离散坐标序列变换成为另一个离散坐标序列,进行预处理得到该手写字符样本的规整坐标序列;具体地,利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该手写字符的规整坐标序列;字符轨迹的归一化有两个目的大小标准化和形状4交正。如图5a-5b所示,图5a中的字符经过归一化后变成了图5b中的形状,不仅边界变成了规定的大小(所有字符经归一化后边界变成相同大小),而且形状也发生了变化,变得更规范,从而更容易识别。归一化是通过两个座标变换函数x^和y^,实现,4巴字符轨迹中每一点的座标(x,y)用(x,,y,)代替后,就得到归一化的字符轨迹。参数a和b的估计方法如下首先,找出座标序列中x和y的最小值,把所有点的x和y坐标分别减去x和y的最小值,从而使x和y的最小值都变成0。然后,所有的x和y值乘以100/u,其中u是所有点x和y的最大值,从而使x和y值介于0到100之间。第二步,求笔划轨迹在水平方向和垂直方向上的投影。把字符笔划轨迹放进一个100x100的网格,如图6所示(示意图中为10x10的网格)。把每一纵列格子中的笔划长度相加,就得到水平方向的投影fx(i),i=l,2,...,100。同样,把每一行格子中的笔划长度相加,就得到垂直方向的投影fy(i),i=l,2,...,100.由fx(i)计算水平方向的重心:100I>fx(i)同样,由fy(i)计算垂直方向的重心yc。第三步,把所有点的坐标及(xc,yc)除以100,变为0到l之间。log0.5aa=_2——函数尸=,和/=>>分别把xc和yc变为0.5,即&=0'5,logxc,同样b_log0.5W=0'5,bgy。。经过变换,使字符轨迹的重心移到(0.5,0.5)而边界保持不变。第四步,4巴(x,,y,)乘以一个给定的倍tt,/人而^f吏字符的外框变为规定的大小。这个倍数我们定为64。最后,归一化字符轨迹中所有点的坐标介于0到64之间。步骤S03,根据所述的规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到该手写字符样本的多维特征矢量;基本思想如下如图7所示,把笔划线段(每相邻两点之间连成一条矢量线,歐)分解到Dl至D8的8个标准方向,i己录64x64网格中每个格子中各个方向的线段长度值,然后计算两个尺度的方向特征值。第一步,把笔划线段分解到8个标准方向。坐标点序列中每相邻两点之间连成一条线段,是一个有方向的矢量fi。该矢量f,的方向介于两个标准方向D2与D3之间,4巴矢量f;分解成两个标准方向D2与D3上的分量(如图8所示),每个标准方向上的分量长度计入所在格子中该方向的线段长度值。这样,在8个方向的每个方向上得到64x64个线段长度值。第二步,计算大尺度特征。把每个方向上的64x64网格均匀分成4x4个方格,计算每个方格中各个方向上线段长度值的和,得到8x4x4=128个特征值。第三步,计算小尺度特征。把每个方向上的64x64网格均匀分成8x8个方格,计算每个方格中各个方向上线段长度值的和,得到8x8x8=512个特征^f直。大尺度特征和小尺度特征的总个数为128+512=640。步骤S04,从全体字符类的样本的多维特征矢量中选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版;具体地,根据Fisher准则,从每一个字符类的样本的多维特征矢量中,选取使得Fisher比最大的若干个特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版。该步骤的目的是从预存储字符类的样本的特征矢量中获得粗分类模版,为了提高粗分类的速度,要选择一部分特征计算匹配距离,特征选择和模版设计是在一个训练样本集合上进行的。训练样本集包含每个字符类别的手写样本,每个样本经特征提取用640个特征值(640维的特征矢量x^Xp…,x柳]T)表示。设有C个类别的总共N个样本,其中类别i有Ni个样本。选4奪特征的准则是Fisher准则(沖莫式识别教材上有详细说明)Fisher准则函数的基本思想是,构造评价函数,使得当评价函数最优时,被分类的类别之间的距离尽可能大,同时各类内部样本间距离尽可能小。将第i类的第j个样本表示为特征矢量x)(由部分候选特征组成),则各个类别的样本中心(均值)为<formula>formulaseeoriginaldocumentpage17</formula>(2)总的中心为<formula>formulaseeoriginaldocumentpage17</formula>类内协方差矩阵和类间协方差矩阵分别计算为:sb=iz,'-,)w)TNtr(4)特征选择的目标是在选择部分特征的基础上,矩阵《Sb的迹t"S—w'Sb)(Fisher比)达到最大值。这里的x;候选特征在特征选择过程中是变化的。寻找Fisher比最大的特征组合是一个组合优化问题,可用顺序前向搜索法近似求解先计算每一个特;f正的Fisher比,选择Fisher比最大的特;f正。然后把余下特征中的每一个依次与已选特征组成特征矢量计算Fisher比,选才奪Fisher比最大的特^正加入已选特征。如此反复,直到已选特4正达到规定的数目(定为100以下)为止。特征选择的具体过程如下首先以640个特征中的每一个依次作为候选,计算Fisher比,以Fisher比最大的一个特征作为选出来的第一个特征。然后4巴剩下的639个特征中的每一个依次与第一次选出来的特征一起(此时候选特征有两个)评价,选出Fisher比最大的含有2个特征值的组合。然后把剩下的638个特征中的每一个依次与前面选出来的含有2个特征值的组合一起(此时候选特征有3个)评-阶,选出Fisher比最大的含有3个特征值的组合。如此反复,直到选出来的特征数达到指定的数目为止。特征选择完成后,特征集也就固定了。经过特征选择后,各个类别的粗分类模版是一类样本的中心(均值),用公式(2)计算。步骤S05,根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维棒征矢量进行特征变换,重新计算各个字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版;为了得到更高的识别精度,细分类特征采取特征变换,而不是特征选18择,即把原来D=640维的特征矢量经线性变换得到低维(d〈D)矢量,特征变换后的特征矢量维数一般定为IOO到150之间。利用公式y=Wx进行特征变换,其中W为dxD的变换矩阵。求解变换矩阵使Fisher比地WSwWT)-YSbWT]最大,其结果,w的每一行是矩阵S—JSb对应本征值最大的d个本征向量(这是标准的数学方法,不必赘述)。经过降维后,各个类别的模版是一类样本的中心(公式(2))。像上面这样得到的特征变换矩阵和类别模版还不能得到很高的识别精度。为此,对变换矩阵和类别模版进行迭代调整,使在训练样本集合上的分类错误(每个样本分到距离最近的类别)逐步减少。首先,将所有训练样本的权重设为1,用Fisher准则得到的变换矩阵和类别中心模版对所有的训练样本分类,每个错分的样本权重加1。设样本<(i类的第j个样本)的权重表示为<,按下式重新计算类中心、类内和类间协方差矩阵<formula>formulaseeoriginaldocumentpage19</formula>(8)在此基础上通过使tr[(WSwWT"W、WT]最大化重新计算变换矩阵和特征变换后的类中心,重新对训练样本分类,错分的样本权重加1;如此反复,直到训练样本的分类错误不再进一步减少为止。手写输入字符识别的流程包括以下步骤步骤S06,接收用户手写字符输入的信号并采集输入字符轨迹点的离散坐标序列,进行预处理之后得到该字符的规整坐标序列;该步骤的处理过程与上述的步骤SOI和S02类似,首先用笔在触摸屏上书写,下笔时把笔尖的位置(x,y)坐标序列记录下来。一个输入字符的完整书写轨迹用一个(x,y)序列表示((xl,yl),(x2,y2),…,(xn,yn)}。然后利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该手写字符的规整坐标序列;字符轨迹的归一化有两个目的大小标准化和形状才交正。如图5a-5b所示,图5a中的字符经过归一化后变成了图5b中的形状,不仅边界变成了规定的大小(所有字符经归一化后边界变成相同大小),而且形状也发生了变化,变得更规范,从而更容易识别。归一化是通过两个座标变换函凄丈=和/=/实现,把字符轨迹中每一点的座标(x,y)用(x,,y,)代替后,就得到归一化的字符軌迹。参数a和b的估计方法和步骤S02中所述的方法相同。步骤S07,根据所述规整坐标序列,进行特征提取计算手写输入字符的多维特征矢量;具体的特征提取过程与步骤S03中所述的过程相同,如图7所示,把笔划线段(每相邻两点之间连成一条矢量线段)分解到Dl至D8的8个标准方向,记录64x64网格中每个格子中各个方向的线段长度值,然后计算两个尺度的方向特征值。第一步,把笔划线段分解到8个标准方向。坐标点序列中每相邻两点之间连成一条线段,是一个有方向的矢量f;。该矢量f,的方向介于两个标准方向D2与D3之间,把矢量fj分解成两个标准方向D2与D3上的分量(如图8所示),每个标准方向上的分量长度计入所在格子中该方向的线段长度值。这样,在8个方向的每个方向上得到64x64个20线段长度值。第二步,计算大尺度特征。把每个方向上的64x64网格均匀分成4x4个方格,计算每个方格中各个方向上线段长度值的和,得到8x4x4=128个特征值。第三步,计算小尺度特征。把每个方向上的64x64网格均匀分成8x8个方格,计算每个方格中各个方向上线段长度值的和,得到8x8x8=512个特征值。大尺度特征和小尺度特征的总个数为128+512=640。步骤S08,从所述手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述粗分类模版进行匹配,从中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;根据Fisher准则,从手写输入字符的多维特征矢量中,选取使得Fisher比最大的若干个特征值,选取的特征值个数与步骤S04中选取的特征值个it相同。模版匹配的距离计算如下设手写输入字符的多维特征矢量表示为矢量*=""''^]7,粗分类模版中一个类别的样本中心表示为特征矢量y=",…,凡]t,则通过如下公式计算匹配距离d(x,y)=2k-乂l,、'=i(9)步骤S09,利用步骤S05中根据Fisher准则计算得到的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。然后返回步骤S06,进行下一个手写字符的输入识别。该步骤的目的是进行细分类,对一个输入字符,步骤S08粗分类找出M个候选类别后,细分类采用比粗分类更多的特征,利用公式(9)重新计算输入字符到M个候选类别模版的距离,取距离最近的类别作为最终识别结果。细分类给出匹配距离最小的多个(一般为10个)类别作为最终候选。这些候选类别可以直接显示出来供用户选择,或利用语言规则根据上下文自动选择。步骤S08的粗分类是把输入字符(待识别字符)的特征矢量与模版数据库中存储的各个字符类别的模版进行比较(匹配),找出距离最小(也就是相似度最大)的M(比如M=100)个类别作为候选,在步骤S09的细分类中再找出距离最小的候选类别作为最终识别结果。粗分类和细分类所比较的模版不同(特征也不一样)粗分类模版简单(特征少),计算速度快,细分类模版复杂(特征较多),计算速度较慢。粗分类的目的是快速找出M个候选类别后,细分类中不必计算所有类别的距离(只计算M个候选类别的距离),从而提高总体识别速度。综上所述,图2示出了本发明实施例一种手写字符识别方法的详细流程步骤S05具体包括以下步骤步骤S051,利用根据Fisher准则得到的特征变换矩阵,将所有字符类的样本进行特征变换,降低其多维特征矢量的维数;步骤S052,重新计算特征变换后的所有字符类的样本中心;步骤S053,对所述特征变换矩阵及所有字符类的样本中心进行迭代调整,重新计算特征变换矩阵和所有字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版。所述步骤S06具体包括以下步骤步骤S061,接收手写字符输入的信号并采集输入字符轨迹点的离散坐标序列;步骤S062,判断一个字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集;当提笔时间超过一个阈值(如0.5秒)时,视为一个字书写结束;一个输入字符的完整书写轨迹用一个(x,y)序列表示((xl,yl),(x2,y2),…,(xn,yn)},其中,提笔用一个特殊的座标(-l,O)表示。步骤S063,检查釆集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;步骤S064,检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,即如果两个相邻点位置重合或离得非常紧,则删除其中的一点,使得相邻点之间保持一定距离;步骤S065,利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写输入字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列。所述步骤S07具体包括以下步骤步骤S071,根据手写字符的规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到8个标准方向(如图7和8所示),每个标准方向上得到矢量线段长度值;步骤S072,对所述得到的矢量线段长度值进行处理,得到大尺度特征值和小尺度特征值构成的多维特征矢量。所述步骤S08具体包括以下步骤步骤S081,根据Fisher准则,从所述手写输入字符的多维特征矢量中选取部分特征值,所述手写输入字符具有与字符类的样本相同维数的由选取特征值构成的特征矢量;步骤S082,将所述手写输入字符分别与所述粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类。所述步骤S09具体包括以下步骤23步骤S091,用迭代调整后的特征变换矩阵对手写输入字符进行特征变换,得到其低维特征矢量;步骤S092,该手写输入字符的低维特征矢量分别与从所述细分类模版中选取的候选字符类的样本中心进行匹配,从候选字符类中确定相似度最大的字符类,以供用户选择。图3示出了本发明实施例一种手写字符识别系统的结构示意图。该系统包4舌第一信号采集模块1,用于接收手写字符输入的信号并采集该手写字符轨迹点的离散坐标序列;第一归一化模块2,用于利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该手写字符的规整坐标序列;第一特征提取模块3,用于根据手写字符的规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到手写字符的多维特征矢量;存储模块4,用于存储各个字符类,以及所述各个字符类对应的粗分类模版和细分类模版,还有根据Fisher准则计算得到的特征变换矩阵;粗分类模块5,用于从手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述存储模块4中的粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类;细分类模块6,用于对手写输入字符的多维特征矢量进行特征变换,将特征变换后的手写输入字符与从所述存储模块4中的细分类模版中选取的候选字符类的样本中心进行匹配,从中确定最相似的字符类,以供用户选择。24图4示出了本发明实施例一种手写字符识别系统的详细结构示意图;其中匹配模版获得子系统X1包括第二信号采集模块11,用于接收手写字符样本的信号并采集手写字符轨迹点的离散坐标序列;第二归一化模块21,用于将所述第二信号采集模块11采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;第二特征提取模块31,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;粗分类模版计算模块51,用于从所述特征提取模块得出的全体字符类的样本的多维特征矢量中,选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版,并将该粗分类模版存储到所述存储模块4;细分类模版计算模块61,用于根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版,并将该细分类模版和所述特征变换矩阵存储到所述存储模块4。其中第一和第二信号采集模块i和ii具体包括采集单元101,用于采集手写字符轨迹点的离散坐标序列;判断单元102,用于判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该手写字符离散坐标序列的采集;检测单元103,用于检查采集到的手写字符的轨迹点是否只有一25个,如果是则删除该轨迹点重新采集;以及检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,则删除其中的一点,使得相邻点之间保持一定距离。系统还包括一个显示模块7,用于显示所述细分类模块6输出的最相似的字符类,以供用户选择。与现有方法相比,在归一化、特征提取、粗分类、细分类中的技术有一些不同归一化坐标变换函数1'=^和少'=,是新提出的,这样做的好处是坐标变换的函数为平滑连续函数,从而使变换后的字符形状更为自然,同时保证字符轨迹的重心变换到外框的中心(0.5)。以前也有把字符重心映射到外框中心的做法,但是用的是分段线性函数,变换后的字符形状不自然,也影响后面的识别。特征提取将笔划轨迹线段直接分解到8个方向。现有的方法是先把轨迹变为一幅图像,对图像中的像素进行方向分解,这样做的计算量更大,而且生成的图像会有失真。我们的方法避免了生成图像所增加的计算量,而且得到的方向特征更准确。粗分类现有方法一般是人工选取一部分特征(如直接使用大尺度特征)或者采用特征变换。而我们用Fisher准则选才奪的特征比人工选择特征有更好的识别精度,与特征变换相比减少了计算量(因为没有线性变换)。细分类特征变换矩阵和类别中心模版的迭代调整能明显提高识别精度。现有的方法是直接采用Fisher准则得到的变换矩阵,然后在变换特征上采用学习矢量量化(LearningVectorQuantization,LVQ)算法调整类别中心模版。我们的方法通过同时调整变换矩阵与类别中心模版,能得到更高的识别精度。本方法可适用于中文、英文、数字、符号的识别。26一、输入字符轨迹咬二、归一4匕后的4九迹:啖三、粗分类选出的10个候选类别及其匹配距离(在60个选择特征上计算距离)<table>tableseeoriginaldocumentpage27</column></row><table>四、细分类对10个候选类别的重新排序及其距离(在120个变换特征上计算距离)<table>tableseeoriginaldocumentpage27</column></row><table>五、最后的识别结果为"唉"。以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。权利要求1、一种手写字符识别方法,其特征在于,包括以下步骤A、建立由各个字符类的第一样本中心构成的粗分类模版,以及由各个字符类的第二样本中心构成的细分类模版,该细分类模版是利用特征变换矩阵对各个字符类的样本进行特征变换得来的;B、接收用户手写字符输入的信号并采集输入字符轨迹点的离散坐标序列,进行预处理之后得到该字符的规整坐标序列;C、根据所述规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写输入字符的多维特征矢量;D、从所述手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述粗分类模版进行匹配,从所述粗分类模版中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;E、利用步骤A中所述的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取步骤D中得到的所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。2、根据权利要求1所述的一种手写字符识别方法,其特征在于,所述步骤A具体包括以下步骤Al、采集各个字符类的手写字符样本,并计算所述手写字符样本的轨迹点的离散坐标序列;A2、将手写字符样本的轨迹点的离散坐标序列进行预处理,得到该手写字符样本的规整坐标序列;A3、根据所述的规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到该手写字符样本的多维特征矢量;A4、从全体字符类的样本的多维特征矢量中选取部分特征值,计算各个字符类的第一样本中心,得到由各个字符类的第一样本中心构成的粗分类模版;A5、根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的第二样本中心,得到由各个字符类的第二样本中心构成的细分类模版。3、根据权利要求2所述的一种手写字符识别方法,其特征在于,所述步骤A3和C具体包括以下步骤根据所述规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,每个标准方向上得到各个矢量线段的长度值;对所述得到的各个矢量线段的长度值进行处理,计算大尺度特征值和小尺度特征值,得到由大尺度特征值和小尺度特征值构成的多维特征矢量。4、根据权利要求2所述的一种手写字符识别方法,其特征在于,所述步骤A4具体包括以下步骤根据Fisher准则,从预存的每一个字符类的样本中,选取使得Fisher比最大的若干个特征值;根据由选取特征值构成的样本的特征矢量,计算该字符类的样本中心的特征矢量,得到由全体字符类的样本中心构成的粗分类模版。5、根据权利要求2所述的一种手写字符识别方法,其特征在于,所述步骤A5具体包括以下步骤利用根据Fisher准则得到的特征变换矩阵,将所有字符类的样本进行特征变换,降低其多维特征矢量的维数;重新计算特征变换后的所有字符类的样本中心;对所述特征变换矩阵及所有字符类的样本中心进行迭代调整,重新计算特征变换矩阵和所有字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版。6、根据权利要求1所述的一种手写字符识别方法,其特征在于,所述步骤D具体包括以下步骤根据Fisher准则,从所述手写输入字符的多维特征矢量中选取部分特征值,所述手写输入字符具有与字符类的样本相同维数的由选取特征值构成的特征矢量;将所述手写输入字符分别与所述粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类。7、根据权利要求6所述的一种手写字符识别方法,其特征在于,所述步骤E具体包括以下步骤用迭代调整后的特征变换矩阵对手写输入字符进行特征变换,得到其低维特征矢量;该手写输入字符的低维特征矢量分别与从所述细分类模版中选取的候选字符类的样本中心进行匹配,从候选字符类中确定相似度最大的字符类,以供用户选择。8、根据权利要求2所述的一种手写字符识别方法,其特征在于,所述步骤Al和B具体还包括以下步骤判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集;检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,则删除其中的一点,使得相邻点之间保持一定距离。9、根据权利要求2所述的一种手写字符识别方法,其特征在于,所述步骤A2、B中的预处理是将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写输入字符的大小和形状以及重心的坐标值,具体包括以下步骤将所有轨迹点的横坐标值和纵坐标值变换到介于0到100之间;分别计算所有轨迹点横坐标和纵坐标的重心坐标值;将所有轨迹点坐标值和重心坐标值除以100,4吏所有轨迹点坐标值和重心坐标值变为0到l之间,利用^f吏重心坐标值的才黄坐标和纵坐标变为0.5的一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列;再将所有轨迹点坐标值乘以64,得到输入字符的规整坐标序列。10、一种手写字符识别系统,其特征在于,其包括存储模块,用于存储各个字符类,以及所述各个字符类对应的粗分类模版和细分类模版,还有根据Fisher准则计算得到的特征变换矩阵;第一信号采集模块,用于接收用户手写字符输入的信号并采集手写字符轨迹点的离散坐标序列;第一归一化模块,用于将所述第一信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;第一特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;粗分类模块,用于从用户手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述存储模块中的粗分类模版进行匹配,从中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;细分类模块,用于对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。显示模块,用于显示所述细分类模块输出的最相似的字符类,以供用户选择。11、根据权利要求10所述的一种手写字符识别系统,该系统还包括一个匹配模版获得子系统,该子系统包括第二信号采集模块,用于接收手写字符样本的信号并采集手写字符轨迹点的离散坐标序列;第二归一化模块,用于将所述第二信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;第二特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;粗分类模版计算模块,用于从所述特征提取模块得出的全体字符类的样本的多维特征矢量中,选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版,并将该粗分类模版存储到所述存储模块;细分类模版计算模块,用于根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版,并将该细分类模版和所述特征变换矩阵存储到所述存储模块。12、根据权利要求11所述的一种手写字符识别系统,所述第一信号采集模块和第二信号采集模块还包括采集单元,用于接收手写字符的信号并采集手写字符轨迹点的离散坐标序列;判断单元,用于判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集;检测单元,用于检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;以及检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,则删除其中的一点,使得相邻点之间保持一定距离。全文摘要本发明公开了一种手写字符识别方法,其包括获得粗分类模版和细分类模版;接收用户手写字符输入的信号并采集其离散坐标序列,进行预处理;进行特征提取计算手写输入字符的多维特征矢量;将所述手写输入字符分别与粗分类模版进行匹配,选取相似度最大的若干个候选字符类;将特征变换后的手写输入字符与从细分类模版中选取的候选字符类的样本中心进行匹配,从中确定最相似的字符类。本发明还公开了一种手写字符识别系统。本发明手写字符输入识别的速度更快,且识别精度更高。文档编号G06K9/00GK101482920SQ20081022060公开日2009年7月15日申请日期2008年12月30日优先权日2008年12月30日发明者刘志玭,吴政维,李景平,王志爱,王红辉,胡安进,蔡沐宇,谭春桃,方郭,陆华兴,陈炳辉,高精鍊,黄新春申请人:广东国笔科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1