当前位置: 首页 > 专利查询>福州大学专利>正文

基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法技术

技术编号:20161155 阅读:16 留言:0更新日期:2019-01-19 00:13
本发明专利技术涉及一种基于K‑means++聚类和残差网络分类的银行卡卡号检测与识别方法,包括以下步骤:步骤S1:采集银行卡数据集和银行卡卡号数据集,并对采集的银行卡数据集进行标注,对采集的银行卡卡号数据集进行分类;步骤S2:构建银行卡卡号定位模型,并根据得到的银行卡数据集训练银行卡卡号定位模型;步骤S3:构建银行卡卡号分类模型,并根据得到的银行卡卡号数据集训练银行卡卡号分类模型步骤S4:将待检测的银行卡图像输入训练好的银行卡卡号定位模型中,定位卡号位置,并保存卡号图像;将卡号图像输入训练好的银行卡卡号分类模型中,得到卡号识别结果。本发明专利技术能够有效地对待检测图像中的银行卡卡号进行检测与识别。

【技术实现步骤摘要】
基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法
本专利技术涉及深度学习与计算机视觉领域,具体一种基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法。
技术介绍
自然场景中出现的文本是我们一个重要的信息来源。例如广告牌、交通标识、各类证件上的文字等,这些文本包含着明确的语义信息,为人们提供必要的指示和提醒。如果能够实现对这些文本的检测和识别就可以实现对这些场景内容的理解和分析。伴随着人类科技进步,使用机器检测并理解场景中的文本成为了一个必然的趋势。随着带有摄像头的移动设备的广泛使用以及移动支付的不断发展,人们已经开始习惯使用手机应用进行支付,如支付宝、微信支付等。银行卡卡号检测和识别技术能帮助这些支付平台的用户自动输入卡号。与人工录入卡号相比,银行卡自动检测与识别技术速度更快,精度更高,体验更好。使用传统方法检测与识别自然场景下银行卡卡号行面临一些问题。例如:(1)卡号与卡面背景无法分离,使用传统字符分割方法和字符识别方法的准确率不高。(2)由于银行卡卡号的个数与组织形式不尽相同,所以采用固定的模板对银行卡卡号进行分割会导致分割错误。(3)使用传统模板匹配算法进行卡号识别,卡号与背景粘连无法保证正确率。(4)如果银行卡卡面矫正失败,使用传统字符定位方法定位非标准银行卡的卡号困难。自然场景下的银行卡卡号检测与识别在生产生活中扮演着重要的角色,但其研究进展缓慢,其原因可以归结为三点:属于隐私数据的银行卡数据集难以收集、银行卡类别繁多和银行卡拍摄场景复杂。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法,能够有效地对待检测图像中的银行卡卡号进行检测与识别。为实现上述目的,本专利技术采用如下技术方案:一种基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法,包括以下步骤:步骤S1:采集银行卡数据集和银行卡卡号数据集,并对采集的银行卡数据集进行标注,对采集的银行卡卡号数据集进行分类;步骤S2:构建银行卡卡号定位模型,并根据得到的银行卡数据集训练银行卡卡号定位模型,得到训练好的银行卡卡号定位模型;步骤S3:构建银行卡卡号分类模型,并根据得到的银行卡卡号数据集训练银行卡卡号分类模型,得到训练好的银行卡卡号分类模型;步骤S4:将待检测的银行卡图像输入训练好的银行卡卡号定位模型中,定位卡号位置,并保存卡号图像;将卡号图像输入训练好的银行卡卡号分类模型中,得到卡号识别结果。进一步的,所述步骤S1具体为:步骤S11:采用爬虫技术抓取或摄像头采集的方式收集银行卡图片,并对卡号不清晰的图片进行剔除;步骤S12:对采集到的银行卡图片信息进行标注,标注信息为卡号的位置信息,得到银行卡数据集;步骤S13:对采集到的银行卡图片中的卡号图像进行截取、归一化,并对其进行分类,得到银行卡卡号数据集。进一步的,所述步骤S2具体为:步骤S21:构建银行卡卡号定位模型,所述银行卡卡号定位模型由两部分构成,前半部分为特征提取网络,用于提取银行卡卡号特征,后半部分为多尺度特征检测网络,在3个不同尺度上进行银行卡卡号定位检测;根据批次输入图片所标注的位置信息,计算损失函数Loss,模型训练的目的就是尽可能降低损失函数的大小,Loss的计算方式如下:其中,将图像划分为相等大小的格子,i为格子的序号,j为边框的序号,S2为格子的总数,B为边界框的总数,为边界框中心坐标的预测值,为边界框宽高的预测值,(xi,yi)为边界框中心坐标的训练标记值,(wi,hi)为边界框宽高的训练标记值,表示格子i的第j个边界框内存在卡号;步骤S22:为了提高卡号定位的IoU,IoU表示卡号预测框和真实标记框的重合程度,在训练集上运行K-means++聚类方法找到更好的先验边界框;并从数据集中随机选择一个样本作为初始聚类的类中心c1;计算每个样本box与当前已有聚类中心centroid之间的最短距离,用D(box,centroid)表示,计算公式为:D(box,centroid)=1-IoU(box,centroid)接着计算每个样本被选为下一个聚类中心的概率为:其中b为边界框元素,B为所有边界框的集合;最后按照轮盘法选出下一个聚类中心;步骤S23:重复步骤S22直至选择出K=5个聚类中心;针对数据集中的每个样本box,计算它到K个聚类中心的距离并将其分到距离最小的聚类中心所对应的类别中;针对每个类别,重新计算它的聚类中心cm,其计算方法如下:步骤S24:重复步骤S23直至聚类中心的位置不再变化,将银行卡数据集中的样本分批次送入银行卡卡号定位模型,对模型的参数θ进行调整;步骤S25:判断条件判断条件t1>tmax_1是否成立,其中t1为银行卡卡号定位模型的训练时长,tmax_1为银行卡卡号定位模型设定的训练步数;若成立则银行卡卡号定位模型训练完成;否则转入步骤S24。进一步的,所述步骤S3具体为:步骤S31:构建银行卡卡号分类模型,银行卡卡号分类模型由32个卷积层构成,所有的卷积核大小都为3×3,网络分为五部分:第一部分是一个卷积层,特征图数量为16;第二、三、四部分都是5个残差结构,特征图的数量分别为{16,32,64};第五部分是一个平均池化层,得到10维特征,用于表明分类的结果;步骤S32:在每个卷积层之前使用BatchNormalization和ReLU激活函数,提升分类的准确率;步骤S33:残差结构通过shortcutconnection方法实现,经shortcut将一个残差结构的输入和输出进行element-wise的叠加;神经网络的输入是z,期望输出是H(z),需要学习的目标就是F(z)=H(z)-z;步骤S34:将银行卡卡号数据集分批次送入银行卡卡号分类模型,对银行卡卡号分类模型的参数ω进行调整;步骤S35:判断条件判断条件t2>tmax_2是否成立,其中t2为银行卡卡号分类模型训练时长,tmax_2为银行卡卡号分类模型设定的训练步数,若成立则银行卡卡号分类模型训练完成;否则转入步骤S34。进一步的,所诉步骤S4具体为:步骤S41:将输入的待检测银行卡图像尺寸调节至416×416;步骤S42:将输入图像输入训练好的银行卡卡号定位模型中提取特征,得到待检测图像的银行卡卡号相关特征;步骤S43:将提取出的卡号相关特征送入多尺度检测网络,得到银行卡卡号的位置信息,并将卡号图像保存;步骤S44:将卡号图像尺寸调节至32×32;步骤S45:将卡号图像送入训练后的银行卡卡号分类模型中,得到卡号识别结果。进一步的,所述卡号位置信息包括卡号外接矩形框的坐标。本专利技术与现有技术相比具有以下有益效果:1、本专利技术能够提高银行卡卡号定位与识别的准确率。2、本专利技术使用的K-means++聚类方法可以使银行卡卡号定位网络自动找到更好的先验开始学习,并且使得任务更容易学习3、本专利技术残差结构不会给网络增加额外的参数和计算量,却可以大大增加模型的训练速度,提升模型的训练效果;当层数加深时,这个结构能够很好地解决退化问题。附图说明图1是本专利技术方法流程图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。请参照图1,本专利技术提供一种基于K-means++聚类和残差网络分类的银行卡卡号检本文档来自技高网...

【技术保护点】
1.一种基于K‑means++聚类和残差网络分类的银行卡卡号检测与识别方法,其特征在于,包括以下步骤:步骤S1:采集银行卡数据集和银行卡卡号数据集,并对采集的银行卡数据集进行标注,对采集的银行卡卡号数据集进行分类;步骤S2:构建银行卡卡号定位模型,并根据得到的银行卡数据集训练银行卡卡号定位模型,得到训练好的银行卡卡号定位模型;步骤S3:构建银行卡卡号分类模型,并根据得到的银行卡卡号数据集训练银行卡卡号分类模型,得到训练好的银行卡卡号分类模型;步骤S4:将待检测的银行卡图像输入训练好的银行卡卡号定位模型中,定位卡号位置,并保存卡号图像;将卡号图像输入训练好的银行卡卡号分类模型中,得到卡号识别结果。

【技术特征摘要】
1.一种基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法,其特征在于,包括以下步骤:步骤S1:采集银行卡数据集和银行卡卡号数据集,并对采集的银行卡数据集进行标注,对采集的银行卡卡号数据集进行分类;步骤S2:构建银行卡卡号定位模型,并根据得到的银行卡数据集训练银行卡卡号定位模型,得到训练好的银行卡卡号定位模型;步骤S3:构建银行卡卡号分类模型,并根据得到的银行卡卡号数据集训练银行卡卡号分类模型,得到训练好的银行卡卡号分类模型;步骤S4:将待检测的银行卡图像输入训练好的银行卡卡号定位模型中,定位卡号位置,并保存卡号图像;将卡号图像输入训练好的银行卡卡号分类模型中,得到卡号识别结果。2.根据权利要求1所述的基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法,其特征在于:所述步骤S1具体为:步骤S11:采用爬虫技术抓取或摄像头采集的方式收集银行卡图片,并对卡号不清晰的图片进行剔除;步骤S12:对采集到的银行卡图片信息进行标注,标注信息为卡号的位置信息,得到银行卡数据集;步骤S13:对采集到的银行卡图片中的卡号图像进行截取、归一化,并对其进行分类,得到银行卡卡号数据集。3.根据权利要求1所述的基于K-means++聚类和残差网络分类的银行卡卡号检测与识别方法,其特征在于:所述步骤S2具体为:步骤S21:构建银行卡卡号定位模型,所述银行卡卡号定位模型由两部分构成,前半部分为特征提取网络,用于提取银行卡卡号特征,后半部分为多尺度特征检测网络,在3个不同尺度上进行银行卡卡号定位检测;根据批次输入图片所标注的位置信息,计算损失函数Loss,模型训练的目的就是尽可能降低损失函数的大小,Loss的计算方式如下:其中,将图像划分为相等大小的格子,i为格子的序号,j为边框的序号,S2为格子的总数,B为边界框的总数,为边界框中心坐标的预测值,为边界框宽高的预测值,(xi,yi)为边界框中心坐标的训练标记值,(wi,hi)为边界框宽高的训练标记值,表示格子i的第j个边界框内存在卡号;步骤S22:为了提高卡号定位的IoU,IoU表示卡号预测框和真实标记框的重合程度,在训练集上运行K-means++聚类方法找到更好的先验边界框;并从数据集中随机选择一个样本作为初始聚类的类中心c1;计算每个样本box与当前已有聚类中心centroid之间的最短距离,用D(box,centroid)表示,计算公式为:D(box,centroid)=1-IoU(box,centroid)接着计算每个样本被选为下一个聚类中心的概率为:其中b为边界框元素,B为所有边界框的集合;最后按照轮盘法选出下一个聚类中心;步骤S2...

【专利技术属性】
技术研发人员:柯逍刘诗勤牛玉贞
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

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

1