APP下载

基于反向传播神经网络的身份证号码识别研究

2019-11-10董梦帅郄佳婷孙佳乐刘瑞峰

科技风 2019年30期
关键词:预处理BP神经网络训练

董梦帅 郄佳婷 孙佳乐 刘瑞峰

摘 要:基于反向传播算法的多层前馈网络(简称BP神经网络)在图像处理方面应用较为广泛。目前,身份证号码识别技术在图像识别领域迅猛发展,为提高识别身份证号码的速度及准确性,本文研究一种基于BP神经网络的身份证号码识别系统。首先,将身份证图像进行预处理,接着利用MATLAB对身份证号码进行定位以及分割,然后利用BP神经网络,通过调用MATLAB神经网络工具箱,设置相关参数对身份证号码进行训练、匹配数据库中的数字,最后识别并输出身份证号码。实验结果表明,基于BP神经网络的身份证号码识别正确率为95%,该系统具有较高的准确率以及鲁棒性。

关键词:BP神经网络;预处理;定位;分割;训练

中图分类号:TP391.4文献标识码:A

Research on IDNumber Recognition Based on BP Neural Network

Dong Mengshuai Qie Jiating Sun Jiale Liu Ruifeng

College of Electronical and Information Engineering,Langfang NormalUniversity HebeiLangfang 065000

Abstract:The multi layer feedforward network based on back propagation algorithm (referred to as BP neural network) is widely used in image processing.At present,ID card number identification technology is developing rapidly in the field of image recognition.In order to improve the speed and accuracy of identification of ID card numbers,this paper studies a ID number recognition system based on BP neural network.First,pre process the ID card image,then use MATLAB to locate and segment the ID number,and then use the BP neural network to set the relevant parameters to train the ID number in the database by calling the MATLAB neural network toolbox.Number,finally identify and output the ID number.The experimental results show that the recognition rate of ID card number based on BP neural network is 95%,and the system has high accuracy and robustness.

Key words:bp neural network;preprocessing;location;segmentation;training

自身份證在我国开始使用以来,身份证号码便被广泛应用于确定身份信息。在大多数情况下,采用人工方式来登记身份证号码,浪费了大量的时间和人力资源。另外,身份证号码识别技术[1]属于图像识别领域的研究,随着图像识别技术越来越普 遍,利用神经网络[2]处理图像识别技术也吸引了群众的关注。其中,BP神经网络[3]数据流的正向传播与误差函数的反向传播相互结合,大大提高了图像识别的准确性和鲁棒性。

本文将BP神经网络应用于身份证号码的识别。结合Matlab便捷的神经网络工具箱,[4]不仅避免了编程代码的复杂性,又能自动分析出网络性能。BP神经网络只需输入身份证图像,经过预处理后对字符进行训练,即可学习字符的特征,识别出身份证号码。

1 身份证号码图像的预处理

为了提高计算机处理时的运行速度和身份证号码识别的准确率,我们需要对图像进行预处理。

首先运用加权平均值的方法,对图像灰度化。

然后使用直方图法来确定二值化阈值。在灰度直方图中,前景和背景都会形成高峰,两个峰间的最低点即阈值点。根据此阈值对图像二值化。

由于图像噪声的存在,需要先对图像进行开运算,[5]来去除孤点、毛刺、消除小物体的边界,这里采用方形结构进行开运算。

2 身份证号码的定位与剪切

身份证是一种格式相对规范的证件,从整体来看,它的布局是一样的,所以要想完成身份证号码的提取,首先要提取出身份证号码在身份证上对应的区域,它位于证件下方,距离上、下、左、右边缘分别为44 mm,6 mm,29 mm,10 mm。

为了能够准确的提取出身份证号码图像,去除多余的部分,这里采用连通域标记算法[6]进行提取。连通域标记图如图1所示。在Matlab中运用imcrop函数对图像进行剪切,如图2所示。身份证号码采用水平投影和垂直投影分割的方式进行切割,得到18个字符图像。如图3所示。

3 基于Bp神经网络的字符识别

3.1 Bp神经网络

BP神经网络由三部分组成,如图4所示。分别是输入层,若干隐含层和输出层。各层通过线路连接,并且每条连接线具有相应的权重值w,通常,除了输入层之外,每个神经元还有相应的偏置b。[7]除了输入层中的神经元外,每个神经元通过加权求和得到输入值z,z通过Sigmoid函数非线性转化后得到输出值a,计算公式如公式(1)、公式(2)所示。

Zlj=∑ni=1 w ij .a l-1ij -blj(1)

alj=f(z (l) j)=11+e -z (l) j (2)

BP算法包括前向传输和逆向反馈。前向传输即从输入层=>隐含层=>输出层,逐层计算所有神经元输出值的过程。逆向反馈即误差信号的反向传播,误差信号从输出端反馈到输入端来调整网络的权值,通过反复改变网络权值使网络的输出不断逼近期望值。

3.2 模型建立

本文中Bp神经网络模型的建立分为五个步骤,如图5所示。

在参数设置方面,我们选用留一法,[8]分别将输入层、隐含层、输出层维数设置为24,35,11。在原始初始化以后,将隐含层和输出层的阈值b1、b2置0,在此基础上,采用rand函数随机产生隐含层到输出层的权重参数。

一般来说,学习率[9]选取为0.01 0.08,学习率过大可能导致系统的不稳定,但学习率过小会导致收敛太慢,需要较长的训练时间。采用变化的自适应学习率,使网络在不同的阶段设置不同的学习率,可以减少寻找最佳学习率的训练次数和时间。学习率设置为0.1,期望误差设置为0.001。

参数设置完成后,我们调用MATLAB的bpnn工具箱,利用newff函数输入参数,利用net函数对身份证字符图像进行训练。

3.3 实验结果及分析

实验时通过对大量身份证号码图像的剪切,建立训练数据库。输入需要识别的身份证原图,通过对图像的预处理及字符的切割,得到测试集。识别时,测试集和数据库相匹配,得到识别结果,如图6所示,识别出的身份证号码将按顺序排列显示,如果未能识别成功,则显示“识别错误”。MATLAB对于bp神经网络的性能如图7所示。

实验采用150张图像进行测试,成功的身份证图像共143张,准确率为95%。将身份证号码用以上方法进行分割,共得到2700个数字图片。其中有六张图像各有1个数字识别失败,有一张图像由于亮度太暗导致切割错误,数字识别的准确率达到99.1%。

训练经过四次迭代,用时0.01s,误差为0.00916,最大验证失败次数为0。网络训练次数少,既省时又准确。

4 结论

本文围绕身份证号码的识别展开研究。将Bp神经网络应用于身份证号码的识别中,该网络结构简单且训练时间短。此外,运用Matlab神经网络工具箱编写程序时,只需更改训练参数即可达到仿真效果,节省了大量的测试时间。实验结果表明,该方法识别的正确率达到95%,具有很高的准确性和鲁棒性。

参考文献:

[1]赵兴旺,李天阳,汪亮,等.基于数码设备的二代身份证号码识别系统[J].计算机与现代化,2014(6):132 136.

[2]李晶晶.基于神经网络的图像识别方法研究[D].北京:华北电力大学,2018.

[3]冯立颖.改进的BP神经网络算法及其应用[J].计算机仿真2010,27(12):172 175.

[4]崔鑫.基于神经网络工具箱的能源预测[J].科技视界,2018(13):50 52.

[5]沈阳,宓超,凤宇飞.形态学开运算在车型图像去噪中的应用[J].中国科技信息,2015(18):52 53.

[6]马益杭,占利军,谢传节,等.连通域标记算法的并行化研究[J].地理与地理信息科學,2013,29(4):67 71.

[7]付海兵,曾黄麟.BP神经网络的算法及改进[J].中国西部科技,2012,11(8):23 24.

[8]蒋文斌,彭晶,叶阁焰.深度学习自适应学习率算法研究[J].华中科技大学学报(自然科学版),2019,47(05):79 83.

[9]王雪红,刘晓青,陶海龙,等.优化BP神经网络的位移预测模型[J].水利水运工程学报,2014(02):38 42.

猜你喜欢

预处理BP神经网络训练
菌剂预处理秸秆与牛粪混合对厌氧发酵产气的影响
手术器械预处理在手术室的应用
液化天然气技术及其应用探析
浅谈C语言中预处理
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
让文言文教学迸发思维的火花
BP神经网络算法在数值预报产品释用中的应用
日媒:日自卫队将以“训练”为名“出兵”南海