CN110569839A - 一种基于ctpn和crnn的银行卡号识别方法 - Google Patents
一种基于ctpn和crnn的银行卡号识别方法 Download PDFInfo
- Publication number
- CN110569839A CN110569839A CN201910733797.9A CN201910733797A CN110569839A CN 110569839 A CN110569839 A CN 110569839A CN 201910733797 A CN201910733797 A CN 201910733797A CN 110569839 A CN110569839 A CN 110569839A
- Authority
- CN
- China
- Prior art keywords
- bank card
- picture
- card number
- data
- ctpn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Character Discrimination (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于CTPN和CRNN的银行卡号识别方法,包括:银行卡图片数据生成,合成银行卡图片;对收集的银行卡图片进行数据增强制造大量数据集,按比例供后续训练与测试;将银行卡图片打包成tensorflow的tfrecord文件格式;通过卷积神经网络训练过程的可视化,对卷积层中关键层进行输出查看;输入银行卡图片,使用文本检测网络CTPN对银行卡的卡号区域进行定位与裁剪;对裁剪出来的银行卡号区域使用改进的端到端不定长文本CRNN模型进行识别。本发明实现了对单张以及批量银行卡卡号的识别,速度快,准确率高,模型泛化能力好,可广泛应用于移动互联网,移动支付、第三方支付。
Description
技术领域
本发明涉及深度学习、场景文本检测、自然场景文字识别技术领域,是一种基于CTPN和CRNN的银行卡号识别方法。
背景技术
现在处在互联网,信息大爆炸的时代, 移动互联网的迅速发展,移动支付、第三方支付来说成为最主流的支付方式,它们的出现让人们的支付更加方便,但是在支付过程很多场景中会涉及到银行卡的绑定与识别。所以,对银行卡卡号进行智能识别在进行银行卡服务时有着重要意义。
然而,目前主流识别银行卡号方式仍为手工输入,一大串的银行卡号输入容易使人混淆,人工识别银行卡号太过费时费力,工作效率低,所需代价较大,人工成本高。现有银行卡号识别技术,多是基于单个字符的识别,速度较慢,且识别正确率对银行卡拍摄环境有着苛刻的要求,在实际应用中都有一定的局限性。
发明内容
本发明针对现有银行卡号识别技术的不足,结合CTPN高精度文本定位、CRNN自然场景文字快速识别等优势,在此基础上再对模型进行改进,提出了一种基于CTPN(Connectionist Text Proposal Network, 自然场景文本检测)和CRNN(ConvolutionalRecursive Neural Networks, 循环卷积神经网络)的银行卡号识别系统,解决了人工识别银行卡低效、现有的单字符识别技术速度慢等问题。
本发明的技术方案如下:
一种基于CTPN和CRNN的银行卡号识别方法,其特征在于该系统的具体步骤是:
步骤一:银行卡数据收集,合成银行卡图片;
(1-1)将互联网上的网页下载到本地形成一个或联网内容的镜像备份,通过搜索引擎搜索关键词而获取到动态页面,通过运行JavaScript,把这个图片数据把它插入到网页的html标签里面,用抓包技术获取其json数据,获取图片;
(1-2)从网上获取至空白银行卡的照片,或将带有卡号的银行卡通过处理将其卡号去除,仅留下背景;
(1-3)将每张空白银行卡调整其像素值到合适大小;
(1-4)根据每张空白银行卡的特征,获取至最适合的颜色(RGB)值、银行卡号输出位置、银行卡卡号的大小、合适字体;
(1-5)根据银行卡卡号多种格式,随机生成银行卡卡号;
(1-6)将卡号输出至空白银行卡合适位置,保存图片。
步骤二:对收集的银行卡图片进行数据增强制造大量数据集,按比例供后续训练与测试;
(1)对图片进行色彩增强、抖动,对色彩的饱和度、亮度、对比度及锐度进行变换、对图像原有的像素值分布进行轻微扰动;
(2)在不损失图像信息的条件下,随机角度旋转图片,使照片更加贴近真实场景;
(3)对图片加入高斯噪声以及高斯模糊处理;
(4)给图片添加干扰,随机给图片添加随机颜色、随机长度、随机树量的线条、点;
(5)对图像的像素值进行主成分分析,降维。
步骤三:将银行卡图片打包成tensorflow的tfrecord文件格式;
利用tf.data模块开启多线程读取图片,让读取输入和训练能够同时进行,tfrecord格式是将所有数据格式转化为tf.bytes,tf.int64等三种格式中的任意一种,按数据单元打包成数据集,存储照片的像素矩阵,照片的长,宽,以及照片的标签,分别采用tf.byteslist和tf.Int64List来存储。
步骤四:通过卷积神经网络(CNN)训练过程的可视化,对卷积层中关键层进行输出查看;
调整CNN结构,减少特征提取数量,防止过拟合,具体方法包括:
CRNN原模型可很好应用于中英文字符识别,而银行卡识别只需识别数字序列,数字特征信息单一,设计7层卷积层,4层池化层的小型CNN网络,并在中间层的加入两次批量正则化,避免模型梯度弥散,加速收敛。
(1)输出显示银行卡号定位阶段的关键层信息;
所述银行卡号定位阶段的关键层信息,包括:
观察输入图像在卷积层网络中的变化,当卷积层越来越深时,形状越来越抽象模糊,损失值越来越小,对观察值进行输出显示;
(2)输出显示银行卡号识别阶段的关键层信息
所述银行卡号识别阶段的关键层信息,包括:
观察经过一层卷积后,发现有六十四通道的输出,每一通道为一个卷积核卷积提取特征后的结果,因为是浅层的卷积层,仍然可以看到数字串的轮廓信息,提取的是泛型的特征。随着卷积层数的加深,提取的特征越来越具体,可视化后人能理解的模块就很少了,对观察值进行输出显示。
步骤五:输入银行卡图片,使用文本检测网络CTPN对银行卡的卡号区域进行定位与裁剪;
(1)数据预处理,将输入图片按原宽高比例resize成w*600的大小,将三通道的图片转为单通道的灰度图,再将图片转成numpy数组的形式。
(2)搭建CTPN模型,对LSTM进行改动,将LSTM替换成了Conv1d。网络模型主要包括三个部分:卷积层、Conv1d、全连接层。
(3)预测得到的结果是密集的text proposal,把分类得到的proposals合并成文本线,确定文本检测框。每两个相近的proposal组成一个pair,合并不同的pair直到无法再合并(没有公共元素)。
(4)对合并出来的pari进行裁剪,获得银行卡卡号区域。
步骤六:对裁剪出来的银行卡号区域使用改进的端到端不定长文本CRNN模型进行识别。
(1)图片灰度化处理,将三通道的图片转为单通道的灰度图。
(2)对卡号长度比例缩放和填充, 将输入图片的尺寸固定为32*230,以适应现实生活中的银行卡真实情况。
(3)数据标签稀疏矩阵转化,对于标签数据的格式较为特殊,不是单纯的矩阵格式,而是包含下标对应关系、矩阵大小、数据标签矩阵的三元组,因此需要对标签矩阵进行处理,将其转化为tensorflow支持的数据格式。
(4)搭建模型,保持核心结构CNN+RNN+CTC转录层的思想,修改其中CNN层的一些结构,设计7层卷积层,4层池化层的小型CNN网络,并在中间层的加入两次批量正则化,避免模型梯度弥散,加速收敛。
(5)数据后处理,将对应真实值的字典数组的下标,做一个映射变换变成实际值。
附图说明
图1为基于CTPN和CRNN的银行卡号识别系统实现流程图;
图2为数据增强方法汇总图;
图3为CTPN模型算法结构图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种基于CTPN和CRNN的银行卡号识别方法,步骤如下:
一、银行卡图片数据生成,合成银行卡图片。
通过网络爬虫获取到不同背景,数字,格数,字体,凹凸纹理的银行卡图片;合成银行卡图片。
所述网络爬虫,即将互联网上的网页下载到本地形成一个或联网内容的镜像备份。根据搜索引擎搜索关键词而获取到的网页是一个动态页面,它的网页原始数据其实是没有这个图片的,通过运行JavaScript,把这个图片数据把它插入到网页的html标签里面,我们就要用抓包技术获取其json数据,获取到数据,即可下载到大量银行卡数据集,稍作筛选即可得到大量数据集。
所述合成银行卡图片,从网上获取至空白银行卡照片(无卡号),或将带有卡号的银行卡通过处理将其卡号去除,仅留下背景。通过往空白银行卡图片上输入随机数字来完成。
所述合成银行卡主要流程:
(1)将每张空白银行卡调整其大小(像素值)到合适大小;
(2)根据每张空白银行卡的特征,获取至最适合的颜色(RGB)值、银行卡号输出位置、银行卡卡号的大小、合适字体;
(3)根据银行卡卡号格式,随机生成银行卡卡号;
(4)将卡号输出至合适位置,保存图片。
二、如图2所示,对收集的银行卡图片进行数据增强制造大量数据集,按比例供后续训练与测试。
所述数据增强即对图片进行色彩增强、抖动;随机角度旋转图片;对图片加入高斯噪声以及高斯模糊处理;给图片添加干扰;
对图像的像素值进行主成分分析,降维。以生成大量银行卡数据集供后续训练与测试提高模型的泛化能力;增加噪声数据以及图片干扰,提升模型的鲁棒性。
所述对图片进行色彩增强、抖动,对颜色的数据增强,包括色彩的饱和度、亮度、对比度及锐度进行变换、对图像原有的像素值分布进行轻微扰动(即加入轻微噪声),作为新图像。
所述随机角度旋转图片,在不损失银行卡信息的情况下,选取随机角度应用到图片旋转上,所述随即角度旋转图片主要流程:
(1)获取图像尺寸、图像中心位置;
(2)随机生成图像旋转角度,获取至图像旋转矩阵,然后获取sin值和cos值;
(3)计算新图像的新边界维数;
(4)考虑到图像平移的情况,调整旋转矩阵;
(5)将旋转矩阵应用到原图像上。
所述对图片加入高斯噪声以及高斯模糊处理,给图片加入噪声以及对像素进行平滑化,通过对图像中的像素值进行平均处理,让这些像素值越来越来接近,来达到一种人尽量无法辨识出这些像素点的差别,从来产生模糊的效果。
所述给图片添加干扰,随机给图片添加随机颜色、随机长度、随机数量的线条、点。
所述主成分分析、降维的主要流程:
(1)首先按照RGB三个颜色通道计算均值和标准差;
(2)计算协方差矩阵,进行特征分解,得到特征向量和特征值,用来做PCA Jittering;
(3)根据得到的特征向量和特征值计算一组随机值作为扰动加入。
三、将银行卡图片打包成tensorflow的tfrecord文件格式。
所述制作tfrecord文件,用于将数据集打包成tensorflow的tfrecord文件格式,利用tf.data模块开启多线程读取图片,让读取输入和训练能够同时进行。tfrecord格式是将所有数据格式转化为tf.bytes,tf.int64等三种格式中的任意一种,按数据单元打包成数据集。这里需要存储照片的像素矩阵,照片的长,宽,以及照片的标签,分别采用tf.byteslist和tf.Int64List来存储。
四、通过卷积神经网络训练过程的可视化,对卷积层中关键层进行输出查看。
输出查看卷积层关键层信息,包括银行卡号定位阶段的关键层信息与银行卡号识别阶段的关键层信息。所述银行卡号定位阶段的关键层信息输出查看,输入图像在卷积层网络中的变化,当卷积层越来越深时,形状越来越抽象模糊,损失值越来越小。所述银行卡号识别阶段的关键层信息的输出查看,经过一层卷积后,有六十四通道的输出,每一通道为一个卷积核卷积提取特征后的结果,因为是浅层的卷积层,仍然可以看到数字串的轮廓信息,提取的是泛型的特征。随着卷积层数的加深,提取的特征越来越具体,可视化后人能理解的模块就很少了,因此这里可视化前两层卷积结果。
所述可视化页面输出银行卡号序列,采用html、CSS、AJAX进行异步传输银行卡图片。使用<input type=’file’>元素来上传图片,通过ajax异步传输;通过style=”display:None”来实现对于Input的元素的透明化处理,再利用自定义的button去模拟Input的点击事件,从而实现对于UI的优化,通过js获取到选择的图片文件并按比例缩放后显示到前端,实现上传图片的预览效果,再显示出银行卡号识别阶段的结果。
五、输入银行卡图片,使用文本检测网络CTPN对银行卡的卡号区域进行定位与裁剪。
所述卡号检测、定位银行卡号区域,主要流程:
(1)固定高度为600个像素点,获取原来的宽高比,按比例resize。然后调用opencv的cvtColor方法将三通道的图片转为单通道的灰度图,再将图片转成numpy数组的形式。
(2)搭建模型,模型基于CTPN算法,对LSTM进行改动,将LSTM替换成了Conv1d。
网络模型主要包括三个部分:卷积层、Conv1d、全连接层。算法结构图如图3所示。所述搭建模型实现流程:
a) 首先对输入的图像数据进行卷积处理提取特征,卷积网络结构为vgg16,Conv1_1+ReLu,输入数据N*H*W*3,输出数据N*H*W*64,卷积核64个,卷积核大小3*3,步长1,padding为1。
Conv1_2+ReLu,输入数据N*H*W*64,输出数据N*H*W*64,卷积核64个,卷积核大小3*3,步长为1,padding为1。
Maxpool1,输入数据为N*H*W*64,输出数据为N*(H/2)*(W/2)*64,将长宽变成原来的一半。
Conv2_1,输入数据N*(H/2)*(W/2)*64,输出数据N*(H/2)*(W/2)*128,卷积核128个,卷积核大小3*3,步长为1,padding为1。
Conv5_1,输入数据N*(H/16)*(W/16)*512,输出数据N*(H/16)*(W/16)*512,卷积核512个,卷积核大小3*3,步长为1,padding为1。
Conv5_2,输入数据N*(H/16)*(W/16)*512,输出数据N*(H/16)*(W/16)*512,卷积核512个,卷积核大小3*3,步长为1,padding为1。
Conv5_3,输入数据N*(H/16)*(W/16)*512,输出数据N*(H/16)*(W/16)*512,卷积核512个,卷积核大小3*3,步长为1,padding为1。
b) 在conv5上做3*3的滑动窗口,每个点结合周围3*3的区域得到一个长度为3*3*C的特征向量。输出N*H*W*(3*3*C),然后Reshape为(N*H)*W*9C。
关键代码如下:
c) 将上一步的输出进行一次conv1d操作,卷积核数量为512,大小为7,步长为1,输出数据为N*H*W*512。
d) Reshape后送入rpn网络,输出左分支:N*H*W*20,右分支:N*H*W*20,分别表示anchor的得分和坐标。
e) 根据得分滤除多余的框,根据坐标裁剪出银行卡卡号区域。
六、对裁剪出来的银行卡号区域使用改进的端到端不定长文本CRNN模型进行识别。
所述卡号识别,识别出银行卡号序列,参考经典文本识别模型CRNN。CRNN主要应用背景为文本,卡号的特征相比较简单,因此卷积层减少一层深度并多加入一次批量正则化,防止过拟合。可以识别卡号空格。
其主要流程:
(1)数据集标签和空格处理
通过卡号检测步骤已经获取到所有银行卡的卡号部分,对于每一张照片人工获取其中的银行卡号,并将文件名命名为银行卡号,空格用下划线’_’标识。
(2)数据预处理,所述数据预处理包括灰度化处理和比例缩放与填充。
所述灰度化处理,将图像rgb三通道作为灰度图读取,可以提高模型的训练速度;所述比例缩放与填充,主要流程:
a)将输入图片的尺寸固定为32*230。
b)对于图片像素宽度大于230的,我们直接将图片按比例放缩到32*230,有可能数字的长宽比发生了一些变化,但是文本的形状基本上没有改变,不影响识别结果。
c)对于图片像素宽度小于230的,我们分两种情况考虑:
A:如果图片高度大于32,说明图片是数字个数不满23个,将图片按高度调整到32的情况等比例放缩,对于不满230的宽度像素部分全部以0填充;
B:如果图片高度小于32,则先将图片按高度调整到32的情况等比例放缩,如果宽度不满足230则将不足部分全部以0填充。
(3)对标签矩阵进行处理,将其转化为tensorflow支持的数据格式。
(4)所述模型搭建,采用CRNN模型,保持其核心结构CNN+RNN+CTC转录层的思想,修改其中CNN层的一些结构,以加快其训练速度并更适应卡号识别问题。所述修改CNN层结构,即设计7层卷积层,4层池化层的小型CNN网络,并在中间层的加入两次批量正则化,避免模型梯度弥散,加速收敛。
(5)利用CTC 算法合并数字序列,得出识别卡号的结果。
Claims (7)
1.一种基于CTPN和CRNN的银行卡号识别方法,其特征在于该系统的具体步骤是:
步骤一:银行卡图片数据生成,合成银行卡图片;
步骤二:对收集的银行卡图片进行数据增强制造大量数据集,按比例供后续训练与测试;
步骤三:将银行卡图片打包成tensorflow的tfrecord文件格式;
步骤四:通过卷积神经网络训练过程的可视化,对卷积层中关键层进行输出查看;
步骤五:输入银行卡图片,使用文本检测网络CTPN对银行卡的卡号区域进行定位与裁剪;
步骤六:对裁剪出来的银行卡号区域使用改进的端到端不定长文本CRNN模型进行识别。
2.根据权利要求1所述的一种基于CTPN和CRNN的银行卡号识别方法,其特征是:所述步骤一中银行卡图片数据生成,合成银行卡图片的步骤如下:
(1-1)将互联网上的网页下载到本地形成一个或联网内容的镜像备份,通过搜索引擎搜索关键词而获取到动态页面,通过运行JavaScript,把这个图片数据把它插入到网页的html标签里面,用抓包技术获取其json数据,获取图片;
(1-2)从网上获取至空白银行卡的照片,或将带有卡号的银行卡通过处理将其卡号去除,仅留下背景;
(1-3)将每张空白银行卡调整其像素值到合适大小;
(1-4)根据每张空白银行卡的特征,获取至最适合的颜色(RGB)值、银行卡号输出位置、银行卡卡号的大小、合适字体;
(1-5)根据银行卡卡号多种格式,随机生成银行卡卡号;
(1-6)将卡号输出至空白银行卡合适位置,保存图片。
3.根据权利要求1所述的一种基于CTPN和CRNN的银行卡号识别方法,其特征是:所述步骤二中对收集的银行卡图片进行数据增强制造大量数据集,按比例供后续训练与测试的具体步骤如下:
(1)对图片进行色彩增强、抖动,对色彩的饱和度、亮度、对比度及锐度进行变换、对图像原有的像素值分布进行轻微扰动;
(2)在不损失图像信息的条件下,随机角度旋转图片,使照片更加贴近真实场景;
(3)对图片加入高斯噪声以及高斯模糊处理;
(4)给图片添加干扰,随机给图片添加随机颜色、随机长度、随机树量的线条、点;
(5)对图像的像素值进行主成分分析,降维。
4.根据权利要求1所述的一种基于CTPN和CRNN的银行卡号识别方法,其特征是:所述步骤三中将银行卡图片打包成tensorflow的tfrecord文件格式具体步骤如下:
利用tf.data模块开启多线程读取图片,让读取输入和训练能够同时进行,tfrecord格式是将所有数据格式转化为tf.bytes,tf.int64等三种格式中的任意一种,按数据单元打包成数据集,存储照片的像素矩阵,照片的长,宽,以及照片的标签,分别采用tf.byteslist和tf.Int64List来存储。
5.根据权利要求1所述的一种基于CTPN和CRNN的银行卡号识别方法,其特征是:所述步骤四中对卷积层中关键层进行输出查看包括:
(4-1)输出显示银行卡号定位阶段的关键层信息;
所述银行卡号定位阶段的关键层信息,包括:
观察输入图像在卷积层网络中的变化,当卷积层越来越深时,形状越来越抽象模糊,损失值越来越小,对观察值进行输出显示;
(4-2)输出显示银行卡号识别阶段的关键层信息
所述银行卡号识别阶段的关键层信息,包括:
随着卷积层数的加深,提取的特征越来越具体,可视化后人能理解的模块越来越少,对观察值进行输出显示。
6.根据权利要求1所述的一种基于CTPN和CRNN的银行卡号识别方法,其特征是:所述步骤五中输入银行卡图片,使用文本检测网络CTPN对银行卡的卡号区域进行定位与裁剪的具体步骤如下:
(5-1)数据预处理,将输入图片按原宽高比例resize成w*600的大小,将三通道的图片转为单通道的灰度图,再将图片转成numpy数组的形式;
(5-2)搭建CTPN模型,对LSTM进行改动,将LSTM替换成了Conv1d;网络模型主要包括三个部分:卷积层、Conv1d、全连接层;
(5-3)预测得到的结果是密集的text proposal,把分类得到的proposals合并成文本线,确定文本检测框;每两个相近的proposal组成一个pair,合并不同的pair直到无法再合并;
(5-4)对合并出来的pair进行裁剪,获得银行卡卡号区域。
7.根据权利要求1所述的一种基于CTPN和CRNN的银行卡号识别方法,其特征是:所述步骤六中对裁剪出来的银行卡号区域使用端到端不定长文本CRNN模型进行识别的具体步骤如下:
(6-1)图片灰度化处理,将三通道的图片转为单通道的灰度图;
(6-2)对卡号长度比例缩放和填充, 将输入图片的尺寸固定为32*230,以适应现实生活中的银行卡真实情况;
(6-3)数据标签稀疏矩阵转化,对标签矩阵进行处理,将其转化为tensorflow支持的数据格式;
(6-4)搭建模型,保持核心结构CNN+RNN+CTC转录层的思想,修改其中卷积神经网络层的结构,设计7层卷积层,4层池化层的小型卷积神经网络,并在中间层的加入两次批量正则化,避免模型梯度弥散,加速收敛;
(6-5)数据后处理,将对应真实值的字典数组的下标,做一个映射变换变成实际值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910733797.9A CN110569839B (zh) | 2019-08-09 | 2019-08-09 | 一种基于ctpn和crnn的银行卡号识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910733797.9A CN110569839B (zh) | 2019-08-09 | 2019-08-09 | 一种基于ctpn和crnn的银行卡号识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569839A true CN110569839A (zh) | 2019-12-13 |
CN110569839B CN110569839B (zh) | 2023-05-16 |
Family
ID=68774921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910733797.9A Active CN110569839B (zh) | 2019-08-09 | 2019-08-09 | 一种基于ctpn和crnn的银行卡号识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569839B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191695A (zh) * | 2019-12-19 | 2020-05-22 | 杭州安恒信息技术股份有限公司 | 一种基于深度学习的网站图片篡改检测方法 |
CN111209613A (zh) * | 2020-01-10 | 2020-05-29 | 杭州涂鸦信息技术有限公司 | 一种智能产品的快速设计方法及系统 |
CN111414911A (zh) * | 2020-03-23 | 2020-07-14 | 湖南信息学院 | 基于深度学习的卡号识别方法及系统 |
CN111814598A (zh) * | 2020-06-22 | 2020-10-23 | 吉林省通联信用服务有限公司 | 一种基于深度学习框架的财务报表自动识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034264A (zh) * | 2018-08-15 | 2018-12-18 | 云南大学 | 交通事故严重性预测csp-cnn模型及其建模方法 |
CN109460767A (zh) * | 2018-10-23 | 2019-03-12 | 福州大学 | 基于规则的凸印银行卡卡号分割与识别方法 |
CN109697440A (zh) * | 2018-12-10 | 2019-04-30 | 浙江工业大学 | 一种身份证信息提取方法 |
CN109919147A (zh) * | 2019-03-04 | 2019-06-21 | 上海宝尊电子商务有限公司 | 服装吊牌图像中文本识别的方法 |
CN110008909A (zh) * | 2019-04-09 | 2019-07-12 | 浩鲸云计算科技股份有限公司 | 一种基于ai的实名制业务实时稽核系统 |
-
2019
- 2019-08-09 CN CN201910733797.9A patent/CN110569839B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034264A (zh) * | 2018-08-15 | 2018-12-18 | 云南大学 | 交通事故严重性预测csp-cnn模型及其建模方法 |
CN109460767A (zh) * | 2018-10-23 | 2019-03-12 | 福州大学 | 基于规则的凸印银行卡卡号分割与识别方法 |
CN109697440A (zh) * | 2018-12-10 | 2019-04-30 | 浙江工业大学 | 一种身份证信息提取方法 |
CN109919147A (zh) * | 2019-03-04 | 2019-06-21 | 上海宝尊电子商务有限公司 | 服装吊牌图像中文本识别的方法 |
CN110008909A (zh) * | 2019-04-09 | 2019-07-12 | 浩鲸云计算科技股份有限公司 | 一种基于ai的实名制业务实时稽核系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191695A (zh) * | 2019-12-19 | 2020-05-22 | 杭州安恒信息技术股份有限公司 | 一种基于深度学习的网站图片篡改检测方法 |
CN111191695B (zh) * | 2019-12-19 | 2023-05-23 | 杭州安恒信息技术股份有限公司 | 一种基于深度学习的网站图片篡改检测方法 |
CN111209613A (zh) * | 2020-01-10 | 2020-05-29 | 杭州涂鸦信息技术有限公司 | 一种智能产品的快速设计方法及系统 |
CN111209613B (zh) * | 2020-01-10 | 2023-05-12 | 杭州涂鸦信息技术有限公司 | 一种智能产品的快速设计方法及系统 |
CN111414911A (zh) * | 2020-03-23 | 2020-07-14 | 湖南信息学院 | 基于深度学习的卡号识别方法及系统 |
CN111814598A (zh) * | 2020-06-22 | 2020-10-23 | 吉林省通联信用服务有限公司 | 一种基于深度学习框架的财务报表自动识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110569839B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569839B (zh) | 一种基于ctpn和crnn的银行卡号识别方法 | |
CN109726657B (zh) | 一种深度学习场景文本序列识别方法 | |
CN111027562B (zh) | 基于多尺度cnn和结合注意力机制的rnn的光学字符识别方法 | |
WO2018223994A1 (zh) | 中文打印字符图像合成方法及装置 | |
CN111414906A (zh) | 纸质票据图片的数据合成与文本识别方法 | |
CN110766020A (zh) | 一种面向多语种自然场景文本检测与识别的系统及方法 | |
CN112070649B (zh) | 一种去除特定字符串水印的方法及系统 | |
CN113505772B (zh) | 基于生成对抗网络的车牌图像生成方法及系统 | |
CN110880000A (zh) | 图片文字定位方法、装置、计算机设备和存储介质 | |
CN114140786B (zh) | 基于HRNet编码与双分支解码的场景文本识别方法 | |
CN110991403A (zh) | 一种基于视觉深度学习的文档信息碎片化抽取方法 | |
CN113963232A (zh) | 一种基于注意力学习的网络图数据提取方法 | |
CN114155541A (zh) | 一种文字识别方法、装置、终端设备及存储介质 | |
CN114708591B (zh) | 基于单字连接的文档图像中文字符检测方法 | |
CN114359739B (zh) | 目标识别方法及装置 | |
JP7528715B2 (ja) | 書体設定装置、書体設定方法及びコンピュータプログラム | |
CN114943204A (zh) | 一种基于生成对抗网络的中文字体合成的方法 | |
KR100874747B1 (ko) | 화소 이동 문서 영상 조합 인식 방법을 이용한 카메라 문자인식 장치 및 방법 | |
CN113011132A (zh) | 竖排文字识别方法、装置、计算机设备和存储介质 | |
CN113065547A (zh) | 基于字符监督信息的弱监督文本检测方法 | |
Kalashnikova et al. | Identification of Natural Objects Using Deep Learning and Additional Data Preprocessing | |
CN116311275B (zh) | 一种基于seq2seq语言模型的文字识别方法及系统 | |
WO2024130704A1 (zh) | 基于神经网络的文本抠图方法、装置、设备以及存储介质 | |
CN117351032B (zh) | 一种印章去除方法和系统 | |
CN113947530B (zh) | 一种基于相对显著性检测的图像重定向方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |