掌桥专利:专业的专利平台
掌桥专利
首页

一种银行卡号识别方法、装置、设备及介质

文献发布时间:2024-01-17 01:26:37


一种银行卡号识别方法、装置、设备及介质

技术领域

本申请涉及人工智能领域或金融领域,特别涉及一种银行卡号识别方法、装置、设备及介质。

背景技术

随着互联网金融的兴起,用户需要在各种电子设备中录入银行卡号,并绑定银行卡从而进行资金交易。在卡号的录入过程中,需要对实时拍摄的或预先保存的银行卡图像进行卡号识别,从而将识别结果实现录入。

目前,普遍采用的银行卡号识别方法是基于卷积神经网络进行识别。相比于特征提取方法和支持向量机或模板匹配方法,卷积神经网络方法数据特征提取能力更强,给移动支付带来更多便捷。

然而,由于银行卡号识别的核心是识别卡上的凹凸字符,而凹凸字符的识别本身具有一定难度。若想保证银行卡号识别的准确率,就需要大量数据对卷积神经网络进行训练,而训练好的卷积神经网络模型过大,也就降低了银行卡号识别的效率;类似的,若想保证银行卡号识别的效率,就无法保证银行卡号识别的准确率。

发明内容

有鉴于此,本申请实施例提供了一种银行卡号识别方法、装置、设备及介质,能够提高银行卡号识别的准确率和效率。

本申请实施例公开了如下技术方案:

第一方面,本申请提供了一种银行卡号识别方法,所述方法包括:

获取原始图像;

定位所述原始图像中的卡号区域;

切割所述卡号区域,以得到多个卡号字符;

通过卷积神经网络模型识别所述卡号字符,以获取银行卡号。

可选的,所述获取原始图像,包括:

获取银行卡图像;

对所述银行卡图像进行灰度化处理,以获取原始图像。

可选的,所述获取原始图像,包括:

获取银行卡图像;

对所述银行卡图像进行归一化处理,以获取原始图像,所述归一化处理包括对所述银行卡图像进行角度矫正归一化、比例缩放归一化、比例填充归一化、分辨率归一化和剪裁归一化中的一种或多种。

可选的,所述获取原始图像,包括:

获取银行卡图像;

对所述银行卡图像进行噪声处理,以获取原始图像,所述噪声处理包括均值滤波算法、中值滤波算法和高斯滤波算法中的一种或多种。

可选的,所述切割所述卡号区域,以得到多个卡号字符,包括:

根据K-means聚类分析方法,切割所述卡号区域,以得到多个卡号字符。

第二方面,本申请提供了一种银行卡号识别装置,所述装置包括:图像获取模块、卡号定位模块、卡号分割模块和卡号识别模块;

所述图像获取模块,用于获取原始图像;

所述卡号定位模块,用于定位所述原始图像中的卡号区域;

所述卡号分割模块,用于切割所述卡号区域,以得到多个卡号字符;

所述卡号识别模块,用于通过卷积神经网络模型识别所述卡号字符,以获取银行卡号。

可选的,所述图像获取模块,具体包括:第一获取子模块和归一化处理模块;

所述第一获取子模块,用于获取银行卡图像;

所述归一化处理模块,用于对所述银行卡图像进行归一化处理,以获取原始图像,所述归一化处理包括对所述银行卡图像进行角度矫正归一化、比例缩放归一化、比例填充归一化、分辨率归一化和剪裁归一化中的一种或多种。

可选的,所述图像获取模块,具体包括:第二获取子模块和噪声处理模块;

所述第二获取子模块,用于获取银行卡图像;

所述噪声处理模块,用于对所述银行卡图像进行噪声处理,以获取原始图像,所述噪声处理包括均值滤波算法、中值滤波算法和高斯滤波算法中的一种或多种。

第三方面,本申请提供了一种银行卡号识别设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述计算机程序时实现上述银行卡号识别方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述银行卡号识别方法的步骤。

相较于现有技术,本申请具有以下有益效果:

本申请公开了一种银行卡号识别方法、装置、设备及介质,获取原始图像;定位原始图像中的卡号区域;切割卡号区域,以得到卡号的单个字符;通过卷积神经网络模型识别卡号的单个字符,以获取银行卡号。由此,通过以数学形态学为原理,定位原始图像中卡号行所在位置,并对卡号进行字符级切割,最后使用卷积神经网络模型对切割后的单个卡号字符进行识别。由于是对单个卡号字符进行识别,因此可以提高银行卡号识别的准确率和效率。

附图说明

为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种银行卡号识别方法的流程图;

图2为本申请实施例提供的一种银行卡号识别装置的示意图;

图3为本申请实施例提供的一种计算机可读介质的示意图;

图4为本申请实施例提供的一种服务器的硬件结构示意图。

具体实施方式

本发明提供的一种银行卡号识别方法、装置、设备与介质可用于人工智能领域或金融领域。上述仅为示例,并不对本发明提供的一种银行卡号识别方法、装置、设备与介质的应用领域进行限定。

目前,普遍采用的银行卡号识别方法是基于卷积神经网络进行识别。相比于特征提取方法和支持向量机或模板匹配方法,卷积神经网络方法数据特征提取能力更强,给移动支付带来更多便捷。

然而,由于银行卡号识别的核心是识别卡上的凹凸字符,而凹凸字符的识别本身具有一定难度。若想保证银行卡号识别的准确率,就需要大量数据对卷积神经网络进行训练,而训练好的卷积神经网络模型过大,也就降低了银行卡号识别的效率;类似的,若想保证银行卡号识别的效率,就无法保证银行卡号识别的准确率。

有鉴于此,本申请提供了一种银行卡号识别方法、装置、设备及介质,获取原始图像;定位原始图像中的卡号区域;切割卡号区域,以得到卡号的单个字符;通过卷积神经网络模型识别卡号的单个字符,以获取银行卡号。由此,通过以数学形态学为原理,定位原始图像中卡号行所在位置,并对卡号进行字符级切割,最后使用卷积神经网络模型对切割后的单个卡号字符进行识别。由于是对单个卡号字符进行识别,因此可以提高银行卡号识别的准确率和效率。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参见图1,该图为本申请实施例提供的一种银行卡号识别方法的流程图。该方法包括:

S101:获取原始图像。

原始图像是可以用于银行卡号识别的图像。在一些具体的实现方式中,上述原始图像可以是利用电子设备实时拍照获取的,也可以是提前保存在电子设备的图库中的,对于原始图像的获取方法,本申请不做限定。在一些具体的实现方式中,上述原始图像可以是RGB图像,也可以是其他格式的图像,对于具体的图像格式,本申请不做限定。

在一些具体的实施方式中,在收集到原始图像后,可以对原始图像进行预处理,即将原始图像进行灰度化处理。灰度化处理指的是由彩色图像转化为灰度图像的操作。对于红绿蓝(Red Green Blue,RGB)图像而言,当三个分量相同时即为灰度图像,故灰度图像有256个分级。示例性的,可以基于OpenCV软件的cvtColor函数对原始图像进行灰度化处理。

相较于彩色的原始图像而言,转换为灰度图像的意义主要有两个,一是相较于彩色的原始图像,灰度图像占内存更小,运算速度更快;二是转化为灰度图像后可以在视觉上增加对比,突出原始图像的目标区域。

在一些具体的实现方式中,由于拍摄条件的不同,还需要对原始图像进行归一化处理。归一化处理是将原始图像按照一定标准加工处理,从而方便后续的字符识别的处理方法。

示例性的,归一化处理可以指的是对所有原始图像进行角度矫正(即旋转)的归一化处理。首先,采用角点检测方法识别出银行卡的四个角,再采用边缘检测及霍夫变换(Hough)直线检测方法识别出银行卡的四条边,以此对原始图片进行角度矫正。除此之外,归一化处理也可以指的是对所有原始图像进行比例缩放与填充的归一化处理,也可以指的是对所有原始图像进行分辨率统一的归一化处理,也可以指的是对所有原始图像进行统一剪裁的归一化处理等。需要说明的是,对于具体的归一化处理操作,本申请不做限定。

在一些具体的实现方式中,还可以对原始图像进行噪声处理,以去除噪声对原始图像的影响。示例性的,可以基于均值滤波算法、中值滤波算法、高斯滤波算法等方法,进行噪声处理。需要说明的是,对于具体的噪声处理方法,本申请不做限定。

S102:定位原始图像中的卡号区域。

为了更好地对原始图像进行分割,首先需要定位出原始图像中的卡号部分,进而将无关背景信息进行消除,对银行卡的凹凸字符信息得以保存。

在一些具体的实现方式中,可以将数学形态学作为原理,将原始图像的色彩空间从红绿蓝图像转变为亮度色度图像(即YUV图像)。其中,Y代表亮度(Luma),U和V代表色度(Chroma)。由此,表示颜色的U、V分量中包含着大量背景信息,而卡号信息被大大弱化,需要以此为对照,消除Y分量中背景的干扰,而留下有用的卡号信息。

S103:切割原始图像中的卡号区域,以得到卡号的单个字符。

在定位出原始图像中的卡号部分后,需要对卡号部分作字符分割处理,从而得到单个字符图像。在一些具体的实现方式中,可以基于K-means聚类分析方法,对原始图像中的卡号部分进行切割。具体的,K-means聚类分析方法是我们最常用的基于欧式距离的聚类算法,其认为两个目标的距离越近,相似度越大。

S104:识别卡号的单个字符,以输出银行卡号。

在一些具体的实现方式中,可以基于卷积神经网络模型,识别卡号的单个字符,并输出银行卡号。示例性的,上述卷积神经网络模型可以是LeNet-5模型。卷积神经网络主要由卷积层、池化层和全连接层三个部分构成。其中,卷积层是卷积神经网络的核心部分,它通过对输入的图像进行卷积操作来提取图像的特征。卷积层的输入通常是一个多通道的(例如多通道图像),每个通道代表一个特征,卷积层的输出也是多通道的,其中每个通道表示一个不同的特征。

综上所述,本申请公开了一种银行卡号识别方法,该方法包括:获取原始图像;定位原始图像中的卡号区域;切割卡号区域,以得到卡号的单个字符;通过卷积神经网络模型识别卡号的单个字符,以获取银行卡号。由此,通过以数学形态学为原理,定位原始图像中卡号行所在位置,并对卡号进行字符级切割,最后使用卷积神经网络模型对切割后的单个卡号字符进行识别。由于是对单个卡号字符进行识别,因此可以提高银行卡号识别的准确率和效率。

参见图2,该图为本申请提供的一种银行卡号识别装置的示意图。该银行卡号识别装置200包括:图像获取模块201、卡号定位模块202、卡号分割模块2030和卡号识别模块204。

其中,图像获取模块201用于获取原始图像;卡号定位模块202用于定位原始图像中的卡号区域;卡号分割模块203用于切割卡号区域,以得到多个卡号字符;卡号识别模块204用于通过卷积神经网络模型识别卡号字符,以获取银行卡号。

在一些具体的实现方式中,上述图像获取模块201具体包括:第一获取子模块和归一化处理模块。

其中,第一获取子模块用于获取银行卡图像;归一化处理模块用于对银行卡图像进行归一化处理,以获取原始图像。具体的,归一化处理包括对银行卡图像进行角度矫正归一化、比例缩放归一化、比例填充归一化、分辨率归一化和剪裁归一化中的一种或多种。归一化处理是将原始图像按照一定标准加工处理,从而方便后续的字符识别的处理方法。

在一些具体的实现方式中,上述图像获取模块201具体包括:第二获取子模块和噪声处理模块。

其中,第二获取子模块用于获取银行卡图像;噪声处理模块用于对银行卡图像进行噪声处理,以获取原始图像。具体的,噪声处理包括均值滤波算法、中值滤波算法和高斯滤波算法中的一种或多种。

在一些具体的实现方式中,上述图像获取模块201具体包括:第三获取子模块和灰度化处理模块。

其中,第三获取子模块用于获取银行卡图像;灰度化处理模块用于对银行卡图像进行灰度化处理,以获取原始图像。

相较于彩色的原始图像而言,转换为灰度图像的意义主要有两个,一是相较于彩色的原始图像,灰度图像占内存更小,运算速度更快;二是转化为灰度图像后可以在视觉上增加对比,突出原始图像的目标区域。

综上所述,本申请公开了一种银行卡号识别装置,该装置包括图像获取模块、卡号定位模块、卡号分割模块和卡号识别模块。由此,通过以数学形态学为原理,定位原始图像中卡号行所在位置,并对卡号进行字符级切割,最后使用卷积神经网络模型对切割后的单个卡号字符进行识别。由于是对单个卡号字符进行识别,因此可以提高银行卡号识别的准确率和效率。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

参见图3,该图为本申请实施例提供的一种计算机可读介质的示意图。该计算机可读介质300上存储有计算机程序311,该计算机程序311被处理器执行时实现上述图1的银行卡号识别方法的步骤。

需要说明的是,本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

需要说明的是,本申请上述的机器可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

参见图4,该图为本申请实施例提供的一种服务器的硬件结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序440或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。

服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由银行卡号识别方法所执行的步骤可以基于该图4所示的服务器结构。

还需要说明的,根据本申请的实施例,上述图1中的流程示意图描述的银行卡号识别方法的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行上述图1的流程示意图中所示的方法的程序代码。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术分类

06120116211789