基于Gabor滤波器组的字符识别技术转让专利

申请号 : CN02117865.8

文献号 : CN1459761B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丁晓青王学文刘长松彭良瑞

申请人 : 清华大学

摘要 :

基于Gabor滤波器组的字符识别方法属于字符图像识别技术领域,其特征在于:在训练系统中依次含有以下步骤:用Gabor滤波器组抽取字符图像中各个方向的笔画,用平均熵相关系数求最优的滤波器参数;对Gabor滤波器组的输出结果作非线性后处理,以进一步增加识别系统对图像亮度、对比度变化以及图像干扰的抵抗能力;对Gabor滤波器组的输出中的正值和负值分别用高斯滤波器阵列计算识别特征,并合成为一个高维的特征矢量;用线性鉴别分析法降低特征矢量的维数,以增强识别性能,降低分类器的复杂度和计算量。该方法与具体的语种无关,成功的解决了低质量图像中的字符识别问题,对于印刷体和脱机手写汉字获得了目前最高的识别率。对身份证的总体识别率到达了90%以上,已经符合实用的要求。

权利要求 :

1.基于Gabor滤波器组的字符识别方法,包含训练阶段和识别阶段,这两个阶段包含相同的预处理、特征抽取步骤;预处理步骤的输入分别为计算机经图像获取设备得到的、字符类别数相同的训练样本和待识别字符图象序列;在训练系统中,抽取识别特征后,还存在分类器训练步骤,训练得到识别库;识别阶段应用这个识别库识别待识字符序列;其特征在于:训练阶段的特征抽取方法依次包含Gabor滤波器参数优化、非线性自适应变换、分块特征抽取和特征压缩的步骤,其程序流程依次如下:(1)预处理后得到的单个字符的统一大小的二值或者灰度图像用二维矩阵[A(i,j)]N×N来表示,其中位于第i行第j列的象素点的值为A(i,j);用K个二维Gabor滤波器组成的Gabor滤波器组抽取出字符图像[A(i,j)]N×N中K个不同方向的笔画信息,通过下述流程优化Gabor滤波器组的参数:(1.1)统计字符图象中笔画方向和宽度

笔画方向集中分布在{θm}1≤m≤K这K个方向上,笔画中段处垂直于笔画方向上的平均宽度记为笔画平均宽度W,笔画方向和笔画平均宽度通过统计获得;

(1.2)使N×N的二维矩阵[A(i,j)]N×N经Gabor滤波器组处理后,变成K个M×M的二维矩阵{[Gm(i,j)]M×M}(1≤m≤K),其中M=N/D,D为Gabor滤波器组在空间上的抽样间隔;

(1.3)确定Gabor滤波器组的初始参数

二维Gabor滤波器的冲激响应函数一般为:

h(x,y,λ,φ,σx,σy)=exp{-12[R12σx2+R22σy2]}·exp[i·2πR1λ],其中R1=x·cosφ+y·sinφ,R2=-x·sinφ+y·cosφ,σx、σy为中心位于空域抽样点处的二维高斯函数的方差;1/λ为二维调制谐波函数的空间频率,φ为其方向;Gabor滤波器组中各冲激响应函数hm(x,y)的参数为{λm,φm,σxm,σym,D}(1≤m≤K);

[Gm(i,j)]M×M可以通过卷积计算得到:

Gm(i,j)=Σp=-Cp=CΣq=-Cq=Chm(p,q)·A(i×D-p,j×D-q)hm(x,y)的空间范围为-C≤x≤C,-C≤y≤C;

再设定字符图像中方向相同的笔画之间的最小间隔S取S≈W,可以确定Gabor滤波器组的初始参数为:

λm=2W,φm=θm-90°,σxm=σym=σ,a≤σ≤b,(1≤m≤K)

其中a=λ42·π·sin(π/(2K)),b=2W;(1.4)用平均的熵相关系数优化Gabor滤波器组的参数σ、D以减少{[Gm(i,j)]M×M}(1≤m≤K)之间的相似度:

对于字符图像[A(i,j)]N×N经过Gabor滤波器组后的结果{[Gm(i,j)]M×M}(1≤m≤K),先均匀量化为取值为0~255的整数的二维矩阵{[G*m(i,j)]M×M}(1≤m≤K),即K个表示不同方向笔画信息的图像:i,j,1mK,其中MAXm=maxi,j(Gm(i,j)),MINm=mini,j(Gm(i,j));{[G*m(i,j)]M×M}(1≤m≤K)中任意二个矩阵之间的熵相关系数为:

H(Gm1*)=-Σi=0255Histm1(i)PNlogHistm1(i)PN为Gm1*的熵,H(Gm2*)=-Σi=0255Histm2(i)PNlogHistm2(i)PN为Gm2*的熵,Histm1(i)和Histm2(i)分别为图像Gm1*和Gm2*的亮度直方图分布(0≤i≤255);PN=M×M;

计算图像Gm1*和Gm2*的联合熵H(Gm1*,Gm2*),则要先统计Gm1*和Gm2*的联合直方图分布Hist(m1,m2)(i,j),即在Gm1*和Gm2*的相同的位置上,亮度值分别为i,j的象素点总数,再计算:

H(Gm1*,Gm2*)=-Σi=0255Σj=0255Hist(m1,m2)(i,j)PNlogHist(m1,m2)(i,j)PN;一个字符的平均的熵相关系数是指同一个字符图像经过Gabor滤波器组处理后,对任意的两个Gabor滤波器的输出G*i、G*j,求它们之间的匹配相似度,然后对这些匹配相似度求和平均,它可表达为:

ECC(σ)=2K·(K-1)Σ(m1=1)KΣ(m2=1,m2m1)KECC(Gm1*,Gm2*);在优化Gabcr滤波器组的参数σ、D时,先从训练样本中挑选出一些字符图像,总数为SNUM;在经过预处理后,确定笔画的平均宽度和方向分布;确定初始的Gabor滤波器组参数,确定σ的取值范围,设定步长Δ=(b-a)/20;以步长Δ在[a,b]区间内取一系列的σi(i=1,2,3…20),计算在取值σi下,各个字符的ECCj(j=1,2,…SNUM)之和;再用总和SNUM进行平均,得到AVE_ECC(σi);如此计算AVE_ECC(σ1)、AVE_ECC(σ2)…AVE_ECC(σ20),取使AVE_ECC(σi)最小的σi为最优的σ*,相应得到D*=σ*/2;(2)对Gabor滤波器组的输出进行旨在克服亮度变化和干扰影响的非线性自适应变换,其步骤依次如下:

(2.1)对矩阵Gm(i,j)进行简单归一化,得到G’m(i,j):

G′m(i,j)=Gm(i,j)/MAXm,这里取MAXm=max(|Gm(i,j)|);

(2.2)应用修正的Sigmoid函数进行自适应处理:

(2.2.1)先把Sigmoid函数平移得到其修正形式:

设平移后为

ψm(t)=tanh(αm(t-xm))+βm,1≤m≤K;

设且ψm(0)=0,1≤m≤K;

当0≤t<vm时,ψ′m(t)<1,对小输入有抑制特性;当t>xm+(xm-vm)时,ψ′m(t)<1,对大输入有强饱和性;t为归一化后的输入,其取值为[0,1];

(2.2.2)再把修正的Sigmoid函数变成奇对称函数,使其也能对矩阵G’m的负值进行处理:

ψm*(t)=ψm(t),t0-ψm(-t),t<0(2.2.3)对矩阵G’m进行非线性自适应处理,得到K个二维矩阵[Fm(i,j)]M×M(1≤m≤K):

Fm(i,j)=ψm*(Gm(i,j))=tanh[αm(Gm(i,j)-χm)]+βm,Gm(i,j)0-tanh[αm(-Gm(i,j)-χm)]+βm,Gm(i,j)<0(2.2.4)确定ψm(t)的参数:

设定0.1<xm<0.5,2<αm<10,再根据识别系统的识别性能调整xm、αm,用ψm(0)=0来确定βm;

(3)分别在{[Fm(i,j)]M×M}(1≤m≤K)上抽取分块特征:

(3.1)把每个二维矩阵[Fm(i,j)]M×M分割为P×P个互相交叠且边长均为L的矩形区域;

(3.2)分别在每个矩形区域r(x,y)的中心计算这个区域中正值和负值的加权和:

顺序对每个矩形区域进行高斯加权求和,从二维矩阵[Fm(i,j)]M×M中抽取得到均为P2维的特征矢量S+m和S-m:

Sm+(x·P+y)=Σ(i,j)r(x,y)G(i-x,j-y)×max(0,Fm(i,j)),Sm-(x·P+y)=Σ(i,j)r(x,y)G(i-x,j-y)×min(0,Fm(i,j)),其中G(x,y)=exp{-(x2+y2)/2}/(2π)为高斯加权函数;

(3.3)把每个二维矩阵[Fm(i,j)]M×M中得到的特征矢量合并成一个维数为2·K·P2的特征矢量,即初始的识别特征矢量V:

V=S1+S1-S2+S2-...SK+SK-;(4)对特征压缩,以改善特征的分布,提高识别性能:

(4.1)设定识别系统中待识字符类别数为C,对所有的训练样本图像用上述方法进行特征抽取,得到属于每个字符类i的特征矢量序列{Vi1,Vi2,….ViQi},Qi为字符类i的训练样本的数目;

(4.2)计算每个字符类i的类中心μi和所有特征矢量的类中心μ:

μi=1QiΣk=1QiVkc, μ=1CΣi=1Cμi;(4.3)计算类间离散度矩阵矩阵∑b和类内离散度矩阵∑w:

Σb=Σi=1C1C(μi-μ)(μi-μ)T, Σw=Σi=1C1CΣk=1Qi1Qi[(Vki-μi)(Vki-μi)T];(4.4)用线性鉴别分析LDA方法寻找特定的Φ使得|ΦT∑bΦ|/|ΦT∑wΦ|最大:

用矩阵计算工具求矩阵∑-1w∑b的前n个最大的非零本征值,相对应的前n个本征向量即顺序组成Φ的列向量,从而得到压缩后的n维特征矢量Vc=ФTV。

2.根据权利要求1内所述的基于Gabor滤波器组的字符识别方法,其特征在于:所述的分类器实现依次含有以下步骤:

(1)分类器设计和训练:

对于压缩后的特征矢量Vc,同样计算所有类的类中心μi*,μi*是一个n维矢量:其中每个字符类i的压缩后的特征矢量序列为{Vci1,Vci2,….VciQi};按照顺序把每个字符类i的国标编码GB(i)及在训练过程中得到的类中心μi*存入识别库文件中;

(2)字符识别:

首先从识别库文件中读入字符类的国标编码GB(i)和类中心矢量μi*;再对待识别字符进行特征抽取,再把压缩后的n维特征矢量Vc送入分类器,顺序计算其到各个字符类的类中心矢量{μi*}1≤i≤C的欧式距离{DISTi}1≤i≤C:DISTi=1nΣk=1n(Vc(k)-μi*(k))2,1≤i≤C;

距离最小的类即为待识字符图像所属的类别;设识别结果为CODE,则CODE=GB(p),p=argi(min1iC(DISTi)).

说明书 :

技术领域

基于Gabor滤波器组的字符识别方法属于字符识别领域(简称OCR)。

背景技术

传统的字符识别技术是基于二值化后的字符图像,这样当应用于各种低质量图像,比如低分辨率图像、身份证图像、汽车牌照、自然景物图像中的字符识别问题时,由于二值化后的字符图像质量低,识别性能就差。因而,很多技术直接在灰度字符图像中提取识别特征。一般通过分析灰度图像的梯度分布来抽取地形特征、梯度边缘特征等,这些方法要求图像亮度分布满足一些特定的规则,抗干扰能力很差;或者使用FFT,DCT等简单的正交变换方法,这些变换反映了图像的全局信息,但不能提取局部的笔画方向、结构信息,所以抗图像亮度变化、抗字符形变的能力也很差。
由于Gabor滤波器具有优良的时频特性和有效提取局部结构特征的能力,所以也有用Gabor滤波器来抽取手写数字图像的识别特征的方法,但是这种方法存在以下缺点:设计Gabor滤波器组时,根据识别率进行参数的筛选,过程繁琐,计算量很大,识别性能也很差;基于二值图像,没有考虑到将Gabor滤波器应用于低质量灰度字符图像识别的问题,对字符细节的分辩能力差。这种方法没有充分发挥Gabor滤波器的优秀性能,不能应用于实际的字符识别任务。

发明内容

本发明的目的在于提供一种能抽取具有高稳定性的识别特征的基于Gabor滤波器组的字符识别方法。本文从鲁棒的特征抽取方法入手,结合字符图像的特点,利用Gabor滤波器具有优良的时频特性和有效提取局部结构特征的能力,抽取字符图像局部空间中的笔画方向信息-字符信号中最重要和稳定的识别信息。根据字符图象的统计信息,提出了一个简单有效的参数设计方法解决了优化设计Gabor滤波器的难题,保证了获得较优的识别性能。本发明综合了在空域、频域中进行图像处理的优点,同时使用一种修正的Sigmoid函数对滤波器组输出进行非线性自适应后处理,使分析得到的笔画方向信息对图像亮度变化,笔画模糊、断裂,背景干扰都具有很强的抑制能力,大大增强了识别特征的鲁棒性。另外,在分块特征提取时,对Gabor滤波器组输出中的正值和负值分别使用高斯滤波器阵列计算特征,提高了对字符图像细节的分辩能力。
本发明的特征在于:
1.练阶段的特征抽取方法依次包含Gabor滤波器参数优化、非线性自适应变换、分块特征抽取和特征压缩的步骤,其程序流程依次如下:
(1)预处理后得到的单个字符的统一大小的二值或者灰度图像用二维矩阵[A(i,j)]N×N来表示,其中位于第i行第j列的象素点的值为A(i,j);用K个二维Gabor滤波器组成的Gabor滤波器组抽取出字符图像[A(i,j)]N×N中K个不同方向的笔画信息。通过下述流程优化Gabor滤波器组的参数:
(1.1)统计字符图象中笔画方向和宽度
笔画方向集中分布在{θm}1≤m≤K这K个方向上(如汉字的笔画方向集中分布在0度、45度、90度和135度附近)。笔画中段处垂直于笔画方向上的平均宽度记为笔画平均宽度W(如汉字图象为64象素点×64象素点时,其平均笔画宽度为5个象素点)。笔画方向和笔画平均宽度通过统计获得。
(1.2)使N×N的二维矩阵[A(i,j)]N×N经Gabor滤波器组处理后,变成K个M×M的二维矩阵{[Gm(i,j)]M×M}(1≤m≤K),其中M=N/D,D为Gabor滤波器组在空间上的抽样间隔。
(1.3)确定Gabor滤波器组的初始参数
二维Gabor滤波器的冲激响应函数一般为:
h(x,y;λ,φ,σx,σy)=exp{-12[R12σx2+R22σy2]}·exp[i·2πR1λ],其中R1=x·cosφ+y·sinφ,
      R2=-x·sinφ+y·cosφ
σx、σy为中心位于空域抽样点处的二维高斯函数的方差;1/λ为二维调制谐波函数的空间频率,φ为其方向;Gabor滤波器组中各冲激响应函数hm(x,y)的参数为{λm,φm,σxm,σym,D}(1≤m≤K);
[Gm(i,j)]M×M可以通过卷积计算得到:

hm(x,y)的空间范围为-C≤x≤C,-C≤y≤C;
再设定字符图像中方向相同的笔画之间的最小间隔S取S≈W。可以确定Gabor滤波器组的初始参数为:
λm=2W,φn=θm-90°,σxm=σym=σ,a≤σ≤b,(1≤m≤K)
其中a=λ42·π·sin(π/(2K)),b=2W.
(1.4)用平均的熵相关系数优化Gabor滤波器组的参数σ、D以尽量减少{[Gm(i,j)]M×M}(1≤m≤K)之间的相似度:
对于字符图像[A(i,j)]N×N经过Gabor滤波器组后的结果{[Gm(i,j)]M×M}(1≤m≤K),先均匀量化为取值为0~255的整数的二维矩阵{[G*m(i,j)]M×M}(1≤m≤K),即K个表示不同方向笔画信息的图像:

其中MAXm=maxi,j(Gm(i,j)),MINm=mini,j(Gm(i,j)).
{[G*m(i,j)]M×M}(1≤m≤K)中任意二个矩阵之间的熵相关系数为:

H(Gm1*)=-Σi=0255Histm1(i)PNlogHistm1(i)PN为Gm1*的熵,
H(Gm2*)=-Σi=0255Histm2(i)PNlogHistm2(i)PN为Gm2*的熵,
Histm1(i)和Histm2(i)分别为图像Gm1*和Gm2*的亮度直方图分布(0≤i≤255);PN为图像总的象素点,即PN=M×M。
计算图像Gm1*和Gm2*的联合熵H(Gm1*,Gm2*),则要先统计Gm1*和Gm2*的联合直方图分布Hist(m1,m2)(i,j),即在Gm1*和Gm2*的相同的位置上,亮度值分别为i,j的象素点总数,再计算:
H(Gm1*,Gm2*)=-Σi=0255Σj=0255Hist(m1,m2)(i,j)PNlogHist(m1,m2)(i,j)PN.
一个字符的平均的熵相关系数是指同一个字符图像经过Gabor滤波器组处理后,对任意的两个Gabor滤波器的输出G*i、G*j,求它们之间的匹配相似度,然后对这些匹配相似度求和平均,它可表达为:

在优化Gabor滤波器组的参数σ、D时,先从训练样本中挑选出一些有代表性的字符图像,总数为SNUM;在经过预处理后,确定笔画的平均宽度和方向分布;确定初始的Gabor滤波器组参数,确定σ的取值范围,设定步长Δ=(b-a)/20;以步长Δ在[a,b]区间内取一系列的σi(i=1,2,3…20),计算在取值σi下,各个字符的ECCj(j=1,2,…SNUM)之和;再用总和SNUM进行平均,得到AVE_ECC(σi)。如此计算AVE_ECC(σi)、AVE_ECC(σ2)··AVE_ECC(σ20),取使AVE_ECC(σi)最小的σi为最优的σ*,相应得到
(2)对Gabor滤波器组的输出进行旨在克服亮度变化和干扰影响的非线性自适应变换,其步骤依次如下:
(2.1)对矩阵Gm(i,j)进行简单归一化,得到G’m(i,j):
G′m(i,j)=Gm(i,j)/MAXm,这里取MAXm=max(|Gm(i,j)|)。
(2.2)应用修正的Sigmoid函数进行自适应处理:
(2.2.1)先把Sigmoid函数平移得到其修正形式:
设平移后为ψm(t)=tanh(αm(t-χm))+βm,1≤m≤K;
设且ψm(0)=0,1≤m≤K;
当0≤t<νm时,ψ′m(t)<1,对小输入有抑制特性;当t>χm+(χm-νm)时,ψ′m(t)<1,对大输入有强饱和性;t为归一化后的输入,其取值为[0,1]。
(2.2.2)再把修正的Sigmoid函数变成奇对称函数,使其也能对矩阵G’m的负值进行处理:
ψm*(t)=ψm(t),t0-ψm(-t),t<0
(2.2.3)对矩阵G’m进行非线性自适应处理,得到K个二维矩阵[Fm(i,j)]M×M(1≤m≤K):
Fm(i,j)=ψm*(Gm(i,j))=tanh[αm(Gm(i,j)-χm)]+βm,Gm(i,j)0-tanh[αm(-Gm(i,j)-χm)]+βm,Gm(i,j)<0
(2.2.4)确定ψm(t)的参数:
设定0.1<χm<0.5,2<αm<10,再根据识别系统的识别性能调整χm、αm,用ψm(0)=0来确定βm。
(3)分别在{[Fm(i,j)]M×M}(1≤m≤K)上抽取分块特征:
(3.1)把每个二维矩阵[Fm(i,j)]M×M分割为P×P个互相交叠且边长均为L的矩形区域;
(3.2)分别在每个矩形区域r(x,y)的中心计算这个区域中正值和负值的加权和:
顺序对每个矩形区域进行高斯加权求和,从二维矩阵[Fm(i,j)]M×M中抽取得到均为P2维的特征矢量S+m和S-m:


其中G(x,y)=exp{-(x2+y2)/2}/(2π)为高斯加权函数。
(3.3)把每个二维矩阵[Fm(i,j)]M×M中得到的特征矢量合并成一个维数为2□K□P2的特征矢量,即初始的识别特征矢量V:
V=S1+S1-S2+S2-...SK+SK-.
(4)对特征压缩,以改善特征的分布,提高识别性能:
(4.1)设定识别系统中待识字符类别数为C,对所有的训练样本图像用上述方法进行特征抽取,得到属于每个字符类i的特征矢量序列{Vi1,Vi2,….ViQi},Qi为字符类i的训练样本的数目;
(4.2)计算每个字符类i的类中心μi和所有特征矢量的类中心μ:
μi=1QiΣk=1QiVkc, μ=1CΣi=1Cμi;
(4.3)计算类间离散度矩阵矩阵∑b和类内离散度矩阵∑W:
Σb=Σi=1C1C(μi-μ)(μi-μ)T, Σw=Σi=1C1CΣk=1Qi1Qi[(Vki-μi)(Vki-μi)T];
(4.4)用线性鉴别分析(Linear Discrimination Analysis,简称LDA)方法寻找特定的Φ使得|ΦT∑bΦ|/|ΦT∑WΦ|最大:
用矩阵计算工具求矩阵∑-1W∑b的前n个最大的非零本征值,相对应的前n个本征向量即顺序组成Φ的列向量,从而得到压缩后的n维特征矢量Vc=ΦTV。
2.所述的分类器实现依次含有以下步骤:
(1)分类器设计和训练:
对于压缩后的特征矢量Vc,同样计算所有类的类中心μi*(n维矢量):其中每个字符类i的压缩后的特征矢量序列为{Vci1,Vci2,….VciQi};按照顺序把每个字符类i的国标编码GB(i)及在训练过程中得到的类中心μi*存入识别库文件中。
(2)字符识别:
首先从识别库文件中读入字符类的国标编码GB(i)和类中心矢量μi*;再对待识别字符进行特征抽取,再把压缩后的n维特征矢量Vc送入分类器,顺序计算其到各个字符类的类中心矢量{μi*}1≤i≤C的欧式距离{DISTi}1≤i≤C:
DISTi=1nΣk=1n(Vc(k)-μi*(k))2,1iC;
距离最小的类即为待识字符图像所属的类别;设识别结果为CODE,则CODE=GB(p),
试验证明,本发明达到了预期的目的。

附图说明

图1.一个典型的字符识别系统的硬件构成;
图2.本发明的字符识别系统(包含训练系统)的流程图;
图3.Gabor滤波器组优化设计流程图;
图4.字符笔画的宽度和方向的测量示意图;
图5.对手写汉字图像的笔画宽度(a)以及方向(b)分布的统计结果;
图6.特征抽取流程图;
图7.非线性变换的流程图;
图8.Sigmoid函数及修正的Sigmoid函数图示;
图9.抽取分块特征的分块示意图;
图10.分块特征抽取流程图
图11.计算特征压缩矩阵的流程图
图12.分类器训练和识别流程图
图13.灰度字符图像经Gabor滤波器组分析后的结果示意图;
图14.身份证识别系统的实现框图。

具体实施方式

如图1所示,一个字符识别系统在硬件上由两部分组成:图像输入设备和通用计算机(包含上面运行的操作系统软件)。图像输入设备一般是扫描仪、数字摄像机等,用来获得文本的数字图像,以方便计算机的处理;在计算机中运行的识别算法是字符识别系统中最重要的部分。
如图2所示,识别算法可以分两个部分:训练系统和识别系统。在训练系统中,根据字符图像样本的特点,设计优化的特征抽取方法,得到一系列识别特征矢量;选用合适的分类器及其训练算法,对从训练样本得到的识别特征矢量进行训练,产生可用的识别库。在识别系统中,采用训练算法获得的特征抽取方法、分类器和识别库,识别未知的字符图像,得到识别结果。一般而言,文字识别系统的开发单位运行训练系统,将得到的识别库和识别系统提供给用户使用。
所以,实用的字符识别系统的关键在于构造训练系统。在训练系统中设计优化的特征抽取方法以及选用合适的识别分类器来构造识别算法,其中,设计优化的特征抽取方法是本发明的重点,它包含以下技术要点(参见图2和图3和图6):
(1)Gabor滤波器组的参数优化设计方法:本发明采用Gabor滤波器组分离(或者抽取)字符图像中各个方向的笔画。Gabor滤波器组的参数对识别性能有决定性的影响。参数设计方法是基于以下两点:一.字符图像的笔画信息统计的结果,如笔画的平均宽度以及方向分布;二.使用平均的熵相关系数ECC(Entropy Correlation Coefficient)这个判据对Gabor滤波器组输出的结果进行分析,对各个方向的笔画分离效果最优的参数被确定为最优的滤波器参数。优化设计后的Gabor滤波器组具有很强的抗图像干扰、抗字符形变的能力,同时实现了对字符图像中各个方向的笔画最优的分离效果。
(2)对Gabor滤波器组输出结果的非线性后处理:进一步增强识别系统对图像亮度、对比度变化以及图像干扰的抵抗能力。
(3)分块特征的提取:针对Gabor滤波器的特点,对Gabor滤波器组的输出中的正值和负值分别使用高斯滤波器阵列计算识别特征,并将它们合并成一个高维的特征矢量V。获得的识别特征对字符细节的分辩能力更强。
(4)特征压缩:采用线性鉴别分析方法(LDA)降低特征矢量V的维数,得到压缩后的特征矢量Vc。进行特征压缩算法可以改善识别特征在模式空间中的分布,增强识别性能,同时降低分类器的复杂度和计算量。
另外,图2中所示的对字符图像进行预处理以及分类器的训练过程可以采用很多现有的成熟技术来实现,从而实现本发明。
从图2可以看出,要实现本发明中的字符识别系统,需要实现以下流程:(1)对字符图像的预处理;(2)设计优化的特征抽取算法;(3)特征抽取;(4)分类器设计及其训练。下面对这些流程进行详细的介绍。
图像预处理算法中包括三部分:一是字符图像的切分,采用行列投影或者字符块定位算法得到单个的字符图像;二是对图像进行亮度反转,把图像变为黑底白字,即笔画象素点的亮度值高于背景的亮度值;三是图像大小归一化算法,就是将输入的不同大小的字符图像规整为一个事先定义好大小的图像,以方便识别系统中后续的特征抽取过程,同时使识别系统对图像大小变化或者少量的字符形变具有稳定的识别性能,一般应用重心-中心归一化算法或者线密度均衡算法。因为这些算法都是公开的成熟技术,所以这里不进行详细的描述。
经过预处理后,得到每个字符的统一大小的灰度或者二值图像,设规一化大小为N×N个象素点,则可以用一个二维矩阵[A(i,j)]N×N来表示,图像中第i行第j列的象素点的值表示为A(i,j)。且字符图像[A(i,j)]N×N为黑底白字,即笔画象素点的亮度值高于背景的亮度值。
如图2和图6所示,本发明采用了基于Gabor滤波器的特征抽取方案。Gabor滤波器组的作用是分离字符图像中不同方向的笔画信息,从而实现提取基于笔画方向的识别特征。所以在这个方案中,设计优化的Gabor滤波器是重点所在。
图3给出了优化设计Gabor滤波器组的技术方案的流程图。这个方案中包含以下技术要点:(1)字符图像中笔画方向和宽度的统计;(2)Gabor滤波器组的实现;(3)Gabor滤波器组初始参数的确定;(4)利用信息熵理论优化Gabor滤波器组的参数。下面我们对这些要点逐一说明,最后对实现流程进行解释。
如图4所示,对于字符图像中的每个简单笔画(复杂笔画可以拆分为多个类似横、竖、撇、捺的简单笔画),在笔画的中段附近,在垂直于笔画方向上计算其宽度wi(i=1,2,3,…);同时以水平方向为基线,估计其笔画方向θi(i=1,2,3…)。对于某些笔画,如撇、捺,可能并不是一条直线,这时也可以借助最小二乘方法求得其最佳的拟合直线段,拟合直线段与水平方向的夹角即为这个笔画的方向。统计得到的平均笔画宽度记为W,典型的笔画方向记为{θm}(1≤m≤K)。
对于归一化为64×64象素点的手写汉字字符图像,我们进行了上述统计,统计结果如图5所示。这时,绝大部分笔画的宽度在5个象素点左右;笔画方向集中分布在0度,45度,90度和135度方向附近。这个结果和我们的经验是一致的。
二维Gabor滤波器的冲激响应函数一般取下面的形式:
h(x,y;λ,φ,σx,σy)=exp{-12[R12σx2+R22σy2]}·exp[i·2πR1λ],其中R1=x·cos+y·sinφ,,
R2=-x·sinφ+y·cosφ
对于K个Gabor滤波器(其冲激响应函数简记为hm(x,y))组成的Gabor滤波器组,其参数为{λm,φm,σxm,σym,D}(1≤m≤K),其中D是Gabor滤波器组在空间上的抽样间隔。预处理后的N×N维的字符图像[A(i,j)]N×N经过这K个Gabor滤波器后,得到的结果是K个M×M维的矩阵,分别记为{[Gm(i,j)]M×M}(1≤m≤K),这里,M=N/D。
[Gm(i,j)]M×M可以通过下面的卷积计算得到:

这里冲激响应函数hm(x,y)的空间范围可以限定为-C≤x≤C,-C≤y≤C。这是因为hm(x,y)是一个衰减很快的函数,当它的绝对值低于某一门限值,比如10-3时,对结果的影响非常小,计算时可以不予考虑。可以取C=N/4。
根据分明人即将发表的论文“优化Gabor滤波器特征抽取的汉字识别新方法”中所作的理论分析,可以把Gabor滤波器组的初始参数确定如下:
λm=2W,φm=θm-90°,σxm=σym=σ,a≤σ≤b,1≤m≤K其中:a=λ42·π·sin(π/(2K)),b=2W.
使用Gabor滤波器组的目的,就是将字符图像分解为多个方向上不相关的二维矩阵输出{[Gm(i,j)]M×M}(1≤m≤K),或者说尽量减少{[Gm(i,j)]M×M}(1≤m≤K)间的相似度。那么在上述的取值范围内,一定存在一个合适的σ值使得{[Gm(i,j)]M×M}(1≤m≤K)间的相似度最小或者使得相似度降低到容许的范围内。
平均的熵相关系数是一种使用互信息来刻划两幅图像匹配相似度的方法。对于同样大小的两幅图像A和B,其熵分别为H(A)、H(B),互信息为I(A,B)=H(A)+H(B)-H(A,B),则可以定义熵相关系数ECC:
ECC(A,B)=2*I(A,B)/(H(A)+H(B))
这里采用图像的亮度直方图来计算图像的熵。统计图像A的亮度直方图分布Hist(i),0≤i≤255,图像中总的象素点为PN,则可以计算图像的熵:
H(A)=-Σi=0255Hist(i)PNlogHist(i)PN
对于图像B也采用同样的方法计算H(B)。
对于图像A和B的联合熵H(A,B),则需要先统计图像A和B的联合直方图分布Hist2(i,j),则计算H(A,B)。
Hist2(i,j)=相同位置上,在图像A、B中的亮度分别为i、j的象素点总数式11
H(A,B)=-Σi=0255Σj=0255Hist2(i,j)PNlogHist2(i,j)PN
ECC仅依赖于两幅图像对应象素点的亮度分布的统计量,而与具体的亮度差别无关,所以对于图像匹配具有优越的性能。
对于字符图像[A(i,j)]N×N经过Gabor滤波器组后的结果{[Gm(i,j)]M×M}(1≤m≤K),先均匀量化为取值为0~255的整数的二维矩阵{[G*m(i,j)]M×M}(1≤m≤K):

MAXm=maxi,j(Gm(i,j)),MINm=mini,j(Gm(i,j)).
这里为取整符号。再定义其平均的熵相关系数为:

平均的熵相关系数ECC这个判据的物理含义是,同一个字符图像经过Gabor滤波器组处理后,对任意两个Gabor滤波器的输出G*m1、G*m2求它们之间的匹配相似度,然后对这些匹配相似度求和平均。选择有代表性的字符图像样本,计算每个字符的平均熵相关系数后,然后再进行平均。这个判据直接反映了Gabor滤波器组分离不同方向笔画的能力。对于经过参数优化后的Gabor滤波器组,不同滤波器的输出中包含不同方向的笔画线条信息,所以它们间的匹配相似度最低,平均的熵相关系数ECC这个判据的值相应也最小(或者小于容许值)。求得了最优的σ后,就可以确定合适的D值,从而完成Gabor滤波器组的设计工作。
图3中给出了完整的优化流程图,下面进行说明。
首先从训练样本中挑选有一些代表性的字符图像,总数为SNUM;对字符图像进行预处理后,统计其笔画平均宽度和笔画方向,确定初始的Gabor滤波器参数,同时确定σ的取值范围[a,b]及步长Δ=(b-a)/20;以步长Δ在[a,b]区间内取一系列的σi(i=1,2,3,…)值;根据选定的参数构造Gabor滤波器组,进行Gabor变换,对得到的结果进行均匀量化后,计算字符图像的平均熵相关系数ECCi(i=1,2,3,…);在ECCi(i=1,2,3,…)中寻找最小值,与最小值对应的σi即为最优参数σ*;取以降低卷积运算的计算量。这样就实现了Gabor滤波器组的参数优化设计。
图13给出了汉字“埃”经过优化后的Gabor滤波器组后的输出,可以看出,优化后的Gabor确实很好的分离了字符图像中不同方向的笔画。
在图6中,我们给出了完整的特征抽取流程图。它分成四个主要的步骤:(1)使用Gabor滤波器组进行处理;(2)对Gabor滤波器组的输出进行自适应非线形变换;(3)抽取分块特征;(4)特征压缩。经过这些步骤后,从预处理后的字符图像中,就得到了识别特征Vc。
获得优化的Gabor滤波器组后,对于预处理后的字符图像,利用卷积运算来计算Gabor滤波器组的输出,得到的结果是K个M×M维的矩阵,分别记为{[Gm(i,j)]M×M}(1≤m≤K)。对于二值字符图像,使用上面得到的Gabor滤波器组进行分析后,就可以直接抽取识别特征了。但是,本发明还考虑到恶劣情况下灰度字符图像的特征抽取问题。因为不同的光照环境或者图像摄取过程,图像的亮度、对比度都是不同的,即使在同一字符图像中,各笔画也可能因不均匀光照而亮度不同,显然,识别系统的性能应不受这种图像亮度变化的影响(简称为亮度不变性);同时,Gabor滤波器本身具有抗干扰的能力,但是干扰并没有被完全消除,因为(1)低亮度干扰线条;(2)宽度远小于笔画的干扰线条;(3)宽度远大于笔画的图像亮度变化等都会产生幅度很小的输出。通过对滤波器输出的后处理可以进一步抑制这些由于干扰而产生的输出。
这里对Gabor滤波器组的输出{[Gm(i,j)]M×M}(1≤m≤K)中的每个二维矩阵Gm分别使用修正的Sigmoid函数ψm(t)(1≤m≤K)进行非线性自适应变换来解决这些问题。这里ψm(t)(1≤m≤K)函数由Sigmoid函数(图8)平移后得到的。Sigmoid函数在大输入时强烈的饱和特性可以补偿图像各部分亮度的差异以及笔画宽度的微小变化,实现了识别系统的亮度不变性。同时,修正后的Sigmoid函数ψm(t)(1≤m≤K)既保持了Sigmoid函数对大输入的饱和特性,同时对小输入表现出抑制特性,避免了函数对小输入的放大作用,实现了对干扰输出的抑制作用。

mdt|t=vm=1,vm<χm,且ψm(0)=0,1≤m≤K
则当t<νm时,ψm(t)的斜率小于1,对小输入表现出抑制特性;当t>χm+(χm-νm)后,ψm(t)的斜率也小于1,即对大输入表现出很强的饱和特性。
对于Gabor滤波器组的输出{[Gm(i,j)]M×M}(1≤m≤K)中的每个二维矩阵Gm,顺序进行下面的处理:
1.对矩阵Gm进行简单归一化
G′m(i,j)=Gm(i,j)/MAXm,这里取MAXm=max(|Gm(i,j)|)
2.应用修正的Sigmoid函数进行自适应处理
先将修正的Sigmoid函数变成奇对称函数,使其也能对矩阵G′m的负值进行处理,即:
ψm(t)=ψm(t),t0-ψm(-t),t<0,
然后对矩阵G′m进行处理,得到处理后的输出[Fm(i,j)M×M(1≤m≤K):
Fm(i,j)=ψm(Gm(i,j))=tanh[αm(Gm(i,j)-χm)]+βm,Gm(i,j)0-tanh[αm(-Gm(i,j)-χm)]+βm,Gm(i,j)<0,
这样对Gabor滤波器组输出{[Gm(i,j)]M×M}(1≤m≤K)中的正值和负值同时进行了处理,得到的结果为{[Fm(i,j)]M×M}(1≤m≤K),即也是K个M×M的二维矩阵。
可以采用两种方法来确定函数ψm(t)的参数:
1.设定函数ψm(t)的参数限定在0.1<χm<0.5,2<αm<10的范围内,然后根据识别系统的识别性能调整参数χm和αm的取值,再根据限定条件确定βm的取值。
2.采用上述论文中给出的方案,计算优化的χm、αm和βm参数值。
当然,在这个过程中,也可以采用其它具有类似于ψm(t)特性的函数来进行自适应非线性处理,从而实现上述功能。实现流程如图7所示。
Gabor滤波器组输出{[Gm(i,j)]M×M}(1≤m≤K)经过自适应二值化变换后,得到的结果为{[Fm(i,j)]M×M}(1≤m≤K),然后分别在{[Fm(i,j)]M×M}(1≤m≤K)抽取分块特征。对于每个二维矩阵[Fm(i,j)]M×M,均按照图9的形式均匀分割为P×P个互相互相交叠的矩形区域,每个矩形区域的边长均为L,则按照下面的公式分别在每个矩形区域r(x,y)的中心处计算这个区域中正值和负值的加权和。顺序对每个矩形区域进行高斯加权求和,就从二维矩阵[Fm(i,j)]M×M中抽取得到特征矢量Sm+和Sm-,且Sm+和Sm-均为P2维。
Sm+(x*P+y)=Σ(i,j)r(x,y)G(i-x,j-y)×max(0,Fm(i,j)),
Sm-(x*P+y)=Σ(i,j)r(x,y)G(i-x,j-y)×mix(0,Fm(i,j)),
这里G(x,y)=exp{-(x2+y2)/2}/(2π)为高斯加权函数。
然后将每个二维矩阵[Fm(i,j)]M×M中得到的特征矢量合并为一个维数为2□K□P2的特征矢量,即得到了初始的识别特征矢量V:
V=S1+S1-S2+S2-...SK+SK-,其流程图见图10。
对于初始的识别特征矢量V,进一步进行特征压缩,以改善特征的分布,提高识别性能。一般使用LDA方法进行特征压缩。
首先,设识别系统中待识别的字符类别数为C,对所有的训练样本进行上述的特征抽取,得到属于每个字符类i的特征矢量系列{Vi1,Vi2,….ViQi};
然后计算每个字符类i的类中心μi和所有特征矢量的类中心:μ
μi=1QiΣk=1QiVkc, μ=1CΣi=1Cμi
紧接着,计算类间离散度矩阵∑b和类内离散度矩阵∑W:
Σb=Σi=1C1C(μi-μ)(μi-μ)T, Σw=Σi=1C1CΣk=1Qi1Qi[(Vki-μi)(Vki-μi)T]
在LDA(Linear Discriminant Analysis)中,将特征压缩对义为:
Vc=ΦTV,其中Vc是压缩后的n维特征矢量,Φ是一个(K□P2)×n维的变换矩阵,且n≤K□P2。LDA方法的目的就是寻找特定的Φ使得|ΦT∑bΦ|/|ΦT∑WΦ|最大。利用矩阵计算工具求矩阵∑-1W∑b的前n个最大的非零本征值,相对应的前n个本征向量即顺序组成Φ的列向量,见图11。
压缩后的识别特征矢量Vc在统计上更符合高斯分布的假设,从而可以提高分类器的性能,同时降低分类器的复杂度和计算量。
获得了识别特征矢量Vc,就对字符图像完成了特征抽取的工作。下一步就是将特征矢量送入分类器进行识别。
在字符识别系统中,普遍使用基于Bayes决策理论的统计分类器,如马氏距离分类器,欧式距离分类器等来完成识别任务。下面以简单的欧式距离分类器为例说明分类器的设计及训练。
设识别系统中待识别的字符类别数为C。在训练系统中,对于每个字符类i,将属于此类的训练字符样本图像进行上述的特征抽取,将得到的经过压缩后的n维特征系列记为{Vci1,Vci2,….VciQi},这里属于字符类i的训练样本的总数目为Qi。
在训练过程中,首先计算每个字符类i的类中心{μi*}1≤i≤C矢量(n维):
μi*=1QiΣk=1QiVc(k)i,
然后按照顺序将每个字符类i的国标编码GB(i)以及n维的类中心矢量μi*存入识别库文件中,就完成了分类器的设计和训练。
在识别系统中,首先从识别库文件中顺序读入GB(i)和n维类中心矢量μi*;然后对待识字符进行特征抽取,将压缩后的n维特征矢量V送入分类器,顺序计算特征矢量V到各个字符类的类中心矢量{μi}1≤i≤C的欧式距离{DISTi}1≤i≤C:
DISTi=1nΣk=1n(Vc(k)-μi*(k))2,1iC
则距离最小的类即为待识字符图像所属的类别。设待识字符图像识别结果的字符编码为CODE,则可以通过下面的式子计算CODE:
CODE=GB(p),p=argi(min1iC(DISTi)),
编码CODE即为字符识别系统得到的识别结果,将其按照要求输出到计算机的数据库、文本文件或者直接显示在计算机屏幕上,从而完成了整个的识别任务,见图12。
以下结合汉字字符图像的识别作为实施例加以说明,具体步骤如下:
1)预处理:对切分得到的单个字符图像进行大小归一化处理,得到的图像[A(i,j)]N×N的大小均为64象素点×64象素点,且图像均为黑底白字。
2)对于已经归一化为64象素点×64象素点的汉字图像[A(i,j)]N×N,按照图4所示的方式,统计典型字符图像中的笔画宽度和方向分布,得到如图5所示的结果,根据统计结果可以看出,其平均笔画宽度W和笔画间距S为5个象素点;笔画方向分布在四个方向{0°,45°,90°,135°}附近。
3)根据图3所示的Gabor滤波器组参数优化设计流程图,计算Gabor滤波器组的优化参数,得到:
λ=10,K=4,{φk}k=1,2,3,4={-90°,-45°,0°,45°},σ=5.6,D=4
4)对字符图像[A(i,j)]N×N采用Gabor滤波器组{λm,φm,σxm,σym,D}(1≤m≤4)进行处理,得到四个方向上的Gabor滤波器的实部输出{[Gm(i,j)]M×M}(1≤m≤4)。
5)对Gabor滤波器输出{[Gm(i,j)]M×M}(1≤m≤4)根据图7所示的流程分别进行非线性自适应后处理,得到{[Fm(i,j)]M×M}(1≤m≤4)。这里简化为对所有的输出采用同一个变换函数θ(t)。根据附件论文的分析结果,求得修正的Sigmoid函数θ(t)的参数是:
α=7,υ=0.36,χ=0.59,β=1.00
6)抽取识别特征。根据图10所示的流程图和图9所示的分块方式对Gabor滤波器组输出{[Fm(i,j)]M×M}(1≤m≤4)的正值和负值分别计算分块特征。这里取每个分块区域的边长为L=8,分块数为8×8=64块。这样共得到512维特征矢量,进一步使用LDA变换将特征矢量压缩到120维(即取n=120)。
7)进行分类器的设计和训练。在训练系统中,对于国标1级汉字(包含3755个汉字),训练得到3755个字符类中心,将训练结果存入识别库文件。
8)在识别系统中,从识别库文件中读入训练结果,然后计算分类结果,输出待识字符图像的国标码。
字符图像的主要特征是其笔画的结构,基于Gabor滤波器的字符识别技术,就是利用Gabor滤波器抽取图像中线条信息的优秀性能,抽取字符图像中各个区域中不同方向的笔画信息,从而形成对图像干扰和笔画变形有很强抵抗能力的识别特征。在实施例中,应用本发明对汉字字符进行了识别。表1列出了对于不同的扫描分辨率的汉字常见印刷字体,本发明与目前最好的在二值图像中抽取方向线素特征的识别方法(简记为DH)的识别率对比,表2列出了这两种方法在识别被高斯噪声N(0,σ2)劣化后的文本图像的识别率对比。可见,本发明的识别性能在识别高质量的印刷汉字图像时,与目前最好的方法相当,但是在识别低分辨率或者有干扰的低质量图像时,识别性能远优于目前的方法。表3中还给出了对于无噪声干扰的脱机手写汉字图像,这两种方法的识别率对比,可以看出,本发明对于手写字符的变形有很强的抵抗能力,识别手写字符也能获得目前最高的识别率。
把本发明应用于身份证识别系统:如图14所示,该系统由光电摄取装置(特制的数码相机),计算机(其中运行操作系统、字符识别系统和数据库)组成。光电摄取装置用来把身份证转换成数字图像输入计算机;计算机调用字符识别系统进行识别;识别结果送入数据库存档或者与数据库中的数据进行对比,确定身份证的真伪,等等。
实施中在北京市出入境管理处采集了41张各种质量的实际身份证图像,对姓名和身份证号进行了识别。结果如表4所示,对身份证的总体识别率达到了90%以上,已经符合实用的要求。
表1.不同分辨率的字符图像的识别率(%)

注:在75dpi下,汉字字符图像的典型大小为15象素点×15象素点
表2.加噪图像的识别率(%)

表3.对脱机手写汉字测试样本的识别率(%)

表4.身份证识别结果
  身份证   汉字   数字   总数   41   104   633   识别错误   3   3   0
综上所述,本发明提出的基于Gabor滤波器的字符识别技术具有以下几个优点:
1)本方法与具体的语种无关,应用的范围广,对汉字、数字、英文及其它文字都具有很高的识别率。
2)本方法成功的解决了低质量图像中的字符识别这个很困难的问题,对于将字符识别技术的应用范围从高质量文本图像拓展到低质量的实际图像,例如身份证,车牌,自然景物等,具有开创性的意义。
3)本方法对于印刷和手写字符图像都具有很高的识别率,对于印刷和脱机手写汉字获得了目前最高的识别率。
本发明具有广泛的使用价值,能应用于文档、身份证、汽车牌照、自然景物等图像中的字符识别。