基于BP神经网络的清水江文书识别系统研究

2017-05-31 06:46赵冬香曹贤平
科技创新与应用 2017年15期
关键词:分类器BP神经网络

赵冬香 曹贤平

摘 要:文章针对部分清水江文书保管不善,破旧、污损严重,人工难以识别的特点,建立了基于BP神经网络的清水江文书识别系统,该系统以Matlab技术实现,初期所挑选的待识别汉字都是书写较标准规范的汉字图像,系统所使用的识别样本库是HCL2000国家脱机手写汉字标准数据库。测试结果表明,本系统对书写规范的汉字识别率较高,能达到85%以上,而对一些错别字、繁体字、异形字识别率较低。

关键词:BP神经网络;清水江文书;分类器

1 概述

清水江文书,又名锦屏文书,主要是指一些山林经营和木材贸易方面的民间契约和交易记录,是贵州清水江流域苗族侗族人民创造和保存的一种民间文献遗产,具有多学科研究价值,2010年2月被列入《中国档案文献遗产名录》。

但是,正因为其长期在民间保存,没有很好的外部环境,导致很多文书破旧、污损,识别困难。一直以来,都是依靠人工识别文书,效率低下,不能及时有效的再现清水江文书的价值。如何快速高效的识别出文书上的字,是一直困扰研究人员的问题,本系统就是利用脱机手写汉字识别技术,结合清水江文书自身特点,希望能研究出一种自动识别出清水江文书的方法。

虽然清水江文书的识别本身也属于脱机手写汉字的识别,但因其特殊性,即便前期进行预处理,也比一般意义上的手写汉字更难于识别。因此,本系统设计初期从清水江文书中所挑选的待识别汉字都是书写较标准规范的汉字图像。

2 基于BP神经网络的识别系统设计

BP神经网络是一种多层神经网络,通常具有三层或三层以上,其左、右各层之间每一个神经元都有连接,而上下层神经元之间无连接。

2.1 图片预处理

对输入的整个文书图像要先进行一些必要的处理,从中正确切分出单个的手写汉字图像,形成单个汉字图像阵列,以便对其进行后期的单字识别处理。因清水江文书是采用从右向左、自上而下的竖直书写方法,所以我们的采用的方法是先自右向左逐列对图像进行扫描,同时对各个扫描列的像素进行计算,得到图像垂直的投影,再利用文字每列之间存在的空白间隔,对其进行列分割,最后再依据字和字之间空白间隔的投影空隙把单个的汉字图像切分出来。

切分出的单个汉字图像还要进行二值化、去噪、大小归一化与位置归一化、细化、倾斜矫正等处理,这样处理的是目的为了提高汉字抽取特征的准确率,从而保证最终文字识别的正确率。如图2以常见的“立、卖”两个字为例,经过预处理后,文字大小一致,暗陈的背景与多余的墨迹都被处理掉了。

2.2 手写汉字的特征提取

对手写汉字识别特征提取可以有多种方法,本系统中采用了模板法,即在单个待识别汉字图形上定义一个N×N模板,将每个汉字样本的长度和宽度N等分,平均有N×N个等份,对每一份内的像素个数进行统计,除以每一份的面积总数,即得特征初值。

虽然N值越大,特征越多,区分文字的能力越强,但同时计算量增加,计算机时间变长,所需要的样本库也成倍增加,一般样本库的个数为特征数的5-10倍,本系统中特征总数为5×5=25个,每一种字就需要至少125个标准样本,如果样本数过少,不同文字之间的区分就较难。

本文实验所使用的是HCL2000汉字库,所挑选的待识别汉字都是书写标准规范的汉字。与国内外其它的数据库相比, 该数据库具有样本量大且可以实现汉字样本库和书写者信息库间互查的特点。

2.3 BP神经网络分类器设计

2.3.1 BP神经网络分类器结构设计

我们设计的BP神经网络结构有三层:输入层、隐含层、输出层,其结构图如图1所示。系统中对文字提取了5×5=25个特征作为神经网络的输入,因此,输入结点为25个,通常隐含层结点个数大约为输入层结点数的两倍,所以隐含层取50个结点,而输出层取4个结点,这4个输出为四位二进制数,代表神经网络输出的文字类型。

2.3.2 BP神经网络调整参数Matlab实现方法及实现步骤

(1)初始化输入、输出矩阵p[ ]、t[ ]。p为训练样品,t为训练样品所属的类别。

(2)在样品被训练前,需要构建BP神经网络,设置参数调整方式。Matlab的newff函数具有构建BP神经网络的功能,为选择不同的调整BP网络参数方式,只需修改newff函数最后一个参数,该参数代表调整BP神经网络连接权值和阈值的方法。本系统采用梯度下降法调整BP参数,将最后一个参数设置为′traingd′,与′traingd′有关的调整参数如表1所示:

其中,学习速率是最重要的参数,权值和阈值的调整量就是由它和负梯度的乘积决定的,学习速率越高,调整步伐越大。然而,学习速率过高,算法会变得不稳定;但是如果学习速率过低,算法收敛的时间就会增长。训练过程中,只要满足下面五个条件之一,训练就会停止:a.超过最大训练次数epochs;b.表现函数值小于误差指标

goal;c.最大失敗次数超过次数限制max_fail;d.梯度值小于要求精度min_grad;e.训练所用时间超过时间限制time。

(3)调用Matlab的train(bpnet,p,t)函数,训练BP神经网络。其中,bpnet为已经建立好的BP网络,p为训练样品,t为训练样品所属的类别。

(4)对待测试样品,调用Matlab的sim函数,利用已经训练好的BP神经网络识别。sim函数定义为:[t,x,y]=sin(mod el,timespan,options,ut);其中参数model表示网络结构名,timespan表示循环次数,options表示可选条件,ut表示输入的向量,t表示网络输出向量结构,x表示仿真状态矩阵,y表示仿真输出矩阵。

经过梯度下降法训练后,选择一个经过预处理的文字图片,用神经网络分类器进行分类,分类后再把HCL2000汉字库作为样本库进行对照,识别出该文字。实验表明,本系统对于书写较规范的汉字图片,识别率较高,比如“立”字的识别结果如图4所示。

3 结束语

脱机手写体汉字的OCR识别一直是文字识别领域无法攻克的难题,而清水江文书更因为其诞生于民间的特殊性,其中有很多不规范的简写字、繁体字、异体字甚至于错别字,使得对样本库的要求更高,本系统所使用的HCL2000数据库基本以国家制定的标准简体字为主,所以对清水江文书中大师出现的繁体字、异体字等无法准确识别。

测试表明,本系统对书写规范的汉字识别率较高,能达到85%以上,而对一些错别字、繁体字、异形字识别率较低。在后续的研究中,希望能找到一种包括大量繁体字的手写汉字库作为样本库,这样就可以解决清水江文书中繁体字没训练样本,无法识别的问题。而且,还可以考虑用遗传算法对BP神经网络进行优化,适当增加汉字特征,尽量提高识别率及减少识别时间。

参考文献

[1]龙泽江.清水江文书研究的背景意义和价值[J].原生态民族文化学刊,2012,03:23-25.

[2]高彦宇,杨扬.脱机手写体汉字识别研究综述[J].计算机工程与应用,2004,07:74-77.

[3]杨淑莹.模式识别与智能计算-Matlab技术实现[M].北京:电子工业出版社,2013(01):141-157.

[4]乌云高娃.人工神经网络的发展[J].福建电脑,2004,04:16-17.

猜你喜欢
分类器BP神经网络
学贯中西(6):阐述ML分类器的工作流程
我和哆啦A梦过一天
基于AdaBoost算法的在线连续极限学习机集成算法
一种统计分类方法的学习
就bp神经网络银行选址模型的相关研究
企业财务危机预警集成预测模型比较分析研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
BP神经网络算法在数值预报产品释用中的应用