首页> 中国专利> 基于单个汉字字符的字体识别方法

基于单个汉字字符的字体识别方法

摘要

基于单个汉字字符的字体识别方法属于汉字字体识别领域。其特征在于,它是一种利用小波变换的与文本无关的字体识别方法。它根据选定的层数J,用相应的尺度函数和小波函数的离散滤波器对离散信息作卷积处理,对原始图像进行J层小波变换,得到3J+1个子图像;再把各个子图像划分为子块,以每个子块中小波系数绝对值的加权和作为特征,经过整形处理后,得到原始图像的小波特征。然后再利用线性鉴别分析从小波特征中提取字体识别特征,最后用高斯模型的二次分类器进行训练和识别。本发明的平均识别率可达97.35%。

著录项

  • 公开/公告号CN1437162A

    专利类型发明专利

  • 公开/公告日2003-08-20

    原文格式PDF

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

    申请/专利号CN03119130.4

  • 申请日2003-03-14

  • 分类号G06T5/50;G06F17/16;G06K9/46;

  • 代理机构

  • 代理人

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

  • 入库时间 2023-12-17 14:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-05-07

    未缴年费专利权终止 IPC(主分类):G06T5/50 授权公告日:20060125 终止日期:20130314 申请日:20030314

    专利权的终止

  • 2006-01-25

    授权

    授权

  • 2003-11-05

    实质审查的生效

    实质审查的生效

  • 2003-08-20

    公开

    公开

说明书

技术领域

基于单个汉字字符的字体识别方法属于汉字字体识别技术领域。

背景技术

在文档自动处理过程中,字体信息是版面分析、理解和恢复的重要依据,还有助于实现高性能字符识别系统。首先,汉字识别系统不仅要能准确识别汉字的字符,还要能恢复原有的版面格式,而版面格式的恢复包含了字体信息的恢复。其次,由于版面中不同部分的文本往往使用不同的字体(如标题、摘要和正文一般使用不同的字体),字体信息可以用来辅助版面分析和理解。第三,由于单体字符识别相对于多体字符识别的简单性,单体字符识别系统比多体字符识别系统有更高的识别率和更好的鲁棒性。如果能够得到待识别汉字的字体信息,就能够用单体字符识别系统进行识别,获得更好的识别性能。

要自动得到汉字的字体信息,必须使用字体识别技术。当前文献中的字体识别技术大多应用于英文等字母文字,这些技术使用了字母文字特有的一些属性,例如基线的位置、是否有衬线、同一个单词内各个字母间的空白长度、某些语言中高频率词汇的匹配、单词长度的直方图等方法。由于这些技术和字母文字的特点结合紧密,而汉字并不存在这些特点,使得这些技术无法应用于汉字字符的字体识别。文献中能够应用于汉字的字体识别技术非常少,有学者使用Gabor滤波器提取纹理特征,对汉字字符进行字体识别。该方法的处理对象是由多个汉字组成的字符块,无法对单个汉字字符的字体进行识别。事实上,目前还没有针对单个汉字进行的字体识别研究。而在实际应用中,至少有两种情况需要对单个汉字的字体进行识别:第一,为了强调某些内容,一个句子中的某几个字往往用不同的字体进行表示。第二,在某些情况下,无法得到较多的字符用来组成一个字符块(例如某些只有几个字的标题;以及在表格识别中,某些表格项常常只有几个汉字,甚至只有一个汉字)。

字体识别可以分为两类:文本相关的字体识别和文本无关的字体识别。文本相关的字体识别是指在进行字体识别时,已经知道待处理汉字的字符信息,并且在字体识别过程中使用了这些信息。文本无关的字体识别是指在进行字体识别时,并不知道待处理汉字的字符信息。对于一个汉字字符图像,字体信息体现在笔划本身的属性以及各个笔划之间的相互关系上。进行单个汉字字符的字体识别时,如果知道汉字的字符,就意味着知道该汉字中有哪些笔划以及这些笔划的基本分布和相互关系;如果不知道汉字的字符,则对汉字中某些笔划的存在与否以及相互关系毫无先验知识,在这种情况下,字体识别的难度非常大。

本发明实现了在文本无关情况下,对单个汉字字符的字体识别。本发明使用了小波特征识别字体,处理的对象是单个汉字字符,这些都是目前所有其他文献中所没有的。

发明内容

本发明能够在对字符没有先验知识的情况下,对单个汉字图像进行分析,得到该字符的字体信息。我们首先利用小波变换得到小波特征,然后使用线性鉴别分析(LDA)从小波特征中提取字体识别特征,并用MQDF分类器进行字体识别。本发明由以下几部分组成:小波特征提取,特征变换,分类器设计。

1.小波特征提取

研究文本相关的字体识别时,研究对象是不同字体表示下的相同汉字,其差异只体现在字体上,因此提取字体识别特征比较容易。但本发明考虑的是文本无关的字体识别,对汉字的字符先验知识没有要求,我们的研究对象是不同字体表示下的不同汉字。在这种情况下,首要的差异是不同字符之间的差异,字体之间的差异处于次要地位。如何在这种情况下提取能有效反映字体差别的特征,是字体识别系统的基础。

小波变换是信号处理的一种变换方法,能够对信号进行局域分析。而且,小波变换能够很自然地导入多分辨率分析。由于小波变换具有以上特点,我们对字符图像进行小波变换,然后在变换图像上提取字体识别特征。

我们从多分辨率分析(MRA)开始引入小波变换。在MRA中,令{Vj},j∈Z为L2(R2)上的子空间序列,并且满足MRA的条件,其中Z为整数集。φ(·)为一维尺度函数,定义Φ(x,y)≡φ(x)·φ(y),则每个子空间Vj由标准正交基 >>>{>>2>>->j>>>>Φ>>2>j>>>>(>x>->>2>>->j>>>n>,>y>->>2>>->j>>>m>)>>}>>,>>>,(n,m)∈Z2张成,式中 >>>Φ>>2>j>>>>(>x>,>y>)>>≡>>2>>2>j>>>Φ>>(>>2>j>>x>,>>2>j>>y>)>>.>>>。令{Oj},j∈Z为L2(R2)上的子空间序列,而且满足Oj是Vj在Vj+1中的正交补空间,即Vj+1=VjOj。令(·)为对应尺度函数φ(·)的一维小波函数,我们定义如下三个函数:

                      ψ(1)(x,y)≡φ(x)·(y)

                      ψ(2)(x,y)≡(x)·φ(y)          (1)

                      ψ(3)(x,y)≡(x)·(y)

并且定义 >sup>>Ψ>>2>j>>>(>i>)>sup>>≡>>2>>2>j>>>>Ψ>>(>i>)>>>>(>>2>j>>x>,>>2>j>>y>)>>,>>>,则子空间Oj由如下的标准正交基张成: >>{>>2>>->j>>sup>>Ψ>>2>j>>>(>1>)>sup>>>(>x>->>2>>->j>>>n>,>y>->>2>>->j>>>m>)>>,>>2>>->j>>sup>>Ψ>>2>j>>>(>2>)>sup>>>(>x>->>2>>->j>>>n>,>y>->>2>>->j>>>m>)>>>> >>>2>>->j>>sup>>ψ>>2>j>>>(>3>)>sup>>>(>x>->>2>>->j>>>n>,>y>->>2>>->j>>>m>)>>}>,>>(>n>,>m>)>>∈>>Z>2>>>>

对二维图像f(x,y)进行MRA时,在分辨率2j(j≤0)下,图像被投影到空间Vj和Oj中,这时图像f被分解为如下四个子图像: >>>A>>2>j>>>f>=>{><>f>>(>x>,>y>)>>,>>φ>>2>j>>>>(>x>->>2>>->j>>>n>)>>>φ>>2>j>>>>(>y>->>2>>->j>>>m>)>>>>}>>>

上式中,n和m为整数,表示标量积运算,如果写成卷积形式,这四个图像为: >>>A>>2>j>>>f>=>>>(>>(>f>>(>x>,>y>)>>*>>φ>>2>j>>>>(>->x>)>>>φ>>2>j>>>>(>->y>)>>)>>>(>>2>>->j>>>n>,>>2>>->j>>>m>)>>)>>>>(>n>,>m>)>>∈>>Z>2>>>>>>

尺度函数φ(·)可以看作一个低通滤波器,小波函数(·)可以看作一个高通滤波器,则是对图像f在分辨率2j(j≤0)下的一个估计,和是图像f在分辨率2j(j≤0)下的细节。

由于实际处理的图像并不是理想图像,其分辨率是有限的,我们把实际图像看作是理想图像(有无穷分辨率)在分辨率20下的估计,即把原始图像视为。设原始图像的大小为N×N,则在分辨率2j(j≤0)下每个子图像的大小为2-jN×2-jN。

对图像进行分析时,首先在最高分辨率20下对图像进行分解,得到2-1分辨率下的4个子图像 >>>A>>2>>->1>>>>f>,sup>>D>>2>>->1>>>>(>1>)>sup>>f>,sup>>D>>2>>->1>>>>(>2>)>sup>>f>>>和(分解结果如图4a所示,分解的计算过程参见后面的“具体实施方式”部分)。然后进一步分解子图像,得到2-2分辨率下的4个子图像(如图4b所示),我们可以继续分解并持续这个过程。通过以上分解方法,对于任意正整数J,原始图像由以下3J+1个子图像表示: >>>(>>A>>2>>->J>>>>f>,>>>(sup>>D>>2>j>>>(>1>)>sup>>f>)>>>->J>≤>j>≤>->1>>>,>>>(sup>>D>>2>j>>>(>2>)>sup>>f>)>>>->J>≤>j>≤>->1>>>,>>>(sup>>D>>2>j>>>(>3>)>sup>>f>)>>>->J>≤>j>≤>->1>>>)>>->->->>(>4>)>>>>

上式就是二维图像的小波变换(也称小波分解)。通过选取不同的尺度函数和小波函数,就可以实现不同的小波变换。从前面的说明可以看出(也可参考图4),如果原始图像(即)的大小为N×N,则的大小为2-JN×2-JN,和的大小为2-jN×2-jN。

在本发明中,我们首先把输入字符图像归一化为48*48大小。然后对归一化的图像进行小波变换。我们选择Spline2小波(要指出的是,本发明技术并不局限于Spline2小波。在大多数小波上,本发明技术都能取得令人满意的结果。这里选择Spline2小波,是出于对速度和识别性能的综合考虑。Spline2小波的尺度函数和小波函数见图5),进行三层小波变换(即式(4)中的J=3),得到10个子图像 >>>A>>2>>->3>>>>f>,sup>>D>>2>>->1>>>>(>1>)>sup>>f>,sup>>D>>2>>->1>>>>(>2>)>sup>>f>,sup>>D>>2>>->1>>>>(>3>)>sup>>f>,sup>>D>>2>>->2>>>>(>1>)>sup>>f>,sup>>D>>2>>->2>>>>(>2>)>sup>>f>,sup>>D>>2>>->2>>>>(>3>)>sup>>f>,>>> >sup>>D>>2>>->3>>>>(>1>)>sup>>f>,sup>>D>>2>>->3>>>>(>2>)>sup>>f>,sup>>D>>2>>->3>>>>(>3>)>sup>>f>>>。我们从这十个子图像中提取子波特征。和这三个子图像为24*24大小,我们把每个子图像划分为6*6个子块,统计每个子块中子波系数绝对值的加权和,得到36维特征,三个子图像共得到108维特征。和三个子图像为12*12大小,我们把每个子图像划分为4*4个子块,统计每个子块中子波系数绝对值的加权和,得到16维特征,三个子图像共得到48维特征。 >>>A>>2>>->3>>>>f>,sup>>D>>2>>->3>>>>(>1>)>sup>>f>,sup>>D>>2>>->3>>>>(>2>)>sup>>f>>>和四个子图像为6*6大小,我们直接用子波系数的绝对值作为特征,每个子图像得到36维特征,四个子图像共144维特征。综合以上三部分特征,我们得到108+48+144=300维特征。由于后续的特征变换和MQDF分类器都以高斯分布为基础,提取的特征越接近高斯分布,模型误差就越小,系统性能就越高。为改善特征分布,使之更接近高斯分布,我们用Box-Cox变换对特征进行整形,公式如下:

上式中,α为Box-Cox变换的参数,本发明中取值0.7。对每维特征都进行以上变换,就得到300维的小波特征。

2.特征变换

前面提取的小波特征虽然能够反映不同字体间的差异,但也包含很多与字体识别无关的信息。这些信息会干扰字体识别的结果,降低字体识别的性能,因此需要进行特征变换,尽可能去除这部分信息。我们使用线性鉴别分析技术(LDA)进行特征变换,目的是对原始特征进行变换,有效提取对字体识别最有利的信息,同时尽可能去除与字体识别无关的信息,同时改善特征的分布。

>>{>{sup>>V>i>>(>j>)>sup>>,>1>≤>i>≤>>N>j>>}>,>1>≤>j>≤>C>}>>>为小波特征向量集合,式中表示属于第j个类别的第i个样本提取的小波特征向量,Nj表示第j个类别的样本个数,C表示类别数目。用下式计算每个类别的均值以及所有类别的均值: >>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>V>i>>(>j>)>sup>>->->->>(>5>)>>>> >>>μ>=>>1>C>>>Σ>>j>=>1>>C>>>μ>j>>->->->>>>(>6>)>>>>

然后计算类内散度矩阵Sw和类间散度矩阵Sb >>>S>w>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>V>i>>(>j>)>sup>>->>μ>j>>)>>>>(sup>>V>i>>(>j>)>sup>>->>μ>j>>)>>T>>)>>->->->>(>7>)>>>> >>>S>b>>=>>1>C>>>Σ>>j>=>1>>c>>>(>>μ>j>>->μ>)>>>>(>>μ>j>>->μ>)>>T>>>>

我们选取|(Sb+Sw)/Sw|作为优化准则,即求取线性变换W,使得 >>|>>>>W>T>>>(>>S>b>>+>>S>w>>)>>W>>>>W>T>>>S>w>>W>>>|>>>最大。变换矩阵W为n×m维矩阵,n为原始特征维数,m为变换后的特征维数。

我们对矩阵(Sb+Sw)进行特征值和特征向量分解,得到特征值{γi,i=1,2,...,n}(特征值按值的大小降序排列)和特征向量{ξi,i=1,2,...,n}。用前m个特征向量组成矩阵W=[ξ1,ξ2,...,ξm],则W就是符合前面要求的线性变换矩阵。特征选择的公式如下:

                  Y=WT·V                             (8)

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

3.分类器设计

本发明使用了针对高斯模型的改进型二次分类器(MQDF)。这里先介绍标准二次分类器(QDF),QDF的判决函数为: >>>g>j>>>(>Y>)>>=>>Σ>>i>=>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>sup>>)>>2>sup>>λ>i>>(>j>)>sup>>>+>>Σ>>i>=>1>>m>>logsup>>λ>i>>(>j>)>sup>>->->->>(>9>)>>>>

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

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

在实际应用中,由于对小特征值的估计不准确,造成QDF的性能下降。为降低小特征值估计不准对分类性能的不利影响,我们使用改进的二次分类器(MQDF)。MQDF对过小的特征值用事先确定的常数代替,其判别函数如下: >>>g>j>>>(>Y>)>>=>>Σ>>i>=>1>>k>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>sup>>)>>2>sup>>λ>i>>(>j>)>sup>>>+>>Σ>>i>=>k>+>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>sup>>)>>2>>λ>>+>>Σ>>i>=>1>>k>>logsup>>λ>i>>(>j>)>sup>>+>>Σ>>i>=>k>+>1>>m>>log>λ>->->->>(>10>)>>>>

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

本发明的特征在于:

首先,它是一种利用小波特征的文本无关的单个汉字字符的字体识别方法。它依次含有以下步骤:

(1)用小波变换方法提取小波特征。

(1.1)根据选定的J(层数),用相应的尺度函数和小波函数对应的离散滤波器对原始图像即f(x,y)(后面用f表示),进行J层小波变换,得到3J+1个子图像,表示如下: >>(>>A>>2>>->J>>>>f>,>>>(sup>>D>>2>j>>>(>1>)>sup>>f>)>>>->J>≤>j>≤>->1>>>,>>>(sup>>D>>2>j>>>(>2>)>sup>>f>)>>>->J>≤>j>≤>->1>>>,>>>(sup>>D>>2>j>>>(>3>)>sup>>f>)>>>->J>≤>j>≤>->1>>>)>>>

    若原始图像的大小为N×N,则的大小为2-JN×2-JN,和的大小各为2-jN×2-jN。

(1.2)从3J+1个子图像中提取子波特征:

    从j=-1开始到j=-J止,按层把每个子图像划分成一定数量的子块,统计每个子

块中子波系数绝对值的加权和,得到对应该子块的一维特征。把各层所有子块求得的特

征进行组合,得到原始图像f(x,y)的总的子波特征。

(1.3)用Box-Cox变换对特征进行修整,使之接近高斯分布:

α为Box-Cox变换的参数,设α=0.7,对每维特征都进行以上变换,得到修正的小波特征。

(2)特征变换。用线性鉴别分析(LDA)从小波特征中提取字体识别特征,以改善特征分布,提高识别性能,它依次含有以下步骤:

(2.1)用下式计算每个类别的均值μi以及所有类别的均值μ: >>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>V>i>>(>j>)>sup>>,>μ>=>>1>C>>>Σ>>j>=>1>>C>>>μ>j>>>>

    其中,为属于第j个类别的第i个样本提取的小波特征向量,Nj表示第j个类

别的样本个数,C表示类别数目。

(2.2)用下式计算类内散度矩阵Sw和类间散度矩阵Sb >>>S>w>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>V>i>>(>j>)>sup>>->>μ>j>>)>>>>(sup>>V>i>>(>j>)>sup>>->>μ>j>>)>>T>>)>>>> >>>S>b>>=>>1>C>>>Σ>>j>=>1>>C>>>(>>μ>j>>->μ>)>>>>(>>μ>j>>->μ>)>>T>>>>

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

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

(2.5)得到经变换后的特征向量,用Y表示:

                               Y=WT·V

其中V是小波特征向量。

(3)用MQDF分类器进行字体识别。(MQDF分类器是用于高斯模型的二次分类器)

(3.1)训练过程:

(3.1.1)首先提取小波特征,经过变换后得到m维特征。对每个类别j,用下式统计其均值μj和协方差阵∑j >>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>Y>i>>(>j>)>sup>>>> >>>Σ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>Y>i>>(>j>)>sup>>->>μ>j>>)>>·>>>(sup>>Y>i>>(>j>)>sup>>->>μ>j>>)>>T>>>>

其中,为属于第j个类别的第i个样本提取的小波特征向量经LDA变换后的特征向量,Nj表示第j个类别的样本个数。

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

(3.1.3)计算小特征值的替代值: >>λ>=>>1>C>>>Σ>>j>=>1>>C>sup>>λ>>k>+>1>>>(>j>)>sup>>>>

其中,k为小于m的正整数,由实验确定。本专利中,m取值为256,k取值为224。

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

(3.2)识别过程:

(3.2.1)用下式计算每个类别的判决函数gj(Y): >>>g>j>>>(>Y>)>>=>>Σ>>i>=>1>>k>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>sup>>)>>2>sup>>λ>i>>(>j>)>sup>>>+>>Σ>>i>=>k>+>1>>m>>>>>(>>>(>Y>->>μ>j>>)>>T>sup>>ζ>i>>(>j>)>sup>>)>>2>>λ>>+>>Σ>>i>=>1>>k>>logsup>>λ>i>>(>j>)>sup>>+>>Σ>>i>=>k>+>1>>m>>log>λ>>>

其中,k为小于m的正整数,λ是常数。k由实验确定,取值224。λ的计算见前面的训练过程。

(3.2.2)输入的图像被划分为使gj(Y)取最小值的类别。

前面所述的步骤(1)中的第(1.1)步,它依次含有以下步骤:

(1.1.1)在水平方向分别用根据尺度函数得到的离散滤波器H和根据小波函数得到的离散滤波器G对原始图像进行卷积,并对滤波图像在水平方向进行亚取样处理,即每两个样本只保留一个,得到两个子图像;再对这两个子图像在垂直方向分别用离散滤波器H和G进行卷积,并按上述方式作亚取样处理,得到四个子图像,即 >>>A>>2>>->1>>>>f>,sup>>D>>2>>->1>>>>(>1>)>sup>>f>,sup>>D>>2>>->1>>>>(>2>)>sup>>f>,sup>>D>>2>>->1>>>>(>3>)>sup>>f>.>>>

(1.1.2)再对图像按步骤(1.1.1)进行分解,得到 >>>A>>2>>->2>>>>f>,sup>>D>>2>>->2>>>>(>1>)>sup>>f>,sup>>D>>2>>->2>>>>(>2>)>sup>>f>,sup>>D>>2>>->2>>>>(>3>)>sup>>f>.>>>

(1.1.3)按照以上步骤,一直进行到所选定的层次J,得到 >>>(>>A>>2>>->J>>>>f>,sup>>D>>2>j>>>(>1>)>sup>>f>,sup>>D>>2>j>>>(>2>)>sup>>f>,sup>>D>>2>j>>>(>3>)>sup>>f>)>>)>,>>>,其中,-J≤j≤-1。

我们使用的小波是Spline2小波,它根据尺度函数得到的离散滤波器H为},根据小波函数得到的离散滤波器G为 >{>>>>->>2>>>4>>>,>>>>2>>2>>>,>>>>->>2>>>4>>>}>>

实验证明本发明的平均识别率为97.35%,是很令人满意的。

附图说明

图1字体识别系统的训练过程。

图2字体识别系统的识别过程。

图3图像的一层小波分解,图中,G/H表示用G/H在水平或垂直方向进行卷积,2↓1表示在水平或垂直方向进行亚取样,即每两个样本保留一个样本。

图4二维图像的小波分解示例,(a)的一级分解,(b)的二级分解。

图5Spline2小波的尺度函数和小波函数,(a)尺度函数,(b)小波函数。

图6初始小波特征提取的流程图。

图7求取变换矩阵W的流程图。

图8字符“啊”的图像以及小波变换后的图像。

图9字符“啊”的小波变换图像示意图。

具体实施方式

实现单汉字字符的字体识别系统时,首先通过训练得到识别库,然后就可以根据识别库对单个汉字字符的字体进行识别。系统的训练过程如图1所示,识别过程如图2所示。

系统的输入是归一化为48*48的单个汉字图像。汉字图像的切分和归一化部分不包含在本发明中,不进行详细说明。

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

1.小波特征提取

我们首先对字符图像进行小波变换,然后在变换后的图像上提取小波特征。在前面发明内容的介绍中,我们已经介绍了小波变换。二维图像的小波变换可以用式(3)表示。我们用快速小波变换计算字符图像的小波变换,具体步骤如下:

1)首先,根据尺度函数φ(·)得到离散滤波器H,根据小波函数(·)得到离散滤波器G。本发明使用Spline2小波(要指出的是,本发明技术并不局限于Spline2小波。在大多数小波上,本发明技术都能取得令人满意的结果。这里选择Spline2小波,是出于对速度和识别性能的综合考虑),对应的H为 >>{>>>2>>4>>,>>>2>>2>>,>>>2>>4>>}>,>>>G为 >>{>>>->>2>>>4>>,>>>2>>2>>,>>>->>2>>>4>>}>>>。我们把输入的原始字符图像看做

2)如图3所示,在水平方向分别用滤波器H和G对图像进行卷积,并对滤波图像在水平方向进行亚取样处理(每两个样本只保留一个),得到两个子图像。再对这两个子图像在垂直方向分别用滤波器H和G进行卷积,并对四个滤波图像在垂直方向进行亚取样处理(每两个样本只保留一个),得到四个子图像,即 >>>A>>2>>->1>>>>f>,sup>>D>>2>>->1>>>>(>1>)>sup>>f>,sup>>D>>2>>->1>>>>(>2>)>sup>>f>,sup>>D>>2>>->1>>>>(>3>)>sup>>f>.>>>

3)对图像按步骤(2)进行分解,得到 >>>A>>2>>->2>>>>f>,sup>>D>>2>>->2>>>>(>1>)>sup>>f>,sup>>D>>2>>->2>>>>(>2>)>sup>>f>,sup>>D>>2>>->2>>>>(>3>)>sup>>f>.>>>

4)对图像按步骤(2)进行分解,得到 >>>A>>2>>->3>>>>f>,sup>>D>>2>>->3>>>>(>1>)>sup>>f>,sup>>D>>2>>->3>>>>(>2>)>sup>>f>,sup>>D>>2>>->3>>>>(>3>)>sup>>f>.>>>

通过以上步骤,我们得到了输入字符图像的小波变换。下面我们在变换后的图像上提取小波特征。原始字符图像为48*48大小,分解后的 >sup>>D>>2>>->1>>>>(>1>)>sup>>f>,sup>>D>>2>>->1>>>>(>2>)>sup>>f>,sup>>D>>2>>->1>>>>(>3>)>sup>>f>>>为24*24,为12*12, >>>A>>2>>->3>>>>f>,sup>>D>>2>>->3>>>>(>1>)>sup>>f>,sup>>D>>2>>->3>>>>(>2>)>sup>>f>,sup>>D>>2>>->3>>>>(>3>)>sup>>f>>>为6*6大小。

对于 >sup>>D>>2>>->1>>>>(>1>)>sup>>f>,sup>>D>>2>>->1>>>>(>2>)>sup>>f>,sup>>D>>2>>->1>>>>(>3>)>sup>>f>>>这三个图像,我们把每个图像等分为6*6个子块,每个子块为4*4大小,为使特征更稳定,我们把每个子块扩展为6*6大小,中心不变,即相邻子块间有两行(或列)象素的交叠。用下式统计一个子块中子波系数绝对值的加权和,得到一维特征: >>z>=>>Σ>>>(>x>,>y>)>>∈>B> >|>f>>(>x>,>y>)>>|>·>exp>>(>->0.15>*>>(>>>(>x>->>x>center>>)>>2>>+>>>(>y>->>y>center>>)>>2>>)>>)>>->->->>(>11>)>>>>

上式中,B指某个子块区域,xcenter和ycenter为子块B的几何中心坐标,f(x,y)是子波图像中(x,y)点的象素值,也就是子波系数。计算图像最外围的子块时,我们扩展图像的最外一圈象素(具体扩展方式:图像外围增加一图象素,除四个角部外,每个新增加象素的值取相邻(此相邻指4连通,即每个象素和上、下、左、右的4个象素相邻)的原图象素值,四个角部的象素值取相邻(此相邻指8连通,即每个象素和上、下、左、右、左上、右上、左下、右下的8个象素相邻)的原图象素值),以保证每个子块都为6*6大小。对每个子块进行以上计算,每个图像得到36维特征,三个图像共得到108维特征。

对于 >sup>>D>>2>>->2>>>>(>1>)>sup>>f>,sup>>D>>2>>->2>>>>(>2>)>sup>>f>,sup>>D>>2>>->2>>>>(>3>)>sup>>f>>>这三个图像,我们把每个图像等分为4*4个子块,每个子块为3*3大小,为使特征更稳定,我们把每个子块扩展为5*5大小,中心不变,即相邻子块间有两行(或列)象素的交叠。用式(12)统计一个子块中子波系数绝对值的加权和,得到一维特征。为保证每个子块都是5*5大小,我们用和前面相同的方法扩展原图像。经以上计算,每个图像得到16维特征,三个图像共得到48维特征。 >>z>=>>Σ>>>(>x>,>y>)>>∈>B> >|>f>>(>x>,>y>)>>|>·>exp>>(>->0.30>*>>(>>>(>x>->>x>center>>)>>2>>+>>>(>y>->>y>center>>)>>2>>)>>)>>->->->>(>12>)>>>> >>>A>>2>>->3>>>>f>,sup>>D>>2>>->3>>>>(>1>)>sup>>f>,sup>>D>>2>>->3>>>>(>2>)>sup>>f>>>和四个子图像为6*6大小,我们直接用子波系数的绝对值作为特征,每个子图像得到36维特征,四个子图像共144维特征。

综合以上三部分特征,我们得到108+48+144=300维特征。由于后续的特征变换和MQDF分类器都以高斯分布为基础,提取的特征越接近高斯分布,模型误差就越小,系统性能就越高。为改善特征分布,使之更接近高斯分布,我们用Box-Cox变换对特征进行整形,公式如下:

在本发明中,取α的值为0.7。经过以上变换,我们提取到的特征称为初始小波特征。

特征提取的流程图见图6。

2.特征变换

得到300维初始小波特征后,需要求取变换矩阵W,对初始小波特征进行变换,得到最终的特征。求取W的具体步骤如下:

1)用式(5)和式(6)计算每个类别的均值以及所有类别的均值。

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

3)对矩阵 >sup>>S>w>>->1>sup>>>(>>S>b>>+>>S>w>>)>>>>进行特征值和特征向量分解,得到特征值{γi,i=1,2,...,n}(特征值按值的大小降序排列)和特征向量{ξi,i=1,2,...,n}。用前256个特征向量组成矩阵W=[ξ1,ξ2,...,ξ256],则W就是要求取的线性变换矩阵。

得到变换矩阵W后,用式(8)即可求取最终的特征。最终的特征为256维。

求取变换矩阵W的流程图见图7。

3.训练过程

训练过程如图1所示。首先提取300维小波特征,变换后得到256维特征向量Y。然后对每个类别,用下式统计其均值和协方差阵: >>>μ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>sup>>Y>i>>(>j>)>sup>>->->->>(>14>)>>>> >>>Σ>j>>=>>1>>N>j>>>>Σ>>i>=>1>>>N>j>>>>(sup>>Y>i>>(>j>)>sup>>->>μ>j>>)>>·>>>(sup>>Y>i>>(>j>)>sup>>->>μ>j>>)>>T>>->->->>(>15>)>>>>

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

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

我们用下式计算MQDF分类器中的参数λ: >>λ>=>>1>C>>>Σ>>j>=>1>>C>sup>>λ>225>>(>j>)>sup>>->->->>(>16>)>>>>

上式中,表示∑j的第225个特征值,C表示类别数目。λ将被用在识别过程的MQDF分类器中,在后续部分会进一步说明。

把上面得到的λ、μj(j=1,2,...,C)、(j=1,2,...,C,i=1,2,...,256)、(j=1,2,...,C,i=1,2,...,224)存储到识别库文件中,供识别过程使用。

4.识别过程

识别过程如图2所示。首先提取300维小波特征,变换后得到256维特征向量Y。我们用MQDF分类器对输入汉字的字体进行识别。MQDF分类器的判决函数见式(10)。我们用该式计算每个类别的gj(Y),分类规则如下:

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

用式(10)计算gi(Y)时,k取值224,λ在训练过程中用式(16)计算得到。所有需要的参数都从识别库文件中读取。

我们以字符“啊”为例来说明字体的识别过程。

i)输入字符“啊”如图8中的左图所示,经三级小波变换后的图像如图8中的右图所示。三级小波变换得到十个子图像,如图9所示。为清楚表示,图9中的每个子图像用一个矩形框围住。

ii)用图6所示的方法提取300维初始小波特征。

iii)用式(8)进行特征变换后,得到256维识别特征。(变换矩阵在训练过程中得到。)

iv)对每个类别,用式(10)计算判别函数的值。共得到C个判别函数值(C为类别数目)。(式(10)中的所有参数在训练过程中得到。)

v)在得到的C个判别函数值中,取最小的判别函数值,其对应的类别就是最终的识别结果。

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

测试样本集包含7种字体:宋体、仿宋、黑体、楷体、隶书、魏碑、园体。每种字体包含3755个不同的汉字字符(国标一级汉字集)。用前3000个字符训练,后755个字符测试,实验结果如下:

  宋体  仿宋  黑体  楷体  隶书  魏碑  园体  宋体  97.88%  1.32%  0.00%  0.26%  0.00%  0.13%  0.40%  仿宋  2.12%  95.63%  0.00%  1.32%  0.00%  0.13%  0.79%  黑体  0.13%  0.00%  99.21%  0.13%  0.00%  0.26%  0.26%  楷体  1.06%  3.31%  0.40%  94.04%  0.00%  0.66%  0.53%  隶书  0.00%  0.00%  1.46%  0.00%  97.88%  0.66%  0.00%  魏碑  0.00%  0.00%  0.26%  0.00%  1.32%  98.41%  0.00%  园体  1.06%  0.00%  0.40%  0.00%  0.00%  0.13%  98.41%  平均                                            97.35%

考虑到我们的处理对象是不知道字符信息的单个汉字,以上识别率是非常令人满意的。

综上所述,本发明能够在没有字符先验知识的前提下,对单个汉字字符的字体进行识别。本发明在实验中获得了优异的识别结果,具有非常广泛的应用前景。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号