基于单个字符的统计笔迹鉴别和验证方法

文档序号:6444976阅读:229来源:国知局
专利名称:基于单个字符的统计笔迹鉴别和验证方法
技术领域
基于单个字符的统计笔迹鉴别和验证方法属于笔迹鉴别领域。
背景技术
利用书写者书写的笔迹差异进行书写者的身份辨识和验证,具有极其重要的理论和实际意义。在通常多采用人的知识和经验进行笔迹鉴别的现状下,如何利用计算机进行笔迹鉴别,消除人的因素的影响,客观地进行笔迹鉴别有特殊意义。通常的笔迹鉴别和验证方法有两种,一种是文本无关的方法,一种是文本相关的方法。文本相关的方法采用相同的文字(称为特征字)作为处理对象,进行笔迹鉴别和验证。在笔迹鉴别和验证过程中,首先需要对验证对象——特征字进行特征提取,选择能够充分表达书写者笔迹差异的特征是笔迹鉴别成败的核心。文献中使用到的特征有图像几何矩特征、弧模式直方图特征、笔划书写结构等特征。但这些特征多是表述了书写文字的全局特征,不能反映不同书写者书写的差异;而且这些特征要么难于提取,或者抗噪声、抗干扰能力不强。这些方法的鉴别正确率都不高。
四方向线素特征充分反映了汉字由横、竖、撇、捺等基本笔划构成的特点,在字符识别领域有成功的应用。但在笔迹鉴别领域,由于没有考虑到笔迹鉴别的特殊性,文献中所采用的类似于四方向线素的特征抽取方法其鉴别正确率都较低。
PCA(主分量分析)变换和LDA(线性鉴别分析)变换是两种用于维数缩减、特征选择的方法。PCA变换可得到最有效的特征,而LDA变换则可得到最具鉴别性的特征。但在笔迹鉴别领域,目前还没有见到使用这两种变换的文献。
我们知道,笔迹鉴别是一个比较困难的问题,而且目前尚未见到有成功的算法和系统出现,尤其在如何抽取表述不同书写者笔迹差异特征的文献几乎没有看到,这应当是影响笔迹鉴别技术发展的重要因素。
本发明就是通过抽取能够集中表述不同书写者的笔迹差异的特征作为主要的突破口,实现了高性能的基于单个字符的笔迹鉴别和验证的方法和系统。这是目前所有其他文献里都没有使用的方法。

发明内容
本发明的目的在于实现一个基于单个字符的笔迹鉴别和验证方法。本鉴别方法以每个人书写的相同的特征字作为处理对象,首先对处理字符对象进行必要的预处理,包括对特征字进行位置和大小的线性归一化,然后提取能很好反映汉字特点的四方向线素特征,最重要的一步是在汉字的四方向线素特征上,选取反映不同书写者差异的鉴别特征,即根据笔迹鉴别小样本的特点,采用两种方法提取最优特征,一种方法是采用直接LDA变换提取最具鉴别性的特征;另一种方法是先用PCA变换降维得到最有效的特征,然后用LDA变换提取最具鉴别性的最优鉴别特征。最后采用合适的优化分类器,根据由书写者的笔迹抽取的最优鉴别特征,对书写者进行鉴别和验证。由此,可以得到很高的单字鉴别正确率。并根据该方法,实现了一个基于单字字符的笔迹鉴别系统及笔迹验证系统。
作为一个基于单字字符的笔迹鉴别系统还包括书写者笔迹的采集,即系统首先扫描输入包含书写者笔迹的文本,采用自动或人机交互的方式进行书写字符切分。再采用字符识别技术可以得到相同特征字的字迹,由此完成用以训练和鉴别的书写者笔迹的采集。利用采集建立的训练样本数据库,进行四方向线素特征抽取,得到训练样本的特征数据库。然后采用直接LDA变换提取最具鉴别性的特征或先采用PCA变换然后用LDA变换提取最优鉴别特征后建立训练样本的鉴别特征库。对未知书写者的样本,采用同样的方法采集特征字,采用上述同样的方法得到鉴别特征,然后与鉴别特征库进行分类比较,从而判断书写者是谁或者接受(拒绝)该书写者。
本发明由以下几部分组成预处理、四方向线素特征提取、特征变换、分类器设计。
1.预处理预处理部分包括字符的位置规一化和的大小规一化。
设原始特征字图像为[F(i,j)]W×H,图像宽度为W,高度为H,图像位于第i行第j列的象素点的值为F(i,j)。用下式计算图像的重心G=(Gi,Gj)Gi=Σi=1WΣj=1Hi·F(i,j)Σi=1WΣj=1HF(i,j),]]>Gj=Σi=1WΣj=1Hi·F(i,j)Σi=1WΣj=1HF(i,j)]]>采用重心——中心归一化方法将原始图像归一化到M×M大小,归一化后图像记为[A(i,j)]M×M。归一化后图像在(i,j)处的象素值为原始图像在(m,n)处的象素值 2.特征字符四方向线素特征提取假定特征字图像其笔画所对应的点为黑象素点,背景点为白象素点。对于笔画象素点,如果其四领域(或八领域)有白象素点,则称该笔画象素点为轮廓点。采用已有的轮廓提取算法提取归一化后的特征字图像[A(i,j)]M×M的轮廓,得到轮廓图像[B(i,j)]M×M。对每一个轮廓点,根据其相邻轮廓点的位置信息,赋予该轮廓点横、竖、撇、捺四种方向属性。具体的说,设象素点(i,j)是轮廓点,如果象素点(i-1,j)(或象素点(i+1,j))为轮廓点,则轮廓点(i,j)具有横方向属性;如果象素点(i,j-1)(或象素点(i,j+1))为轮廓点,则轮廓点(i,j)具有竖方向属性;如果象素点(i-1,j-1)(或象素点(i+1,j+1))为轮廓点,则轮廓点(i,j)具有捺方向属性;如果象素点(i-1,j+1)(或象素点(i+1,j-1))为轮廓点,则轮廓点(i,j)具有撇方向属性。一个轮廓点可以有不止一种方向属性。如图6(e)中的中心点,既有竖方向属性、又有撇方向属性。将轮廓图像[B(i,j)]M×M划分成N1×N1个子块,每个子块的象素宽度为L(如图7所示,图中1、2、…、N1等标号表示块号)。分别统计第(k,l)(这里1≤k≤N1,1≤l≤N1)个子块里面具有横、竖、撇、捺方向属性的轮廓点的数目,并记为Ckl(h),Ckl(v),Ckl(+),Ckl(-)。然后,再将轮廓图像[B(i,j)]M×M划分成N2×N2个小图像块。具体划分规则如下对于第(x,y)(这里1≤x≤N2,1≤y≤N2)个小图像块,其所包含的子块为(k,l)∈Dxy,Dxy表示表示如下子块构成的集合Dxy={(k,l)|max(1,2x-2)≤k≤min(N1,2x),max(1,2y-2)≤l≤min(N1,2y)}该小图像块的中心子块为(2x-1,2y-1)(如图8所示,图中黑点表示中心子块)。N1和N2的关系是N1=2N2-1。例如,对于第(1,1)个小图象块,x=1,y=1,从而可得它的中心子块为(2×1-1,2×1-1)=(1,1),它由如下子块构成(1,1)、(1,2)、(2,1)、(2,2)。从第m(m=N2·x+y)个小图像块中抽取四方向线素特征Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>Cm(v)(x,y)=Σ(k,l)∈DxyCkl(v)·w(k-(2x-1),l-(2y-1))]]>Cm(+)(x,y)=Σ(k,l)∈DxyCkl(+)·w(k-(2x-1),l-(2y-1))]]>Cm(-)(x,y)=Σ(k,l)∈DxyCkl(-)·w(k-(2x-1),l-(2y-1))]]>其中w(u,v)=12πσ2exp(-u2+v22σ2)]]>是高斯加权函数,这里σ=2tπ,]]>t是小图像块的交叠宽度,取t=1。
把每个小图像块得到的特征向量合并成一个维数为4N22的特征向量,即得到了四方向线素特征VV=[C1(h),C1(v),C1(+),C1(-),···,CN22(h),CN22(v),CN22(+),CN22(-)]T]]>3.线性特征变换本发明采用两种方法进行特征变换,一种是直接LDA变换的方法,另一种是先用PCA变换降维然后采用LDA变换的方法。
设书写者数目为c。对第r(1≤r≤c)个书写者的特征字样本采用上述方法提取四方向线素特征,得到其特征向量集合为{V1(r),V2(r),..., },其中Kr为该书写者训练样本数目,Vj(r)(j=1,2...,Kr)是4N22维的特征向量。
3.1利用直接LDA变换提取最具鉴别性的特征首先计算每个书写者r(1≤r≤c)特征向量的中心μr和所有书写者特征向量的中心μμr=1KrΣj=1KrVj(r),]]>μ=1cΣr=1cμr]]>然后计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(μr-μ)(μr-μ)T,]]>Sw=1cΣr=1c1KrΣj=1Kr(Vj(r)-μr)(Vj(r)-μr)T]]>寻找最佳变换矩阵W,使 最大。
用矩阵计算工具计算Sb的前l个最大的非零本征值ρj(j=1,2,...,l)和相应的本征向量ζj(j=1,2,...,l),Sbζj=ρjζj。设Q=ζ1,ζ2,...,ζl],Db=diag{ρ1,ρ2,...,ρl}。令H=QDb-12,]]>下面一步是对角化HTSwH。
用矩阵计算工具计算HTSwH的前d个最小本征值δj(j=1,2,...,d)和相应的本征向量υj(j=1,2,...,d),即HTSwHυj=δjυj。设P=[υ1,υ2,...,υd],Dw=diag{δ1,δ2,...,δd},则最后的变换矩阵为W=HPDw-12=QDPb-12Dw-12.]]>3.2先用PCA变换降维然后采用LDA变换提取最具鉴别性特征A)利用PCA主分量分析方法进行特征维数压缩我们先利用PCA变换进行特征维数的压缩。
计算总的均值μ和总的协方差矩阵∑tμ=1cΣr=1c1KrΣj=1KrVj(r)]]>Σt=1cΣr=1c1KrΣj=1Kr(Vj(r)-μ)(Vj(r)-μ)T]]>
用矩阵计算工具计算∑t的n个非零本征值λj(j=1,2,...,n)和相应的本征向量ξj(j=1,2,...,n),即∑tξj=λjξj。将这些本征值从大到小排序,设排序后的本征值为λ′j(j=1,2...,n),对应的本征向量为ξ′j(j=1,2,...,n)。设α(0≤α≤1)为某个给定的经验常数(我们取α=0.95),寻找最小的m,使得ΣJ=1mλJ′ΣJ=1nλJ′≥α]]>则PCA变换的变换矩阵U=[ξ′1,ξ′2,...,ξ′m]。通过PCA变换,将相应的4N22维原始特征向量V变换为m维特征向量Y,m<4m22Y=UTV第r书写者的特征集合经PCA变换后变为{Y1(r),Y2(r),..., }。
B)利用LDA线性鉴别分析提取反映不同书写者差异的鉴别特征首先计算每个书写者r(1≤r≤c)特征向量的中心ηr和所有书写者特征向量的中心ηηr=1KrΣJ=1KrYj(r),]]>η=1cΣr=1cηr]]>然后计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(ηr-η)(ηr-η)T,]]>Sw=1cΣr=1c1KrΣj=1Kr(Yj(r)-ηr)(Yj(r)-ηr)T]]>寻找变换矩阵Φ,使得 最大,即使类内方差最小和类间方差最大的特征变换Φ。
用矩阵计算工具计算矩阵Sw-1Sb的前d(一般d=c-1)个最大的非零本征值γj(j=1,2,...,d)和相应的本征向量ζj(j=1,2,...,d),(Sw-1Sb)ζj=γjζj.]]>则LDA变换的变换矩阵Φ=[ζ1,ζ2,...,ζd]。相应的特征变换为Z=ΦTY,这里Z是最具判别性的d维特征。
将PCA变换和LDA变换合并成一个单一的变换矩阵,可得W=UΦ,相应的特征变换为Z=WTV4.基于单个字的统计笔迹鉴别方法笔迹鉴别已知某未知书写者的特征字笔迹样本是由c个书写者中的某个人书写的,现要确定该特征字笔迹样本的书写者是这c个书写者中的哪一个。
4.1分类器设计对最具可分性的特征向量Z,计算所有书写者的均值向量Z(r)‾(r=1,2,...,c),]]>Z(r)‾=1KrΣJ=1KrZJ(r),]]>其中每个书写者r(1≤r≤c)的最具可分性的特征集合为{Z1(r),Z2(r),..., },将各书写者的鉴别特征均值向量存入鉴别特征数据库文件中。
4.2鉴别方法对未知书写者的特征字,首先归一化,然后提取四方向线素特征向量V,采用特征变换矩阵W将特征向量V变换为Z=WTV=[z1,z2,...,zd]T,然后从库文件中读出所有书写者的均值向量Z(r)‾=[z1(r)‾,z2(r)‾,...,zb(r)‾]T,(r=1,2,...,c),]]>计算Z到 的欧氏距离D(r)D(r)=ΣJ=1d(zJ-zj(r)‾),1≤r≤c]]>如果D(k)=min1≤r≤cD(r),]]>则该特征字是由书写者k书写的,k=argr(min1≤r≤cD(r)).]]>4.3鉴别结果的置信度对于笔迹鉴别而言,我们不仅关心鉴别正确率,而且还关心鉴别结果的可靠程度,这种鉴别结果的可靠程度就是置信度。
设D(j)=min1≤r≤c,r≠kD(r),]]>即D(j)表示欧氏距离{D(r)}1≤r≤c中次小的,则将Z识别为第k个书写者的广义置信度为f,(Z)=1.0-D(k)D(j)]]>5.基于单个字符的统计笔迹验证方法笔迹验证对于输入的某个未知字符笔迹,判断是否是某个书写者书写的。笔迹验证从本质上说是两类问题。
5.1验证数据库文件生成笔迹验证过程实际上是两类的笔迹鉴别问题,即c=2,一类是书写者的真笔迹,设有K1个真笔迹样本,另一类是其他人书写的伪笔迹,设有K2个伪笔迹样本。我们可以采用前面所述的笔迹鉴别方法进行笔迹验证。由于c=2,在LDA变换后最具可分性的特征的维数为d=1,即得到的最具可分性的特征为一维向量。对最具可分性的特征z,分别计算真样本和伪样本的均值 z(i)‾=1KiΣJ=1K1zj(i),i=1,2,]]>则判别域值h=z(1)‾+z(2)‾2.]]>将判别域值和变换矩阵存入验证数据库文件中。
5.2笔迹验证方法在进行验证时,对需要验证的笔迹样本,首先归一化,然后提取四方向线素特征V,采用特征变换矩阵W将特征变换为z=WTV,则判别规则为如果z≤h,则接受z;否则,拒绝z。
5.3笔迹验证的可靠性估计设β为大于0的经验常数(我们取β=0.4),则置信度采用下式计算S(z)=11+exp(-β(h-z))]]>S(z)的值域为(0,1),通过映射,判别规则变为如果S(z)≥0.5,则接受z;否则,拒绝z。
S(z)越大,验证结果越可靠。
本发明的特征在于,它是一种基于单个字符的笔迹鉴别。它依次含有以下步骤1.它在对处理字符笔迹对象进行必要预处理后,先提取能很好反映汉字特点的四方向线素特征,再在此基础上,采用下述两种方法之一去选取反映不同书写者差异的最优鉴别特征,其中一种方法是采用直接LDA(线性鉴别分析)变换提取最具鉴别性的特征,另一种方法是先用PCA(主分量分析)变换降维得到最有效的特征,然后用LDA变换提取最具鉴别性的最优鉴别特征。在由图像采集设备和计算机组成的系统中,它依次含有以下步骤(1)书写笔迹的采集扫描输入包含书写者笔迹的文本,先进行书写字符切分,再采用字符识别技术得到相同特征字的笔迹,由此完成用以训练和鉴别的书写者笔迹的采集,建立训练样本数据库。
(2)预处理,包含字符位置和大小的线性归一化(2.1)计算图像的重心设原始特征字图像为[F(i,j)]W×H,其中,W为图像宽度,H为图像高度,F(i,j)为图像位于第i行第j列的象素点的值,则图像的重心G=(Gi,Gj),其中
Gi=Σi=1WΣj=1Hi·F(i,j)Σi=1WΣj=1HF(i,j),]]>Gj=Σi=1WΣj=1Hj·F(i,j)Σi=1WΣj=1HF(i,j),]]>(2.2) 用重心——中心归一化方法把原始图像归一化到M×M大小归一化后图像[A(i,j)]M×M在(i,j)处的象素值为原始图像在(m,n)处的象素值 (3)提取特征字符的四方向线素特征(3.1)用已有的轮廓提取算法提取归一化后的特征字图像[A(i,j)]M×M的轮廓,得到轮廓图像[B(i,j)]M×M。
(3.2)四方向线素特征的提取先把轮廓图像[B(i,j)]M×M划分成N1×N1个子块,每个子块的象素宽度为L。分别统计第(k,l)个子块里面具有横、竖、撇、捺方向属性的轮廓点的数目,并记为Ckl(h),Ckl(v)),Ckl(+),Ckl(-),其中,1≤k≤N1,1≤l≤N1。
再次把轮廓图像[B(i,j)]M×M划分成N2×N2个小图像块。其中第(x,y)个小图像块(1≤x≤N2,1≤y≤N2)由子块(k,l)构成,这里(k,l)∈Dxy,Dxy表示如下子块构成的集合Dxy={(k,l)|max(1,2x-2)≤k≤min(N1,2x),max(1,2y-2)≤l≤min(N1,2y)}该小图像块的中心子块为(2x-1,2y-1),N1=2N2-1。从第m(m=N2·x+y)个小图像块中抽取四方向线素特征Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>Cm(v)(x,y)=Σ(k,l)∈DxyCkl(v)·w(k-(2x-1),l-(2y-1))]]>Cm(+)(x,y)=Σ(k,l)∈DxyCkl(+)·w(k-(2x-1),l-(2y-1))]]>Cm(-)(x,y)=Σ(k,l)∈DxyCkl(-)·w(k-(2x-1),l-(2y-1))]]>其中w(u,v)=12πσ2exp(-u2+v22σ2)]]>是高斯加权函数,这里σ=2tπ,]]>t是小图像块的交叠宽度,取t=1。
(3.3)把每个小图像块得到的特征向量合并成一个维数为4N22的特征向量,即为四方向线素特征VV=[C1(h),C1(v),C1(+),C1(-),···,CN22(h),CN22(v),CN22(+),CN22(-)]T.]]>(4)线性特征变换设书写者数目为c。对第r(1≤r≤c)个书写者的特征字样本采用上述方法提取四方向线素特征,得到其特征向量集合为{V1(r),V2(r),..., },其中Kr为该书写者训练样本数目,Vj(r)(j=1,2,...,Kr)是4N22维的特征向量。
则利用直接LDA变换提取最具鉴别性的特征如下先计算每个书写者r(1≤r≤c)特征向量的中心μr和所有书写者特征向量的中心μμr=1KrΣj=1KrVj(r),]]>μ=1cΣr=1cμr]]>再计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(μr-μ)(μr-μ)T]]>Sw=1cΣr=1c1KrΣj=1Kr(Vj(r)-μr)(Vj(r)-μr)T]]>寻找最佳变换矩阵W,使 最大,则相应的特征变换为Z=WTV;(5)进行基于单个字符的统计笔迹鉴别,即已知某未知书写者的特征字笔迹样本是由c个书写者中的某个人书写的,现要确定该特征字笔迹样本的书写者是这c个书写者中的哪一个。
(5.1)设计分类器对最具可分性的特征向量Z,计算所有书写者的均值向量Z(r)‾(r=1,2,...,c),]]>Z(r)‾=1KrΣj=1KrZj(r),]]>其中每个书写者r(1≤r≤c)的最具可分性的特征集合为{Z1(r),Z2(r),..., },将各书写者的鉴别特征均值向量存入鉴别特征数据库文件中。
(5.2)鉴别对未知书写者的特征字,首先归一化,再提取四方向线素特征向量V,采用特征变换矩阵W将特征向量V变换为Z=WTV=[z1,z2,...,zd]T,d是变换后特征的维数。
从库文件中读出所有书写者的均值向量Z(r)‾=[z1(r)‾,z2(r)‾,...,zd(r)‾]T,r=1,2,...,c,]]>计算Z到 的欧氏距离D(r)D(r)=Σj=1d(zj-zj(r)‾),1≤r≤c]]>若D(k)=min1≤r≤cD(r),]]>则该特征字是由书写者k书写的,即k=argr(min1≤r≤cD(r)).]]>(6)进行基于单个字符的统计笔迹验证,即对于输入的某个未知笔迹,判断是否为某个书写者写的(6.1)生成验证数据库文件设有K1个真笔迹样本,K2个伪笔迹样本,分别计算真样本和伪样本的均值 z(i)‾=1KiΣj=1K1zj(i),i=1,2,]]>则判别域值h=z(1)‾+z(2)‾2.]]>将判别域值和变换矩阵存入验证数据库文件中。
(6.2)验证对需要验证的笔迹样本,首先归一化,再提取四方向线素特征V,采用特征变换矩阵W将特征变换为z=WTV,则判别规则为若z≤h,则接受z,否则,拒绝z。
2.在作所述的线性特征变换时,先用PCA变换降维,然后采用LDA变换提取最具鉴别性的特征(1)利用PCA主分量分析方法进行特征维数压缩(1.1)先计算总的均值μ和总的协方差矩阵∑tμ=1cΣr=1c1KrΣj=1KrVj(r)]]>Σt=1cΣr=1c1KrΣj=1Kr(Vj(r)-μ)(Vj(r)-μ)T]]>(1.2)计算∑t的n个非零本征值λj(j=1,2,...,n)和相应的本征向量ξj(j=1,2,...,n),∑tξj=λjξj;(1.3)把本征值从大到小排序,排序后的本征值为λ′j(j=1,2,...,n),对应的本征向量为ξ′j(j=1,2,...,n);(1.4)设定某个给定的经验常数α,0≤α≤1,取α=0.95;(1.5)寻找最小的m,使Σj=1mλj′Σj=1nλj′≥α;]]>(1.6)得PCA变换的变换矩阵U=[ξ′1,ξ′2,...,ξ′m],从而把相应的4N22维原始特征向量V变换为m维特征向量Y,m<4N22Y=UTV(1.7)第r书写者的特征集合经PCA变换后变为{Y1(r),Y2(r),..., }。
(2)用LDA线性鉴别分析提取反映不同书写者差异的鉴别特征(2.1)计算每个书写者r(1≤r≤c)特征向量的中心ηr和所有书写者特征向量的中心ηηr=1KrΣj=1KrYj(r),]]>η=1cΣr=1cηr;]]>(2.2)计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(ηr-)(ηr-η)T,]]>Sw=1cΣr=1c1KrΣj=1Kr(Yj(r)-ηr)(Yj(r)-ηr)T;]]>(2.3)寻找变换矩阵Φ,使得 最大;(2.4)相应的特征变换为Z=ΦTY;(2.5)把PCA变换和LDA变换合并成一个单一的变换矩阵,得W=UΦ,相应的特征变换为Z=WTV。
实验证明,本发明可以有效的完成笔迹鉴别和验证这两大任务。


图1一个典型的笔迹鉴别系统的硬件构成。
图2单个特征字样本的生成。
图3笔迹鉴别系统的构成。
图4四方向线素特征提取流程。
图5归一化字符和它的轮廓。
图6四方向线素特征中的横、竖、撇、捺四种方向属性。
图7图像子块划分方法。
图8小图像块的构成方法。
图9直接LDA特征变换流程图。
图10先用PCA变换后LDA变换的特征变换流程图。
图11基于本算法的笔迹鉴别系统。
图12公安部笔迹验证系统。
图13笔迹鉴别中广义置信度分布直方图。
图14笔迹验证中置信度分布直方图。
具体实施例方式
如图1所示,一个笔迹鉴别系统在硬件上由两部分构成图像采集设备和计算机。图像采集设备一般是扫描仪和数字摄像机,用来获取笔迹的数字图像。计算机用于对数字图像进行处理,并进行判决分类。
图2所示的是训练特征字样本和测试特征字样本的生成过程。对于一个书写者书写的一篇笔迹样本,首先通过扫描仪扫入计算机,将其变为数字图像。然后对数字图像二值化、去除噪声等预处理措施,得到二值化的图像。再对输入图像进行行切分,得到文本行,在此阶段行切分错误采用手动方式改正。得到文本行后,对每一个文本行进行字切分,得到单个手写字符,同样,此阶段的字切分错误采用手动方式改正。此后,将切分出来的字符送入字符识别器识别,识别错误由人工校正。最后,将相同的字符对应的原始字符图像提取出来,并保存,单个特征字的笔迹样本获取完毕。
如图3所示,笔迹鉴别算法分为两个部分训练系统和测试系统。训练系统中,对输入的单个字符笔迹训练样本集,提取反映书写特性的四方向线素特征,对特征进行变换,得到最具判别性的特征,然后,采用合适的分类器,训练分类器,得到鉴别库文件。在测试系统中,对输入的未知笔迹,采用和训练系统同样的特征提取方法,并用训练系统得到的变换矩阵对特征进行变换,然后送入分类器进行分类,判断书写者是谁。
因而,实用的基于单个字符的笔迹鉴别系统的实现需要考虑如下几个方面A)单个字符笔迹样本的获取;B)训练系统的实现;C)测试系统的实现。
下面分别对这三个方面进行详细介绍。
A)单个字符笔迹样本的获取单个字符笔迹样本是通过字符识别系统获取的(图2)。输入的一篇笔迹文档通过扫描仪得到数字图像,输入计算机。然后对该图像进行二值化等预处理措施。二值化方法可采用全局二值化也可采用局部自适应二值化。然后对文档进行版面分析,得到字符块。对字符块进行行切分和字切分得到单个字符。采用水平投影直方图和垂直投影直方图分别实现行切分和字切分。在此阶段的切分错误采用人机交互的方式更正。将得到的单个字符送入字符识别器进行识别,识别错误同样采用手动方式更正。由于字符识别器在字符识别领域讨论得比较多,这里不详细描述。
经过字符识别器和手动更正后,把具有相同内码的字符所对应的原始字符图像保存起来,这样,我们就得到了单个字符笔迹样本。
B)训练系统的实现B.1预处理设单个字的笔迹样本为[F(i,j)]W×H,计算该样本的重心G=(Gi,Gj)Gi=Σi=1WΣj=1Hi·F(i,j)Σi=1WΣj=1HF(i,j),]]>Gj=Σi=1WΣj=1Hj·F(i,j)Σi=1WΣj=1HF(i,j),]]>采用重心——中心归一化方法对笔迹样本归一化为[A(i,j)]M×M。归一化图像中象素点(i,j)处的值等于原图像在(m,n)处的值 B.2四方向线素特征提取特征提取流程如图4所示。首先利用已有算法提取归一化后图像[A(i,j)]M×M的轮廓(图5),得到轮廓图像[B(i,j)]M×M。对每一个轮廓点,根据其相邻轮廓点的位置信息,赋予该轮廓点横、竖、撇、捺四种方向属性。具体的说,设象素点(i,j)是轮廓点,如果象素点(i-1,j)(或象素点(i+1,j))为轮廓点,则轮廓点(i,j)具有横方向属性;如果象素点(i,j-1)(或象素点(i,j+1))为轮廓点,则轮廓点(i,j)具有竖方向属性;如果象素点(i-1,j-1)(或象素点(i+1,j+1))为轮廓点,则轮廓点(i,j)具有捺方向属性;如果象素点(i-1,j+1)(或象素点(i+1,j-1))为轮廓点,则轮廓点(i,j)具有撇方向属性。一个轮廓点可以有不止一种方向属性(图6)。如图6(e)中的轮廓点既有竖属性、又有撇属性。将轮廓图像[B(i,j)]M×M划分成N1×N1个子块(图7),每个子块的象素宽度为L。第(k,l)个子块里面具有横、竖、撇、捺四种方向属性的轮廓点的数目分别记为Ckl(h),Ckl(v),Ckl(+),Ckl(-)。然后,再将轮廓图像[B(i,j)]M×M划分成N2×N2个小图像块,每个小图像块由若干个子块构成,相邻小图像块间有若干个子块的交叠。具体划分规则如下对于第(x,y)(这里1≤x≤N2,1≤y≤N2)个小图像块,其所包含的子块为(k,l)∈Dxy,Dxy表示表示如下子块构成的集合Kxy={(k,l)|max(1,2x-2)≤k≤min(N1,2x),max(1,2y-2)≤l≤min(N1,2y)}该小图像块的中心子块为(2x-1,2y-1)(如图8所示,图中黑点表示中心子块)。N1和N2的关系是N1=2N2-1。例如,对于第(1,1)个小图象块,x=1,y=1,从而可得它的中心子块为(2×1-1,2×1-1)=(1,1),它由如下子块构成(1,1)、(1,2)、(2,1)、(2,2)。从第m(m=N2·x+y)小图像块中抽取四方向线素特征Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>Cm(v)(x,y)=Σ(k,l)∈DxyCkl(v)·w(k-(2x-1),l-(2y-1))]]>Cm(+)(x,y)=Σ(k,l)∈DxyCkl(+)·w(k-(2x-1),l-(2y-1))]]>Cm(-)(x,y)=Σ(k,l)∈DxyCkl(-)·w(k-(2x-1),l-(2y-1))]]>其中w(u,v)=12πσ2exp(-u2+v22σ2)]]>是高斯加权函数,这里σ=2tπ,]]>t是小图像块间的交叠宽度(这里t=1)。
把每个小图像块得到的特征矢量合并成一个维数为4N22的特征向量,即得到了四方向线素特征VV=[C1(h),C1(v),C1(+),C1(-),...,CN22(h),CN22(v),CN22(+),CN22(-)]T]]>B.3特征变换我们采用两种方法进行特征变换。一种是直接LDA方法(图9),另一种是先用PCA变换降维然后采用LDA提取最具鉴别性的特征(图10)。设书写者数目为c。对每个书写者r(1≤r≤c)的特征字样本采用上述方法提取四方向线素特征,得到其特征向量集合为{Vj(r)}1≤j≤Kr,Kr为该书写者训练样本数目。
B.3.1直接LDA方法进行特征变换特征变换流程图如图9所示。
首先计算每个书写者r(1≤r≤c)特征向量的中心μr和所有书写者特征向量的中心μμr=1KrΣj=1KrVj(r),]]>μ=1cΣr=1cμr]]>然后计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(μr-μ)(μr-μ)T,]]>Sw=1cΣr=1c1KrΣj=1c(Vj(r)-μr)(Vj(r)-μr)T]]>寻找最佳变换矩阵W,使 最大。
用矩阵计算工具计算Sb的前l个最大的非零本征值ρj(j=1,2,...,l)和相应的本征向量ζj(j=1,2,...,l),Sbζj=ρjζj。设Q=[ζ1,ζ2,...,ζl],Db=diag{ρ1,ρ2,...,ρl}。令H=QDb-12,]]>下面一步是对角化HTSwH。
用矩阵计算工具计算HTSwH的前d个最小本征值δj(j=1,2,...,d)和相应的本征向量υj(j=1,2,...,d),HTSwHυj=δjυj。设P=[υ1,υ2,...,υd],Dw=diag{δ1,δ2,...,δd},则最后的变换矩阵为W=HPDw-12=QDb-12PDw-12,]]>相应的特征变换为Z=WTVB.3.2先用PCA降维然后用LDA提取最具鉴别性特征整个特征变换流程如图10所示。
对得到的特征向量,利用PCA变换压缩特征维数。
计算总的均值μ和总的协方差矩阵∑t。
μ=1cΣr=1c1KrΣj=1KrVj(r),]]>Σt=1cΣr=1c1KrΣj=1Kr(Vj(r)-μ)(Vj(r)-μ)T;]]>利用矩阵计算工具计算∑t的n个非零本征值λj(j=1,2,...,n)和相应的本征向量ξj(j=1,2,...,n),∑tξj=λjξj。将这些本征值从大到小排序,设排序后的本征值为λ′j(j=1,2,...,n),对应的本征向量为ξ′j(j=1,2,...,n)。设α(0≤α≤1)为某个给定的经验常数(我们取α=0.95),寻找最小的m,使得ΣJ=1mλj′Σj=1nλj′≥α]]>则PCA变换的变换矩阵U=[ξ′1,ξ2′,...,ξ′m]。相应的原始特征V变换为m维特征YY=UTV第r书写者的特征集经PCA变换后为{Y1(r),Y2(r),..., }。
然后利用LDA变换提取反映不同书写者书写差异的鉴别特征。
计算每个书写者r(1≤r≤c)特征向量的均值ηr和总的均值ηηr=1KrΣj=1KrYj(r),]]>η=1cΣr=1cηr]]>计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(ηr-η)(ηr-η)T,]]>Sw=1cΣr=1c1KrΣj=1Kr(Yj(r)-ηr)(Yj(r)-ηr)T]]>寻找变换矩阵Φ,使得 最大。
采用矩阵计算工具计算矩阵Sw-1Sb的前d(一般d=c-1)个最大的非零本征值γj(j=1,2,...,d)和相应的本征向量ζj(j=1,2,...,d),(Sw-1Sb)ζj=γjζj,]]>则LDA变换的变换矩阵Φ=[ζ1,ζ2,...,ζd]。相应的特征变换为Z=ΦTY,这里Z是最具判别性的d维特征。
最后,总的变换矩阵为W=UΦ,特征变换为Z=WTV。
B.4分类器设计对得到的最具可分性的特征Z,计算所有书写者的均值Z(r)‾(r=1,2,...,c),]]>Z(r)‾=1KrΣj=1KrZj(r),]]>其中每个书写者r(1≤r≤c)的最具可分性的特征集合为{Z1(r),Z2(r),..., },将均值存入库文件中。这样就完成了欧氏距离分类器的设计和训练。
C)测试系统的实现对未知书写者的特征字,首先归一化,然后提取四方向线素特征V,采用特征变换矩阵W将特征变换为Z=WTV,然后从库文件中读出所有书写者的均值Z(r)‾(r=1,2,...,c),]]>计算Z到

的欧氏距离{D(r)}1≤r≤cD(r)=Σj=1d(zj-zj(r)‾),1≤r≤c]]>如果D(k)=min1≤r≤cD(r),]]>则该特征字是由书写者k书写的。
以下给出两个具体的实现例子。
实施例1笔迹鉴别系统基于本发明的笔迹鉴别系统如图11所示。实验中采用27个人书写的16页笔迹文档,每页文档包含20个汉字笔迹。先用扫描仪将这些笔迹文档输入到计算机,然后用OCR软件得到单个字的笔迹样本。将每个单字笔迹样本,归一化成65×65的大小。四方向线素特征提取中子块的划分方法按图7的方式划分。这里N1=13,L=5,N2=7。按图4的流程提取四方向线素特征。采用两种方法进行特征变换,一种是采用直接LDA变换方法,采用10个样本训练,6个样本测试,实验结果如表1所示。另一种是先用PCA变换降维,然后再LDA变换。PCA变换中的参数α=0.95,即PCA变换后的能量占总能量的95%,然后用LDA变换将特征维数压缩为d=26。实验中每个书写者用10个样本训练,6个样本测试。实验结果如表2所示。
表1 直接利用LDA进行特征变换的笔迹鉴别结果

表2 先PCA后LDA进行特征变换的笔迹鉴别结果

从表1、表2可看出,利用单个特征字的笔迹鉴别平均鉴别正确率分别为92.69和92.28%,与已有文献相比,这是一个非常好的鉴别结果。
图13所示的是先用PCA降维后用LDA提取最具鉴别特征的特征变换方法在测试集上广义置信度分布直方图。图中“平均正确样本数”表示20个特征字符鉴别正确的样本数目总和的平均值,“平均错误样本数”表示20个特征字符鉴别错误的样本数目总和的平均值。“难正确样本数”表示“难”作为特征字鉴别正确的样本数目,“难错误样本数”表示“难”作为特征字鉴别错误的样本数目。“人正确样本数”、“人错误样本数”表示的意思类似。从图中可看出,当广义置信度大于0.4时,鉴别错误的样本数目为0,表示只要广义置信度大于0.4,所作的判决是非常可靠的。
实施例2公安部笔迹验证(writer verification)系统公安部的笔迹验证系统需要完成的功能是通过给定的样本训练出验证数据库文件,判断检材是否是由书写样本的犯罪嫌疑人书写的,从而为司法判断提供依据。该问题实际上是一个两类问题,其难点在于训练过程是实时的,而且没有伪样本。
整个验证系统框图如图12所示。主要由三部分组成●伪样本生成部分该部分主要用于生成伪样本库。我们采用实验室收集的1806套不同人书写的一级手写汉字(3755个汉字)样本作为单字笔迹的伪样本。将1806个伪样本采用K-均值聚类算法聚类成40类,这40个类中心作为伪样本的代表点。将这40个类中心保存在伪样本库文件中。
●实时训练部分对于输入的样本,通过扫描仪输入计算机,采用OCR软件得到单字笔迹,然后读出伪样本库中相应单字对应的40个聚类中心。于是笔迹验证问题就变成了两类笔迹鉴别问题,一类是真书写者,一类是伪书写者,也就是说,c=2。取特征变换后特征维数d=1,采用本文中给出的算法得到变换矩阵W、真书写者类中心 和伪书写者类中心 则域值h=z(1)‾+z(2)‾2.]]>将变换矩阵W和域值h存入校验库文件中。
●验证部分对于检材,用扫描仪输入计算机,用OCR软件得到单字笔迹,提取四方向线素特征V。然后读出变换矩阵W和域值h,采用下面的判别规则判断该检材是否是该犯罪嫌疑人书写的如果WTV≤h,则接受V;否则,拒绝V。
实验中采用27个人书写的20个字符笔迹作实验,每人书写每个字符16次。在进行验证时,对每个字符笔迹,分别采用每个人的10个字符笔迹作为真训练样本,6个字符笔迹作为真测试样本,其他26个人的416(16×26=416)个字符笔迹作为伪测试样本,如此循环27次,使得每个人都作为真笔迹的书写者1次。实验结果如表3所示。
从表3可看出,基于单字的字符校验的平均两类错误率分别为5.99%(FRR)和6.65%(FAR),是目前基于单字的笔迹校验的最好的。
图14所示的是置信度分布直方图。图中“平均接受样本数目”表示真样本数目的平均值,“平均拒绝样本数目”表示伪样本数目的平均值。置信度公式中的β=0.4。从图中可看出真样本多集中在置信度较大的区域,伪样本则集中在置信度小的区域。说明本方法具有很高的可靠性。
表3字符校验两类错误率

综上所述,本发明提出的基于单字的笔迹鉴别方法具有以下优点1)本方法基于单字字符笔迹,既可用于可获取整篇文档的笔迹鉴别也可用于只能得到几个字符的笔迹鉴别,具有很大灵活性。
2)本方法不仅可用于笔迹鉴别(Writer Identification),也可用于笔迹验证(WriterVerification),并且具有非常高的正确率和可靠性。
本发明在实验中获得了优异的识别结果,具有非常广泛的应用前景。
权利要求
1.基于单个字符的统计笔迹鉴别和验证方法,其特征在于,它在对处理字符笔迹对象进行必要预处理后,先提取能很好反映汉字特点的四方向线素特征,再在此基础上,采用下述两种方法之一去选取反映不同书写者差异的最优鉴别特征,其中一种方法是采用直接LDA(线性鉴别分析)变换提取最具鉴别性的特征,另一种方法是先用PCA(主分量分析)变换降维得到最有效的特征,然后用LDA变换提取最具鉴别性的最优鉴别特征。在由图像采集设备和计算机组成的系统中,它依次含有以下步骤(1)书写笔迹的采集扫描输入包含书写者笔迹的文本,先进行书写字符切分,再采用字符识别技术得到相同特征字的笔迹,由此完成用以训练和鉴别的书写者笔迹的采集,建立训练样本数据库;(2)预处理,包含字符位置和大小的线性归一化(2.1)计算图像的重心设原始特征字图像为[F(i,j]W×H,其中,W为图像宽度,H为图像高度,F(i,j)为图像位于第i行第j列的象素点的值,则图像的重心G=(Gi,Gj),其中Gi=Σi=1WΣj=1Hi·F(i,j)Σi=1WΣj=1HF(i,j),]]>Gj=Σi=1WΣj=1Hi·F(i,j)Σi=1WΣj=1HF(i,j);]]>(2.2)用重心——中心归一化方法把原始图像归一化到M×M大小归一化后图像[A(i,j)]M×M在(i,j)处的象素值为原始图像在(m,n)处的象素值 (3)提取特征字符的四方向线素特征(3.1)用已有的轮廓提取算法提取归一化后的特征字图像[A(i,j)]M×M的轮廓,得到轮廓图像[B(i,j)]M×M;(3.2)四方向线素特征的提取先把轮廓图像[B(i,j]M×M划分成N1×N1个子块,每个子块的象素宽度为L。分别统计第(k,l)个子块里面具有横、竖、撇、捺方向属性的轮廓点的数目,并记为Ckl(h),Ckl(v),Ckl(+),Ckl(g),其中,1≤k≤N1,1≤l≤N1;再次把轮廓图像[B(i,j)]M×M划分成N2×N2个小图像块。其中第(x,y)个小图像块(1≤x≤N2,1≤y≤N2)由子块(k,l)构成,这里(k,l)∈Dxy,Dxy表示如下子块构成的集合Dxy={(k,l)max(1,2x-2)≤k≤min(N1,2x),max(1,2y-2)≤l≤min(N1,2y)}该小图像块的中心子块为(2x-1,2y-1),N1=2N2-1。从第m(m=N2·x+y)个小图像块中抽取四方向线素特征Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>Cm(h)(x,y)=Σ(k,l)∈DxyCkl(h)·w(k-(2x-1),l-(2y-1))]]>其中w(u,v)=12πσ2exp(-u2+v22σ2)]]>是高斯加权函数,这里σ=2tπ,]]>t是小图像块的交叠宽度,取t=1;(3.3)把每个小图像块得到的特征向量合并成一个维数为4N22的特征向量,即为四方向线素特征VV=[C1(h),C1(v),C1(+),C1(-),···,CN22(h),CN22(v),CN22(+),CN22(-)]T;]]>(4)线性特征变换设书写者数目为c,对第r(1≤r≤c)个书写者的特征字样本采用上述方法提取四方向线素特征,得到其特征向量集合为{V1(r),V2(r),..., },其中Kr为该书写者训练样本数目,Vj(r)(j=1,2,...,Kr)是4N22维的特征向量;则利用直接LDA变换提取最具鉴别性的特征如下先计算每个书写者r(1≤r≤c)特征向量的中心μr和所有书写者特征向量的中心μμr=1KrΣj=1KrVj(r),]]>μ=1cΣr=1cμr]]>再计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(μr-μ)(μr-μ)T]]>Sw=1cΣr=1c1KrΣj=1Kr(Vj(r)-μr)(Vj(r)-μr)T]]>寻找最佳变换矩阵W,使 最大,则相应的特征变换为Z=WTV;(5)进行基于单个字符的统计笔迹鉴别,即已知某未知书写者的特征字笔迹样本是由c个书写者中的某个人书写的,现要确定该特征字笔迹样本的书写者是这c个书写者中的哪一个;(5.1)设计分类器对最具可分性的特征向量Z,计算所有书写者的均值向量Z(r)‾(r=1,2,...,c),]]>Z(r)‾=1KrΣj=1KrZj(r),]]>其中每个书写者r(1≤r≤c)的最具可分性的特征集合为{Z1(r),Z2(r),..., },将各书写者的鉴别特征均值向量存入鉴别特征数据库文件中;(5.2)鉴别对未知书写者的特征字,首先归一化,再提取四方向线素特征向量V,采用特征变换矩阵W将特征向量V变换为Z=WTV=[z1,z2,...zc,]T,d是变换后特征的维数;从库文件中读出所有书写者的均值向量Z(r)‾=[z1(r)‾,z2(r)‾,...,zd(r)‾]T,r=1,2,...,c,]]>计算Z到 的欧氏距离D(r)D(r)=Σj=1d(zj-zj(r)‾),1≤r≤c]]>若D(k)=min1≤r≤cD(r),]]>则该特征字是由书写者k书写的,即k=argr(min1≤r≤cD(r));]]>(6)进行基于单个字符的统计笔迹验证,即对于输入的某个未知笔迹,判断是否为某个书写者写的(6.1)生成验证数据库文件设有K1个真笔迹样本,K2个伪笔迹样本,分别计算真样本和伪样本的均值 z(t)‾=1K1ΣJ=1K1zJ(t),i=1,2,]]>则判别域值h=z(1)‾+z(2)‾2.]]>将判别域值和变换矩阵存入验证数据库文件中;(6.2)验证对需要验证的笔迹样本,首先归一化,再提取四方向线素特征V,采用特征变换矩阵W将特征变换为z=WTV,则判别规则为若z≤h,则接受z,否则,拒绝z。
2.根据权利要求1所述的基于单个字符的统计笔迹鉴别和验证方法,其特征在于,在作所述的线性特征变换时,先用PCA变换降维,然后采用LDA变换提取最具鉴别性的特征(1)利用PCA主分量分析方法进行特征维数压缩(1.1)先计算总的均值μ和总的协方差矩阵∑tμ=1cΣr=1c1KrΣJ=1KrV1(r)]]>Σt=1cΣr=1c1KrΣJ=1Kr(Vj(r)-μ)(Vj(r)-μ)T]]>(1.2)计算∑t的n个非零本征值λj(j=1,2,...,n)和相应的本征向量ξj(j=1,2,...,n),∑tξj=λjξj;(1.3)把本征值从大到小排序,排序后的本征值为λ′j(j=1,2,...,n),对应的本征向量为ξ′j(j=1,2,...,n);(1.4)设定某个给定的经验常数α,0≤α≤1,取α=0.95;(1.5)寻找最小的m,使ΣJ=1mλJ′ΣJ=1nλJ′≥α;]]>(1.6)得PCA变换的变换矩阵U=[ξ′1,ξ2′,...,ξ′m],从而把相应的4N22维原始特征向量V变换为m维特征向量Y,m<4N22Y=UTV;(1.7)第r书写者的特征集合经PCA变换后变为{Y1(r),Y2(r),..., };(2)用LDA线性鉴别分析提取反映不同书写者差异的鉴别特征(2.1)计算每个书写者r(1≤r≤c)特征向量的中心ηr和所有书写者特征向量的中心ηηr=1KrΣj=1KrVj(r),]]>η=1cΣr=1cηr;]]>(2.2)计算类间散度矩阵Sb和平均类内散度矩阵SwSb=1cΣr=1c(ηr-η)(ηr-η)T,]]>Sw=1cΣr=1c1Kr(Yj(r)-ηr)(Yj(r)-ηr)T;]]>(2.3)寻找变换矩阵Φ,使得 最大;(2.4)相应的特征变换为Z=ΦTY;(2.5)把PCA变换和LDA变换合并成一个单一的变换矩阵,得W=UΦ,相应的特征变换为Z=WTV。
全文摘要
基于单个字符的统计笔迹鉴别和验证方法属于笔迹鉴别领域。其特征在于,它在对处理字符笔迹对象进行必要预处理后,先提取能很好反映汉字特点的四方向线素特征,再在此基础上,采用下述两种方法之一去选取反映不同书写者差异的最优鉴别特征,其中一种方法是采用直接LDA(线性鉴别分析)变换提取最具鉴别性的特征,另一种方法是先用PCA(主分量分析)变换降维得到最有效的特征,然后用LDA变换提取最具鉴别性的最优鉴别特征。采用欧氏距离分类器进行分类鉴别。本发明的平均鉴别正确率可达92.69%。
文档编号G06K9/48GK1482571SQ0310981
公开日2004年3月17日 申请日期2003年4月11日 优先权日2003年4月11日
发明者丁晓青, 王贤良, 刘长松, 彭良瑞, 方驰 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1