一种基于卷积神经网络的银行卡号自动识别方法与流程

文档序号:15852931发布日期:2018-11-07 10:25阅读:1452来源:国知局
一种基于卷积神经网络的银行卡号自动识别方法与流程

本发明涉及一种图像识别技术,尤其是涉及一种基于卷积神经网络的银行卡号自动识别方法。



背景技术:

传统的字符识别技术多使用模板匹配法,其中模板就是若干副已知的小图像,而模板匹配就是在一副大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像元素,将目标与模板逐一匹配,通过一定的算法可以在图中找到目标,或取匹配效果最佳的视为目标,确定其坐标位置,并得出识别结论。缺点在于任何干扰对准确度都有影响,原图像中的匹配目标不得存在旋转、改变大小、或花纹干扰,所以传统的模板匹配法精度低,不适用于众多彩色、立体、多字体的银行卡号。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于卷积神经网络的银行卡号自动识别方法。

本发明的目的可以通过以下技术方案来实现:

一种基于卷积神经网络的银行卡号自动识别方法,包括:

步骤s1:获取银行卡的图像;

步骤s2:对所述图像进行预处理;

步骤s3:在处理后的图像中对卡号进行定位,并提取卡号的子图像;

步骤s4:根据字符信息对所述子图像切分;

步骤s5:采用训练好的卷积神经网络分类器识别得到各切分部分的字符内容。

所述步骤s2具体包括步骤:

步骤s21:对所述图像进行灰度处理;

步骤s22:对灰度处理后的图像进行二值化处理;

步骤s23:对灰度处理后的图像进行去噪处理。

所述步骤s3具体包括:

步骤s31:对预处理后的图像,检测其边缘,得到卡面部分;

步骤s32:对卡面部分进行膨胀处理;

步骤s33:对膨胀处理的卡面部分,提取轮廓后归一化处理得到并提取卡号的子图像。

所述步骤s4具体包括:

步骤s41:对子图像进行背景检测;得到字符信息;

步骤s42:根据背景检测设定字符块区域大小,并对子图像进行切分。

所述卷积神经网络分类器的训练和识别过程包括:

步骤s51:对样本图像进行预处理;

步骤s52:将样本图像进行分类;

步骤s53:采用训练好的分类器识别得到各切分部分的字符内容。

步骤s54:根据识别结果和该样本图像的实际卡号进行纠正。

所述步骤s41具体包括:

步骤s411:将子图像由rgb转为yuv模型;

步骤s412:根据yuv模型的模型分量提取背景信息,并剔除。

与现有技术相比,本发明具有以下有益效果:

1)依次经过预处理、卡号定位、字符切分后,用训练好的卷积神经网络分类器识别具体字符内容,大大提高定位精度。

2)基于卷积神经网络的银行卡号识别技术可应用于立体或平面卡号,亦不限定卡号格式或背景,识别迅速准确高效,加强移动互联网金融便捷性的体验。

3)对于银行卡号的定位,使用多个结果梯度拟合的方法,得到最终结果,大大提高定位精度;

4)对于立体银行卡号的背景检测,使用图像rgb模型转换yuv模型的方法,提取背景元素,再剔除背景元素,解决了光线干扰、数字粘连、无法准确分割的问题。

5)对于数字字符的切分,精确设定检测区块尺寸,和较小的检测步长,由cnn分类器识别字符结果,判断结果质量,剔除干扰项,得到高精度结果。

6)使用基于搜索引擎的网络爬虫算法,获取众多目标图片,增加训练集,并扩大训练集的特征范围,提高分类器的准确性和鲁棒性。

附图说明

图1为本发明方法的主要步骤流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

一种基于卷积神经网络的银行卡号自动识别方法,如图1所示,包括:

步骤s1:获取银行卡的图像;

步骤s2:对图像进行预处理,采用灰度化、二值化、去噪声等算法对图像进行预处理,优化图像质量,简化图像元素,提高运算效率,具体包括步骤:

步骤s21:对图像进行灰度处理,具体可以采用对每一个像素点计算其灰度值来实现灰度处理;

步骤s22:对灰度处理后的图像进行二值化处理,即将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程;

步骤s23:对灰度处理后的图像进行去噪处理,图像去噪是指减少数字图像中噪声的过程,现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像,去噪过程可以采用均值滤波器、自适应维纳滤波器、中值滤波器、形态学噪声滤除器、小波去噪等。

步骤s3:在处理后的图像中对卡号进行定位,并提取卡号的子图像,具体包括:

步骤s31:对预处理后的图像,检测其边缘,得到卡面部分,边缘检测识别明显交界处,本实施例中采用canny算法检测边缘;

步骤s32:对卡面部分进行膨胀处理,可以放大内容部分;

步骤s33:对膨胀处理的卡面部分,提取轮廓后归一化处理得到标准格式的卡号子图像,并提取卡号的子图像。

步骤s4:根据字符信息对子图像切分,具体包括:

步骤s41:对子图像进行背景检测;得到字符信息,具体包括:

步骤s411:将子图像由rgb转为yuv模型;

步骤s412:根据yuv模型的模型分量提取背景信息,并剔除。

步骤s42:根据背景检测设定字符块区域大小,并对子图像进行切分。

再精确设定字符区块尺寸,和较小的识别步长,由cnn分类器识别字符结果,判断结果质量,剔除干扰项,得到高精度结果;另一方面,优化训练集,并训练cnn模型进行数字字符识别。

步骤s5:采用训练好的卷积神经网络分类器识别得到各切分部分的字符内容,其中,卷积神经网络分类器的训练和识别过程包括:

步骤s51:对样本图像进行预处理;

步骤s52:将样本图像进行分类;

步骤s53:采用训练好的分类器识别得到各切分部分的字符内容。

步骤s54:根据识别结果和该样本图像的实际卡号进行纠正。



技术特征:

技术总结
本发明涉及一种基于卷积神经网络的银行卡号自动识别方法,包括:步骤S1:获取银行卡的图像;步骤S2:对图像进行预处理;步骤S3:在处理后的图像中对卡号进行定位,并提取卡号的子图像;步骤S4:根据字符信息对子图像切分;步骤S5:采用训练好的卷积神经网络分类器识别得到各切分部分的字符内容。与现有技术相比,本发明依次经过预处理、卡号定位、字符切分后,用训练好的卷积神经网络分类器识别具体字符内容,大大提高定位精度。

技术研发人员:王敏
受保护的技术使用者:上海建桥学院
技术研发日:2018.05.30
技术公布日:2018.11.06
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1