91学术服务平台

您好,欢迎来到91学术官网!业务合作:91xueshu@sina.com,站长邮箱:91xszz@sina.com

发布论文

论文咨询

探析卷积神经网络的银行卡数字识别研究

  2021-10-08    95  上传者:管理员

摘要:为了快速准确的获取银行卡号信息,文章介绍了一种改进的LeNet-5神经网络结构。首先需要对原始数据预处理,通过数学形态学进行粗定位,最后通过卡行号的位置和特征进行精确定位。在卡号分割阶段,通过转换颜色空间对背景信息进行了去除,再使用了投影分析法对银行卡号分布形态做出了判断,最后使用K均值聚类算法对卡号行图像进行分割。在卡号识别阶段,先对数据进行数据增强,再用其对模型进行训练,将分割后的单独字符图像输入改进后的卷积神经网络LeNet-5对卡号进行识别,识别率达到了99.6%。

  • 关键词:
  • LeNet-5
  • 卷积神经网络
  • 数字模式
  • 网络结构
  • 银行卡识别
  • 加入收藏

随着智能手机的发展,移动支付成为生活中不可或缺的部分。据中国互联网络信息中心(CNNIC)发布的第四十五次报告,截至20203月,我国网络购物用户规模达7.10亿,较2018年底增长16.4%,占网民整体的78.6%。我国2019年的移动支付交易金额超过300万亿元,在世界排行第一。运用微信、支付宝等移动支付手段的同时[1],必然需要进行个人账号与银行卡的绑定,手动输入1619位银行卡号过程中,常发生输错或输漏的情况,需要反复核对信息,如果能通过图像识别直接扫描出银行卡号,会给人们的日常生活带来更多便利。

银行卡识别的核心是识别卡上的凹凸印刷字符,需要用到字符识别技术。从1929年陶舍克开创了光学字符识别(OpticalCharacterRecognition)[2]以来,它已经成为多个领域的研究重点,综合了图形数字学和神经网络等多学科知识,得到广泛运用。人脑对于手写字符的识别远胜于机器识别,而神经网络正是模拟人脑中的生物神经网络来进行识别工作的。神经网络的网络结构是分布式的,能够并行地处理大量信息,识别速度较高[3]。上世纪八十年代,日本科学家福岛邦彦(KunihikoFukishima)研究出了卷积神经网络的雏形,后来很多研究者也陆续发表了卷积神经网络相关的研究成果,在手写数字模式识别上卷积神经网络取得了较好的效果。卷积神经网络是一种前馈神经网络,网络层数越深,提取到的特征也会越多越抽象,卷积神经网络相邻两层之间的神经元可以通过权值共享使其具有更少的网络连接数和权值参数,从而降低模型学习的复杂度,使训练过程变得更容易,收敛速度较传统网络也更快[4],提高卷积神经网络的识别精度对于很多实际应用来说有非常重要的意义。

LeNet-5作为经典的卷积神经网络模型,对于手写字符的识别率可以达到99%。将卷积神经网络用在银行卡识别上,相对于特征提取与支持向量机或模板匹配,能达到更好的识别效果,会给移动支付提供更多便捷,也为卷积神经网络的其他方面实用化提供新的路线。


1、数据预处理和卡号行定位


银行卡的识别过程如下图1所示:

现实中银行卡的规格大多符合国际标准ISO/IEC7810中定义的ID-1标准,本文采用网上搜索素材和现实拍照的方法,收集了1084张卡号截图及标签,在卷积神经网络训练卡号识别环节,采取数据增强的方法。

1.1原始数据预处理

现在图片一般都是彩色的,为了加快处理速度,节省内存空间,将原始图像进行灰度化处理。图像灰度化处理的常见方法包括平均值法、最大值法以及加权平均值法。本文采用加权平均值法,该方法获得的图像边缘清晰,纹理明确。加权平均值法是通过对RGB值的加权计算,得出灰度值,即:

由于在人眼中,绿色反映最为强烈,蓝色最不敏感,为了取到较好效果,本文三个权值分别依次取0.299,0.587,0.144。由于拍摄条件不同,还需要对图像进行归一化处理,常见归一化图像缩放算法包括最邻近插值法、双线性插值和双三次插值[5]。本文选择双线性插值法,在x轴和y轴选取相邻四点,对于纵向和横向都进行线性插值,虽然速度相较最邻近插值法慢,但处理后的图像不会发生像素不连续现象,所得图像质量较高。双三次插值法相比双线性插值法对于图像中的高频分量保存更好,但运算量更大,耗费的时间更长。

噪声会导致图像的清晰度下降,因此除了灰度化和归一化处理,还需进行噪声处理。常用的噪声去除方法有均值滤波、高斯滤波和中值滤波,经过对比分析后,中值滤波处理后的图像边缘信息最大程度地得到了保留,边缘信息对于之后的卡号分割和识别都有着重要的作用,所以本文使用中值滤波来进行噪声处理。

1.2卡号行定位

本文通过灰度值的变化提取卡号,在字符的边缘,灰度值会剧烈变化,可以通过对银行卡号边缘的检测来提取字符信息。常用的边缘检测算子有Sobel算子、Laplacian算子和Canny算子[6],这几种边缘提取效果如下图2-4所示:

由实验可知,Canny算子在提取边缘的效果上最好,它结合了高斯函数平滑和梯度运算,对于抗噪和边缘提取做出了较好的折中。本文采用Canny算子来进行边缘提取,参照车牌识别中使用数学形态学对车牌区域进行初步定位的方法[7],对卡号行进行粗定位。对提取边缘后的银行卡图像首先进行闭运算操作,消除卡号间的空隙;然后进行开运算操作来消除噪声,最后将卡号位置变成一个连通区域。


2、卡号分割


2.1背景处理

为了更好地对卡号进行分割,需要对无关背景信息进行消除,而对银行卡号的凹凸字符信息进行保存。本文将原图像的色彩空间从RGB转为YUV[8],YUV三个分量分别代表图像的不同特征,表示颜色的UV分量中包含着大量背景信息而卡号信息则被大大弱化,需要以此对照消除Y分量中背景的干扰,留下有用的卡号信息。对YUV三分量进行canny算子边缘提取所得到的图像如下所示:

提取后的YUV三通道的图像如下图5-7所示:

如上图所示,UV边缘提取后的图像保留了大量的背景干扰花纹。将UV图像进行遍历逐像素点进行或运算,并对边缘进行膨胀处理,彻底清除背景信息。再在Y图像中进行像素点遍历,若Y图像中一个像素点存在经过膨胀处理的UV图像的边缘并集中,则判定其为背景干扰点,从Y图中将这点进行清除。经过这些处理后,卡号图像中的背景干扰信息基本大致消除,留下的是比较清洗的银行卡字符图像了(如图8所示)。

2.2卡号分割

背景处理后,需要对定位出的银行卡号图像作字符分割处理,从而得到单个字符图像。本文选择K-means聚类方法来进行字符分割,该算法高效易用[9]K-means算法本质是一个反复迭代的过程,使各类中所有数据对象到聚类中心欧氏距离的平方和最小。算法在最开始的初始中心点随机选取K值,接下来把其他的数据对象,根据和中心的距离,以最近原则分别把它们分送到对应中心所在的类中,然后根据拉格朗日定理,选择类中的数据点的均值为新的聚类中心,计算所有数据对象到其所在类的中心距离平方和,判断此时的聚类中心和距离平方总和是否有变动,若有变动则继续迭代,否则就完成迭代[10],应用K-means算法需要预先确定K值。

现实中银行卡号的位数一般是1619位,分布模式为4-4-4-46-13两种。将定位出的卡号进行归一化处理,高度统一为80像素,对遍历定位出的卡号提取边缘后的图像进行垂直投影分析,如果字符所在位置和上一个字符位置距离为30像素,可认定此处有一个空隙。若空隙的数量大于等于3,说明卡号分布模式为4-4-4-4,对于卡号行图像先进行聚类分析分割为4组,再对单组进行聚类分割为4个,最后得到16个单独的卡号字符。若缝隙数量小于3个,将卡号行图像分割为两组,对第一组分割为6个单个的卡号字符,对第二组分割为13个单个的卡号字符,最后分割出的19位和16位银行卡号。


3、基于卷积神经网络的卡号识别


本文使用以TensorFlow为后台的Keras深度学习框架进行Python卷积神经网络代码编写。TensorFlow优势在于其灵活的架构,对于异步并行计算提供了多线程、异步操作的技术支持。Keras是一个Python的神经网络领域的接口平台,以模型作为基础的机器学习链接库,将TensorFlow作为后台运行,通过设置ImageDataGenerator函数就可以运用各种数据增强技术。本文通过缩放、旋转、亮度、颜色变化来对于原始图像进行数据增强,使每张原始图像最终增强到数十张。

3.1LeNet-5卷积神经网络结构与实现

LeNet-5是一种经典的卷积神经网络结构,对于图像特征提取分类上取得了良好的效果。它共有八层网络结构,对于1084张卡号截图进行分割之后共得到3413张卡号的单字截图,将其中的2405张作为训练集,1008张作为验证集。进行数据增强后,训练集增强到76800张,测试集增强到64000张,一个batch大小为64,每个epoch中训练集迭代1200次,验证集迭代1000次,最后模型在原版LeNet-5神经网络得到的准确率为83%左右。

虽然银行卡号是印刷体,但还是会有一些残存的背景花纹干扰,在背景去除环节会导致字符的边缘损失,为了提高识别率,可以对原有的LeNet-5神经网络结构进行改进,具体步骤如下:

(1)改变输入图像尺寸和卷积核大小,将输入图像尺寸改变为41*27,第一个卷积层的卷积核大小改变为6*4,第二个卷积层的卷积核为5*3

(2)在全连接层后添加dropout层,以起到正则化的效果,防止其训练权值因为过度迎合训练集而导致泛化能力下降。

(3)激活函数采用Relu函数,减少计算量,提升了迭代速度,提升模型的稀疏性,缓解过拟合的问题。

(4)输出层使用SoftMax分类器,减少了计算量,更加有效分类。

在使用了改进的Le-Net5网络后,准确率达到了99.6%

最终对于单张银行卡识别效果如图10所示:


4、结束语


本文通过真实拍照以及网上收集素材等手段采集了大量卡号截图数据,采用数据增强手段,通过对原始图像进行缩放、旋转、剪裁、灰度变化等操作扩大数据库样本数据。在对图像进行了灰度化、归一化和噪声去除的处理后,再以数学形态学为原理初步定位了卡号行所在位置并进行精确定位。通过凹凸字符的图像特点,把图像从RGB空间转到了YUV空间,使用K聚类分析法对卡号进行切割,使用了改进的LeNet-5对切割后的单个卡号字符进行了识别,识别效果良好,该改进算法同样适用于其他研究领域。

由于银行卡正面截图涉及到隐私问题,最后搜集的卡号图像数量十分有限,虽然采用了数据增强的方法,但是模型的泛化能力还有很大提升空间。数学形态学是通过卡号行矩阵的物理形态和位置来确定的,本文研究是基于拍摄图片信息是完整情况下进行的,如果拍摄质量不好或残缺,就有误判数据信息可能,这些也是后续可以继续深入研究的问题。


文章来源:邸平.基于卷积神经网络的银行卡数字识别研究[J].电脑与信息技术,2021,29(05):7-10.

分享:

91学术论文范文

相关论文

推荐期刊

网友评论

加载更多

我要评论

网络安全技术与应用

期刊名称:网络安全技术与应用

期刊人气:1720

期刊详情

主管单位:中华人民共和国教育部

主办单位:北京大学出版社

出版地方:北京

专业分类:科技

国际刊号:1009-6833

国内刊号:11-4522/TP

邮发代号:2-741

创刊时间:2001年

发行周期:月刊

期刊开本:大16开

见刊时间:1-3个月

论文导航

查看更多

相关期刊

热门论文

【91学术】(www.91xueshu.com)属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:冀ICP备19018493号

400-069-1609

微信咨询

返回顶部

发布论文

上传文件

发布论文

上传文件

发布论文

您的论文已提交,我们会尽快联系您,请耐心等待!

知 道 了

登录

点击换一张
点击换一张
已经有账号?立即登录
已经有账号?立即登录

找回密码

找回密码

你的密码已发送到您的邮箱,请查看!

确 定