基于QNN的图像特征提取字符识别系统设计
2018-04-25,
,
(西安培华学院,西安 710125)
0 引言
近年来,字符识别一直是图像处理及模式识别领域的研究热点[1-5],其实用性强,尤其在大规模数据统计上,其应用前景更是广阔。伴随着计算机的快速发展,在图像处理及模式识别研究中,许多人类难以解决的相对复杂的问题,都可以借助计算机的高速运算来解决[6-9]。在字符识别领域里,是否能够选取合适的特征提取算法,其将直接影响到识别率的高低,鉴于粗网格特征法具有反映字符的整体特征又能缩减网络的规模的优点,为了更好地提高字符识别的正确率,本文提出了一种基于粗网格特征法对图像特征量进行提取的字符识别系统。同时,由于量子神经网络具有高速并行处理能力、良好的容错能力、自学习能力及较强的分类能力等特点[10-11],且QNN克服了传统神经网络所具有的识别精度低、学习速率慢等的缺陷。所以在识别阶段,对于识别字符来说,本文采用神经网络分类器是非常有效的手段。
1 字符识别系统设计
1.1 图像特征提取字符识别系统
本文以数字型字符为研究对象,针对数字,设计了基于粗网格特征提取及QNN的字符识别系统,系统大致可分为数字输入、预处理、 特征提取、QNN识别 4 个部分。其工作过程为:首先利用样品进行训练,确定QNN识别器的具体参数,完成分类器的设计。然后再把待识别数字样本集的样品输入到网络中,用经二值化、行字切分、平滑 、 去噪、细化等预处理后,再特征提取的特征量来作为量子神经网络的输入来识别待识别数字,并输出识别结果。
1.2 字符预处理
由于现实环境的影响难以避免,实际获得的数字图像可能受到严重的噪声干扰,所以进行特征提取前要先对数字图像进行二值化、平滑、去噪声等预处理,然后对其进行特征提取。而且当数字图像出现偏移时,将导致对应网格之间的错位,从而降低识别率,所以逐个识别前,还要进行归一化处理,必须把它们的位置和大小归一化到一个标准尺寸上,为数字识别做准备。
由于数字经二值化、平滑、去噪声等预处理后,可能还存在大小不一的现象,因此需进行归一化过程。归一化又分为大小及位置归一化。
位置归一化是把整个字符点阵图移到规定位置上,从而消除其位置偏差。以质心为基础的位置归一化比基于字符外边框的位置归一化方法抗干扰能力强,所以本文选用基于质心的位置归一化方法。
质心计算:
(1)
(2)
式中,x,y分别为横、纵坐标,f(x,y)为字符二值点阵,T,B,L,R分别表示字符的上下左右边界。
字符大小归一化原理:假设f(x,y)为原字符图像,大小为m×n,g(u,v)为归一化后字符图像,大小为M×N。f(x,y)中的任意一点(x0,y0)对应于g(u,v)中的点(u0,v0)。(u0,v0)和(x0,y0)
之间的映射关系为:
(3)
若映射的(x0,y0)是整点坐标,可直接令:g(u0,v0)=f(x0,y0)。若不是整点坐标,再经差值运算确定将f(x,y)中哪一个点映射到g(u,v)中。本文选用邻近插值算法,即是取(x0,y0)相邻的上下左右4个点中,距离和(x0,y0)最近的点作为插值结果,将此点的f(x,y)值赋给g(u0,v0)。将字符大小归一为16*16像素。
1.3 字符特征提取
常用的特征提取方法如:逐像素特征提取法的算法简单,运算快,可以使网络很快地收敛,但适应性不强;骨架特征提取法对于线条粗细不同的数字有一定的适应性,但难以识别偏移图像 ;垂直方向数据统计特征提取法效果不是很理想,适应性不强[12]。本文采用粗网格特征法进行特征量提取。由于粗网格特征法具有抗位置变化能力差的缺陷,所以将其进一步改善,即是在特征提取步骤的前面,先对字符图像定位,找到其中心,并平移到模板中心,再提取粗网格特征[13]。 本文将已归一化为16*16像素的数字字符划分为大小为2*2的8*8个网格,并将每个网格内的黑像素数量作为特征,因而共抽取64个特征。
2 识别模型
由于QNN具有容错性、自学习、并行处理和分类识别能力强的优点,且字符识别普遍存在相近字符数据交叉问题,所以本文的识别系统,采用基于多层激励函数的QNN模型,进行数字字符识别[14-15]。
2.1 QNN模型
本文采用基于多层激励函数的QNN进行识别工作,网络结构分为输入层、隐含层和输出层。隐含层激励为多个S型函数的叠加,相邻函数间有着不同的量子间隔,因而一个隐层神经元能表示的量级和状态增多,网络模糊性增加,网络模式识别的准确率提高。线性叠加的S型函数如图1所示。
图1 量子神经网络激励函数
量子神经网络结构如图2所示,LA、LB、LC分别为输入层、隐层、输出层,其各层对应节点数m、u、n。激励函数f(x)=(1+e-x)-1,Wij、Vij分别为输入层神经元到隐层神经元、隐含层神经元到输出层神经元的连接权,θs为隐层量子间隔,(s=1,2,...,ns),φ表示输出层单元的阈值,X是网络的输入向量。
图2 量子神经网络结构
则可得隐含层节点输出函数表达式为:
输出层节点输出函数表达式为:
Cj=f(VTB-φ)
式中,β是斜率因子,W为权向量,
X为输入向量。r=1,2,....,u,j=1,...,n。
2.2 训练算法
对QNN的训练主要分为对权值和对隐层神经元的量子间隔调整。量子间隔调整使数据不确定性合理化,权值调整可以对输入数据更好地分类。
具体过程为:
1)令输入特征向量:
Xk=[x1,k,x2,k,...,xm,k],则对第k个输入,隐层第j个单元的输出为:
(4)
输出层第i个单元的输出为:
(5)
2)权值调整采用误差梯度下降算法:
设第k个输入向量对应实际目标输出:
(6)
期望输出:
Yk=[y1,k,y2,k,...,ym,k]
(7)
输出误差:
(8)
对输出误差求偏导,并结合式(4)、(5)、(8)得权值调整公式:
(9)
(10)
η为学习速率,在0~1内取值,wpj,k-1,wpj,k为输入层第p个节点与隐层第j个节点间调整前后的权值。wsq,k-1wsq,k为隐层第s个节点与输出层第q个节点间调整前后的权值。
3)量子间隔调整仍采用梯度下降法,输入同一类样本,对应输出会映射到同一量级上;输入不同类样本,对应输出会映射到不同量级上。
设对第m个类Cm的所有样本计算其隐层第P个单元的输出变化:
(11)
(12)
其中:|Cm|代表类Cm数集系数。
则:
(13)
(14)
(15)
2.3 样本库建立
对于数字值0,1,...,9,本文通过Windows自带的画图工具分别构造了50个粗细不一样的相等的数字值,共500个样本作为训练样本库,计算出他们各自的128个特征量,训练神经网络。由用户手写0,1,...,9,共10个数字值各50个做为待识别样本库。
3 系统测试与分析
经预处理及特征提取后,得到64个特征量,又网络输出采用8421编码,故网络神经元个数输入为64,输出为4,隐层采用3层激励函数,神经元个数为 15,输出层激励为S型函数,训练误差平方和不大于0.005、学习率为0.005。
图3为采集图像原始图,二值化处理效果如图4所示。
图3 采集图像原始图 图4 采集图像二值化结果
为验证算法有效性,本文首先将训练样本库中的数字样本数据分别输入到量子神经网络中进行训练,以得到合适的权值及量子间隔,再将测试样本经预处理、特征提取后送入到网络中识别,并得出识别结果。本文采用Matlab做仿真实验,例如对其中数字2,4,6进行测试的实验结果及误差分别如图5~7所示,由此可见,误差范围的确在合理范围0.005内。例如对数字2识别的均方误差为2.631189e-03,对数字2识别的均方误差为1.307583e-03。式(16)为正确识别率的公式:
(16)
图5 数字2识别结果
图6 数字4识别结果
图7 数字6识别结果
对实验结果进行统计得表1,表2为采用传统BP神经网络的识别结果。由表1可以看出本方案的识别准确率一般都在92%以上,甚至对数字1和6的识别准确率达到了100%。而从表2中可以看出,采用传统神经网络的对数字的识别准确率有不少都是在90%以下,例如,对数字3和8的识别准确率才达到88%,并且没有一个数字的识别准确率可以达到100%。这表明本文将图像处理技术与QNN相结合确实达到提高识别准确率的目的,并且采用QNN进行数字字符识别的方法比传统神经网络具有更高的识别效率,更好的适用性。仔细观察表1,表2还可以发现,这两个方法对数字3,4,5,8的识别准确率一般都偏低,这是由于这些数字的结构比其他数字复杂些,而训练样本的数目有限致使不能达到足够高的训练精度,所以会识别率会比较低。
表1 QNN识别结果统计表
表3为对数字1在不同的噪声级别下进行测试得到的正确识别率的统计结果,从中可以发现,在噪声级别相同时,QNN的识别正确率比BPNN的识别正确率明显大得多,尤其是噪声级别较高时,其效果更为明显,例如当噪声级别为0.50时,QNN比BPNN的识别正确率高20%。 这表明量子神经网络比传统神经网络具有更高的抗噪能力及可靠性。同时可以看出,无论是BPNN还是BPNN,他们的识别正确率都随着噪声级别的增大而减小,只是QNN减小的比较缓慢,所以抗噪能力强。
表2 BPNN识别结果统计表
表3 BPNN和QNN在不同噪声级
4 结论
传统识别方法一般都是单纯依靠图像处理技术,其普遍存在识别率低的问题。为了能够有效地提高字符的识别率和可靠性,本文将粗特征提取法与基于多层激励函数的QNN相结合,并引入模式识别之中,提出一种基于粗特征提取和QNN的数字字符识别算法。用粗网格特征法提取图像的特征量,既能够反映字符的整体特征,又能够在一定程度上使网络规模减小,具有一定的优越性,QNN作为一种模糊系统,能合理分配决策的不确定性数据到各模式中,从而提高识别的准确率。本文以数字字符为例,结合图像处理技术,采用Matlab编程进行进行字符识别仿真实验,通过比较发现,QNN比传统的BPNN的有更高的识别效率,抗噪能力强,可以更好地分类,隐层多层激励函数的使用使得相近字符的数据交叉问题得到有效解决。
参考文献:
[1] 陈园园,袁焕丽,室齐双.基于神经网络的手写体数字识别[J].智能计算机与应用,2016.
[2] 赵 伟,王俊宏,李 娟,等. BP网络在手写体数字识别中的应用[J].林业劳动安全2005,20(9):1073-1076.
[3] 蔡自兴,成 浩. 一种基于骨架特征和神经网络的手写字符识别技术[J]. 计算技术与自动化,2001,20(3):59-65.
[4] Qing W, Zhen C, Feng D D, et al. Match between normalization schemes and feature sets for handwritten Chinese character recognition[A].Document Analysis and Recognition,Proceedings six International Conference[C].2001:551-555.
[5] 胡钟山,楼 震,杨静宇,等. 基于多分类器组合的手写体数字识别[J].计算机学报,1999,22(14):369-374.
[6] 高津京.计算机测量与控制[M].2002.
[7] 张光建,申时全.基于Windows的计算机测量与控制软件设计[J].贵州大学学报:自然科学版, 2003, 20(4):411-413.
[8] 苟永明. 《计算机测量与控制》发展之路[J]. 今传媒, 2011, 19(6):78-79.
[9] 马智峰.浅析计算机测量控制系统的自我诊断[J].无线互联科技, 2015(17):93-94.
[10] Kak S C. On quantum neural computing [J]. Information Sciences, 1995, 83: 143-160.
[11] Behman E C, Chandrashkar V G, Wang C K. A quantum neural network computes entanglement [J]. Physical Review Letters, 2002, 16(1): 152-150.
[12] 杨淑莹.模式识别与智能计算— Matlab 技术实现[M].北京:电子工业出版社,2008.
[13] 陈艳平,赵 磊.基于8邻域编码逐像素跟 踪法的指纹细节特征提取算法[J].电脑知识 与技术:学术交流,2008,3(11):932-934.
[14] 李政广,吴黎明,等.骨架提取在IC晶片 缺陷机器视觉识别中的研究[J] .半导体技 术,2007,32(4):53-56,86.
[15] 刘春丽,吕淑静.基于混合特征的孟加拉手写体数字识别[J].计算机工程与应用, 2007,43(20):214-215.