APP下载

基于深度信念网络的社保卡号码识别方法*

2017-08-08张云伟

传感器与微系统 2017年8期
关键词:社保卡号码分类器

杨 涛, 张云伟, 杨 瑞

(昆明理工大学 信息工程与自动化学院,云南 昆明 650504)



基于深度信念网络的社保卡号码识别方法*

杨 涛, 张云伟, 杨 瑞

(昆明理工大学 信息工程与自动化学院,云南 昆明 650504)

提出了一种基于深度信念网络(DBN)的社保卡号码识别方法,通过采集社保卡图像,采用模块分割的方法,对社保卡号码区域进行行分割,利用区域生长的方法对行内号码分割,将号码图像灰度化与二值化,并归一化为32×32大小,作为深度信念网络的输入数据,训练3层受限玻尔兹曼机(RBM)来获得更加抽象的特征表达,模型的最顶层结合Softmax回归分类器对抽取后的特征进行分类。实验结果表明:其准确率高达98.3 %,与BP神经网络和支持向量机(SVM)模型相比,深度信念网络学习了数据的高层特征的同时降低了特征维数,提高了分类器的分类精度,有效提高了社保卡号码识别率。

模块分割; 深度信念网络; 受限玻尔兹曼机; Softmax回归分类器

0 引 言

社保卡号码作为社保卡唯一标识,对卡号的识别是社保卡识别的关键。文献[1]提出了一种基于字符结构特征进行识别的算法,文献[2]采用了模板匹配算法进行图像识别,杨建等人[3]运用基于并行特征组合与广义K-L变换的字符识别,Yang F等人[4]采用Laplacian和BP神经网络的方法。Stuhlsatz A等人在文献[5]中提出了特征提取在图像简单分类中的思想,上述方法均依靠人工提取特征,对于社保卡背景为网纹和激光防伪标识的字符来说,其准确性和鲁棒性并不高。文献[6]提出了基于深度信念网络的识别算法,训练受限玻兹曼机(restricted Boltzmann machine,RBM)学习特征进行数据拟合,提取图像本质特征,具有很好的识别效果。

本文提出了一种基于深度信念网络的社保卡号码识别方法,通过训练3层RBM来获得更加抽象的特征表达,在模型的最顶层结合Softmax回归分类器对抽取后的特征进行分类。

1 社保卡号码图片集的获取

1)社保卡图像采集

使用摄像头采集社保卡图像,采集到24位彩色图像,将采集的彩色图片转换成灰度图像,然后,分割出社保卡号码。设定一个社保卡号码图块分割模板,通过这个模板可以切掉图像其他的信息,只保留号码区域的信息。

图1 社保卡灰度化图像(样卡)

图2 号码分割图像

2)二值化

a.找出图像中最小和最大的灰度值,记为gmin和gmax;

b.选取灰度范围的中间值作为初始阈值T(0),然后按下式进行迭代,当T(i+1)=T(i)时迭代停止,此时,T(i+1)为最终的阈值T为

(1)

式中K取值为0.5。

二值化结果如图3所示。

图3 二值化图像

3)平滑处理

在摄像头采集图像的过程中,图像不可避免地存在噪声,采用低通滤波的方法去噪。图4为除噪后的图像。

图4 去除噪声后的图像

4)号码分割

号码分割指精确分割单个数字,采取对图4分别做水平和垂直方向的一阶差分,得到单个字符区域的图像。如图5和图6所示。

图5 号码轮廓

图6 单个号码分割

2 RBM

2.1RBM网络结构

RBM是一种二分结构的无向图模型,也是基于热动力学的能量模型,能够很好地对神经网络的权重进行初始化,其网络结构如图7所示。

图7 RBM网络结构

RBM网络分为2层:隐含层h和可视层v。隐含层由m个隐含的随机变量构成:h=[h1,h2,…,hm];可视层的构成为v=[v1,v2,…,vn],用于表示观测的数据,RBM又可视为基于能量的模型,其能量函数定义如式(2)所示

(2)

式中wi为可视单元vi与隐单元hj之间连接权重;ai为可视单元vi的偏置;bj为隐含单元hj偏置。

2.2 RBM的训练方法

根据梯度上升算法,使得参数沿着似然函数梯度,如式(3),上升的方向不断迭代更新,使似然函数取得最大值

(3)

迭代更新的表达式为

(4)

每一步采样中,先通过p(h|v(t))对h采样获得h(t),然后再通过p(h|v(t))对v采样获得v(t+1),具体过程如下:

输入:RBM(v,h),训练集合S。

输出:梯度Δwij,Δai,Δbj,i=1,…,n;j=1,2,…,m。

1)初始化Δwij,Δai=0,Δbj=0。

2)对所有的v∈S,做如下循环:

a.v(0)=v;

b.对所有的t=0,…,k-1,执行:

c.对于i=1,2,...,n,j=1,2,…,m,执行:

Δbj+=P(hj=1│v(0))-P(hj=1|v(k))。

3 DBN的训练方法与网络结构

1)充分训练第一个RBM;

2)固定第一个RBM的权重和偏移量,作为第二个RBM的输入向量;

3)充分训练第二个RBM后,将第二个 RBM堆叠在第一个RBM上方,然后依次将第三个RBM堆叠在第二个RBM上;

4)训练集中的数据有标签,那么在顶层的 RBM训练时,这个RBM的显层中除了显性神经元,还需要有代表分类标签的神经元,一起进行训练;

5)将DBN的输出层采用Softmax回归分类器,DBN被训练好后如图8。

图8 DBN网络结构

4 实验结果与分析

利用Matlab R2010a软件进行实验。将已分割出的号码图片归一化为32×32大小,作为训练样本和测试样本。共有11种图片(0,1,…,9,x),每种图片100张,合计1 100张,其中训练样本700张,测试样本400张。部分训练样本如图9所示。

图9 部分训练样本图片

将上述得到的字符图片存入num.mat文件中,然后,将num.mat文件中的数据导入到DBN(本次实验采用3层RBM组成)的第一层RBM的可视层v1中。

然后,学习得到的连接权重w1对v1进行加权重置,从而得到第一层RBM的隐含层参数h1;将h1作为第二层RBM的可视层v2的输入,再次根据学习得到的连接权值w2对v2进行权值重置,得到第二层RBM的隐层参数h2,以此类推,直到将3层RBM训练完成。节点数分别为[300,250,200]。最后顶层采用Softmax分类器,若Softmax分类器输出标签与测试样本标签一致时,表明分类结果正确,反之,则分类结果错误。

按照DBN训练方法训练。对400个测试样本进行测试,得到的结果与SVM和BP神经网络方法的实验结果作比较,得到如表1所示的结果。

表1 本文方法与SVM,BP神经网络算法的比较

由表1中可以看出:采用本文方法的识别正确率要高于使用SVM方法和BP神经网络方法。

另外,RBM的网络单元数量对实验结果也有一定的影响,本文通过选用4种不同的隐含层单元数量进行实验,得出如表2所示的结果。

表2 不同隐含层单元数量的识别结果

DBN的深度,即网络的层数,也影响着网络对数据的拟合精度,理论上网络的层数越多,复杂的参数意味着网络具有更强大的数据表达能力,但网络的深度越高,也意味着网络的训练越困难,若训练不好,得到的识别精度反而更差,目前,DBN深度的选择没有更好的理论支撑,所以,本实验选择隐含层单元层数分别为1,2,3,4这4种情况,结果如表3所示。

表3 不同DBN深度的识别结果

由表3可以看出,DBN的识别率随着隐含层单元数的增加先增大后减小,当隐含层单元层数为3时,识别率最高,层数为4时,识别率反而降低,这是因为网络深度的增加更容易陷入局部最优点,导致最终识别率不高。

5 结束语

本文提出的基于深度信念网络的社保卡号码识别方法,与传统的号码识别相比,避免了人工选取特征的局限性,利用无监督学习算法DBN自动地学习号码图像特征,并使用Softmax回归分类器对学习的特征进行分类。讨论了不同隐含层单元数量、不同DBN深度对识别的影响,与BP神经网络以及SVM相比较,实验表明:本文方法的鲁棒性和识别的准确度都很高。

[1] 范玮琦,金 灿.基于结构特征的纸币号码识别方法[J].图形图像处理,2014,50(8):118-121.

[2] 田 娟,郑郁正.模板匹配技术在图像识别中的应用[J].传感器与微系统,2008,27(1):112-114,117.

[3] 杨 建,杨静宇,高建贞.基于并行特征组合与广义K-L变换的字符识别[J].软件学报,2003,14(3):490-495.

[4] Yang F,Chen L J.A segmentation and recognition method of RMB series number based on Laplacian transformation and BP neural networks[C]∥Seventh International Symposium on Computational Intelligence and Design,2014:189-192.

[5] Stuhlsatz A,Lippel J,Zielke T.Feature extraction for simple classification[C]∥Pattern Recognition(ICPR),2010:1525-1528.

[6] 阳 武,李 倩,赵继生,等.深度信念网络在故障指示器检测中的应用[J].传感器与微系统,2015,34(7):155-157.

Research on social security card number identification method based on the deep belief network*

YANG Tao, ZHANG Yun-wei, YANG Rui

(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650504,China)

A method based on deep belief networks (DBN) is proposed to identify social security card number. Firstly, collect the social security card image and segment the card number area by the module segmentation. Secondly, split a single character of the card number using the regional growth method. Thirdly, the character image is grayed, binarized and normalized to the size of 32×32, which is taking as the input data of DBN.Training the 3 layers restricted Boltzmann machine (RBM) to obtain more abstract features. The top layer of the model combined the softmax regression classifier to classify the extracted features. Experimental results show that the accuracy rate is up to 98.3%. Compared with the BP neural network and support vector machine (SVM) model, the DBN not only learned the high-level characteristics but also reduced the dimension of features and improved the accuracy of classifier classification.Finally, it effectively improved the recognition rate of social security card number.

module segmentation; deep belief networks(DBN); restricted Boltzmann machine; softmax regression classifier

10.13873/J.1000—9787(2017)08—0059—03

2016—09—05

国家自然科学基金资助项目(51365019)

TP 391

A

1000—9787(2017)08—0059—03

杨 涛(1991-),男,硕士研究生,研究方向为计算机图像处理与模式识别。

张云伟(1972-),男,通讯作者,博士,教授,主要从事精密测控技术研究工作,E—mail:zhangyunwei72@qq.com

猜你喜欢

社保卡号码分类器
社保卡遇到问题这么办
不换第三代社保卡影响待遇发放吗
说号码 知颜色
一个号码,一个故事
猜出新号码
全国超140个城市接入电子社保卡
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
这个号码很吉祥