CN113569850A - 银行卡卡号识别方法、装置、计算机设备和存储介质 - Google Patents
银行卡卡号识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113569850A CN113569850A CN202111110183.9A CN202111110183A CN113569850A CN 113569850 A CN113569850 A CN 113569850A CN 202111110183 A CN202111110183 A CN 202111110183A CN 113569850 A CN113569850 A CN 113569850A
- Authority
- CN
- China
- Prior art keywords
- card number
- bank card
- image
- number image
- neural network
- 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.)
- Pending
Links
Images
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/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及人工智能技术领域,提供一种银行卡卡号识别方法,包括:定位银行卡卡号图像的文本字符的边缘点,得到边缘点的定位坐标;根据定位坐标对银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形;提取进行图像变换后的银行卡卡号图像的特征图,包括:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的银行卡卡号图像输入至轻量级深度卷积神经网络的卷积模块层;由卷积模块层中各个串联的卷积元组对银行卡卡号图像进行卷积操作和特征归一化,提取得到银行卡卡号图像的特征图;对特征图进行拉升转换为一维特征向量,根据一维特征向量预测银行卡卡号图像上的银行卡卡号。采用本方法能够提高识别速度和准确率。
Description
技术领域
本发明属于人工智能技术领域,尤其涉及一种银行卡卡号识别方法、装置、计算机设备和存储介质。
背景技术
自2012年深度学习的概念被提出来后,深度卷积神经网络在图像检测、图像识别等领域得到了广泛的发展。同时,伴随着数字图像相关的软硬件技术在人们生活中的广泛使用,图像光学字符快速识别技术已成为当代社会图像内容信息获取的重要手段,各种深度学习模型的开创也不断促使该技术的革新。
银行卡卡号的识别作为一个典型的光学字符识别问题,其相比于其他的图像文本识别具有更简单的分类类型,仅包含0~9十种分类情况。但是,由于其格式的不统一,卡号的长短不定以及具有多种不同字体,尤其是浮雕等字体给光学字符识别技术带来了巨大的挑战。因此,采用传统的卷积神经网络对于银行卡识别来说很难达到有效的识别准确率。而采用模型庞大的基于深度的卷积神经网络虽然能够很好的拟合复杂的银行卡卡号类型,但是同时因为其庞大的模型又会带来巨大的运算量,从而难以做到实时的快速检测。
发明内容
基于此,有必要针对上述技术问题,提供一种能够快速有效且确保准确率的银行卡卡号识别方法、装置、计算机设备和存储介质。
本发明提供一种银行卡卡号识别方法,包括以下步骤:
定位银行卡卡号图像的文本字符的边缘点,得到所述边缘点的定位坐标;
根据所述定位坐标对所述银行卡卡号图像进行图像变换,将所述银行卡卡号图像中的文本行映射为正矩形;
提取进行图像变换后的所述银行卡卡号图像的特征图,包括:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的所述银行卡卡号图像输入至所述轻量级深度卷积神经网络的卷积模块层;由所述卷积模块层中各个串联的卷积元组对所述银行卡卡号图像进行卷积操作和特征归一化,提取得到所述银行卡卡号图像的特征图;
对所述特征图进行拉升转换为一维特征向量,根据所述一维特征向量预测所述银行卡卡号图像上的银行卡卡号。
在其中一个实施例中,所述定位银行卡卡号图像的文本字符的边缘点,得到所述边缘点的定位坐标,包括:
利用小型卷积神经网络对所述银行卡卡号图像进行图像文本字符边缘点的定位,得到所述边缘点的定位坐标。
在其中一个实施例中,所述根据所述定位坐标对所述银行卡卡号图像进行图像变换,将所述银行卡卡号图像中的文本行映射为正矩形,包括:
根据所述定位坐标计算形变函数参数,由所述形变函数参数构建形变函数;
利用所述形变函数对所述银行卡卡号图像进行映射变换,将所述银行卡卡号图像中的文本行拉直为正矩形。
在其中一个实施例中,所述对所述特征图进行拉升转换为一维特征向量,根据所述一维特征向量预测所述银行卡卡号图像上的银行卡卡号,包括:
利用所述轻量级深度卷积神经网络中的最大池化层将所述特征图进行特征压缩之后输入至拉升变换层,由所述拉升变换层对所述特征图进行拉升转换为一维特征向量;
将所述一维特征向量输入至所述轻量级深度卷积神经网络中的全连接层进行卡号识别预测,得到所述银行卡卡号图像上的银行卡卡号。
在其中一个实施例中,所述轻量级深度卷积神经网络的训练方法,包括:
构建卡号图像数据集,并初始化轻量级深度卷积神经网络的模型参数;
将所述卡号图像数据集输入至初始化后的轻量级深度卷积神经网络中进行训练,输出训练得到的预测结果;
将所述预测结果与对应的真实标签采用CTC计算模型的误差损失,并根据所述误差损失反向的修改所述模型参数进行迭代训练。
在其中一个实施例中,所述构建卡号图像数据集,包括:
生成包括不同样式和字体卡号的银行卡图像;
预处理所述银行卡图像,所述预处理包括倾斜偏移、图像模糊和噪声添加、尺寸调整中的一种或多种;
随机对预处理后的银行卡图像增加浮雕效果,得到卡号图像数据集。
一种银行卡卡号识别装置,包括:
定位模块,用于定位银行卡卡号图像的文本字符的边缘点,得到所述边缘点的定位坐标;
映射模块,用于根据所述定位坐标对所述银行卡卡号图像进行图像变换,将所述银行卡卡号图像中的文本行映射为正矩形;
提取模块,用于提取进行图像变换后的所述银行卡卡号图像的特征图,包括:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的所述银行卡卡号图像输入至所述轻量级深度卷积神经网络的卷积模块层;由所述卷积模块层中各个串联的卷积元组对所述银行卡卡号图像进行卷积操作和特征归一化,提取得到所述银行卡卡号图像的特征图;
预测模块,用于对所述特征图进行拉升转换为一维特征向量,根据所述一维特征向量预测所述银行卡卡号图像上的银行卡卡号。
本发明还提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储由计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的银行卡卡号识别方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的银行卡卡号识别方法的步骤。
上述银行卡卡号识别方法、装置、计算机设备和存储介质,首先通过定位银行卡卡号图像的文本字符的边缘点来得到边缘点的定位坐标,根据定位坐标对银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形。然后再提取银行卡卡号图像的特征图,将特征图拉升转换为一维特征向量后根据一维特征向量预测银行卡卡号图像上的银行卡卡号。该方法考虑到银行卡卡号不包含语义性质且长度有限,因此仅通过对图像提取特征并拉升为一维特征向量后进行卡号识别,从而能实现快速有效的卡号识别。同时,在进行特征提取之前,通过图像变换的处理将卡号文本映射为正矩形,能够解决卡号文本弯曲和形变的问题,进一步提高了识别的准确性。
附图说明
图1为一个实施例中银行卡卡号识别方法的应用环境图。
图2为一个实施例中银行卡卡号识别方法的流程示意图。
图3为一个实施例中轻量级深度卷积神经网络的结构示意图。
图4为一个实施例中卷积元组的结构示意图。
图5为一个实施例中银行卡卡号识别装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请提供的银行卡卡号识别方法,可以应用于如图1所示的应用环境中,该应用环境涉及终端102和服务器104。其中,终端102通过网络与服务器104进行通信。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和携带式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
当终端102接收到待识别的银行卡卡号图像之后,可以由终端102单独实现上述银行卡卡号识别方法。也可以由终端102将待识别的银行卡卡号图像发送给通信的服务器104,由服务器104实现上述银行卡卡号识别方法。以服务器104为例,具体的,服务器104定位银行卡卡号图像的文本字符的边缘点,得到边缘点的定位坐标;服务器104根据定位坐标对银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形;服务器104提取进行图像变换后的银行卡卡号图像的特征图;服务器104对特征图进行拉升转换为一维特征向量,根据一维特征向量预测银行卡卡号图像上的银行卡卡号。
在一个实施例中,如图2所示,提供一种银行卡卡号识别方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤S201,定位银行卡卡号图像的文本字符的边缘点,得到边缘点的定位坐标。
其中,银行卡卡号图像是指包括卡号文本的图像,文本字符是指银行卡卡号图像中的卡号字符,例如0~9这十个字符。
具体的,服务器获取到待识别的银行卡卡号图像之后,首先对该银行卡卡号图像进行文本字符边缘点的定位,通过定位来得到文本字符边缘点的坐标,所得到的坐标即为本实施例的定位坐标。
步骤S202,根据定位坐标对银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形。
其中,图像变换是指对银行卡卡号图像进行一定的加工得到所需效果的技术,本实施例通过图像变换将银行卡卡号图像中的文本行映射为正矩形。
具体的,服务器通过对银行卡卡号字符的边缘点定位得到定位坐标之后,依靠该卡号的定位坐标将银行卡卡号图像中包括银行卡卡号字符的文本行进行图像变换,将文本行映射为正矩形,从而解决卡号文本块弯曲、形变的问题。
步骤S203,提取进行图像变换后的银行卡卡号图像的特征图。
具体的,将银行卡卡号图像中的文本行映射为正矩形之后,对该银行卡卡号图像进行图像特征的提取,得到该银行卡卡号图像对应的特征图。
步骤S204,对特征图进行拉升转换为一维特征向量,根据一维特征向量预测银行卡卡号图像上的银行卡卡号。
具体的,服务器对特征图进行拉升变换,将银行卡卡号图像对应的特征图转换为一维特征向量,进而利用该一维特征相同进行卡号的预测识别,得到该银行卡卡号图像上的银行卡卡号。
上述银行卡卡号识别方法,首先通过定位银行卡卡号图像的文本字符的边缘点来得到边缘点的定位坐标,根据定位坐标对银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形。然后再提取银行卡卡号图像的特征图,将特征图拉升转换为一维特征向量后根据一维特征向量预测银行卡卡号图像上的银行卡卡号。该方法考虑到银行卡卡号不包含语义性质且长度有限,因此仅通过对图像提取特征并拉升为一维特征向量后进行卡号识别,从而能实现快速有效的卡号识别。同时,在进行特征提取之前,通过图像变换的处理将卡号文本映射为正矩形,能够解决卡号文本弯曲和形变的问题,进一步提高了识别的准确性。
在一个实施例中,步骤S201,包括:利用小型卷积神经网络对银行卡卡号图像进行图像文本字符边缘点的定位,得到边缘点的定位坐标。
具体的,对银行卡卡号图像进行文本字符边缘点的定位时,服务器调用训练后小型卷积神经网络,本实施例小型卷积神经网络可采用现有的神经网络结构,例如MobileNet、ShuffleNet、EffNet等。将银行卡卡号图像输入到训练后的小型卷积神经网络中,通过小型卷积神经网络对该银行卡卡号图像进行文本字符边缘点的点位,输出定位所得到的定位坐标。
在一个实施例中,步骤S202,包括:根据定位坐标计算形变函数参数,由形变函数参数构建形变函数;利用形变函数对银行卡卡号图像进行映射变换,将银行卡卡号图像中的文本行拉直为正矩形。
具体的,服务器根据边缘点的定位坐标进行TPS(Thin Plate Spline,样板条插值算法)计算变换矩阵将文本行拉直为正矩形,计算过程如下:
首先根据n个检测点,检测点即定位得到的定位坐标(x 1,y 1)、(x 2,y 2)……(x n,y n),计算文本图像变换的形变函数参数α、β、γ,具体计算公式如下:
其中,由于不同x,y参数对应不同的形变函数f(x,y),因此,可由已知的检测点带入到形变函数f(x,y)中计算得到形变函数参数α、β、γ,根据所得到的形变函数参数α、β、γ即可得到形变函数。另外,E(r ij )为基函数,w为映射矩阵,E(r ij )的计算公式如下:
W的计算公式过程为:首先设立矩阵L和矩阵Y,矩阵L和矩阵Y的表达式如下所示:
其中,PT为P转置矩阵,O为零矩阵,P为x,y构成的矩阵,K为基函数构成的矩阵,P矩阵和K矩阵的表达式如下:
从而可计算出映射矩阵w如下:
本实施例中,通过在提取特征之前引入TSP变换,能够解决因拍摄角度以及银行卡光面镜面反射而导致的卡号文本块弯曲、形变的问题,从而提高识别的准确率。
在一个实施例中,步骤S203,包括:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的银行卡卡号图像输入至轻量级深度卷积神经网络的卷积模块层;由卷积模块层中各个串联的卷积元组对银行卡卡号图像进行卷积操作和特征归一化,提取得到银行卡卡号图像的特征图。
具体的,银行卡卡号图像完成图像变换之后,服务器调用预先训练好的轻量级深度卷积神经网络对银行卡卡号图像进行卡号的识别。首先,将银行卡卡号图像输入至卷积模块层中。本实施例中的卷积模块层包括各个串联的卷积元组,数量优选为五个卷积元组。由该些串联的卷积元组分别对银行卡卡号图像进行卷积操作和特征归一化的操作,从而提取得到银行卡卡号图像的特征图。例如,卷积模块层中的第一个卷积元组完成卷积操作和特征归一化之后,输入给第二个卷积元组进行卷积操作和特征归一化,第二个卷积元组再输入给第三个卷积元组进行卷积操作和特征归一化……直至获取最后一个卷积元组输出的特征图为最终提取得到的特征图。本实施例中,仅采用轻量的卷积元组构成卷积模块层进行特征提取,能够提高识别的速度。
在一个实施例中,步骤S204,包括:利用轻量级深度卷积神经网络中的最大池化层将特征图进行特征压缩之后输入至拉升变换层,由拉升变换层对特征图进行拉升转换为一维特征向量;将一维特征向量输入至轻量级深度卷积神经网络中的全连接层进行卡号识别预测,得到银行卡卡号图像上的银行卡卡号。
其中,拉升变换层主要用于将输入的矩阵拉成向量,可以理解为矩阵转换为一行行连接在一起的向量。
具体的,服务器得到特征图之后,然后通过一层最大池化层对特征图进行特征压缩之后输入至拉升变换层进行拉升变换,得到拉升变换后的一维特征向量。进而将拉升变换后的一维特征向量输入到全连接层进行数据拟合,识别预测得到银行卡卡号。例如,图像通过卷积和特征压缩之后输出了一个1*40*256大小的特征图,通过拉升可变换为10240长度的特征向量送入全连接层最终经过CTC解码输出24*11的预测矩阵,根据该预测矩阵即可得到所识别预测的银行卡卡号。
在一个实施例中,如图3所示,提供一种轻量级深度卷积神经网络的网络结构示意图,根据图3所示的轻量级深度卷积神经网络对上述银行卡卡号识别方法进行说明。
具体的,参考图3,本实施例轻量级深度卷积神经网络包括卷积元组1、卷积元组2、卷积元组3、卷积元组4、卷积元组5等五个卷积元组,与卷积元组5连接的最大池化层,与最大池化层连接的拉升变换1、拉升变换2,与拉升变换2连接的全连接层,以及与全连接层连接的CTC层。其中,参考图4,提供一种卷积元组的结构示意图,本实施例卷积元组包括卷积层1、归一化层1、激活层1、卷积层2、归一化层2、激活层2以及激活层3。服务器调用该轻量级深度卷积神经网络,将银行卡卡号图像输入到卷积模块中的卷积元组1中,由卷积元组1、卷积元组2、卷积元组3、卷积元组4、卷积元组5依次分别对上一层卷积元组输出的特征图进行卷积和归一化操作,得到卷积元组5所输出的银行卡卡号图像的特征图。将该特征图输入到最大池化层进行特征压缩之后,输入到拉升变换1和拉升变换2中进行拉升转换为一维向量特征。最后,将一维向量特征输入到全连接层并经过CTC解码进行预测,得到银行卡卡号。
在一个实施例中,轻量级深度卷积神经网络的训练方法,包括:构建卡号图像数据集,并初始化轻量级深度卷积神经网络的模型参数;将卡号图像数据集输入至初始化后的轻量级深度卷积神经网络中进行训练,输出训练得到的预测结果;将预测结果与对应的真实标签采用CTC计算模型的误差损失,并根据误差损失反向的修改模型参数进行迭代训练。
首先,构建包括各式各样银行卡卡号图像的图像数据集作为训练模型的图像数据。在一个实施例中,构建卡号图像数据集包括:生成包括不同样式和字体卡号的银行卡图像;预处理银行卡图像,预处理包括倾斜偏移、图像模糊和噪声添加、尺寸调整中的一种或多种;随机对预处理后的银行卡图像增加浮雕效果,得到卡号图像数据集。
具体的,通过采集真实的银行卡图片来提取银行卡卡号图像,并提取银行卡背景图片用于模拟生成银行卡卡号图像。然后,为了模拟真实银行卡卡号的样式,通过数字图像处理技术来模拟生成真实的银行卡卡号如浮雕字体,印刷字体,其字体大小间距以及颜色随机生成。以及,对生成的银行卡卡号图像进行随机的倾斜旋转来模拟真实拍摄图像存在的角度问题。对生成的银行卡卡号图像与真实采集的银行卡背景图进行融合,其融合权重随机,使其模拟可能存在的银行卡卡号与背景颜色文理一致的情况。对融合后的银行卡卡号图像采用数字图像处理技术进行加噪,如拉升模糊、运动模糊、随机噪声点、高斯噪声等,来模拟真实拍摄情况下存在的银行卡卡号图像因为拍摄设备等影响造成的图像噪声。对加噪的图像采用数字图像处理随机进行各种直方图增强以及添加高亮,来模拟真实拍摄情况下,银行卡表面因镜面反射而导致的光斑和高亮情况。对生成的银行卡进行规整化使其长宽保持一致,本实施例以32x320为例,以便后续识别模型的批处理,并随机将生成数据按一定比例分为训练集和验证集。同时,记录其银行卡卡号作为银行卡卡号图像的真实标签,用于后续的识别模型训练。其次,对预先构建的轻量级深度卷积神经网络进行初始化,初始化其模型参数。设置模型超参,如学习率、批处理大小,最大字符串长度,最大迭代次数等,本实施例根据实际银行卡卡号情况将输出最大字符串长度设置为24。最后,图像数据和模型初始化之后,将所构建的图像数据集划分为训练集和验证集按批次输入到轻量级深度卷积神经网络进行模型的训练。在模型训练过程中,将训练得到的预测结果与对应的真实标签采用CTC计算模型的误差损失来反向修改模型的参数,再通过不断地迭代训练修改参数是模型的损失误差越来越小,当迭代次数达到最大迭代次数,或者损失误差不再下降之后,退出训练。将训练完成的轻量级深度卷积神经网络进行部署保存,后续调用进行银行卡卡号图像的识别预测。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供一种银行卡卡号识别装置,包括:定位模块501、映射模块502、提取模块503以及预测模块504。
定位模块501,用于定位银行卡卡号图像的文本字符的边缘点,得到边缘点的定位坐标。
映射模块502,用于根据定位坐标对所述银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形。
提取模块503,用于提取进行图像变换后的银行卡卡号图像的特征图。
预测模块504,用于对特征图进行拉升转换为一维特征向量,根据一维特征向量预测银行卡卡号图像上的银行卡卡号。
在一个实施例中,定位模块501还用于利用小型卷积神经网络对银行卡卡号图像进行图像文本字符边缘点的定位,得到边缘点的定位坐标。
在一个实施例中,映射模块502还用于根据定位坐标计算形变函数参数,由形变函数参数构建形变函数;利用形变函数对银行卡卡号图像进行映射变换,将银行卡卡号图像中的文本行拉直为正矩形。
在一个实施例中,提取模块503还用于调用训练后的轻量级深度卷积神经网络;将进行图像变换后的银行卡卡号图像输入至轻量级深度卷积神经网络的卷积模块层;由卷积模块层中各个串联的卷积元组对银行卡卡号图像进行卷积操作和特征归一化,提取得到银行卡卡号图像的特征图。
在一个实施例中,预测模块504还用于利用轻量级深度卷积神经网络中的最大池化层将特征图进行特征压缩之后输入至拉升变换层,由拉升变换层对特征图进行拉升转换为一维特征向量;将一维特征向量输入至轻量级深度卷积神经网络中的全连接层进行卡号识别预测,得到银行卡卡号图像上的银行卡卡号。
在一个实施例中,还包括训练模块,用于构建卡号图像数据集,并初始化轻量级深度卷积神经网络的模型参数;将卡号图像数据集输入至初始化后的轻量级深度卷积神经网络中进行训练,输出训练得到的预测结果;将预测结果与对应的真实标签采用CTC计算模型的误差损失,并根据误差损失反向的修改模型参数进行迭代训练。
在一个实施例中,训练模块还用于生成包括不同样式和字体卡号的银行卡图像;预处理银行卡图像,预处理包括倾斜偏移、图像模糊和噪声添加、尺寸调整中的一种或多种;随机对预处理后的银行卡图像增加浮雕效果,得到卡号图像数据集。
关于银行卡卡号识别装置的具体限定可以参见上文中对于银行卡卡号识别方法的限定,在此不再赘述。上述银行卡卡号识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个银行卡卡号识别方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
在一个实施例中,提供一种计算机设备,该计算机设备可以是服务器,包括处理器,存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种银行卡卡号识别方法。示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域技术人员可以理解,本实施例中所示出的计算机设备结构,仅仅是与本发明方案相关的部分结构,并不构成对本发明所应用于其上的计算机设备的限定,具体的计算机设备可以包括更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
定位银行卡卡号图像的文本字符的边缘点,得到边缘点的定位坐标;
根据定位坐标对所述银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形;
提取进行图像变换后的银行卡卡号图像的特征图;
对特征图进行拉升转换为一维特征向量,根据一维特征向量预测银行卡卡号图像上的银行卡卡号。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用小型卷积神经网络对银行卡卡号图像进行图像文本字符边缘点的定位,得到边缘点的定位坐标。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据定位坐标计算形变函数参数,由形变函数参数构建形变函数;利用形变函数对银行卡卡号图像进行映射变换,将银行卡卡号图像中的文本行拉直为正矩形。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的银行卡卡号图像输入至轻量级深度卷积神经网络的卷积模块层;由卷积模块层中各个串联的卷积元组对银行卡卡号图像进行卷积操作和特征归一化,提取得到银行卡卡号图像的特征图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用轻量级深度卷积神经网络中的最大池化层将特征图进行特征压缩之后输入至拉升变换层,由拉升变换层对特征图进行拉升转换为一维特征向量;将一维特征向量输入至轻量级深度卷积神经网络中的全连接层进行卡号识别预测,得到银行卡卡号图像上的银行卡卡号。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:构建卡号图像数据集,并初始化轻量级深度卷积神经网络的模型参数;将卡号图像数据集输入至初始化后的轻量级深度卷积神经网络中进行训练,输出训练得到的预测结果;将预测结果与对应的真实标签采用CTC计算模型的误差损失,并根据误差损失反向的修改模型参数进行迭代训练。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:生成包括不同样式和字体卡号的银行卡图像;预处理银行卡图像,预处理包括倾斜偏移、图像模糊和噪声添加、尺寸调整中的一种或多种;随机对预处理后的银行卡图像增加浮雕效果,得到卡号图像数据集。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
定位银行卡卡号图像的文本字符的边缘点,得到边缘点的定位坐标;
根据定位坐标对所述银行卡卡号图像进行图像变换,将银行卡卡号图像中的文本行映射为正矩形;
提取进行图像变换后的银行卡卡号图像的特征图;
对特征图进行拉升转换为一维特征向量,根据一维特征向量预测银行卡卡号图像上的银行卡卡号。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用小型卷积神经网络对银行卡卡号图像进行图像文本字符边缘点的定位,得到边缘点的定位坐标。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据定位坐标计算形变函数参数,由形变函数参数构建形变函数;利用形变函数对银行卡卡号图像进行映射变换,将银行卡卡号图像中的文本行拉直为正矩形。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的银行卡卡号图像输入至轻量级深度卷积神经网络的卷积模块层;由卷积模块层中各个串联的卷积元组对银行卡卡号图像进行卷积操作和特征归一化,提取得到银行卡卡号图像的特征图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用轻量级深度卷积神经网络中的最大池化层将特征图进行特征压缩之后输入至拉升变换层,由拉升变换层对特征图进行拉升转换为一维特征向量;将一维特征向量输入至轻量级深度卷积神经网络中的全连接层进行卡号识别预测,得到银行卡卡号图像上的银行卡卡号。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:构建卡号图像数据集,并初始化轻量级深度卷积神经网络的模型参数;将卡号图像数据集输入至初始化后的轻量级深度卷积神经网络中进行训练,输出训练得到的预测结果;将预测结果与对应的真实标签采用CTC计算模型的误差损失,并根据误差损失反向的修改模型参数进行迭代训练。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:生成包括不同样式和字体卡号的银行卡图像;预处理银行卡图像,预处理包括倾斜偏移、图像模糊和噪声添加、尺寸调整中的一种或多种;随机对预处理后的银行卡图像增加浮雕效果,得到卡号图像数据集。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种银行卡卡号识别方法,其特征在于,包括以下步骤:
定位银行卡卡号图像的文本字符的边缘点,得到所述边缘点的定位坐标;
根据所述定位坐标对所述银行卡卡号图像进行图像变换,将所述银行卡卡号图像中的文本行映射为正矩形;
提取进行图像变换后的所述银行卡卡号图像的特征图,包括:调用训练后的轻量级深度卷积神经网络;将进行图像变换后的所述银行卡卡号图像输入至所述轻量级深度卷积神经网络的卷积模块层;由所述卷积模块层中各个串联的卷积元组对所述银行卡卡号图像进行卷积操作和特征归一化,提取得到所述银行卡卡号图像的特征图;
对所述特征图进行拉升转换为一维特征向量,根据所述一维特征向量预测所述银行卡卡号图像上的银行卡卡号。
2.根据权利要求1所述的方法,其特征在于,所述定位银行卡卡号图像的文本字符的边缘点,得到所述边缘点的定位坐标,包括:
利用小型卷积神经网络对所述银行卡卡号图像进行图像文本字符边缘点的定位,得到所述边缘点的定位坐标。
3.根据权利要求1所述的方法,其特征在于,所述根据所述定位坐标对所述银行卡卡号图像进行图像变换,将所述银行卡卡号图像中的文本行映射为正矩形,包括:
根据所述定位坐标计算形变函数参数,由所述形变函数参数构建形变函数;
利用所述形变函数对所述银行卡卡号图像进行映射变换,将所述银行卡卡号图像中的文本行拉直为正矩形。
4.根据权利要求1所述的方法,其特征在于,所述对所述特征图进行拉升转换为一维特征向量,根据所述一维特征向量预测所述银行卡卡号图像上的银行卡卡号,包括:
利用所述轻量级深度卷积神经网络中的最大池化层将所述特征图进行特征压缩之后输入至拉升变换层,由所述拉升变换层对所述特征图进行拉升转换为一维特征向量;
将所述一维特征向量输入至所述轻量级深度卷积神经网络中的全连接层进行卡号识别预测,得到所述银行卡卡号图像上的银行卡卡号。
5.根据权利要求1所述的方法,其特征在于,所述轻量级深度卷积神经网络的训练方法,包括:
构建卡号图像数据集,并初始化轻量级深度卷积神经网络的模型参数;
将所述卡号图像数据集输入至初始化后的轻量级深度卷积神经网络中进行训练,输出训练得到的预测结果;
将所述预测结果与对应的真实标签采用CTC计算模型的误差损失,并根据所述误差损失反向的修改所述模型参数进行迭代训练。
6.根据权利要求5所述的方法,其特征在于,所述构建卡号图像数据集,包括:
生成包括不同样式和字体卡号的银行卡图像;
预处理所述银行卡图像,所述预处理包括倾斜偏移、图像模糊和噪声添加、尺寸调整中的一种或多种;
随机对预处理后的银行卡图像增加浮雕效果,得到卡号图像数据集。
7.一种银行卡卡号识别装置,其特征在于,包括:
定位模块,用于定位银行卡卡号图像的文本字符的边缘点,得到所述边缘点的定位坐标;
映射模块,用于根据所述定位坐标对所述银行卡卡号图像进行图像变换,将所述银行卡卡号图像中的文本行映射为正矩形;
提取模块,用于提取进行图像变换后的所述银行卡卡号图像的特征图;
预测模块,用于对所述特征图进行拉升转换为一维特征向量,根据所述一维特征向量预测所述银行卡卡号图像上的银行卡卡号。
8.一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器用于执行所述计算机程序时实现权利要求1-6中任意一项所述的银行卡卡号识别方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任意一项所述的银行卡卡号识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111110183.9A CN113569850A (zh) | 2021-09-23 | 2021-09-23 | 银行卡卡号识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111110183.9A CN113569850A (zh) | 2021-09-23 | 2021-09-23 | 银行卡卡号识别方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569850A true CN113569850A (zh) | 2021-10-29 |
Family
ID=78173981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111110183.9A Pending CN113569850A (zh) | 2021-09-23 | 2021-09-23 | 银行卡卡号识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569850A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103413271A (zh) * | 2013-07-18 | 2013-11-27 | 西安交通大学 | 基于局部信息的文档图像校正方法 |
CN110147787A (zh) * | 2019-05-16 | 2019-08-20 | 深圳市信联征信有限公司 | 基于深度学习的银行卡号自动识别方法及系统 |
CN110991448A (zh) * | 2019-11-27 | 2020-04-10 | 云南电网有限责任公司电力科学研究院 | 电力设备铭牌图像的文本检测方法及装置 |
CN111612009A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 文本识别方法、装置、设备和存储介质 |
-
2021
- 2021-09-23 CN CN202111110183.9A patent/CN113569850A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103413271A (zh) * | 2013-07-18 | 2013-11-27 | 西安交通大学 | 基于局部信息的文档图像校正方法 |
CN110147787A (zh) * | 2019-05-16 | 2019-08-20 | 深圳市信联征信有限公司 | 基于深度学习的银行卡号自动识别方法及系统 |
CN110991448A (zh) * | 2019-11-27 | 2020-04-10 | 云南电网有限责任公司电力科学研究院 | 电力设备铭牌图像的文本检测方法及装置 |
CN111612009A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 文本识别方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
HONGJIANZHAN,ET.AL: "DenseNet-CTC: An end-to-end RNN-free architecture for context-free string recognition", 《COMPUTER VISION AND IMAGE UNDERSTANDING》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108470320B (zh) | 一种基于cnn的图像风格化方法及系统 | |
CN108509915B (zh) | 人脸识别模型的生成方法和装置 | |
CN112396613B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
WO2017088432A1 (zh) | 图像识别方法和装置 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
US11714921B2 (en) | Image processing method with ash code on local feature vectors, image processing device and storage medium | |
CN114549913B (zh) | 一种语义分割方法、装置、计算机设备和存储介质 | |
WO2023035531A1 (zh) | 文本图像超分辨率重建方法及其相关设备 | |
US20220129689A1 (en) | Method and apparatus for face recognition robust to alignment status of the face | |
WO2021223738A1 (zh) | 模型参数的更新方法、装置、设备及存储介质 | |
JP6107531B2 (ja) | 特徴抽出プログラム及び情報処理装置 | |
CN112308866A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110969089A (zh) | 噪声环境下的轻量级人脸识别系统及识别方法 | |
WO2023124040A1 (zh) | 一种人脸识别方法及装置 | |
CN114445904A (zh) | 基于全卷积神经网络的虹膜分割方法和装置、介质和设备 | |
CN112464798A (zh) | 文本识别方法及装置、电子设备、存储介质 | |
WO2021042544A1 (zh) | 基于去网纹模型的人脸验证方法、装置、计算机设备及存储介质 | |
CN114821736A (zh) | 基于对比学习的多模态人脸识别方法、装置、设备及介质 | |
CN112749576B (zh) | 图像识别方法和装置、计算设备以及计算机存储介质 | |
CN113435210A (zh) | 社交图片文本识别方法、装置、计算机设备及存储介质 | |
CN112712468A (zh) | 虹膜图像超分辨率重建方法及计算设备 | |
CN112001285A (zh) | 一种美颜图像的处理方法、装置、终端和介质 | |
CN114239760B (zh) | 多模态模型训练以及图像识别方法、装置、电子设备 | |
CN116071472A (zh) | 图像生成方法及装置、计算机可读存储介质、终端 | |
CN113569850A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211029 |
|
RJ01 | Rejection of invention patent application after publication |