一种银行卡卡号识别方法、模型训练方法及装置制造方法及图纸

技术编号:23344726 阅读:57 留言:0更新日期:2020-02-15 04:20
本发明专利技术公开一种银行卡卡号识别方法、模型训练方法及装置,该方法通过将银行卡卡号区域图像进行切割获得单个卡号字符区域图片,按序通过预先训练好的分类模型将每一单个卡号字符区域图片按照0~9及背景进行分类,并剔除背景类图片,最后按序输出分类结果以完成银行卡卡号的识别,其针对切割后的单个银行卡字符进行识别,在分类过程中干扰较小,分类精度较高,并且,模型在进行分类时,有效剔除了背景类图片,以确保所获得的分类结果均位于0~9之间,并不包括非数字部分,由此进一步提高识别精度,用户体验较佳;另外,其在模型训练时,通过小量样本,基于现有卷积网络模型,通过迁移学习来训练分类模型,训练过程简单,且获得的模型精度高,稳定性佳。

A bank card number recognition method, model training method and device

【技术实现步骤摘要】
一种银行卡卡号识别方法、模型训练方法及装置
本专利技术涉及光学字符识别领域,特别涉及一种银行卡卡号识别方法、模型训练方法及装置。
技术介绍
线上支付已经成为大多数人的首选,而很多具有支付功能的金融机构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颜色模型的转换,消除背景花纹,以对所本文档来自技高网...

【技术保护点】
1.一种银行卡卡号识别方法,其特征在于,所述方法至少包括如下步骤:/n采集一银行卡卡号区域图像;/n将所述银行卡卡号区域图像进行切割,获得至少n个单个卡号字符区域图片,n为当前银行卡卡号的最少字符数;/n将所有所述单个卡号字符区域图片输入预先训练的分类模型,依序逐个对所述单个卡号字符区域图片进行分类;/n按序输出所有单个卡号字符区域图片的分类结果,完成银行卡卡号识别;/n其中,对所述单个卡号字符区域图片进行分类包括:/n在所述单个卡号字符区域图片输入预先训练的分类模型后,将所述单个卡号字符区域图片按照0~9及背景进行分类,所述数字分类类型为0~9中的一个;/n剔除背景类图片。/n

【技术特征摘要】
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所述的一种银行卡卡号识别方法,其特征在于,所述方法还包括预先训练所述分类模型,具体包括如下子步骤:
获取若干银行卡卡号区域图像样本及若干银行卡背景图像样本;
将每一所述银行卡卡号区域图像样本进行切割,获得若干单个卡号字符区域样本图;
将所述若干单个卡号字符区域样本图按照其对应的数字进行分类,并将所述若干银行卡背景图像样本标注为背景类,以获...

【专利技术属性】
技术研发人员:赵毅仁胡宏辉
申请(专利权)人:上海上湖信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1