首页> 中国专利> 基于统计结构特征的联机手写汉字识别方法

基于统计结构特征的联机手写汉字识别方法

摘要

基于统计结构特征的联机手写汉字识别方法,属于汉字识别技术领域,其特征在于:先对处理的字符对象进行预处理,以消除噪声干扰,消除部分书写变形并把待识汉字所占空间映射到一个固定大小的位置;提取包括方向特征和边缘特征在内的能很好反映联机手写汉字特征在内的统计结构特征,再把得到的这些原始特征使用线性鉴别分析方法压缩变换为识别特征;最后采用改进了的高斯二次分类器模型完成训练和识别,该模型用一个事先设定的常数值代替较小的特征值以消除较小的特征值估计不准确对分类性能的不利影响。本发明的平均识别率为98.43%,取得令人满意的效果。

著录项

  • 公开/公告号CN1664846A

    专利类型发明专利

  • 公开/公告日2005-09-07

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN200510011510.X

  • 申请日2005-04-01

  • 分类号G06K9/00;

  • 代理机构

  • 代理人

  • 地址 100084 北京市100084-82信箱

  • 入库时间 2023-12-17 16:25:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20070822 终止日期:20140401 申请日:20050401

    专利权的终止

  • 2007-08-22

    授权

    授权

  • 2005-11-02

    实质审查的生效

    实质审查的生效

  • 2005-09-07

    公开

    公开

说明书

技术领域

基于统计结构特征的联机手写汉字识别方法属于联机手写汉字识别领域。

背景技术

所谓联机手写汉字识别,就是计算机通过一种数字化仪实时地对人的书写笔迹进行采样,然后对所得数据进行自动识别的一种技术。这种技术可以使人们以自然的书写方式将汉字输入计算机或智能设备,容易满足用户一般化和小型化的要求,并且可以与其它输入方法如语音识别技术很好的互补,形成高效的汉字输入系统。所以,联机手写汉字识别方法在计算机应用中具有很重要的理论和实际意义。

到目前为止,在众多研究者的不懈努力下,联机手写汉字识别技术已经有了比较大的进展。通常的联机手写汉字识别方法有两大类:一种是基于整字模式分析的统计识别方法,强调从全局的角度描述和利用字符信息,其代表方法是用特征空间中的一组高维数值特征向量描述汉字模式,并以它们在特征空间中的分布为依据运用决策理论做出分类判决。另一种是基于局部子结构分析的识别方法,主要特征描述以结构分解后的局部笔划信息为主,代表方法有字符串模型,属性关系图模型,以及隐含Markov模型等。由于统计识别方法以整个汉字为单位进行特征提取和匹配,充分地利用了计算机的数值处理能力,有利于在特征空间中用数学方法寻找汉字的全局相关结构特征,而且具有速度快、性能好的优点,所以本发明使用了统计方法来识别联机手写汉字。

统计识别方法成功的关键在于统计特征集合的有效性,亦即取决于不同字符的模式能在多大程度上在特征空间分开。在公开文献报导中,联机汉字的统计特征主要采用变换系数特征,该特征较适用于笔划数较少和曲弧形笔划的字符,如英文数字和日文假名等。汉字内高频分量丰富,变换系数特征的效果不佳。在脱机汉字识别方法的研究中提出了一些统计结构数值特征,如方向线素特征、网格特征、边框特征、笔划密度特征、背景特征等等,取得了比较不错的识别效果。有少数文献试图在联机汉字识别中引入这些统计结构特征,但是由于没有考虑到联机手写汉字的特性,识别性能比较差。

本发明就是在必要的预处理的基础上,设计和提取能够适应联机手写汉字特性的统计结构特征,实现了高性能的联机手写汉字识别系统,这是目前其它所有文献中还没有见到的。

发明内容

本发明的目的在于实现一个基于统计结构特征的联机手写汉字识别方法。本识别方法以单个的联机手写汉字字符作为处理对象,首先对处理的字符对象进行必要的预处理,然后提取出能很好反映联机手写汉字特点的统计结构特征,再将得到的这些原始特征使用线性鉴别分析LDA压缩变换为识别特征,最后用改进型二次分类器MQDF进行识别。

本发明由以下几部分组成:预处理、统计结构特征的提取、特征变换、分类器设计。

1.预处理

预处理的目的是在识别之前尽量消除笔迹中的噪声和书写变形,使待识汉字有一个更好的识别基础。其任务一是滤除笔迹采集设备和书写者造成的噪声干扰,如孤立点噪声、锯齿形噪声、笔速不匀等,主要处理方法为滤波平滑和重新采样;二是对待识汉字作整形处理以消除部分书写变形,包括线性归一化、非线性归一化两个功能,使待识汉字所占空间区域映射到一个大小固定的位置,而且整形后字符笔划在空间分布上更加均匀。

设一个联机手写汉字的笔迹为:

P(x1,y1),P(x2,y2),…,P(xi,yi),(break),P(xi+1,yi+1),…,P(xN,yN)。

这是计算机通过数字化仪实时地对书写时笔尖的移动轨迹进行采样得到的一系列从时间上依序排列的点坐标,(break)标记代表两个自然笔划间抬笔和落笔的中断。

去除孤立点噪声是指从笔迹点序列中去除只由一两个点组成的笔划。滤除锯齿形噪声的方法是对相邻点的坐标值进行加权平均,达到低通滤波的效果。滤波公式为:

>sup>>x>i>′>>=>>1>4>>>(>>x>>i>->1>>>+>2>·>>x>i>>+>>x>>i>+>1>>>)>>>s>

>sup>>y>i>′>>=>>1>4>>>(>>y>>i>->1>>>+>2>·>>y>i>>+>>y>>i>+>1>>>)>>>s>

消除笔速不匀的重新采样方法是对于书写的轨迹用一个固定长度间隔重新采样,使得一定长度的笔划用一定数量的点来代表,其公式为:

xj″=[xi′·(si+1-jL)+xi+1′·(jL-si)]/di

yj″=[yi′·(si+1-jL)+yi+1′·(jL-si)]/di 

上式中,L为固定采样间隔,取值为常数1;(xi′,yi′)为待采样笔划的N个坐标点,i满足1≤i≤N且si≤jL<si+1 >>>d>i>>=>>>>(sup>>x>>i>+>1>>′>>-sup>>x>>i>>′>>)>>2>>+>>>(sup>>y>>i>+>1>>′>>-sup>>y>i>′>>)>>2> >>s>为两个点之间的长度; >>>S>i>>=>>Σ>>k>=>0>>>i>->1>>>>d>k>>>s>为累计长度,并设定 >>>s>0>>=>0>;>>(sup>>x>j>>′>′>>>,sup>>y>j>>′>′>>>)>>,>j>=>0,1>,>·>·>·>,>[>>>s>N>>L>>]>>s>为重新采样得到的新坐标点。

整形处理需要得到各笔迹点在变换后的新坐标,在本发明中通过密度均衡法来计算。首先将联机汉字的笔迹转换成汉字图像[f(x″,y″)]W×H,整形变换前的图像宽度为W,高度为H,任何一个笔迹点P(xi″,yi″)坐标处对应黑象素点f(xi″,yi″)=1,其余为白象素点f(x″,y″)=0。U(x″),V(y″)分别表示象素点在水平和垂直方向上的密度投影,即:

>>U>>(>>x>>′>′>>>)>>=>>Σ>>y>=>1>>H>>f>>(>>x>>′>′>>>,>>y>>′>′>>>)>>+>>α>U>>->->>x>>′>′>>>=>1,2>,>.>.>.>,>W>>s>

>>V>>(>>y>>′>′>>>)>>=>>Σ>>x>=>1>>W>>f>>(>>x>>′>′>>>,>>y>>′>′>>>)>>+>>α>V>>->->>y>>′>′>>>=>1,2>,>.>.>.>,>H>>s>

其中,αU,αV为偏置常数,此处设定αU=αV=6。则原坐标为(x″,y″)的笔迹点的新坐标为(x’″,y’″):

>>>x>>′>′>′>>>=>>Σ>>k>=>1>>>x>>′>′>>>>U>>(>k>)>>×>>>W>′>>>>Σ>>k>=>1>>W>>U>>(>k>)>>>>,>>s> >>>y>>′>′>′>>>=>>Σ>>l>=>1>>>y>>′>′>>>>V>>(>l>)>>×>>>H>′>>>>Σ>>l>=>1>>H>>V>>(>l>)>>>>>s>

其中,W′为处理后的最大横坐标,H′为处理后的最大纵坐标,这两个值是处理后的笔迹点坐标范围的期望值,需要在整形处理之前预先设定好,此处都设为64。

预处理的最后一个步骤是把每个自然笔划内的笔迹点都依序首尾相连,连线上与原笔迹点不重合的点插入笔迹序列,并消除相邻笔迹点中的重合点。

2.统计结构特征的提取

统计结构特征的提取是在预处理之后的联机手写汉字笔迹上进行的。本发明通过仔细研究联机手写汉字的结构特性,设计和提取了两种统计结构特征,分别称为方向特征和边缘特征。

2.1方向特征的提取

方向特征的提取结果也分为两种,称为相邻点方向特征和相邻拐点方向特征。

2.1.1相邻点方向特征

首先计算每个笔迹点的方向:在笔迹点坐标序列中,任取一点Pi,除最后一点外,都有至少一个后继点Pj(j>i),我们把从Pi指向Pj的有向线段的方向设定为Pi点的方向值θi,其值域范围为[0°,360°),如图3所示,(a)为点Pi到相邻点Pi+1的方向,(b)为拐点Pi到相邻拐点Pj的方向,(c)为有向线段方向角度的计算示意图。当j=i+1时,该方向值称为相邻点方向。

θi计算方法为,设(Xi,Yi)为点Pi的坐标,(Xj,Yj)为点Pj的坐标。

由于θi的三角正切函数 >>tg>>(>>θ>i>>)>>=>>>>Y>j>>->>Y>i>>>>>X>j>>->>X>i>>>>>s>

>>>θ>i>>=>arctg>>(>>>>Y>j>>->>Y>i>>>>>X>j>>->>X>i>>>>)>>>s>

然后计算每个笔迹点的方向属性系数。所谓笔迹点的方向属性系数,是指以该点的方向值为自变量,利用图4所示的梯形和半梯形函数,计算得到的该点的4种函数值:

横方向属性系数函数

竖方向属性系数函数

撇方向属性系数函数

捺方向属性系数函数

上面六个参数α16是角度阈值,它们的作用是确定方向属性系数函数的形状,在本发明中分别设为:α1=-10°,α2=260°,α3=280°,α4=250°,α5=300°,α6=330°。

得到方向属性系数之后,把笔迹点图像的坐标空间均匀划分成K1×K1个子块,如图5所示。分别统计每个子块中所有笔迹点的各自4种方向属性系数之和,共得到K1×K1×4维特征。以第(k,l)(这里1≤k≤K1,1≤l≤K1)个子块为例,统计得到的4维特征分别为: >sup>>F>>k>,>l>>>(>h>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>h>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值; >sup>>F>>k>,>l>>>(>s>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>s>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值; >sup>>F>>k>,>l>>>(>p>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>p>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值; >sup>>F>>k>,>l>>>(>n>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>n>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值;

2.1.2相邻拐点方向特征

当笔迹颤动时,相邻点方向的计算会产生较大的偏差,所以我们还设计了相邻拐点方向,即把Pi和Pj设定为笔迹点中相邻的拐点,重新计算每个笔迹点的方向。所谓拐点是指笔划书写的方向前后变化剧烈的点,同时把笔划端点也设定为一种拐点。拐点的确定根据多边形逼近的基本方法:先计算笔划中每个点与相邻点间张角的余弦值。拐点的判定是当张角γ的余弦值出现最大值并大于设定阈值,设为-0.8,此时γ约为2.5弧度。

张角γ的余弦值可利用三角余弦定理计算。设a,b,c分别为当前笔迹点与前后相邻笔迹点构成的三角形的三边。张角γ为边a,b的夹角,c为张角γ的对边,先根据三角形顶点的坐标分别计算三边的长度,由余弦定理可求得 >>cos>γ>=>>>>c>2>>->>a>2>>->>b>2>>>>2>ab>>>.>>s>如图6所示。

点Pi和Pj,j>i为笔迹点中相邻的拐点,所有包括Pi点在内的在这两点之间的笔迹点的方向都设定为从点Pi指向点Pj的有向线段方向。

重新计算每个笔迹点相邻拐点的方向属性系数并统计每个空间划分子块中的4种方向属性系数之和,得到另外K1×K1×4维特征。

方向特征是这两种特征的合并,共有K1×K1×8维特征。

2.2边缘特征的提取

边缘特征与方向特征不同之处在于边缘特征能较好地反映出汉字的外围结构信息。

以从左到右方向为例,提取边缘特征的方法为:把预处理后的联机汉字笔迹所对应图像的左半部分空间等距分为K2个横向子区域,如图7(a)所示。在每一个子区域内,从箭头方向,即图像左边缘往右进行逐行扫描。若第i次行扫描时,首次扫描到某个坐标点为笔迹点时,计算这个笔迹点的4个相邻点方向属性系数,记做fi,1(h)、fi,1(s)、fi,1(p)、fi,1(n),如果一直没有扫描到笔迹点,则这4个系数为0;继续扫描,当再次扫描到另外某个坐标点为笔迹点时,计算这个笔迹点的相邻点方向属性系数,记做fi,2(h)、fi,2(s)、fi,2(p)、fi,2(n),同样的,如果一直没有再次扫描到笔迹点,则这4个系数为0。一直到i次行扫描完毕,分别累计各行得到的以上系数,得到8维特征: >>>Σ>i>sup>>f>>i>,>1>>>(>h>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>s>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>p>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>n>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>h>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>s>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>p>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>n>)>>>.>>s>K2个子区域共得到K2×8维边缘特征。

从其余7个箭头方向,即右、上、下另三个边缘及对角线方向重复以上方法,如图7(b)所示,箭头方向为空间等分和扫描方向,共得到K2×8×8维的边缘特征。

方向特征和边缘特征合并后得到完整的一个联机手写汉字的统计结构特征V。

3.特征变换

前面提取得到的原始特征维数比较高,在样本数不是很充分的情况下,会造成计算复杂度增加并降低分类器性能。所以,在原始特征送到分类器之前,还需要对之进行特征变换,把高维原始特征变换压缩到低维特征空间。本发明采用线性鉴别分析技术LDA进行特征变换。设{{Vi(j),1≤i≤Nj},1≤j≤C}为原始特征向量集合,式中Vi(j)表示属于第j个类别的第i个样本提取的原始特征向量,Nj表示第j个类别的样本个数,C表示类别数目。每个类别代表国家标准汉字集合中的一个汉字。用下式计算每个类别的均值以及所有类别的均值:

>>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>V>i>>(>j>)>>>,>>s> >>μ>=>>1>C>>>Σ>>j>=>1>>C>>>μ>j>>>s>

然后计算类内散度矩阵Sw和类间散度矩阵Sb

>>>S>w>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>V>i>>(>j>)>>>->>μ>j>>)>>>>(sup>>V>i>>(>j>)>>>->>μ>j>>)>>T>>)>>>s>

>>>S>b>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>μ>j>>->μ>)>>>>(>>μ>j>>->μ>)>>T>>>s>

我们选取|(Sb+Sw)/Sw|作为优化准则,即求取线性变换矩阵A,使得 >>|>>>>A>T>>>(>>S>b>>+>>S>w>>)>>A>>>>A>T>>>S>w>>A>>>|>>s>最大。变换矩阵A为n×m维矩阵,n为原始特征维数,设定变换后的特征维数为m。变换矩阵的求取方法如下:我们对矩阵Sw-1(Sb+Sw)进行特征值和特征向量分解,得到特征值{γi,i=1,2,...,n},特征值按值的大小降序排列,以及特征向量ξi,i=1,2,...,n。用前m个特征向量组成矩阵A=[ξ1,ξ2,...,ξm],则A就是符合前面要求的线性变换矩阵。

特征选择的公式如下:

Y=AT·V

上式中,V为原始结构特征向量,Y是经过变换后的特征向量。

4.分类器设计

本发明使用了针对高斯模型的改进型二次分类器MQDF。这里先介绍标准二次分类器QDF。QDF的判决函数为:

>>>g>j>>>(>Y>)>>=>>Σ>>i>=>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>sup>>λ>i>>(>j>)>>>>+>>Σ>>i>=>1>>m>>logsup>>λ>i>>(>j>)>>>>s>

上式中,Y是输入的特征向量,m为特征维数,μj代表第j个类别的均值向量,ζi(j)是第j个类别的协方差阵的第i个特征向量,λi(j)是第j个类别的协方差阵的第i个特征值。对输入Y进行识别时,用如下准则进行分类:

把Y归为第i个类别,如果 >>>g>i>>>(>Y>)>>=>>min>>1>≤>j>≤>C>>>>g>j>>>(>Y>)>>,>>s>式中C为类别数目

在实际应用中,由于对小特征值的估计不准确,造成QDF的性能下降。为降低小特征值估计不准对分类性能的不利影响,我们使用改进的二次分类器MQDF。MQDF对过小的特征值用事先确定的常数代替,其判别函数如下:

>>>g>j>>>(>Y>)>>=>>Σ>>i>=>1>>k>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>sup>>λ>i>>(>j>)>>>>+>>Σ>>i>=>k>+>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>>λ>>+>>Σ>>i>=>1>>k>>logsup>>λ>i>>(>j>)>>>+>>Σ>>i>=>k>+>1>>m>>log>λ>->->j>=>1.2>·>·>·>·>·>·>,>C>>s>

上式中,k为小于m的正整数,λ是常数。k和λ为经验参数,由实验确定。在分类时,输入Y被划分为使gj(Y)取最小值的类别。

本发明的特征在于,它是一种基于统计结构特征的联机手写汉字识别方法。它依次含有以下步骤:

(1)对输入的联机手写汉字笔迹进行预处理。

假设一个联机手写汉字的笔迹为:P(x1,y1),P(x2,y2),…,P(xi,yi),(break),P(xi+1,yi+1),…,P(xN,yN)。依次进行如下预处理。

(1.1)去除孤立点噪声。

从笔迹点序列中去除只由一两个点组成的笔划。

(1.2)滤除锯齿形噪声。

用下式对相邻点的坐标值进行加权平均,达到低通滤波的效果:

>sup>>x>i>′>>=>>1>4>>>(>>x>>i>->1>>>+>2>·>>x>i>>+>>x>>i>+>1>>>)>>>s>

>sup>>y>i>′>>=>>1>4>>>(>>y>>i>->1>>>+>2>·>>y>i>>+>>y>>i>+>1>>>)>>>s>

(1.3)消除笔速不匀的重新采样。

对于书写的轨迹用一个固定长度间隔采用下式重新采样,使得一定长度的笔划用一定数量的点来代表:

xj″=[xi′·(si+1-jL)+xi+1′·(jL-si)]/di

yj″=[yi′·(si+1-jL)+yi+1′·(jL-si)]/di

上式中,L为固定采样间隔,取值为常数1;(xi′,yi′)为待采样笔划的N个坐标点,i满足1≤i≤N且si≤jL<si+1 >>>d>i>>=>>>>(sup>>x>>i>+>1>>′>>-sup>>x>i>′>>)>>2>>+>>>(sup>>y>>i>+>1>>′>>-sup>>y>i>′>>)>>2> >>s>为两个点之间的长度; >>>s>i>>=>>Σ>>k>=>0>>>i>->1>>>>d>k>>>s>为累计长度,并设定 >>>s>0>>=>0>;>>(sup>>x>j>>′>′>>>,sup>>y>j>>′>′>>>)>>,>j>=>0,1>,>·>·>·>,>[>>>s>N>>L>>]>>s>为重新采样得到的新坐标点。

(1.4)用密度均衡法整形处理。

首先将联机汉字的笔迹转换成汉字图像[f(x″,y″)]W×H,图像宽度为W,高度为H,任何一个笔迹点P(xi″,yi″)坐标处对应黑象素点f(xi″,yi″)=1,其余为白象素点f(x″,y″)=0。计算图像在水平和垂直方向上的密度投影U(x″),V(y″):

>>U>>(>>x>>′>′>>>)>>=>>Σ>>y>=>1>>H>>f>>(>>x>>′>′>>>,>>y>>′>′>>>)>>+>>α>U>>->->>x>>′>′>>>=>1,2>,>.>.>.>,>W>>s>

>>V>>(>>y>>′>′>>>)>>=>>Σ>>x>=>1>>W>>f>>(>>x>>′>′>>>,>>y>>′>′>>>)>>+>>α>V>>->->>y>>′>′>>>=>1,2>,>.>.>.>,>H>>s>

其中,αU,αV为偏置常数,此处设定αU=αV=6。则原坐标为(x″,y″)的笔迹点的新坐标为(x’″,y’″):

>>>x>>′>′>′>>>=>>Σ>>k>=>1>>>x>>′>′>>>>U>>(>k>)>>×>>>W>′>>>>Σ>>k>=>1>>W>>U>>(>k>)>>>>,>>s> >>>y>>′>′>′>>>=>>Σ>>l>=>1>>>y>>′>′>>>>V>>(>l>)>>×>>>H>′>>>>Σ>>l>=>1>>H>>V>>(>l>)>>>>>s>

其中,整形处理后的最大横坐标为W’,最大纵坐标为H’。

(1.5)插值和删除重合点。

把每个自然笔划内的笔迹点都依序首尾相连,连线上与原笔迹点不重合的点插入笔迹序列,并消除相邻笔迹点中的重合点。

(2)提取统计结构特征

在预处理之后的联机手写汉字笔迹上提取方向特征和边缘特征,合并为原始的统计结构特征。其提取方法分别如下:

(2.1)提取方向特征方向特征是相邻点方向特征和相邻拐点方向特征的合并。这两种特征的提取步骤如下:

(2.1.1)提取相邻点方向特征

(a)首先计算除最后一点外的所有笔迹点的相邻点方向:从Pi指向Pi+1的有向线段的方向θi,其值域范围为[0°,360°)。最后一点的方向设为无效。

(b)然后按下式根据每个笔迹点的方向值θi计算该点的4种方向属性系数:

横方向属性系数函数

竖方向属性系数函数

撇方向属性系数函数

捺方向属性系数函数

六个参数α16是角度阈值,它们的作用是确定方向属性系数函数的形状,在本发明中分别设为:α1=-10°,α2=260°,α31=280°,α4=250°,α5=300°,α6=330°。

(c)把笔迹点坐标所占空间均匀划分成K1×K1个子块,分别统计每个子块中所有笔迹点的4种方向属性系数之和。以第(k,l),1≤k≤K1,1≤l≤K1个子块为例,统计得到的4维特征分别为: >sup>>F>>k>,>l>>>(>h>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>h>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值; >sup>>F>>k>,>l>>>(>s>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>s>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值; >sup>>F>>k>,>l>>>(>p>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>p>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值; >sup>>F>>k>,>l>>>(>n>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>n>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值;

一共得到K1×K1×4维特征相邻点方向特征。

(2.1.2)提取相邻拐点方向特征

用多边形逼近的方法确定笔迹中的拐点,拐点即笔划书写的方向前后变化剧烈的点,包括笔划拐点在内,先计算笔划中每个点与相邻点间张角的余弦值;

张角γ的余弦值可利用三角余弦定理计算,设a,b,c分别为当前笔迹点与前后相邻笔迹点构成的三角形的三边,张角γ为边a,b的夹角,c为张角γ的对边,先根据三角形顶点的坐标分别计算三边的长度,由余弦定理可求得 >>cos>γ>=>>>>c>2>>->>a>2>>->>b>2>>>>2>ab>>>;>>s>

拐点的判定是当张角γ的余弦值出现最大值并大于设定阈值,设为-0.8,此时γ约为2.5弧度;把笔划端点也设定为一种拐点。

计算每个笔迹点的相邻拐点方向:设点Pi和Pj,j>i为笔迹点中相邻的拐点,所有包括Pi点在内的在这两点之间的笔迹点的方向都设定为从点Pi指向点Pj的有向线段方向。

重复(2.1.1)中的(b)(c)两步,得到K1×K1×4维的相邻拐点方向特征。

(2.2)提取边缘特征

首先提取左→右方向扫描的边缘特征:把预处理后的联机汉字笔迹所对应图像的左半部分空间等距分为K2个横向子区域,如图7(a)所示;从箭头方向(即图像左边缘往右)进行逐行扫描。若第i次行扫描时,第一次扫描到某个坐标点为笔迹点时,计算这个笔迹点的4个相邻点方向属性系数,记做fi,1(h)、fi,1(s)、fi,1(p)、fi,1(n),如果一直没有扫描到笔迹点,则这4个系数为0;继续扫描,当第二次扫描到某个坐标点为笔迹点时,计算这个笔迹点的相邻点方向属性系数,记做fi,2(h)、fi,2(s)、fi,2(p)、fi,2(n),同样的,如果一直没有第二次扫描到笔迹点,则这4个系数为0。行扫描完毕,分别累计各行得到的以上系数,得到8维特征: >>>Σ>i>sup>>f>>i>,>1>>>(>h>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>s>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>p>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>n>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>h>)>>>,>>s> >>>Σ>i>sup>>f>>i>,>2>>>(>s>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>p>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>n>)>>>.>>s>K2个子区域共得到K2×8维边缘特征。

然后接着从右、上、下另三个边缘及四个斜线扫描方向,如图7(b),重复以上步骤,共得到K2×8×8维的边缘特征。

(3)特征变换

用线性鉴别分析LDA从原始的统计结构特征中提取识别特征,以改善特征分布,提高识别性能,它依次含有以下步骤:

(3.1)用下式计算每个类别的均值μj以及所有类别的均值μ:

>>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>V>i>>(>j>)>>>,>>s> >>μ>=>>1>C>>>Σ>>j>=>1>>C>>>μ>j>>>s>

其中,Vi(j)为属于第j个类别的第i个样本提取的原始特征向量,Nj表示第j个类别的样本个数,C表示类别数目。

(3.2)用下式计算类内散度矩阵Sw和类间散度矩阵Sb

>>>S>w>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>V>i>>(>j>)>>>->>μ>j>>)>>>>(sup>>V>i>>(>j>)>>>->>μ>j>>)>>T>>)>>>s>

>>>S>b>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>μ>j>>->μ>)>>>>(>>μ>j>>->μ>)>>T>>>s>

(3.3)对矩阵Sw-1(Sb+Sw)进行特征值和特征向量分解,得到按特征值的大小降序排列的特征值γi,i=1,2,...,n和特征向量ξi,i=1,2,...,n。

(3.4)用前m个特征向量组成线性变换矩阵A=[ξ1,ξ2,...,ξm]。

(3.5)用原始特征V和变换矩阵A计算变换后的特征向量Y:

Y=AT·V

(4)用MQDF分类器进行联机手写汉字识别。

用MQDF分类器进行识别包括两个部分:首先要根据前面得到的识别特征通过事先采集好的样本训练生成识别库文件;然后才能利用识别库对实际输入待识样本进行识别。

(4.1)训练过程:

(4.1.1)首先对每个类别j,根据前面得到的m维识别特征,用下式统计其均值μj和协方差阵∑j

>>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>Y>i>>(>j>)>>>,>>s> >>>Σ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>Y>i>>(>j>)>>>->>μ>j>>)>>·>>>(sup>>Y>i>>(>j>)>>>->>μ>j>>)>>T>>>s>

其中,Yi(j)为属于第j个类别的第i个样本提取的识别特征向量,Nj表示第j个类别的样本个数。

(4.1.2)对每个类别的协方差阵∑j进行特征值和特征向量分解,得到按值的大小降序排列的特征值λi(j),i=1,2,...,m和特征向量ζi(j),i=1,2,...,m

(4.1.3)计算小特征值的替代值:

>>λ>=>>1>C>>>Σ>>j>=>1>>C>sup>>λ>>k>+>1>>>(>j>)>>>>s>

其中,k为小于m的正整数,由实验确定。

(4.1.4)把前面得到的λi(j),j=1,2,...,C,i=1,2,...,k、ζi(j),j=1,2,...,C,i=1,2,...,m、μj,j=1,2,...,C和λ存储到识别库文件中,供后续的识别使用。

(4.2)识别过程:

(4.2.1)由待识样本得到识别特征Y,用下式计算每个类别的判决函数gj(Y):

>>>g>j>>>(>Y>)>>=>>Σ>>i>=>1>>k>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>sup>>λ>i>>(>j>)>>>>+>>Σ>>i>=>k>+>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>>λ>>+>>Σ>>i>=>1>>k>>logsup>>λ>i>>(>j>)>>>+>>Σ>>i>=>k>+>1>>m>>log>λ>>s>

其中,m、k的取值同训练过程。

(4.2.2)输入的待识样本被划分为使gj(Y)取最小值的类别。

实验证明,本发明的平均识别率为98.43%,达到令人满意的效果。

附图说明

图1联机手写汉字识别系统的构成。

图2预处理流程

图3笔迹点方向的计算方法。

图4方向属性系数的计算方法。

图5笔迹点坐标空间的子块划分方法。

图6计算拐点的方法。

图7边缘特征的提取方法。

图8 LDA特征变换方法流程。

具体实施方式

实现基于统计结构特征的联机手写汉字识别系统时,首先要通过训练得到识别库,然后就可以根据识别库对联机手写汉字字符进行识别。因而,实用的基于统计结构特征的联机手写汉字识别系统的实现需要考虑训练过程的实现和识别过程的实现两个方面,其系统构成如图1所示。这两个过程中有部分处理内容是相同的。

下面详细介绍系统的各个部分:

A.训练过程的实现

A.1预处理

预处理流程如图2所示。假设一个联机手写汉字的笔迹为:P(x1,y1),P(x2,y2),…,P(xi,yi),(break),P(xi+1,yi+1),…,P(xN,yN)。

首先要去除孤立点噪声,从笔迹点序列中去除只由一两个点组成的笔划。

然后对相邻点的坐标值进行加权平均,滤除锯齿形噪声,滤波公式为:

>sup>>x>i>′>>=>>1>4>>>(>>x>>i>->1>>>+>2>·>>x>i>>+>>x>>i>+>1>>>)>>>s>

>sup>>y>i>′>>=>>1>4>>>(>>y>>i>->1>>>+>2>·>>y>i>>+>>y>>i>+>1>>>)>>>s>

重新采样的目的是消除笔速不匀。其方法是对书写的轨迹用一个固定长度间隔重新采样,使得一定长度的笔划用一定数量的点来代表,采样公式为:

xj″=[xi′·(si+1-jL)+xi+1′·(jL-si)]/di

yj″=[yi′·(si+1-jL)+yi+1′·(jL-si)]/di

上式中,L为固定采样间隔,取值为常数1;(xi′,yi′)为待采样笔划的N个坐标点,i满足1≤i≤N且si≤jL<si+1 >>>d>i>>=>>>>(sup>>x>>i>+>1>>′>>-sup>>x>i>′>>)>>2>>+>>>(sup>>y>>i>+>1>>′>>-sup>>y>i>′>>)>>2> >>s>为两个点之间的长度; >>>s>i>>=>>Σ>>k>=>0>>>i>->1>>>>d>k>>>s>为累计长度,并设定 >>>s>0>>=>0>;>>(sup>>x>j>>′>′>>>,sup>>y>j>>′>′>>>)>>,>j>=>0,1>,>·>·>·>,>[>>>s>N>>L>>]>>s>为重新采样得到的新坐标点。

整形处理的任务是消除待识汉字的部分书写变形,包括线性归一化、非线性归一化两个功能,使待识汉字所占空间区域映射到一个大小固定的位置,而且字符笔划在空间分布上更加均匀。整形处理后各笔迹点变换到新坐标,变换公式通过密度均衡法来计算:首先将联机汉字的笔迹转换成汉字图像[f(x″,y″)]W×H,图像宽度为W,高度为H,任何一个笔迹点P(xi″,yi″)坐标处对应黑象素点f(xi″,yi″)=1,其余为白象素点f(x″,y″)=0。H(x″),V(y″)分别表示象素点在水平和垂直方向上的密度投影,即:

>>U>>(>>x>>′>′>>>)>>=>>Σ>>y>=>1>>H>>f>>(>>x>>′>′>>>,>>y>>′>′>>>)>>+>>α>U>>->->>x>>′>′>>>=>1,2>,>.>.>.>,>W>>s>

>>V>>(>>y>>′>′>>>)>>=>>Σ>>x>=>1>>W>>f>>(>>x>>′>′>>>,>>y>>′>′>>>)>>+>>α>V>>->->>y>>′>′>>>=>1,2>,>.>.>.>,>H>>s>

其中,αU,αV为偏置常数,本发明中设定αU=αV=6。则原坐标为(x″,y″)的笔迹点的新坐标为(x’″,y’″):

>>>x>>′>′>′>>>=>>Σ>>k>=>1>>>x>>′>′>>>>U>>(>k>)>>×>>>W>′>>>>Σ>>k>=>1>>W>>U>>(>k>)>>>>,>>s> >>>y>>′>′>′>>>=>>Σ>>l>=>1>>>y>>′>′>>>>V>>(>l>)>>×>>>H>′>>>>Σ>>l>=>1>>H>>V>>(>l>)>>>>>s>

其中,W′为处理后的最大横坐标,H′为处理后的最大纵坐标。本发明中设定W′=H′=64。

A.2统计结构特征的提取

这一步是在预处理之后的联机手写汉字笔迹的基础上提取出适合联机手写汉字的结构特性的特征。本发明中设计和提取了两种统计结构特征,分别称为方向特征和边缘特征。

A.2.1方向特征的提取

方向特征是由相邻点方向特征和相邻拐点方向特征这两种特征合并而成。

相邻点方向特征的提取方法如下:

1)首先计算除最后一点外的所有笔迹点的相邻点方向:从当前点Pi指向下一点Pi+1的有向线段的方向θi,其值域范围为[0°,360°)。最后一点的方向设为无效。

2)根据每个笔迹点的方向值θi按下式计算该点的4种方向属性系数:

横方向属性系数函数

竖方向属性系数函数

撇方向属性系数函数

捺方向属性系数函数

六个参数α16是角度阈值,它们的作用是确定方向属性系数函数的形状,在本发明中分别设为:α1=-10°,α2=260°,α31=280°,α4=250°,α5=300°,α6=330°。

3)把笔迹点坐标所占空间均匀划分成K1×K1个子块,分别统计每个子块中所有笔迹点的4种方向属性系数之和。以第(k,l)(1≤k≤K1,1≤l≤K1)个子块为例,统计得到的4维特征分别为: >sup>>F>>k>,>l>>>(>h>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>h>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值 >sup>>F>>k>,>l>>>(>s>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>s>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值 >sup>>F>>k>,>l>>>(>p>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>p>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值 >sup>>F>>k>,>l>>>(>n>)>>>=>>Σ>>P>>(>x>,>y>)>>∈>D>>(>k>,>l>)>>>>>f>>(>n>)>>>>(>θ>)>>,>>s>θ为点P(x,y)的方向值

在本发明中,K1=8,所以相邻点方向特征共有8×8×4=256维。

相邻拐点方向特征的提取方法如下:

用多边形逼近的方法确定笔迹中的拐点,拐点即笔划书写的方向前后变化剧烈的点,包括笔划拐点在内,先计算笔划中每个点与相邻点间张角的余弦值;

张角γ的余弦值可利用三角余弦定理计算,设a,b,c分别为当前笔迹点与前后相邻笔迹点构成的三角形的三边,张角γ为边a,b的夹角,c为张角γ的对边,先根据三角形顶点的坐标分别计算三边的长度,由余弦定理可求得 >>cos>γ>=>>>>c>2>>->>a>2>>->>b>2>>>>2>ab>>>;>>s>

拐点的判定是当张角γ的余弦值出现最大值并大于设定阈值,设为-0.8,此时γ约为2.5弧度;把笔划端点也设定为一种拐点。

计算每个笔迹点的相邻拐点方向:设点Pi和Pj,j>i为笔迹点中相邻的拐点,所有包括Pi点在内的在这两点之间的笔迹点的方向都设定为从点Pi指向点Pj的有向线段方向。

重复上面的相邻点方向特征提取方法中的(2)(3)两步,得到256维的相邻拐点方向特征。

相邻点方向特征和相邻拐点方向特征合并成512维的方向特征。

A.2.2边缘特征的提取

边缘特征与方向特征不同之处在于边缘特征能较好地反映出汉字的外围结构信息。提取边缘特征的方法如下:

首先提取从左到右扫描方向的边缘特征:把预处理后的联机汉字笔迹所对应图像空间的左半部分等距分为K2个横向子区域,如图7(a)所示。在每一个子区域内,从箭头方向,即图像左边缘往右,进行逐行扫描。若第i次行扫描时,第一次扫描到某个坐标点为笔迹点时,计算这个笔迹点的4个相邻点方向属性系数,记做fi,1(h)、fi,1(s)、fi,1(p)、fi,1(n),如果一直没有扫描到笔迹点,则这4个系数为0;继续扫描,当第二次扫描到某个坐标点为笔迹点时,累计遇到的这个笔迹点的相邻点方向属性系数,记做fi,2(h)、fi,2(s)、fi,2(p)、fi,2(n),同样的,如果一直没有第二次扫描到笔迹点,则这4个系数为0。行扫描完毕,分别累计各行得到的以上系数,得到8维特征: >>>Σ>i>sup>>f>>i>,>1>>>(>h>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>s>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>p>)>>>,>>Σ>i>sup>>f>>i>,>1>>>(>n>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>h>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>s>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>p>)>>>,>>Σ>i>sup>>f>>i>,>2>>>(>n>)>>>.>>s>K2个子区域共得到K2×8维边缘特征。

然后从右、上、下另三个边缘及4个斜线扫描方向重复以上方法,共得到K2×8×8维的边缘特征。

在本发明中,K2=8,边缘特征共有512维。

方向特征和边缘特征合并后得到完整的1024维联机手写汉字统计结构特征。

A.3特征变换

特征变换的流程如图8所示,采用了线性鉴别分析技术LDA方法,通过求取变换矩阵A,对原始特征进行变换压缩,得到最终的识别特征。

特征变换的具体步骤如下:

1)首先计算每个类别的均值以及所有类别的均值:

>>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>V>i>>(>j>)>>>,>>s> >>μ>=>>1>C>>>Σ>>j>=>1>>C>>>μ>j>>>s>

2)然后计算类内散度矩阵Sw和类间散度矩阵Sb

>>>S>w>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>V>i>>(>j>)>>>->>μ>j>>)>>>>(sup>>V>i>>(>j>)>>>->>μ>j>>)>>T>>)>>>s>

>>>S>b>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>μ>j>>->μ>)>>>>(>>μ>j>>->μ>)>>T>>>s>

3)对矩阵Sw-1(Sb+Sw)进行特征值和特征向量分解,得到特征值{γi,i=1,2,...,n},特征值按值的大小降序排列,以及特征向量ξi,i=1,2,...,n。用前m个特征向量组成矩阵A=[ξ1,ξ2,...,ξ256],则A就是要求取的线性变换矩阵。在本发明中,m取128。

这个变换矩阵A需要存储到文件中,供识别过程的特征变换使用。

4)得到变换矩阵A后,即可求取最终的特征,变换公式为:Y=AT·V。

A.4训练MQDF分类器

根据得到的m维识别特征Y,对每个类别用下式统计其均值和协方差阵:

>>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>Y>i>>(>j>)>>>,>>s> >>>Σ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>Y>i>>(>j>)>>>->>μ>j>>)>>·>>>(sup>>Y>i>>(>j>)>>>->>μ>j>>)>>T>>>s>

其中,Yi(j)表示第j个类别的第i个训练样本提取的特征向量,Nj是第j个类别的训练样本数目,μj表示第j个类别的均值,∑j表示第j个类别的协方差矩阵。

对每个类别的协方差阵进行特征值和特征向量分解,得到特征值λi(j),i=1,2,...,m,特征值按值的大小降序排列和特征向量ζi(j),i=1,2,...,m,λi(j)是∑j的第i个特征值,ζi(j)是∑j的第i个特征向量。

我们用下式计算MQDF分类器中的参数λ,即小特征值的替代值:

>>λ>=>>1>C>>>Σ>>j>=>1>>C>sup>>λ>>k>+>1>>>(>j>)>>>>s>

上式中,k为小于m的正整数,在本发明中,k取32,C表示类别数目。

把以上参数λi(j),j=1,2,...,C,i=1,2,...,k、ζi(j),j=1,2,...,C,i=1,2,...,m、μj,j=1,2,...,C、λ存储到识别库文件中,供识别过程使用。这样就完成了MQDF分类器的训练过程。

B.识别过程的实现

识别过程如图1所示。同训练过程一样,识别过程也需要首先进行预处理,然后提取得到原始的统计结构特征V。

在进行LDA特征变换时,识别过程直接采用训练过程提供的变换矩阵A,得到识别特征向量Y=AT·V。

用MQDF分类器进行识别时,所有相关的分类器参数从训练过程提供的识别库文件中读取。MQDF分类器的判决函数为:

>>>g>i>>>(>Y>)>>=>>Σ>>i>=>1>>k>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>sup>>λ>i>>(>j>)>>>>+>>Σ>>i>=>k>+>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>>>)>>2>>λ>>+>>Σ>>i>=>1>>k>>logsup>>λ>i>>(>j>)>>>+>>Σ>>i>=>k>+>1>>m>>log>λ>->->j>=>1.2>·>·>·>·>·>·>·>,>C>>s>

识别时用上式计算每个类别的gj(Y),分类规则如下:

把Y归为第i个类别,如果 >>>g>i>>>(>Y>)>>=>>min>>1>≤>j>≤>C>>>>g>i>>>(>Y>)>>,>>s>式中C为类别数目

为验证本发明的有效性,我们进行了如下实验:

训练样本集使用1000套国标二级汉字字集样本和400套GBK字集样本,另外60套国标二级汉字字集样本和30套GBK字集样本作为测试样本,在GBK字集识别范围内进行测试。以上样本均为自由书写的联机手写汉字。在联机手写汉字识别系统的训练和识别过程中,具体参数值见上文具体实施方式中的设置。

实验结果如下:

  GB二级汉字字集    6763个汉字60套共405,780个样本    GBK汉字字集    14240个汉字30套共427,200个样本    综合平均测试识别率    99.30%    98.17%    98.43%

从表中数据可看出,基于统计结构特征的联机手写汉字识别方法在两种不同识别范围下均达到很高的识别性能,识别速度在主频为PentiumIV-1.7GHz的计算机上达到35.27字/秒,完全能够满足实用需要。

综上所述,本发明提出的基于统计结构特征的联机手写汉字识别方法及识别系统,能够识别自由书写的联机手写汉字,并且经实验证明达到极高的识别正确率和可靠性,具有非常广泛的应用前景。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号