CN101477425A - 一种识别手写字符输入的方法及系统 - Google Patents

一种识别手写字符输入的方法及系统 Download PDF

Info

Publication number
CN101477425A
CN101477425A CNA2009100364859A CN200910036485A CN101477425A CN 101477425 A CN101477425 A CN 101477425A CN A2009100364859 A CNA2009100364859 A CN A2009100364859A CN 200910036485 A CN200910036485 A CN 200910036485A CN 101477425 A CN101477425 A CN 101477425A
Authority
CN
China
Prior art keywords
character
sample
hand
center
written character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2009100364859A
Other languages
English (en)
Inventor
高精鍊
黄新春
陈炳辉
胡安进
蔡沐宇
陆华兴
刘志玭
王志爱
郭方
李景平
王红辉
谭春桃
吴政维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Guobi Technology Co Ltd
Original Assignee
Guangdong Guobi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Guobi Technology Co Ltd filed Critical Guangdong Guobi Technology Co Ltd
Priority to CNA2009100364859A priority Critical patent/CN101477425A/zh
Publication of CN101477425A publication Critical patent/CN101477425A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Character Discrimination (AREA)

Abstract

本发明公开了一种识别手写字符输入的方法,其包括:建立粗分类模版和细分类模版;接收用户手写字符输入的信号并采集其离散坐标序列,进行预处理;进行特征提取计算手写输入字符的多维特征矢量;将所述手写输入字符分别与粗分类模版进行匹配,选取相似度最大的若干个候选字符类;将特征变换后的手写输入字符与从细分类模版中选取的候选字符类的样本中心进行匹配,从中确定最相似的字符类。本发明还公开了一种识别手写字符输入的系统。本发明手写字符输入识别的速度更快,且识别精度更高。

Description

一种识别手写字符输入的方法及系统
技术领域
本发明涉及手写字符识别领域,尤其涉及一种识别手写字符输入的方法及系统。
背景技术
目前手写输入的识别技术被应用到各种通信终端及信息处理终端;这种类型的终端产品通常具有一个用于书写的触摸手写荧光屏,用户能在上面用笔或手指写字,然后经过终端的识别处理,生成相应的字符显示在终端上,并进行后续的相关操作,手写输入的识别技术提高了输入的速度和灵活性,因此被普遍地应用。
现在的手写输入的识别过程大多分为信号采集、预处理、特征提取、特征匹配等步骤,现有技术因计算量大、处理时间长,使得识别速度还是较慢,且识别精度不高,还有待进一步的改进。
发明内容
基于现有技术的不足,本发明实施例要解决的技术问题在于提供一种识别手写字符输入的方法及系统,使得手写字符输入识别的特征提取速度更快,且更准确。
本发明的目的通过以下技术方案实现:一种识别手写字符输入的方法,包括以下步骤:
A、建立由各个字符类的第一样本中心构成的粗分类模版,以及由各个字符类的第二样本中心构成的细分类模版,该细分类模版是根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本进行特征变换,计算得到各个字符类的第二样本中心,然后对特征变换矩阵和各个字符类的第二样本中心进行迭代调整得到的;
B、接收用户手写字符输入的信号并采集输入字符轨迹点的离散坐标序列,进行预处理之后得到该字符的规整坐标序列;
C、根据所述规整坐标序列,进行特征提取,计算手写输入字符的多维特征矢量;
D、从所述手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述粗分类模版进行匹配,从所述粗分类模版中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;
E、利用步骤A中根据Fisher准则计算得到的所述的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取步骤D中得到的所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。
本发明还提供一种识别手写字符输入的系统,其包括:
存储模块,用于存储各个字符类,以及所述各个字符类对应的粗分类模版和细分类模版,还有根据Fisher准则计算得到的特征变换矩阵;
第一信号采集模块,用于接收用户手写字符输入的信号并采集手写字符轨迹点的离散坐标序列;
第一归一化模块,用于将所述第一信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;
第一特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;
粗分类模块,用于从用户手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述存储模块中的粗分类模版进行匹配,从中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;
细分类模块,用于利用所述存储模块中的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。
显示模块,用于显示所述细分类模块输出的最相似的字符类,以供用户选择。
与现有技术相比较,本发明通过同时迭代调整变换矩阵与所有样本中心,能得到更高的识别精度的细分类模版,从而使得字符识别的准确度更高。
本发明一种识别手写字符输入的方法的一种优选实施方式是,所述步骤A具体包括以下步骤:
A1、采集各个字符类的手写字符样本,并计算所述手写字符样本的轨迹点的离散坐标序列;
A2、将手写字符样本的轨迹点的离散坐标序列进行预处理,得到该手写字符样本的规整坐标序列;
A3、根据所述的规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到该手写字符样本的多维特征矢量;
A4、根据Fisher准则,从全体字符类的样本的多维特征矢量中选取部分特征值,计算各个字符类的第一样本中心,得到由各个字符类的第一样本中心构成的粗分类模版;
A5、根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算得到各个字符类的第二样本中心,然后对特征变换矩阵和所有样本中心进行迭代调整,得到由全体字符类的第二样本中心构成的细分类模版。
本发明一种识别手写字符输入的方法的另一种优选实施方式是,所述步骤A5具体包括以下步骤:
利用根据Fisher准则得到的特征变换矩阵,将所有字符类的样本进行特征变换,降低其多维特征矢量的维数;
重新计算特征变换后的所有字符类的样本中心;
对所述特征变换矩阵及所有字符类的样本中心进行迭代调整,重新计算特征变换矩阵和所有字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版。
本发明一种识别手写字符输入的方法的另一种优选实施方式是,所述步骤E具体包括以下步骤:
利用步骤A5中所述迭代调整后的特征变换矩阵,对用户手写输入的字符进行特征变换,得到其低维特征矢量;
从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符的低维特征矢量进行匹配,从候选字符类中确定相似度最大的字符类,以供用户选择。
本发明一种识别手写字符输入的方法的另一种优选实施方式是,所述步骤A3和C具体包括以下步骤:
根据所述规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,每个标准方向上得到各个矢量线段的长度值;
对所述得到的各个矢量线段的长度值进行处理,计算大尺度特征值和小尺度特征值,得到由大尺度特征值和小尺度特征值构成的多维特征矢量。
本发明一种识别手写字符输入的方法的另一种优选实施方式是,所述步骤D具体包括以下步骤:
根据Fisher准则,从所述手写输入字符的多维特征矢量中选取部分特征值,所述手写输入字符具有与字符类的样本相同维数的由选取特征值构成的特征矢量;
将所述手写输入字符分别与所述粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类。
本发明一种识别手写字符输入的方法的另一种优选实施方式是,所述步骤A2、B中的预处理是将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写输入字符的大小和形状以及重心的坐标值,具体包括以下步骤:
将所有轨迹点的横坐标值和纵坐标值变换到介于0到100之间;
分别计算所有轨迹点横坐标和纵坐标的重心坐标值;
将所有轨迹点坐标值和重心坐标值除以100,使所有轨迹点坐标值和重心坐标值变为0到1之间,利用使重心坐标值的横坐标和纵坐标变为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示出了本发明实施例一种识别手写字符输入方法的流程图,其中获得字符匹配模版的方法包括以下步骤:
步骤S01,采集全体各个字符类的手写字符样本,并计算所述手写字符样本的轨迹点的离散坐标序列;具体地用笔在触摸屏上书写,下笔时把笔尖的位置(x,y)坐标序列记录下来。一个输入字符的完整书写轨迹用一个(x,y)序列表示:{(x1,y1),(x2,y2),...,(xn,yn)}。
步骤S02,将手写字符样本的轨迹点的离散坐标序列变换成为另一个离散坐标序列,进行预处理得到该手写字符样本的规整坐标序列;具体地,利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该手写字符的规整坐标序列;字符轨迹的归一化有两个目的:大小标准化和形状校正。如图5a-5b所示,图5a中的字符经过归一化后变成了图5b中的形状,不仅边界变成了规定的大小(所有字符经归一化后边界变成相同大小),而且形状也发生了变化,变得更规范,从而更容易识别。
归一化是通过两个座标变换函数x′=xa和y′=yb实现,把字符轨迹中每一点的座标(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之间。
第二步,求笔划轨迹在水平方向和垂直方向上的投影。把字符笔划轨迹放进一个100 x 100的网格,如图6所示(示意图中为10 x 10的网格)。把每一纵列格子中的笔划长度相加,就得到水平方向的投影fx(i),i=1,2,...,100。同样,把每一行格子中的笔划长度相加,就得到垂直方向的投影fy(i),i=1,2,...,100.由fx(i)计算水平方向的重心:
x c = Σ i = 1 100 i × f x ( i ) Σ i = 1 100 f x ( i ) - - - ( 1 )
同样,由fy(i)计算垂直方向的重心yc。
第三步,把所有点的坐标及(xc,yc)除以100,变为0到1之间。函数x′=xa和y′=yb分别把xc和yc变为0.5,即xc a=0.5, a = log 0.5 log x c , 同样yc b=0.5 b = log 0.5 log y c . 经过变换,使字符轨迹的重心移到(0.5,0.5)而边界保持不变。
第四步,把(x’,y’)乘以一个给定的倍数,从而使字符的外框变为规定的大小。这个倍数我们定为64。最后,归一化字符轨迹中所有点的坐标介于0到64之间。
步骤S03,根据所述的规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到该手写字符样本的多维特征矢量;基本思想如下:如图7所示,把笔划线段(每相邻两点之间连成一条矢量线段)分解到D1至D8的8个标准方向,记录64 x 64网格中每个格子中各个方向的线段长度值,然后计算两个尺度的方向特征值。
第一步,把笔划线段分解到8个标准方向。坐标点序列中每相邻两点之间连成一条线段,是一个有方向的矢量fi。该矢量fi的方向介于两个标准方向D2与D3之间,把矢量fi分解成两个标准方向D2与D3上的分量(如图8所示),每个标准方向上的分量长度计入所在格子中该方向的线段长度值。这样,在8个方向的每个方向上得到64 x 64个线段长度值。
第二步,计算大尺度特征。把每个方向上的64 x 64网格均匀分成4 x 4个方格,计算每个方格中各个方向上线段长度值的和,得到8 x 4 x 4=128个特征值。
第三步,计算小尺度特征。把每个方向上的64 x 64网格均匀分成8 x 8个方格,计算每个方格中各个方向上线段长度值的和,得到8 x 8 x 8=512个特征值。
大尺度特征和小尺度特征的总个数为128+512=640。
步骤S04,从全体字符类的样本的多维特征矢量中选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版;具体地,根据Fisher准则,从每一个字符类的样本的多维特征矢量中,选取使得Fisher比最大的若干个特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版。
该步骤的目的是从预存储字符类的样本的特征矢量中获得粗分类模版,为了提高粗分类的速度,要选择一部分特征计算匹配距离,特征选择和模版设计是在一个训练样本集合上进行的。训练样本集包含每个字符类别的手写样本,每个样本经特征提取用640个特征值(640维的特征矢量x=[x1,...,x640]T)表示。设有C个类别的总共N个样本,其中类别i有Ni个样本。选择特征的准则是Fisher准则(模式识别教材上有详细说明):Fisher准则函数的基本思想是,构造评价函数,使得当评价函数最优时,被分类的类别之间的距离尽可能大,同时各类内部样本间距离尽可能小。
将第i类的第j个样本表示为特征矢量
Figure A200910036485D0017175625QIETU
(由部分候选特征组成),则各个类别的样本中心(均值)为
μ i = 1 N i Σ j = 1 N i x i j ,    i=1,...,C        (2)
总的中心为 μ 0 = 1 N Σ i = 1 C N i μ i .
类内协方差矩阵和类间协方差矩阵分别计算为:
S w = 1 N Σ i = 1 C Σ j = 1 N i ( x j i - μ i ) ( x j i - μ i ) T - - - ( 3 )
S b = 1 N Σ i = 1 C N i ( μ i - μ 0 ) ( μ i - μ 0 ) T - - - ( 4 )
特征选择的目标是在选择部分特征的基础上,矩阵
Figure A200910036485D00175
的迹
Figure A200910036485D00176
(Fisher比)达到最大值。这里的
Figure A200910036485D00177
候选特征在特征选择过程中是变化的。寻找Fisher比最大的特征组合是一个组合优化问题,可用顺序前向搜索法近似求解:
先计算每一个特征的Fisher比,选择Fisher比最大的特征。然后把余下特征中的每一个依次与已选特征组成特征矢量计算Fisher比,选择Fisher比最大的特征加入已选特征。如此反复,直到已选特征达到规定的数目(定为100以下)为止。
特征选择的具体过程如下:首先以640个特征中的每一个依次作为候选,计算Fisher比,以Fisher比最大的一个特征作为选出来的第一个特征。然后把剩下的639个特征中的每一个依次与第一次选出来的特征一起(此时候选特征有两个)评价,选出Fisher比最大的含有2个特征值的组合。然后把剩下的638个特征中的每一个依次与前面选出来的含有2个特征值的组合一起(此时候选特征有3个)评价,选出Fisher比最大的含有3个特征值的组合。如此反复,直到选出来的特征数达到指定的数目为止。特征选择完成后,特征集也就固定了。
经过特征选择后,各个类别的粗分类模版是一类样本的中心(均值),用公式(2)计算。
步骤S05,根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版;为了得到更高的识别精度,细分类特征采取特征变换,而不是特征选择,即把原来D=640维的特征矢量经线性变换得到低维(d<D)矢量,特征变换后的特征矢量维数一般定为100到150之间。利用公式:y=Wx进行特征变换,其中W为dxD的变换矩阵。求解变换矩阵使Fisher比tr[(WSwWT)-1WTSbWT]最大,其结果,W的每一行是矩阵
Figure A200910036485D0018181217QIETU
对应本征值最大的d个本征向量(这是标准的数学方法,不必赘述)。经过降维后,各个类别的模版是一类样本的中心(公式(2))。
像上面这样得到的特征变换矩阵和类别模版还不能得到很高的识别精度。为此,对变换矩阵和类别模版进行迭代调整,使在训练样本集合上的分类错误(每个样本分到距离最近的类别)逐步减少。首先,将所有训练样本的权重设为1,用Fisher准则得到的变换矩阵和类别中心模版对所有的训练样本分类,每个错分的样本权重加1。设样本(i类的第j个样本)的权重表示为
Figure A200910036485D00182
按下式重新计算类中心、类内和类间协方差矩阵:
&mu; i = 1 &Sigma; j = 1 N i v j i &Sigma; j = 1 N i v j i x j i - - - ( 5 )
&mu; 0 = 1 &Sigma; i = 1 C &Sigma; j = 1 N i v j i &Sigma; i = 1 C &Sigma; j = 1 N i v j i x j i - - - ( 6 )
S w = 1 &Sigma; i = 1 C &Sigma; j = 1 N i v j i &Sigma; i = 1 C &Sigma; j = 1 N i v j i ( x j i - &mu; i ) ( x j i - &mu; i ) T - - - ( 7 )
S b = 1 &Sigma; i = 1 C V i &Sigma; i = 1 C V i ( &mu; i - &mu; 0 ) ( &mu; i - &mu; 0 ) T , 其中 V i = &Sigma; j = 1 N i v j i - - - ( 8 )
在此基础上通过使tr[(WSwWT)-1WTSbWT]最大化重新计算变换矩阵和特征变换后的类中心,重新对训练样本分类,错分的样本权重加1;如此反复,直到训练样本的分类错误不再进一步减少为止。
通过上述的方法步骤,得到了手写识别过程中要用到的粗分类模版和细分类模版;手写输入字符识别的流程包括以下步骤:
步骤S06,接收用户手写字符输入的信号并采集输入字符轨迹点的离散坐标序列,进行预处理之后得到该字符的规整坐标序列;
该步骤的处理过程与上述的步骤S01和S02类似,首先用笔在触摸屏上书写,下笔时把笔尖的位置(x,y)坐标序列记录下来。一个输入字符的完整书写轨迹用一个(x,y)序列表示:{(x1,y1),(x2,y2),...,(xn,yn)}。
然后利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该手写字符的规整坐标序列;字符轨迹的归一化有两个目的:大小标准化和形状校正。如图5a-5b所示,图5a中的字符经过归一化后变成了图5b中的形状,不仅边界变成了规定的大小(所有字符经归一化后边界变成相同大小),而且形状也发生了变化,变得更规范,从而更容易识别。归一化是通过两个座标变换函数x′=xa和y′=yb实现,把字符轨迹中每一点的座标(x,y)用(x’,y’)代替后,就得到归一化的字符轨迹。参数a和b的估计方法和步骤S02中所述的方法相同。
步骤S07,根据所述规整坐标序列,进行特征提取计算手写输入字符的多维特征矢量;具体的特征提取过程与步骤S03中所述的过程相同,如图7所示,把笔划线段(每相邻两点之间连成一条矢量线段)分解到D1至D8的8个标准方向,记录64 x 64网格中每个格子中各个方向的线段长度值,然后计算两个尺度的方向特征值。
第一步,把笔划线段分解到8个标准方向。坐标点序列中每相邻两点之间连成一条线段,是一个有方向的矢量fi。该矢量fi的方向介于两个标准方向D2与D3之间,把矢量fi分解成两个标准方向D2与D3上的分量(如图8所示),每个标准方向上的分量长度计入所在格子中该方向的线段长度值。这样,在8个方向的每个方向上得到64 x 64个线段长度值。
第二步,计算大尺度特征。把每个方向上的64 x 64网格均匀分成4 x 4个方格,计算每个方格中各个方向上线段长度值的和,得到8 x 4 x 4=128个特征值。
第三步,计算小尺度特征。把每个方向上的64 x 64网格均匀分成8 x 8个方格,计算每个方格中各个方向上线段长度值的和,得到8 x 8 x 8=512个特征值。
大尺度特征和小尺度特征的总个数为128+512=640。
步骤S08,从所述手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述粗分类模版进行匹配,从所述粗分类模版中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;具体地,根据Fisher准则,从手写输入字符的多维特征矢量中,选取使得Fisher比最大的若干个特征值,选取的特征值个数与步骤S04中选取的特征值个数相同。
模版匹配的距离计算如下:设手写输入字符的多维特征矢量表示为矢量x=[x1,...,xn]T,粗分类模版中一个类别的样本中心表示为特征矢量y=[y1,...,yn]T,则通过如下公式计算匹配距离:
d ( x , y ) = &Sigma; i = 1 n | x i - y i | - - - ( 9 )
步骤S09,利用步骤S05中根据Fisher准则计算得到的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择;然后返回步骤S06,进行下一个手写字符的输入识别。
该步骤的目的是进行细分类,对一个输入字符,步骤S08粗分类找出M个候选类别后,细分类采用比粗分类更多的特征,利用公式(9)重新计算输入字符到M个候选类别模版的距离,取距离最近的类别作为最终识别结果。
细分类给出匹配距离最小的多个(一般为10个)类别作为最终候选。这些候选类别可以直接显示出来供用户选择,或利用语言规则根据上下文自动选择。
步骤S08的粗分类是把输入字符(待识别字符)的特征矢量与模版数据库中存储的各个字符类别的模版进行比较(匹配),找出距离最小(也就是相似度最大)的M(比如M=100)个类别作为候选,在步骤S09的细分类中再找出距离最小的候选类别作为最终识别结果。
粗分类和细分类所比较的模版不同(特征也不一样):粗分类模版简单(特征少),计算速度快,细分类模版复杂(特征较多),计算速度较慢。
粗分类的目的是快速找出M个候选类别后,细分类中不必计算所有类别的距离(只计算M个候选类别的距离),从而提高总体识别速度。
举个例子来说明:有字符类表示为:R、S、T、U、V......,其对应的粗分类模版表示为:R1、S1、T1、U1、V1......,其对应的细分类模版表示为:R2、S2、T2、U2、V2......;此时用户输入一个手写字符Z,经过特征选取后与粗分类模版进行匹配,得到相似度最大的几个样本中心:R1、S1、T1,因此将R、S、T选取作为候选字符类;从细分类模版中选取候选字符类R、S、T对应的样本中心:R2、S2、T2,然后再将手写字符Z特征变换后与R2、S2、T2进行匹配,获得匹配距离最小的是S2,此时就将字符类S作为最后的识别对象。
综上所述,图2示出了本发明实施例一种识别手写字符输入方法的详细流程图;
步骤S05具体包括以下步骤:
步骤S051,利用根据Fisher准则得到的特征变换矩阵,将所有字符类的样本进行特征变换,降低其多维特征矢量的维数;
步骤S052,重新计算特征变换后的所有字符类的样本中心;
步骤S053,对所述特征变换矩阵及所有字符类的样本中心进行迭代调整,重新计算特征变换矩阵和所有字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版。
所述步骤S06具体包括以下步骤:
步骤S061,接收手写字符输入的信号并采集输入字符轨迹点的离散坐标序列;
步骤S062,判断一个字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集;当提笔时间超过一个阈值(如0.5秒)时,视为一个字书写结束;一个输入字符的完整书写轨迹用一个(x,y)序列表示:{(x1,y1),(x2,y2),...,(xn,yn)},其中,提笔用一个特殊的座标(-1,0)表示。
步骤S063,检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;
步骤S064,检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,即如果两个相邻点位置重合或离得非常紧,则删除其中的一点,使得相邻点之间保持一定距离;
步骤S065,利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写输入字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列。
所述步骤S07具体包括以下步骤:
步骤S071,根据手写字符的规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到8个标准方向(如图7和8所示),每个标准方向上得到矢量线段长度值;
步骤S072,对所述得到的矢量线段长度值进行处理,得到大尺度特征值和小尺度特征值构成的多维特征矢量。
所述步骤S08具体包括以下步骤:
步骤S081,根据Fisher准则,从所述手写输入字符的多维特征矢量中选取部分特征值,所述手写输入字符具有与字符类的样本相同维数的由选取特征值构成的特征矢量;
步骤S082,将所述手写输入字符分别与所述粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类。
所述步骤S09具体包括以下步骤:
步骤S091,用迭代调整后的特征变换矩阵对手写输入字符进行特征变换,得到其低维特征矢量;
步骤S092,该手写输入字符的低维特征矢量分别与从所述细分类模版中选取的候选字符类的样本中心进行匹配,从候选字符类中确定相似度最大的字符类,以供用户选择。
图3示出了本发明实施例一种识别手写字符输入的系统的结构示意图。该系统包括:
第一信号采集模块1,用于接收手写字符输入的信号并采集该手写字符轨迹点的离散坐标序列;
第一归一化模块2,用于利用一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该手写字符的规整坐标序列;
第一特征提取模块3,用于根据手写字符的规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到手写字符的多维特征矢量;
存储模块4,用于存储各个字符类,以及所述各个字符类对应的粗分类模版和细分类模版,还有根据Fisher准则计算得到的特征变换矩阵;
粗分类模块5,用于根据Fisher准则,从手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述存储模块4中的粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类;
细分类模块6,用于对手写输入字符的多维特征矢量进行特征变换,将特征变换后的手写输入字符与从所述存储模块4中的细分类模版中选取的候选字符类的样本中心进行匹配,从中确定最相似的字符类,以供用户选择。
图4示出了本发明实施例一种识别手写字符输入的系统的详细结构示意图;其中匹配模版获得子系统X1包括:
第二信号采集模块11,用于接收手写字符样本的信号并采集手写字符轨迹点的离散坐标序列;
第二归一化模块21,用于将所述第二信号采集模块11采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;
第二特征提取模块31,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;
粗分类模版计算模块51,用于从所述特征提取模块得出的全体字符类的样本的多维特征矢量中,选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版,并将该粗分类模版存储到所述存储模块4;
细分类模版计算模块61,用于根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的样本中心,然后对特征变换矩阵和所有样本中心进行迭代调整,得到由全体字符类的样本中心构成的细分类模版,并将该细分类模版和所述特征变换矩阵存储到所述存储模块4。
其中第一和第二信号采集模块1和11具体包括:
采集单元101,用于采集手写字符轨迹点的离散坐标序列;
判断单元102,用于判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该手写字符离散坐标序列的采集;
检测单元103,用于检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;以及检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,则删除其中的一点,使得相邻点之间保持一定距离。
系统还包括一个显示模块7,用于显示所述细分类模块6输出的最相似的字符类,以供用户选择。
与现有方法相比,在归一化、特征提取、粗分类、细分类中的技术有一些不同:
归一化:坐标变换函数x′=xa和y′=yb是新提出的,这样做的好处是坐标变换的函数为平滑连续函数,从而使变换后的字符形状更为自然,同时保证字符轨迹的重心变换到外框的中心(0.5)。以前也有把字符重心映射到外框中心的做法,但是用的是分段线性函数,变换后的字符形状不自然,也影响后面的识别。
特征提取:笔划轨迹线段直接分解到8个方向。现有的方法是先把轨迹变为一幅图像,对图像中的像素进行方向分解,这样做的计算量更大,而且生成的图像会有失真。我们的方法避免了生成图像所增加的计算量,而且得到的方向特征更准确。
粗分类:现有方法一般是人工选取一部分特征(如直接使用大尺度特征)或者采用特征变换。而我们用Fisher准则选择的特征比人工选择特征有更好的识别精度,与特征变换相比减少了计算量(因为没有线性变换)。
细分类:特征变换矩阵和类别中心模版的迭代调整能明显提高识别精度。现有的方法是直接采用Fisher准则得到的变换矩阵,然后在变换特征上采用学习矢量量化(Learning Vector Quantization,LVQ)算法调整类别中心模版。我们的方法通过同时调整变换矩阵与类别中心模版,能得到更高的识别精度。
本方法可适用于中文、英文、数字、符号的识别。
一、输入字符轨迹:
Figure A200910036485D00261
二、归一化后的轨迹:
三、粗分类选出的10个候选类别及其匹配距离(在60个选择特征上计算距离)
 
597 621 643 676 689 698 715 732 764 771
四、细分类对10个候选类别的重新排序及其距离(在120个变换特征上计算距离)
 
1079 1121 1157 1186 1233 1298 1374 1419 1462 1503
五、最后的识别结果为“唉”。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。

Claims (10)

1、一种识别手写字符输入的方法,其特征在于,包括以下步骤:
A、建立由各个字符类的第一样本中心构成的粗分类模版,以及由各个字符类的第二样本中心构成的细分类模版,该细分类模版是根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本进行特征变换,计算得到各个字符类的第二样本中心,然后对特征变换矩阵和各个字符类的第二样本中心进行迭代调整得到的;
B、接收用户手写字符输入的信号并采集输入字符轨迹点的离散坐标序列,进行预处理之后得到该字符的规整坐标序列;
C、根据所述规整坐标序列,进行特征提取,计算手写输入字符的多维特征矢量;
D、从所述手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述粗分类模版进行匹配,从所述粗分类模版中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;
E、利用步骤A中根据Fisher准则计算得到的所述的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取步骤D中得到的所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。
2、根据权利要求1所述的一种识别手写字符输入的方法,其特征在于,所述步骤A具体包括以下步骤:
A1、采集各个字符类的手写字符样本,并计算所述手写字符样本的轨迹点的离散坐标序列;
A2、将手写字符样本的轨迹点的离散坐标序列进行预处理,得到该手写字符样本的规整坐标序列;
A3、根据所述的规整坐标序列,进行特征提取,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,得到该手写字符样本的多维特征矢量;
A4、根据Fisher准则,从全体字符类的样本的多维特征矢量中选取部分特征值,计算各个字符类的第一样本中心,得到由各个字符类的第一样本中心构成的粗分类模版;
A5、根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算得到各个字符类的第二样本中心,然后对特征变换矩阵和所有样本中心进行迭代调整,得到由全体字符类的第二样本中心构成的细分类模版。
3、根据权利要求2所述的一种识别手写字符输入的方法,其特征在于,所述步骤A5具体包括以下步骤:
利用根据Fisher准则得到的特征变换矩阵,将所有字符类的样本进行特征变换,降低其多维特征矢量的维数;
重新计算特征变换后的所有字符类的样本中心;
对所述特征变换矩阵及所有字符类的样本中心进行迭代调整,重新计算特征变换矩阵和所有字符类的样本中心,得到由全体字符类的样本中心构成的细分类模版。
4、根据权利要求3所述的一种识别手写字符输入的方法,其特征在于,所述步骤E具体包括以下步骤:
利用步骤A5中所述迭代调整后的特征变换矩阵,对用户手写输入的字符进行特征变换,得到其低维特征矢量;
从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符的低维特征矢量进行匹配,从候选字符类中确定相似度最大的字符类,以供用户选择。
5、根据权利要求2所述的一种识别手写字符输入的方法,其特征在于,所述步骤A3和C具体包括以下步骤:
根据所述规整坐标序列,将所有相邻轨迹点形成的矢量线段分解到八个标准方向,每个标准方向上得到各个矢量线段的长度值;
对所述得到的各个矢量线段的长度值进行处理,计算大尺度特征值和小尺度特征值,得到由大尺度特征值和小尺度特征值构成的多维特征矢量。
6、根据权利要求1所述的一种识别手写字符输入的方法,其特征在于,所述步骤D具体包括以下步骤:
根据Fisher准则,从所述手写输入字符的多维特征矢量中选取部分特征值,所述手写输入字符具有与字符类的样本相同维数的由选取特征值构成的特征矢量;
将所述手写输入字符分别与所述粗分类模版进行匹配,从预存储字符类中选取相似度最大的若干个候选字符类。
7、根据权利要求2所述的一种识别手写字符输入的方法,其特征在于,所述步骤A2、B中的预处理是将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写输入字符的大小和形状以及重心的坐标值,具体包括以下步骤:
将所有轨迹点的横坐标值和纵坐标值变换到介于0到100之间;
分别计算所有轨迹点横坐标和纵坐标的重心坐标值;
将所有轨迹点坐标值和重心坐标值除以100,使所有轨迹点坐标值和重心坐标值变为0到1之间,利用使重心坐标值的横坐标和纵坐标变为0.5的一个平滑连续函数,将采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列;
再将所有轨迹点坐标值乘以64,得到输入字符的规整坐标序列。
8、一种识别手写字符输入的系统,其特征在于,其包括:
存储模块,用于存储各个字符类,以及所述各个字符类对应的粗分类模版和细分类模版,还有根据Fisher准则计算得到的特征变换矩阵;
第一信号采集模块,用于接收用户手写字符输入的信号并采集手写字符轨迹点的离散坐标序列;
第一归一化模块,用于将所述第一信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;
第一特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;
粗分类模块,用于从用户手写输入字符的多维特征矢量中选取部分特征值,将所述手写输入字符分别与所述存储模块中的粗分类模版进行匹配,从中选取相似度最大的若干个样本中心,并将这若干个样本中心对应的字符类作为候选字符类;
细分类模块,用于利用所述存储模块中的特征变换矩阵,对所述手写输入字符的多维特征矢量进行特征变换,从所述细分类模版中选取所述候选字符类的样本中心,分别与特征变换后的手写输入字符进行匹配,从所述候选字符类中确定最相似的字符类,以供用户选择。
显示模块,用于显示所述细分类模块输出的最相似的字符类,以供用户选择。
9、根据权利要求8所述的一种识别手写字符输入的系统,该系统还包括一个匹配模版获得子系统,该子系统包括:
第二信号采集模块,用于接收手写字符样本的信号并采集手写字符轨迹点的离散坐标序列;
第二归一化模块,用于将所述第二信号采集模块采集到的手写字符轨迹点的离散坐标序列变换成为另一个离散坐标序列,以调整手写字符的大小和形状以及重心的坐标值,得到该字符的规整坐标序列;
第二特征提取模块,用于根据所述规整坐标序列,将手写字符的所有相邻轨迹点形成的矢量线段分解到八个标准方向,计算手写字符的多维特征矢量;
粗分类模版计算模块,用于从所述特征提取模块得出的全体字符类的样本的多维特征矢量中,选取部分特征值,计算各个字符类的样本中心,得到由全体字符类的样本中心构成的粗分类模版,并将该粗分类模版存储到所述存储模块;
细分类模版计算模块,用于根据Fisher准则计算特征变换矩阵,利用该变换矩阵对全体字符类的样本的多维特征矢量进行特征变换,重新计算各个字符类的样本中心,然后对特征变换矩阵和所有样本中心进行迭代调整,得到由全体字符类的第二样本中心构成的细分类模版,并将该细分类模版存储到所述存储模块。
10、根据权利要求9所述的一种识别手写字符输入的系统,所述第一信号采集模块和第二信号采集模块还包括:
采集单元,用于接收手写字符的信号并采集手写字符轨迹点的离散坐标序列;
判断单元,用于判断一个手写字符输入是否结束,当未接收到手写字符输入信号的时间超过设定的阈值,则结束该字符离散坐标序列的采集;
检测单元,用于检查采集到的手写字符的轨迹点是否只有一个,如果是则删除该轨迹点重新采集;以及检测采集到的手写字符的轨迹点中相邻点之间的坐标距离,如果该距离小于设定的阈值,则删除其中的一点,使得相邻点之间保持一定距离。
CNA2009100364859A 2009-01-08 2009-01-08 一种识别手写字符输入的方法及系统 Pending CN101477425A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2009100364859A CN101477425A (zh) 2009-01-08 2009-01-08 一种识别手写字符输入的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2009100364859A CN101477425A (zh) 2009-01-08 2009-01-08 一种识别手写字符输入的方法及系统

Publications (1)

Publication Number Publication Date
CN101477425A true CN101477425A (zh) 2009-07-08

Family

ID=40838150

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009100364859A Pending CN101477425A (zh) 2009-01-08 2009-01-08 一种识别手写字符输入的方法及系统

Country Status (1)

Country Link
CN (1) CN101477425A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482920B (zh) * 2008-12-30 2010-12-22 广东国笔科技股份有限公司 一种手写字符识别方法及系统
CN101957680A (zh) * 2010-05-28 2011-01-26 宇龙计算机通信科技(深圳)有限公司 一种手写识别速度调整的方法、系统及触摸屏设备
CN101964048A (zh) * 2010-07-19 2011-02-02 安徽科大讯飞信息科技股份有限公司 一种字符识别方法及系统
CN102402689A (zh) * 2010-09-16 2012-04-04 腾讯科技(深圳)有限公司 一种目标字与用户输入图形建立关联的方法及装置
CN102663454A (zh) * 2012-04-18 2012-09-12 安徽科大讯飞信息科技股份有限公司 一种字符书写规范度评测的方法和装置
CN109032383A (zh) * 2018-09-13 2018-12-18 广东工业大学 基于手写识别的输入方法
CN111783766A (zh) * 2020-07-10 2020-10-16 上海淇毓信息科技有限公司 一种分步识别图像字符的方法、装置和电子设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482920B (zh) * 2008-12-30 2010-12-22 广东国笔科技股份有限公司 一种手写字符识别方法及系统
CN101957680A (zh) * 2010-05-28 2011-01-26 宇龙计算机通信科技(深圳)有限公司 一种手写识别速度调整的方法、系统及触摸屏设备
CN101957680B (zh) * 2010-05-28 2013-03-27 宇龙计算机通信科技(深圳)有限公司 一种手写识别速度调整的方法、系统
CN101964048A (zh) * 2010-07-19 2011-02-02 安徽科大讯飞信息科技股份有限公司 一种字符识别方法及系统
CN102402689A (zh) * 2010-09-16 2012-04-04 腾讯科技(深圳)有限公司 一种目标字与用户输入图形建立关联的方法及装置
CN102663454A (zh) * 2012-04-18 2012-09-12 安徽科大讯飞信息科技股份有限公司 一种字符书写规范度评测的方法和装置
CN102663454B (zh) * 2012-04-18 2014-08-20 安徽科大讯飞信息科技股份有限公司 一种字符书写规范度评测的方法和装置
CN109032383A (zh) * 2018-09-13 2018-12-18 广东工业大学 基于手写识别的输入方法
CN109032383B (zh) * 2018-09-13 2022-09-16 广东工业大学 基于手写识别的输入方法
CN111783766A (zh) * 2020-07-10 2020-10-16 上海淇毓信息科技有限公司 一种分步识别图像字符的方法、装置和电子设备
CN111783766B (zh) * 2020-07-10 2023-02-14 上海淇毓信息科技有限公司 一种分步识别图像字符的方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN101482920B (zh) 一种手写字符识别方法及系统
CN101477426B (zh) 一种识别手写输入的方法及系统
JP2750057B2 (ja) 自動手書き文字認識に対する統計的混合手法
CN101452357B (zh) 一种手写字符输入方法及系统
CN101447017B (zh) 一种基于版面分析的选票快速识别统计方法及系统
CN101350069B (zh) 从训练数据构建分类器并使用分类器检测在测试数据中的移动对象的计算机实现方法
CN101477425A (zh) 一种识别手写字符输入的方法及系统
CN101968847B (zh) 统计学在线字符识别
CN103810484B (zh) 基于打印字库分析的打印文件鉴别方法
CN102663454B (zh) 一种字符书写规范度评测的方法和装置
CN108664975B (zh) 一种维吾尔文手写字母识别方法、系统及电子设备
CN106909946A (zh) 一种多模态融合的商品分类系统
Bhattacharya et al. Neural combination of ANN and HMM for handwritten Devanagari numeral recognition
CN105930873A (zh) 一种基于子空间的自步跨模态匹配方法
CN105096345A (zh) 一种基于动态测量矩阵的目标跟踪方法及系统
CN101436249A (zh) 一种获得字符匹配模版的方法及系统
CN104965928A (zh) 一种基于形状匹配的汉字图像检索方法
CN111783738A (zh) 一种通信辐射源异常运动轨迹检测方法
Korichi et al. Off-line Arabic handwriting recognition system based on ML-LPQ and classifiers combination
CN105844299A (zh) 一种基于词袋模型的图像分类方法
CN108960347A (zh) 一种卷积神经网络手写体识别排序稳定性的效果评估系统及方法
Ozdil et al. Optical character recognition without segmentation
Tan et al. Multiscale region projection method to discriminate between printed and handwritten text on registration forms
CN117523578B (zh) 一种基于人工智能的课堂纸笔互动方法及装置
CN114519787B (zh) 智能字迹评价系统的深度特征可视化的解释方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20090708