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

独立字符确定方法、装置、设备、存储介质和程序产品

文献发布时间:2024-04-18 19:58:30


独立字符确定方法、装置、设备、存储介质和程序产品

技术领域

本申请涉及信息安全技术领域,特别是涉及一种独立字符确定方法、装置、设备、存储介质和程序产品。

背景技术

随着金融领域的不断发展,银行在进行用户身份验证、交易确认等操作时,通常会采用验证码图像来增加安全性。验证码图像是一种人机交互的安全措施,要求用户在网站或移动应用上输入一组字符或数字,以证明他们是真实用户而不是自动化程序(如机器人)。一般情况下,银行验证码图像中的字符可能包括数字、大写字母和/或小写字母。

现有技术中,识别验证码图像图片采用图像处理和模式识别方法,目标是将视觉信息转换成计算机可处理的数据,实现自动识别。过程包括图像预处理、特征提取和分类。首先,对验证码图像进行预处理操作,突出字符轮廓、去除干扰。其次,从处理后的图像中提取字符边界、形状和纹理等关键信息,以描述字符特征。最后,经过训练的分类器利用这些特征将字符分类并做出识别决策。

然而,传统技术在应对验证码图像字符粘连情况时,难以有效处理字符间的粘连现象,使得识别系统容易混淆、错判或无法正确分离字符,从而影响了验证码图像识别的可靠性和精度。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高验证码图像识别的可靠性和精度的独立字符确定方法、装置、设备、存储介质和程序产品。

第一方面,本申请提供了一种独立字符确定方法,该方法包括:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

在其中一个实施例中,卷积神经网络还包括特征提取层,利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符,包括:

将验证码图像输入特征提取层得到图像特征;

将图像特征输入全连接层,得到目标特征向量;

将目标特征向量输入归一化指数函数层,得到多个独立字符。

在其中一个实施例中,将图像特征输入全连接层,得到目标特征向量,包括:

将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量;

将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量;目标特征向量包括多个第二子向量。

在其中一个实施例中,将目标特征向量输入归一化指数函数层,得到多个独立字符,包括:

将目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

在其中一个实施例中,特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征

在其中一个实施例中,利用预先训练的卷积神经网络的对验证码图像进行识别,得到多个独立字符之前,方法还包括:

对验证码图像进行预处理操作,确定处理后的验证码图像;

相应地,利用预先训练的卷积神经网络对所述处理后的验证码图像进行识别,得到多个独立字符。

在其中一个实施例中,对验证码图像进行预处理操作,确定处理后的验证码图像,包括:

对验证码图像进行灰度化处理,确定灰度图像;

对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。

在其中一个实施例中,对验证码图像进行预处理操作,确定处理后的验证码图像,包括:

采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像。

在其中一个实施例中,对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像,包括:

采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。

在其中一个实施例中,卷积神经网络的训练方式包括:

获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

将各训练数据输入至神经网络,确定各训练数据对应的预测字符;

基于各训练数据的预测独立字符和对应的字符,对神经网络进行训练,确定卷积神经网络。

第二方面,本申请还提供了一种独立字符确定装置,该装置包括:

获取模块,用于获取验证码图像;验证码图像包括粘连字符;

识别模块,用于利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

第三方面,本申请还提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

第四方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

第五方面,本申请还提供了一种计算机程序产品,该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

上述独立字符确定方法、装置、设备、存储介质和程序产品,先获取验证码图像,接着利用预先训练的卷积神经网络对该验证码图像进行识别,可以得到多个独立字符;其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。该方法中,卷积神经网络的全连接层和归一化指数函数层能够将验证码图像中的复杂特征转化为更易于处理和理解的目标特征向量,然后将其转换为字符概率分布,从而有效地解决了字符粘连和识别问题,提高了验证码识别的准确性和可靠性。

附图说明

图1为一个实施例中计算机设备的内部结构图;

图2为一个实施例中独立字符确定方法的流程示意图;

图3为另一个实施例中独立字符确定方法的流程示意图;

图4为另一个实施例中独立字符确定方法的流程示意图;

图5为另一个实施例中独立字符确定方法的流程示意图;

图6为另一个实施例中独立字符确定方法的流程示意图;

图7为另一个实施例中独立字符确定方法的流程示意图;

图8为一个实施例中独立字符确定装置的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图1所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种独立字符确定方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图2所示,提供了一种独立字符确定方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:

S202,获取验证码图像;验证码图像包括粘连字符。

其中,验证码图像是一种用于区分人类和计算机的图像,通常用于验证用户身份或防止恶意自动化操作。验证码图像中通常包含一些字符,例如大写字母、小写字母以及数字等,用户需要根据图像中的内容执行相应的操作,例如输入字符,以完成验证过程。

粘连字符是指在验证码图像中,两个或多个字符紧密相连,可能重叠在一起,使其在视觉上形成一种粘连或合并的效果。这种设计虽然可以增加验证码图像的难度,防止自动化程序轻易地识别和破解验证码图像,但也给计算机设备带来了一定的识别难度。

在本申请实施例中,计算机设备可以获取验证码图像,该验证码图像中包括粘连在一起的字符。可选的,计算机设备可以使用相机、扫描仪或从网络上下载等方式获取验证码图像。如果验证码图像不在本地设备上,计算机可能需要通过网络传输图像数据,例如从服务器或网站上下载验证码图像。接着将验证码图像数据加载到内存中,准备进行后续的处理和分析。

S204,利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

在本申请实施例中,计算机设备可以利用预先训练的卷积神经网络的对验证码图像进行识别,在验证码图像识别过程中,使用预先训练的卷积神经网络可以将验证码图像中的多个独立字符识别出来。

可选的,首先,卷积神经网络的全连接层对验证码图像的图像特征进行转换,生成目标特征向量。这一过程中,全连接层将图像中的局部信息与各种特征进行了权衡组合,创造出一个综合的目标特征向量。这个向量代表了验证码图像中各个部分特征的整合,有效地捕捉了不同位置和区域的重要性。紧接着,通过归一化指数函数层,目标特征向量被转换为字符的概率分布。借助这个概率分布,可以准确地推断每个字符位置的可能性,从而精确地解析出多个独立字符。通过归一化指数函数层将目标特征向量转换为字符的概率分布是验证码识别过程中的关键一步。这个过程有助于解析出粘连字符并准确地识别多个独立字符。

上述独立字符确定方法中,先获取验证码图像,接着利用预先训练的卷积神经网络对该验证码图像进行识别,可以得到多个独立字符;其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。该方法中,通过预先训练的卷积神经网络结合全连接层和归一化指数函数层的设计,可以更好地捕捉字符之间的上下文信息,从而有效地处理粘连现象。另外,全连接层将图像特征转换为目标特征向量,这有助于将输入图像信息转化为更有代表性和高级的特征表示。通过捕捉图像的更丰富特征,网络能够更准确地分辨粘连字符之间的区别,从而提高验证码图像识别的可靠性。通过归一化指数函数层可以将目标特征向量转换为独立字符的概率分布。这种方式允许网络为每个字符位置提供一个概率值,通过计算每个字符位置的概率,可以准确地判断粘连字符的位置,从而提高验证码图像识别的精度。卷积神经网络的全连接层和归一化指数函数层能够将验证码图像中的复杂特征转化为更易于处理和理解的目标特征向量,然后将其转换为字符概率分布,从而有效地解决了字符粘连和识别问题,提高了验证码识别的准确性和可靠性。

上述实施例中提到可以利用预先训练的卷积神经网络的对所述验证码图像进行识别,得到多个独立字符;实际上,卷积神经网络还包括特征提取层,在此基础上,以下实施例就对利用预先训练的卷积神经网络的对所述验证码图像进行识别,得到多个独立字符的具体过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,如图3所示,上述S204中可以包括:

S302,将验证码图像输入特征提取层得到图像特征。

在本申请实施例中,将验证码图像输入特征提取层,特征提取层可以使用一系列卷积核对输入的验证码图像进行卷积操作,以捕捉该验证码图像中的不同特征。每个卷积核可以检测图像中的某种局部特征,例如边缘、纹理等。通过卷积操作,可以得到一系列的特征图,每个特征图对应一个卷积核检测的特征。

S304,将图像特征输入全连接层,得到目标特征向量。

在本申请实施例中,在特征提取层完成了对验证码图像的特征提取后,将图像特征被输入至全连接层,全连接层对图像特征进行整合和转换,生成一个目标特征向量。该目标特征向量综合了各个图像特征的高级表征,能够更好地表现验证码图像的特征。

S306,将目标特征向量输入归一化指数函数层,得到多个独立字符。

在本申请实施例中,将目标特征向量输入归一化指数函数层,通过归一化指数函数层,目标特征向量被转换为字符的概率分布。借助这个概率分布,可以准确地推断每个字符位置的可能性,从而精确地解析出多个独立字符。

上述实施例中,特征提取层在卷积神经网络中有助于捕捉图像中的局部特征,例如边缘、纹理等,这些特征有助于区分粘连字符的不同部分。全连接层将这些图像特征转换为更高级的表示,从而更好地捕捉字符之间的上下文信息,进一步帮助分辨粘连字符。另外,图像特征经过全连接层的转换,可以将输入的图像信息转化为更有代表性和高级的特征表示。这有助于网络更准确地分辨粘连字符之间的差异,从而提高验证码图像识别的可靠性。全连接层将图像特征映射到目标特征向量,使得网络能够更好地理解字符之间的关系,进一步增强了识别的可靠性。同时,归一化指数函数层的作用是将目标特征向量转换为独立字符的概率分布。这种方式允许网络为每个字符位置提供一个概率值,从而更好地捕捉到字符的不确定性。通过计算每个字符位置的概率,可以准确地判断粘连字符的可能位置,从而提高验证码图像识别的精度。这个概率分布提供了更细粒度的信息,使得网络能够更准确地进行分类决策。综上,该方法通过特征提取层、全连接层和归一化指数函数层的设计,充分利用了图像特征的信息,从而有效地解决了传统方法中粘连字符识别困难的问题,提高了验证码图像识别的可靠性和精度。

上述实施例中提到了可以将图像特征输入全连接层,得到目标特征向量;以下实施例就对将图像特征输入全连接层,得到目标特征向量的具体过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,如图4所示,上述S304中可以包括:

S402,将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量。

S404,将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量;目标特征向量包括多个第二子向量。

在本申请实施例中,将经过特征提取层处理后的图像特征输入到全连接层中。在全连接层中,将图像特征进行展平处理,将其从二维的特征图形状转换为一维的向量形状,得到一个候选特征向量。这个候选特征向量包括了图像特征的信息。将第一子向量输入到全连接层的神经元中进行处理。每个神经元与第一子向量中的每个元素相连接,通过加权组合和转换,对第一子向量进行特征转换。经过全连接层神经元的处理,第一子向量被转换为一个新的向量,即目标特征向量。这个目标特征向量可以看作是对第一子向量的高级表示,它捕捉了第一子向量中的特征和关系。

上述实施例中,通过将图像特征展平为候选特征向量,然后逐个处理候选特征向量中的第一子向量,全连接层能够对字符间的粘连现象进行更细致的处理。每个第一子向量在全连接层中通过加权组合和转换,有助于捕捉字符之间的局部关系和特征,从而有效地处理粘连现象。将图像特征转换为候选特征向量后,全连接层对每个第一子向量进行处理,将其转换为更高级的表示。这有助于网络更准确地分辨粘连字符之间的区别,进一步提高验证码图像识别的可靠性。通过对每个子向量进行单独处理,网络能够更好地理解字符的局部特征,从而增强了识别的可靠性。将候选特征向量中的第一子向量逐个输入全连接层神经元进行处理,可以获得每个子向量对应的目标特征向量。这些目标特征向量通过归一化指数函数层转换为独立字符,提供了更细粒度的信息,使得网络能够更准确地进行分类决策,从而提高验证码图像识别的精度。对每个子向量进行单独处理,有助于准确地捕捉粘连字符的特征,进一步增强了识别精度。综上,该过程通过将图像特征展平为候选特征向量,并逐个处理每个第一子向量,充分利用了图像特征的信息,从而有效地解决了传统方法中粘连字符识别困难的问题,提高了验证码图像识别的可靠性和精度。特别是通过对每个子向量进行单独处理,网络能够更好地理解字符的局部关系和特征,以更细致的分类信息进行处理,从而在处理粘连字符时具有显著的优势。

上述实施例中提到了可以将目标特征向量输入归一化指数函数层,得到多个独立字符;以下实施例就对将目标特征向量输入归一化指数函数层,得到多个独立字符的具体过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,如图5所示,上述S306可以包括:

S502,将目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

S504,对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

在本申请实施例中,将经过全连接层处理得到的目标特征向量输入归一化指数函数层。归一化指数函数层会对目标特征向量中的各个第二子向量进行指数化处理。指数化后,归一化指数函数层会对处理后的向量进行归一化操作。这个操作会将向量中的每个元素除以向量中所有元素的和,以确保所有元素的总和为1,从而得到一个概率分布。归一化后的向量表示了各个第二子向量的概率分布,即每个位置对应一个字符的概率。对于每个第二子向量,可以通过找到具有最大概率值的位置来确定独立字符。例如,如果第二子向量的概率分布为[0.10.5,0.2,0.2,0.0,...,0.0],则最大概率值对应的位置是第二个位置,表明网络认为这个位置的字符是粘连字符中的一个可能性较高的字符,因此确定为独立字符。

上述实施例中,归一化指数函数层的归一化处理能够将每个位置的概率映射到一个概率分布,确保各个位置的权重都得到适当的平衡。这样,即使某个字符位置受到粘连的影响,它仍然会在概率分布中占有一定的权重,而不会完全被忽略。这种权衡有助于提高验证码图像识别的可靠性,减少因字符粘连造成的识别错误。通过归一化指数函数层的处理,每个第二子向量都被映射为一个概率分布,其中概率最高的位置对应的字符被认为是最有可能的字符。这种方式使得网络能够对每个位置进行更精细的判断,从而准确地确定每个字符。因此,通过在概率分布中选择最大概率值对应的字符,可以提高验证码图像识别的精度。综上,归一化指数函数层的处理过程能够有效地应对字符粘连现象,提高验证码图像识别的可靠性和精度。通过将目标特征向量转换为字符概率分布,并根据最大概率值确定独立字符,卷积神经网络能够充分利用图像特征的信息,从而在识别包含粘连字符的验证码图像时取得更好的效果。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征

在本申请实施例中,特征提取层的结构由第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层组成,各层有不同的功能:(1)第一卷积层:该层通过一系列卷积操作,将原始验证码图像转化为一组特征图。每个卷积核在图像上滑动,提取图像的局部特征,捕捉验证码图像中的边缘、纹理等低级特征。(2)第一池化层:池化操作有助于减少图像的尺寸,同时保留重要的特征信息。通过对第一卷积层的输出进行最大池化等操作,获取图像中的主要特征,提高后续层的计算效率。(3)第二卷积层:类似于第一卷积层,第二卷积层进一步提取高级特征,将前一层的特征进一步抽象和组合,捕捉更加复杂的模式和形状。(4)第二池化层:继续对特征图进行池化操作,进一步减小图像的尺寸,降低计算量,同时保留重要的特征信息。(5)第三卷积层:通过更深的卷积操作,第三卷积层能够捕捉更加抽象和高级的特征,将前几层的特征进一步提炼,用于更高级别的模式识别。(6)第三池化层:最后一层池化操作,进一步精炼特征图,为后续的全连接层做准备。

上述实施例中,特征提取层旨在从验证码图像中提取出最具有代表性的特征,这些特征将有助于后续的分类和识别任务。通过逐层的卷积和池化操作,特征提取层能够将图像数据逐渐转化为更抽象、更有意义的特征表示,为识别粘连字符等验证码图像识别任务提供更好的基础。

上述实施例提到了可以利用预先训练的卷积神经网络的对验证码图像进行识别,得到多个独立字符。实际上,在将验证码图像输入到卷积神经网络之前,还需要对该验证码图像进行预处理,以下实施例就对该过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,在上述S204之前,该方法可以包括:对验证码图像进行预处理操作,确定处理后的验证码图像。

在本申请实施例中,在将验证码图像图片输入至卷积神经网络之前,可以先对验证码图像进行预处理,以提高识别的准确性。可选的,可以使用滤波技术去除验证码图像中的噪声,以保留验证码图像字符的清晰轮廓。可以对图像进行噪声去除从而提高验证码图像质量,减少对字符识别的干扰。可以将验证码图像统一调整为相同的尺寸,确保输入卷积神经网络的图像具有一致的维度。还可以应用图像增强技术如对比度增强、亮度调整等,增强图像的视觉特征,有助于更好地捕捉字符的细节。

上述实施例中,使用滤波技术去除噪声可以保留字符的清晰轮廓,有助于更准确地分割和识别字符。这可以提高字符边缘的清晰度,从而减少对后续识别过程的干扰。噪声去除和图像调整等预处理步骤可以显著提高验证码图像的质量,使字符更突出,从而使模型更容易识别。清晰的图像可以提供更多的特征信息,有助于网络更好地学习和推断。将图像调整为相同的尺寸可以确保输入神经网络的图像具有一致的维度,使网络更容易处理。这有助于减少不必要的变化,提高网络的泛化能力。对比度增强和亮度调整等技术可以增强图像的视觉特征,使字符更加突出。这有助于网络更好地捕捉字符的细节,提高识别的准确性。综上,验证码图像的预处理过程可以在不改变原始字符信息的前提下,增强图像质量、凸显字符特征,从而为卷积神经网络提供更有用的输入。这些预处理步骤能够提高验证码图像识别的准确性,增强模型对粘连字符和噪声等问题的鲁棒性,从而提升整体的识别性能。

上述实施例中提到了对验证码图像进行预处理操作,确定处理后的验证码图像,以下实施例就对验证码图像进行预处理操作,确定处理后的验证码图像的具体过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,如图6所示,上述对验证码图像进行预处理操作,确定处理后的验证码图像可以包括:

S602,对验证码图像进行灰度化处理,确定灰度图像。

在本申请实施例中,对彩色验证码图像的每个像素点,计算其红色、绿色和蓝色通道的平均值,将该平均值作为灰度值。这样可以得到一个灰度图像,其中每个像素点都只有一个灰度值。对验证码图像进行灰度化处理是将彩色图像转换为灰度图像,每个像素点只有一个灰度值,可以减少处理的复杂性,同时保留图像中的主要信息。灰度图像的每个像素值表示图像的亮度,通常在0到255的范围内。

S604,对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。

在本申请实施例中,灰度化处理后,可以对灰度图像进行二值化处理。二值化处理将灰度图像中的像素值分为两个类别,通常是黑色和白色。这有助于突出字符的轮廓和特征,便于后续的字符识别。

上述实施例中,灰度化处理将颜色信息转化为灰度值,进一步的二值化将图像进一步简化为只有黑白两种像素值,减少了图像中的信息冗余,使得处理更加高效。二值化处理能够将字符与背景分离,从而更好地突出字符的形状和边缘,有助于提高后续字符识别的准确性。经过灰度化和二值化处理后的图像更加清晰简洁,能够提供更好的输入条件,从而有助于提高验证码识别的准确性和可靠性。

上述实施例中提到了可以对验证码图像进行灰度化处理,确定灰度图像。以下实施例就对验证码图像进行灰度化处理,确定灰度图像的具体过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,上述S602可以包括:

采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像。

在本申请实施例中,每个像素的红、绿、蓝三个通道的颜色值通过一定的权重进行加权平均,得到一个单一的灰度值。可选的,假设一个像素的颜色分别为(R,G,B),其中R、G和B分别代表红、绿和蓝通道的颜色值。根据加权平均法公式,计算灰度值Y的步骤如下:Y=0.299*R+0.578*G+0.114*B,这个公式中的权重值0.299、0.578和0.114是根据人眼对不同颜色通道的感知权重来确定的,以使得灰度图像更好地反映人眼对图像的感知。通过将每个像素的RGB值代入这个公式,可以得到对应的灰度值Y。最终,所有像素的RGB值都会被转换为对应的灰度值,从而生成灰度图像。

上述实施例中,通过加权平均法有助于减少图像的维度,使得后续处理更加高效,同时也可以保留图像的主要特征,用于各种图像分析和处理任务。

上述实施例中提到了可以对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。以下实施例就对对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像的具体过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,上述S604可以包括:采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。

在本申请实施例中,采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。通过采用全局阈值法计算灰度图像的最佳阈值,可以将图像分为前景(字符部分)和背景两个区域,从而确定灰度图像对应的处理后的验证码图像。

全局阈值法的基本思想是寻找一个阈值,使得阈值以下的像素被认为是背景,阈值以上的像素被认为是前景。在验证码图像的上下文中,阈值的选择应该能够将字符与背景分离,使得字符能够更清晰地显现出来。

可选的,该过程可以为:

(1)假设一个阈值T,将灰度值大于T的像素标记为目标(前景),灰度值小于T的像素标记为背景。

(2)遍历图像的每个像素,计算灰度值大于T的像素的灰度值之和H1,并记录大于T的像素数量N1。

(3)计算目标部分的平均灰度值M1=H1/N1。

(4)计算背景部分的平均灰度值M2=(总像素灰度值之和-H1)/(总像素数量-N1)。

(5)计算M1和M2的平均值(Mean)=(M1+M2)/2。

将步骤(5)中计算的平均值作为新的阈值T,然后重复步骤(2)~(5),直到新的阈值T不再发生明显变化,即达到收敛。该阈值即为全局阈值法寻找的最佳阈值,用于图像的二值化。

(6)使用确定的最佳阈值,将灰度图像转化为二值图像,即前景像素为黑色,背景像素为白色。

上述实施例中,通过合适的阈值选择,能够将字符的形状更清晰地展现出来,为后续的字符识别提供更好的输入条件,从而提高了验证码识别的准确性和可靠性。

上述实施例中提到了可以利用预先训练的卷积神经网络的对验证码图像进行识别,以下实施例就对该卷积神经网络的训练过程进行详细说明。

在一个实施例中,提供了另一种独立字符确定方法,在上述实施例的基础上,如图7所示,卷积神经网络的训练方式可以包括:

S702,获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

S704,将各训练数据输入至初始神经网络,确定各训练数据对应的预测字符;

S706,基于各训练数据的预测独立字符和对应的样本字符,对初始卷积神经网络进行训练,确定卷积神经网络。

在本申请实施例中,首先收集大量的训练数据,每个训练数据包括一个样本图像和对应的样本字符。这些样本图像可以是验证码图像,而样本字符则是图像中显示的字符,例如粘连的"A","B","C"等。将每个训练数据的样本图像输入神经网络。神经网络的结构包括卷积层、池化层和全连接层,它们将对图像进行特征提取和转换,最终生成预测结果。通过神经网络的前向传播过程,对每个训练数据进行处理,得到对应的预测字符。将预测字符与样本字符(参考字符)进行比较,计算损失函数。损失函数衡量了网络的预测与实际样本之间的差距,即预测的准确性。利用反向传播算法,将损失从输出层传播回网络,计算每个参数对损失的贡献,然后根据梯度下降法或其他优化算法,更新网络的权重和参数。通过多次迭代训练,不断优化网络参数,使其能够更好地适应训练数据,提高对验证码字符的识别能力。经过多次迭代训练后,得到了一个经过调整的卷积神经网络。

上述实施例中,通过不断地调整神经网络参数,使神经网络能够从训练数据中学习并提取有用的特征,从而达到准确识别验证码图像的目标。

以下给出一个详细实施例来对本申请实施例中独立字符确定方法的过程进行说明,在上述实施例的基础上,该方法的实现过程可以包括以下内容:

S1,获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

S2,将各训练数据输入至初始神经网络,确定各训练数据对应的预测字符;

S3,基于各训练数据的预测字符和对应的样本字符,对初始神经网络进行训练,确定卷积神经网络;其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符;

S4,获取验证码图像;验证码图像包括粘连字符;

S5,采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像;

S6,采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值对灰度图像进行处理,得到处理后的验证码图像;

S7,将处理后的验证码图像输入特征提取层得到图像特征;特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征;

S8,将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量;

S9,将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量;目标特征向量包括多个第二子向量。

S10,目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

S11,对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的独立字符确定方法的独立字符确定装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个独立字符确定装置实施例中的具体限定可以参见上文中对于独立字符确定方法的限定,在此不再赘述。

在一个实施例中,如图8所示,提供了一种独立字符确定装置,包括:获取模块11和识别模块12,其中:

获取模块11,用于获取验证码图像;验证码图像包括粘连字符;

识别模块12,用于利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述识别模块12可以包括:

第一获取单元,用于将验证码图像输入特征提取层得到图像特征;

第二获取单元,用于将图像特征输入全连接层,得到目标特征向量;

第三获取单元,用于将目标特征向量输入归一化指数函数层,得到多个独立字符。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述第二获取单元可以包括:

第一获取子单元,用于将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量;

第二获取子单元,用于将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量;目标特征向量包括多个第二子向量。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述第三获取单元可以包括:

第一确定子单元,用于将目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

第二确定子单元,用于对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,该装置还可以包括:

预处理模块,用于对验证码图像进行预处理操作,确定处理后的验证码图像。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述预处理模块还可以包括:

灰度图像确定单元,用于对验证码图像进行灰度化处理,确定灰度图像;

处理后的验证码图像确定单元,用于对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述灰度图像确定单元还可以包括:

第三确定子单元,用于采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述处理后的验证码图像确定单元还可以包括:

第四确定子单元,用于采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。

在另一个实施例中,提供了另一种独立字符确定装置,在上述实施例的基础上,上述装置还可以包括训练模块,该训练模块可以包括:

第四获取单元,用于获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

第五确定子单元,用于将各训练数据输入至初始神经网络,确定各训练数据对应的预测字符;

第六确定子单元,用于基于各训练数据的预测字符和对应的样本字符,对初始神经网络进行训练,确定卷积神经网络。

上述独立字符确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

在一个实施例中,卷积神经网络还包括特征提取层,处理器执行计算机程序时还实现以下步骤:

将验证码图像输入特征提取层得到图像特征;

将图像特征输入全连接层,得到目标特征向量;

将目标特征向量输入归一化指数函数层,得到多个独立字符。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量;

将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量;目标特征向量包括多个第二子向量。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

将目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

在一个实施例中,特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对验证码图像进行预处理操作,确定处理后的验证码图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对验证码图像进行灰度化处理,确定灰度图像;

对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

将各训练数据输入至初始神经网络,确定各训练数据对应的预测字符;

基于各训练数据的预测独立字符和对应的样本字符,对初始神经网络进行训练,确定卷积神经网络。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络的对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

在一个实施例中,卷积神经网络还包括特征提取层,计算机程序被处理器执行时还实现以下步骤:

将验证码图像输入特征提取层得到图像特征;

将图像特征输入全连接层,得到目标特征向量;

将目标特征向量输入归一化指数函数层,得到多个独立字符。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量;

将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

在一个实施例中,特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对验证码图像进行预处理操作,确定处理后的验证码图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对验证码图像进行灰度化处理,确定灰度图像;

对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

将各训练数据输入至初始神经网络,确定各训练数据对应的预测字符;

基于各训练数据的预测独立字符和对应的样本字符,对初始神经网络进行训练,确定卷积神经网络。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取验证码图像;验证码图像包括粘连字符;

利用预先训练的卷积神经网络对验证码图像进行识别,得到多个独立字符;

其中,卷积神经网络包括全连接层和归一化指数函数层;全连接层用于将验证码图像的图像特征转换为目标特征向量;归一化指数函数层用于将目标特征向量转换为独立字符。

在一个实施例中,卷积神经网络还包括特征提取层,计算机程序被处理器执行时还实现以下步骤:

将验证码图像输入特征提取层得到图像特征;

将图像特征输入全连接层,得到目标特征向量;

将目标特征向量输入归一化指数函数层,得到多个独立字符。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将图像特征输入全连接层中对图像特征进行展平处理,得到候选特征向量;候选特征向量包括多个第一子向量;

将候选特征向量中的第一子向量对应输入全连接层的神经元中进行处理,得到目标特征向量;目标特征向量包括多个第二子向量。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将目标特征向量输入至归一化指数函数层,通过归一化指数函数层分别对目标特征向量中的各个第二子向量进行指数化处理和归一化处理,确定各个第二子向量的概率分布;

对于各第二子向量,根据概率分布中最大概率值所对应的字符,确定独立字符。

在一个实施例中,特征提取层包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层和第三池化层,第一卷积层、第二卷积层以及第三卷积层用于进行特征提取;第一池化层、第二池化层以及第三池化层用于获取验证码图像的关键特征。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对验证码图像进行预处理操作,确定处理后的验证码图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对验证码图像进行灰度化处理,确定灰度图像;

对灰度图像进行二值化处理,确定灰度图像对应的处理后的验证码图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

采用加权平均法计算验证码图像中每个像素的灰度值,得到灰度图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

采用全局阈值法计算灰度图像的最佳阈值,利用最佳阈值确定灰度图像对应的处理后的验证码图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取多个训练数据;各训练数据中包括样本图像和样本图像对应的样本字符;

将各训练数据输入至初始神经网络,确定各训练数据对应的预测字符;

基于各训练数据的预测独立字符和对应的样本字符,对初始神经网络进行训练,确定卷积神经网络。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 目标检测方法和装置、电子设备、存储介质、程序产品
  • 行人再识别方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 独立断言测试方法、装置、设备、存储介质和程序产品
  • 设备指纹的确定方法、装置、设备、存储介质及程序产品
技术分类

06120116499359