CN110796146A - 一种银行卡卡号识别方法、模型训练方法及装置 - Google Patents
一种银行卡卡号识别方法、模型训练方法及装置 Download PDFInfo
- Publication number
- CN110796146A CN110796146A CN201910963018.4A CN201910963018A CN110796146A CN 110796146 A CN110796146 A CN 110796146A CN 201910963018 A CN201910963018 A CN 201910963018A CN 110796146 A CN110796146 A CN 110796146A
- Authority
- CN
- China
- Prior art keywords
- card number
- bank card
- classification
- character
- area
- 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
- 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
- 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
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种银行卡卡号识别方法、模型训练方法及装置,该方法通过将银行卡卡号区域图像进行切割获得单个卡号字符区域图片,按序通过预先训练好的分类模型将每一单个卡号字符区域图片按照0~9及背景进行分类,并剔除背景类图片,最后按序输出分类结果以完成银行卡卡号的识别,其针对切割后的单个银行卡字符进行识别,在分类过程中干扰较小,分类精度较高,并且,模型在进行分类时,有效剔除了背景类图片,以确保所获得的分类结果均位于0~9之间,并不包括非数字部分,由此进一步提高识别精度,用户体验较佳;另外,其在模型训练时,通过小量样本,基于现有卷积网络模型,通过迁移学习来训练分类模型,训练过程简单,且获得的模型精度高,稳定性佳。
Description
技术领域
本发明涉及光学字符识别领域,特别涉及一种银行卡卡号识别方法、模型训练方法及装置。
背景技术
线上支付已经成为大多数人的首选,而很多具有支付功能的金融机构APP会需要用户绑定银行卡。手动地输入银行卡号,不仅耗时、繁琐,还容易出错。因此现在很多APP辅助设置银行卡卡号识别装置,该装置中包括银行卡卡号位置识别装置,用于银行卡卡号位置的定位,对银行卡进行扫描,通过OCR功能,即可自动定位银行卡卡号位置。
目前在进行银行卡卡号识别时,通常将银行卡卡号区域作为整体,通过基于模板匹配算法、基于神经网络的字符识别算法、基于特征统计的识别算法等方法进行卡号识别,由于不同的银行卡卡号区域长度不同、卡号位数不同、卡号之间排布方式不同,甚至有的银行卡为与背景颜色相同的凸面卡号,因此在上述处理过程中,将银行卡卡号区域整个作为处理对象时,造成字符识别错误,精度不高的缺陷,且目前也没有通用性较佳的网络模型,能实现在少量样本的基础上,快速训练获得精度较高的卡号识别模型。
发明内容
为解决上述技术问题,本发明提供了一种银行卡卡号识别方法、模型训练方法及装置,在进行银行卡卡号识别时精度较高,且其采用的模型训练过程简单。
本发明实施例提供的技术方案如下:
第一方面,提供一种银行卡卡号识别方法,所述方法至少包括如下步骤:
采集一银行卡卡号区域图像;
将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片;
将所有所述单个卡号字符区域图片输入预先训练的分类模型,依序逐个对所述单个卡号字符区域图片进行分类;
按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别;
其中,对所述单个卡号字符区域图片进行分类包括:
在所述单个卡号字符区域图片输入预先训练的分类模型后,将所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;
剔除背景类图片。
在一些实施方式中,当银行卡号为凹凸字符时,将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,具体包括如下子步骤:
通过对所述银行卡卡号区域图像进行RGB与YUV颜色模型的转换,消除背景花纹,以对所述银行卡卡号区域图像进行预处理;
进行粗切割,将预处理后的银行卡卡号区域图像中字符边缘进行垂直投影,根据投影图获取粗切割后的银行卡卡号区域图像;
判断所述粗切割后的银行卡卡号区域图像中是否仍存在字符粘连,若是,则通过粗切割结果获取单个字符平均长度,判断需要进行细切割的区域,进行细切割;
按序输出切割后的至少n个单个卡号字符区域图片。
在一些实施方式中,当银行卡为实体字符时,将将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,具体包括如下子步骤:
对所述银行卡卡号区域图像进行canny边缘检测,获得检测后的银行卡卡号区域图像;
将所述边缘检测后的银行卡卡号区域图像进行垂直投影,根据投影图获取切割后的银行卡卡号区域图像;
按序输出切割后的至少n个单个卡号字符区域图片。
在一些实施方式中,所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;剔除背景类图片,具体包括如下子步骤:
通过所述分类模型,对单个卡号字符区域图片打标签,所述标签包括数字0~9及背景中的一种;
根据所述打标结果,将所述单个银行卡字符区域图片按照标签内容进行分类,类型包括数字分类类型0~9及背景共10类;
判断所述单个卡号字符区域图片类型,且当其类型为背景类时,将所述单个卡号字符区域图片剔除。
在一些实施方式中,所述方法还包括预先训练所述分类模型,具体包括如下子步骤:
获取若干银行卡卡号区域图像样本及若干银行卡背景图像样本;
将每一所述银行卡卡号区域图像样本进行切割,获得若干单个卡号字符区域样本图;
将所述若干单个卡号字符区域样本图按照其对应的数字进行分类,并将所述若干银行卡背景图像样本标注为背景类,以获得分类结果;
选取一卷积神经网络模型,基于所述若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型。
在一些实施方式中,所述通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型时,具体为:
通过固定所述卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
另一方面,还提供一种银行卡卡号识别模型的训练方法,所述训练方法至少包括如下步骤:
获取若干银行卡卡号区域图像样本及若干银行卡背景图像样本;
将每一所述银行卡卡号区域图像样本进行切割,获得若干单个卡号字符区域样本图;
将所述若干单个卡号字符区域样本图按照其对应的数字进行分类,并将所述若干银行卡背景图像样本标注为背景类,以获得分类结果;
选取一卷积神经网络模型,基于所述若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型。
在一些实施方式中,所述通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型时,具体为:
通过固定所述卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
另一方面,还提供一种基于银行卡卡号识别方法的银行卡卡号识别装置,其特征在于,所述装置至少包括:
采集模块:用于采集一银行卡卡号区域图像;
切割模块:用于将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片;
输入模块:用于将所有所述单个卡号字符区域图片输入预先训练的分类模型;
分类模型模块:用于依序逐个对所述单个卡号字符区域图片进行分类;
输出模块:用于按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别;
其中,对所述单个卡号字符区域图片进行分类包括:
在所述单个卡号字符区域图片输入预先训练的分类模型后,将所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;
剔除背景类图片。
在一些实施方式中,所述分类模型模块至少包括:
打标单元:用于通过所述分类模型,对单个卡号字符区域图片打标签,所述标签包括数字0~9及背景中的一种;
分类单元:用于根据所述打标结果,将所述单个银行卡字符区域图片按照标签内容进行分类,类型包括数字分类类型0~9及背景共10类;
第一判断单元:用于判断所述单个卡号字符区域图片的类型是否为背景类;
剔除单元:用于当所述单个卡号字符区域图片的类型为背景类时,将所述单个卡号字符区域图片剔除。
在一些实施方式中,所述切割模块至少包括:
颜色模型转换单元:用于当银行卡号为凹凸字符时,通过对所述银行卡卡号区域图像进行RGB与YUV颜色模型的转换,消除背景花纹,以对所述银行卡卡号区域图像进行预处理;
粗切割单元:用于进行粗切割,将预处理后的银行卡卡号区域图像中字符边缘进行垂直投影,根据投影图获取粗切割后的银行卡卡号区域图像;
第二判断单元:用于判断粗切割后的银行卡区域图像中是否仍存在字符粘连;
细切割单元:用于当粗切割后的银行卡区域图像中仍存在字符粘连时,通过粗切割结果获取单个字符平均长度,判断需要进行细切割的区域,进行细切割;
输出单元:用于按序输出切割后的若干个单个卡号字符区域图片。
在一些实施方式中,所述切割模块还包括:
边缘检测单元:用于当银行卡为实体字符时,对所述银行卡卡号区域图像进行canny边缘检测,获得检测后的银行卡卡号区域图像;
第一切割单元:用于将所述边缘检测后的银行卡卡号区域图像进行垂直投影,根据投影图获取切割后的银行卡卡号区域图像。
在一些实施方式中,所述装置还包括模型训练模块,所述模型训练模块至少包括:
分类单元:用于将若干切割获得单个卡号字符区域样本图按照数字分类类型0~9进行分类,并将所述若干银行卡背景图像样本标注为背景类,以获得分类结果;
模型训练单元:用于选取一卷积神经网络模型,基于所述若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型。
在一些实施方式中,模型训练单元在训练分类模型时,具体为:
通过固定所述卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
本发明相比现有技术而言的有益效果在于:
本发明提供一种银行卡卡号识别方法及装置,其通过将银行卡卡号区域图像进行切割获得单个卡号字符区域图片,按序通过预先训练好的分类模型将每一单个卡号字符区域图片按照0~9及背景进行分类,并剔除背景类图片,最后按序输出分类结果以完成银行卡卡号的识别,该识别方式是基于分类模型完成的对切割后的单个银行卡字符进行的识别,在分类过程中干扰较小,分类精度较高,并且,模型在进行分类时,有效剔除了背景类图片,以确保所获得的分类结果均位于0~9之间,而并不包括非数字部分,由此进一步提高识别精度,用户体验较佳;
进一步,本发明还保护一种银行卡卡号识别模型的训练方法,其基于训练好的卷积神经网络模型(如VGG19或VGG16等),以及人工标注完成小量银行卡样本,通过迁移学习的方法,训练分类模型,在训练过程中采用固定前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型,如此,可实现在已有的具有相似功能的卷积神经网络模型基础上,仅通过小量的样本,实现新模型的训练,缩短模型训练时间,且训练获得的模型较为稳定,精度较高;
本申请的方案只要解决其中任一技术问题即可。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一中的一种银行卡卡号的识别方法的流程图;
图2是本发明实施例一中的一种银行卡卡号识别模型的训练方法的流程图;
图3是本发明实施例二中的一种银行卡卡号识别装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本实施例提供一种银行卡卡号识别方法,属于光学字符识别领域。该方法至少包括如下步骤:
S1、采集一银行卡卡号区域图像。
本实施例中,银行卡卡号区域图像,可以是人工通过图像处理软件进行区域截取获得,也可以基于银行卡OCR技术,通过建立银行卡卡号区域定位模型获得。经过该步骤获得银行卡卡号区域图像通常为矩形区域图像。
S2、将银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,n为当前银行卡卡号的最少字符数。
不同类型、不同银行所属的银行卡的卡号在卡号字符数、卡号内容设置上具有一定差别。就卡号字符书而言,有16位、17位、19位不等,因此将银行卡卡号区域图像进行切割成单个字符区域图时,至少切割成n(n=16)个单个卡号字符区域图片。
另外,部分银行卡的卡号为凹凸字符,部分为实体字符,凹凸字符与实体字符在光学字符识别时,存在着很大的差异,特别是在将银行卡卡号区域图像进行切割成单个卡号字符区域图片,很容易因为数字结构差异大及距离间隔小,造成识别错误而切割不准确,造成切割后的单个区域图片中实际包括两个字符。如此将影响后续卡号识别。因此,在切割时,针对银行卡号为凹凸字符或实体字符,可分别采用如下不同方法:
a、当银行卡号为凹凸字符时,将银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,具体包括如下子步骤:
S2a1、通过对银行卡卡号区域图像进行RGB与YUV颜色模型的转换,消除背景花纹,以对银行卡卡号区域图像进行预处理;
S2a2、进行粗切割,将预处理后的银行卡卡号区域图像中字符边缘进行垂直投影,根据投影图获取粗切割后的银行卡卡号区域图像;
S2a3、判断粗切割后的银行卡卡号区域图像中是否仍存在字符粘连,若是,则通过粗切割结果获取单个字符平均长度,判断需要进行细切割的区域,进行细切割;
S2a4、按序输出切割后的至少n个单个卡号字符区域图片。
b、当银行卡为实体字符时,将银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,具体包括如下子步骤:
S2b1、对银行卡卡号区域图像进行canny边缘检测,获得检测后的银行卡卡号区域图像;
S2b2、将边缘检测后的银行卡卡号区域图像进行垂直投影,根据投影图获取切割后的银行卡卡号区域图像;
S2b3、按序输出切割后的至少n个单个卡号字符区域图片。
S3、将所有单个卡号字符区域图片输入预先训练的分类模型,依序逐个对单个卡号字符区域图片进行分类。
在一些实施方式中,在对单个卡号字符区域图片进行分类时,包括:
单个卡号字符区域图片按照0~9及背景进行分类,数字分类类型为0~9中的一个;
剔除背景类图片。
上述分类处理过程具体包括如下子步骤:
S31、通过分类模型,对单个卡号字符区域图片打标签,标签包括数字0~9及背景中的一种;
S32、根据打标结果,将单个银行卡字符区域图片按照标签内容进行分类,类型包括数字分类类型0~9及背景共10类;
S33、判断单个卡号字符区域图片类型,且当其类型为背景类时,将单个卡号字符区域图片剔除。
示例性的,在对单个卡号字符区域图片打标签及分类过程中,为了尽量减小计算量,通常将单个银行卡字符区域图片中相应数字字符为1的,标注的标签为1,在后续分类时对应的数字分类类型为1,并以此类推。因此,对于卡号中0~9这10个数字字符,经过打标及分类后,获得的数字分类类型为相应的0~9这十个类型。并且,当单个卡号字符区域图片为非数字部分时,获得的分类类型为背景类,装置将自动将背景类单个卡号字符区域图片剔除,不做输出。
S4、按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别。
为了避免银行卡卡号识别出现顺序错误,通常在输入、处理及输出过程中设置一定的时间参数按序进行。
因此,本实施例提供一种银行卡卡号识别方法及装置,其通过将银行卡卡号区域图像进行切割获得单个卡号字符区域图片,按序通过预先训练好的分类模型将每一单个卡号字符区域图片按照0~9及背景进行分类,并剔除背景类图片,最后按序输出分类结果以完成银行卡卡号的识别,该识别方式是基于分类模型完成的对切割后的单个银行卡字符进行的识别,在分类过程中干扰较小,分类精度较高,并且,模型在进行分类时,有效剔除了背景类图片,以确保所获得的分类结果均位于0~9之间,而并不包括非数字部分,由此进一步提高识别精度,用户体验较佳。
如图2所示,在一些实施方式中,该银行卡卡号识别方法还包括步骤:S0、预先训练分类模型,该步骤具体包括如下子步骤:
S01、获取若干银行卡卡号区域图像样本及若干银行卡背景图像样本;
S02、将每一银行卡卡号区域图像样本进行切割,获得若干单个卡号字符区域样本图;
S03、将若干单个卡号字符区域样本图按照其对应的数字进行分类,并将若干银行卡背景图像样本标注为背景类,以获得分类结果;
S04、选取一卷积神经网络模型,基于若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型。
其中,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型时,具体为:
通过固定卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
本实施例中,可使用的用于迁移学习的模型包括目前较为成熟的XceptionNet、VGG19或VGG16等网络结构,然而这些现有的模型通常用于图像识别,且识别准确率较高,在用于银行卡卡号识别时,需要在其中一种网络结构基础上,通过迁移学习来获得可用于银行卡卡号识别的模型,且在迁移学习过程中,仅固定某一卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
示例性的,当采用VGG19网络结构时,通常采用固定前三层的卷积层的参数不变,在训练中使用梯度下降法更新后续卷积层和全连接的参数,至最终损失函数小于0.00001后停止训练,获得分类模型。
因此,本实施例还保护一种银行卡卡号识别模型的训练方法,其基于训练好的卷积神经网络模型(如VGG19或VGG16等),以及人工标注完成小量银行卡样本,通过迁移学习的方法,训练分类模型,在训练过程中采用固定前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型,如此,可实现在已有的具有相似功能的卷积神经网络模型基础上,仅通过小量的样本,实现新模型的训练,缩短模型训练时间,且训练获得的模型较为稳定,精度较高。
实施例二
为执行上述实施例一中的一种定位银行卡卡号位置方法,本实施例提供一种银行卡卡号定位装置100。
图3为该一种银行卡卡号识别装置的结构示意图,如图3所示,该装置100至少包括:
采集模块1:用于采集一银行卡卡号区域图像;
切割模块2:用于将银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片;
输入模块3:用于将所有单个卡号字符区域图片输入预先训练的分类模型;
分类模型模块4:用于依序逐个对单个卡号字符区域图片进行分类;
输出模块5:用于按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别;
其中,对分类模型模块在对单个卡号字符区域图片进行分类包括:
在单个卡号字符区域图片输入预先训练的分类模型后,将所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;
剔除背景类图片。
在一些实施方式中,分类模型模块4至少包括:
打标单元41:用于通过所述分类模型,对单个卡号字符区域图片打标签,所述标签包括数字0~9及背景中的一种;
分类单元42:用于根据所述打标结果,将所述单个银行卡字符区域图片按照标签内容进行分类,类型包括数字分类类型0~9及背景共10类;
第一判断单元43:用于判断单个卡号字符区域图片的类型是否为背景类;
剔除单元44:用于当单个卡号字符区域图片的类型为背景类时,将单个卡号字符区域图片剔除。
在一些实施方式中,切割模块2至少包括:
颜色模型转换单元21:用于当银行卡号为凹凸字符时,通过对银行卡卡号区域图像进行RGB与YUV颜色模型的转换,消除背景花纹,以对银行卡卡号区域图像进行预处理;
粗切割单元22:用于进行粗切割,将预处理后的银行卡卡号区域图像中字符边缘进行垂直投影,根据投影图获取粗切割后的银行卡卡号区域图像;
第二判断单元23:用于判断粗切割后的银行卡区域图像中是否仍存在字符粘连;
细切割单元24:用于当粗切割后的银行卡区域图像中仍存在字符粘连时,通过粗切割结果获取单个字符平均长度,判断需要进行细切割的区域,进行细切割;
输出单元25:用于按序输出切割后的若干个单个卡号字符区域图片。
在一些实施方式中,切割模块2还包括:
边缘检测单元26:用于当银行卡为实体字符时,对银行卡卡号区域图像进行canny边缘检测,获得检测后的银行卡卡号区域图像;
第一切割单元27:用于将边缘检测后的银行卡卡号区域图像进行垂直投影,根据投影图获取切割后的银行卡卡号区域图像。
在一些实施方式中,该装置100还包括模型训练模块6,模型训练模块6至少包括:
分类单元61:用于将若干切割获得单个卡号字符区域样本图按照数字分类类型0~9进行分类,并将若干银行卡背景图像样本标注为背景类,以获得分类结果;
模型训练单元62:用于选取一卷积神经网络模型,基于若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练卷积神经网络模型,获得分类模型。
在一些实施方式中,模型训练单元62在训练分类模型时,具体为:通过固定卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
需要说明的是:上述实施例提供的一种银行卡卡号识别装置在触发银行卡卡号识别业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种银行卡卡号识别装置与银行卡卡号识别方法的实施例属于同一构思,即该装置是基于该方法的,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种银行卡卡号识别方法,其特征在于,所述方法至少包括如下步骤:
采集一银行卡卡号区域图像;
将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,n为当前银行卡卡号的最少字符数;
将所有所述单个卡号字符区域图片输入预先训练的分类模型,依序逐个对所述单个卡号字符区域图片进行分类;
按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别;
其中,对所述单个卡号字符区域图片进行分类包括:
在所述单个卡号字符区域图片输入预先训练的分类模型后,将所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;
剔除背景类图片。
2.根据权利要求1所述的一种银行卡卡号识别方法,其特征在于,当银行卡号为凹凸字符时,将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,具体包括如下子步骤:
通过对所述银行卡卡号区域图像进行RGB与YUV颜色模型的转换,消除背景花纹,以对所述银行卡卡号区域图像进行预处理;
进行粗切割,将预处理后的银行卡卡号区域图像中字符边缘进行垂直投影,根据投影图获取粗切割后的银行卡卡号区域图像;
判断所述粗切割后的银行卡卡号区域图像中是否仍存在字符粘连,若是,则通过粗切割结果获取单个字符平均长度,判断需要进行细切割的区域,进行细切割;
按序输出切割后的至少n个单个卡号字符区域图片。
3.根据权利要求1所述的一种银行卡卡号识别方法,其特征在于,当银行卡为实体字符时,将将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,具体包括如下子步骤:
对所述银行卡卡号区域图像进行canny边缘检测,获得检测后的银行卡卡号区域图像;
将所述边缘检测后的银行卡卡号区域图像进行垂直投影,根据投影图获取切割后的银行卡卡号区域图像;
按序输出切割后的至少n个单个卡号字符区域图片。
4.根据权利要求2或3所述的一种银行卡卡号识别方法,其特征在于,所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;剔除背景类图片,具体包括如下子步骤:
通过所述分类模型,对单个卡号字符区域图片打标签,所述标签包括数字0~9及背景中的一种;
根据所述打标结果,将所述单个银行卡字符区域图片按照标签内容进行分类,类型包括数字分类类型0~9及背景共10类;
判断所述单个卡号字符区域图片类型,且当其类型为背景类时,将所述单个卡号字符区域图片剔除。
5.根据权利要求1所述的一种银行卡卡号识别方法,其特征在于,所述方法还包括预先训练所述分类模型,具体包括如下子步骤:
获取若干银行卡卡号区域图像样本及若干银行卡背景图像样本;
将每一所述银行卡卡号区域图像样本进行切割,获得若干单个卡号字符区域样本图;
将所述若干单个卡号字符区域样本图按照其对应的数字进行分类,并将所述若干银行卡背景图像样本标注为背景类,以获得分类结果;
选取一卷积神经网络模型,基于所述若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型。
6.根据权利要求5所述的一种银行卡卡号识别方法,其特征在于,所述通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型时,具体为:
通过固定所述卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
7.一种银行卡卡号识别模型的训练方法,其特征在于,所述训练方法至少包括如下步骤:
获取若干银行卡卡号区域图像样本及若干银行卡背景图像样本;
将每一所述银行卡卡号区域图像样本进行切割,获得若干单个卡号字符区域样本图;
将所述若干单个卡号字符区域样本图按照其对应的数字进行分类,并将所述若干银行卡背景图像样本标注为背景类,以获得分类结果;
选取一卷积神经网络模型,基于所述若干单个卡号字符区域图片、背景图像样本及分类结果,通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型。
8.根据权利要求5所述的一种银行卡卡号识别模型的训练方法,其特征在于,所述通过迁移学习的方法训练所述卷积神经网络模型,获得分类模型时,具体为:
通过固定所述卷积神经网络中前(10~20)%层的参数不变,使用梯度下降法更新其余层,至最终损失函数小于0.00001后停止训练,获得分类模型。
9.一种基于权利要求1~6任一项所述方法的银行卡卡号识别装置,其特征在于,所述装置至少包括:
采集模块:用于采集一银行卡卡号区域图像;
切割模块:用于将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片;
输入模块:用于将所有所述单个卡号字符区域图片输入预先训练的分类模型;
分类模型模块:用于依序逐个对所述单个卡号字符区域图片进行分类;
同样对剩余其他单个卡号字符区域进行分类;
输出模块:用于按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别;
其中,对所述单个卡号字符区域图片进行分类包括:
在所述单个卡号字符区域图片输入预先训练的分类模型后,将所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;
剔除背景类图片。
10.根据权利要求9所述的基于迁移学习策略的银行卡卡号识别装置,其特征在于:所述分类模型模块至少包括:
打标单元:用于通过所述分类模型,对单个卡号字符区域图片打标签,所述标签包括数字0~9及背景中的一种;
分类单元:用于根据所述打标结果,将所述单个银行卡字符区域图片按照标签内容进行分类,类型包括数字分类类型0~9及背景共10类;
第一判断单元:用于判断所述单个卡号字符区域图片的类型是否为背景类;
剔除单元:用于当所述单个卡号字符区域图片的类型为背景类时,将所述单个卡号字符区域图片剔除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910963018.4A CN110796146A (zh) | 2019-10-11 | 2019-10-11 | 一种银行卡卡号识别方法、模型训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910963018.4A CN110796146A (zh) | 2019-10-11 | 2019-10-11 | 一种银行卡卡号识别方法、模型训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110796146A true CN110796146A (zh) | 2020-02-14 |
Family
ID=69440298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910963018.4A Pending CN110796146A (zh) | 2019-10-11 | 2019-10-11 | 一种银行卡卡号识别方法、模型训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110796146A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040146200A1 (en) * | 2003-01-29 | 2004-07-29 | Lockheed Martin Corporation | Segmenting touching characters in an optical character recognition system to provide multiple segmentations |
CN101398894A (zh) * | 2008-06-17 | 2009-04-01 | 浙江师范大学 | 机动车车牌自动识别方法及其实现装置 |
CN101408933A (zh) * | 2008-05-21 | 2009-04-15 | 浙江师范大学 | 基于粗网格特征提取和bp神经网络的车牌字符识别方法 |
CN105182536A (zh) * | 2015-09-28 | 2015-12-23 | 大连楼兰科技股份有限公司 | 汽车维保过程中智能眼镜通过车牌识别并获得车辆信息的方法 |
CN106297755A (zh) * | 2016-09-28 | 2017-01-04 | 北京邮电大学 | 一种用于乐谱图像识别的电子设备及识别方法 |
CN107967475A (zh) * | 2017-11-16 | 2018-04-27 | 广州探迹科技有限公司 | 一种基于窗口滑动和卷积神经网络的验证码识别方法 |
CN108388896A (zh) * | 2018-02-09 | 2018-08-10 | 杭州雄迈集成电路技术有限公司 | 一种基于动态时序卷积神经网络的车牌识别方法 |
CN110197179A (zh) * | 2019-03-14 | 2019-09-03 | 北京三快在线科技有限公司 | 识别卡号的方法和装置、存储介质及电子设备 |
CN110222687A (zh) * | 2013-06-03 | 2019-09-10 | 支付宝(中国)网络技术有限公司 | 复杂背景卡面信息识别方法及系统 |
-
2019
- 2019-10-11 CN CN201910963018.4A patent/CN110796146A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040146200A1 (en) * | 2003-01-29 | 2004-07-29 | Lockheed Martin Corporation | Segmenting touching characters in an optical character recognition system to provide multiple segmentations |
CN101408933A (zh) * | 2008-05-21 | 2009-04-15 | 浙江师范大学 | 基于粗网格特征提取和bp神经网络的车牌字符识别方法 |
CN101398894A (zh) * | 2008-06-17 | 2009-04-01 | 浙江师范大学 | 机动车车牌自动识别方法及其实现装置 |
CN110222687A (zh) * | 2013-06-03 | 2019-09-10 | 支付宝(中国)网络技术有限公司 | 复杂背景卡面信息识别方法及系统 |
CN105182536A (zh) * | 2015-09-28 | 2015-12-23 | 大连楼兰科技股份有限公司 | 汽车维保过程中智能眼镜通过车牌识别并获得车辆信息的方法 |
CN106297755A (zh) * | 2016-09-28 | 2017-01-04 | 北京邮电大学 | 一种用于乐谱图像识别的电子设备及识别方法 |
CN107967475A (zh) * | 2017-11-16 | 2018-04-27 | 广州探迹科技有限公司 | 一种基于窗口滑动和卷积神经网络的验证码识别方法 |
CN108388896A (zh) * | 2018-02-09 | 2018-08-10 | 杭州雄迈集成电路技术有限公司 | 一种基于动态时序卷积神经网络的车牌识别方法 |
CN110197179A (zh) * | 2019-03-14 | 2019-09-03 | 北京三快在线科技有限公司 | 识别卡号的方法和装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
李淑云: "《银行卡卡号字符分割与识别方法研究》", 《万方硕士学位论文》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008944B (zh) | 基于模板匹配的ocr识别方法及装置、存储介质 | |
CN108898137B (zh) | 一种基于深度神经网络的自然图像字符识别方法及系统 | |
CN109613002B (zh) | 一种玻璃缺陷检测方法、装置和存储介质 | |
CN110379020B (zh) | 一种基于生成对抗网络的激光点云上色方法和装置 | |
CN108090511B (zh) | 图像分类方法、装置、电子设备及可读存储介质 | |
CN107944452A (zh) | 一种圆形印章文字识别方法 | |
CN109767422A (zh) | 基于深度学习的管道检测识别方法、存储介质及机器人 | |
CN111626279B (zh) | 一种负样本标注训练方法及高度自动化的票据识别方法 | |
CN111612012A (zh) | 健康码的识别方法及装置 | |
CN110119741A (zh) | 一种有背景的卡证图像信息识别方法 | |
CN112487848B (zh) | 文字识别方法和终端设备 | |
CN111222433B (zh) | 自动人脸稽核方法、系统、设备及可读存储介质 | |
CN113435407B (zh) | 一种输电系统的小目标识别方法及装置 | |
CN108710893A (zh) | 一种基于特征融合的数字图像相机源模型分类方法 | |
CN111027538A (zh) | 一种基于实例分割模型的集装箱检测方法 | |
CN110245573A (zh) | 一种基于人脸识别的签到方法、装置及终端设备 | |
CN110991434B (zh) | 自助终端证件识别方法及装置 | |
CN112446871A (zh) | 一种基于深度学习和OpenCV的隧道裂缝识别方法 | |
CN111161295A (zh) | 一种菜品图像背景剥离方法 | |
CN112529901A (zh) | 一种复杂环境下的裂缝识别方法 | |
CN115082776A (zh) | 一种基于图像识别的电能表自动检测系统及方法 | |
CN110766026A (zh) | 一种快速识别卡号的方法及装置、模型训练方法及装置 | |
CN112967224A (zh) | 一种基于人工智能的电子电路板检测系统、方法及介质 | |
CN112613367A (zh) | 票据信息文本框获取方法、系统、设备及存储介质 | |
CN111950556A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200214 |