一种混合型验证码的识别方法及系统与流程

文档序号:20265896发布日期:2020-04-03 18:23阅读:220来源:国知局
一种混合型验证码的识别方法及系统与流程

本发明对图形验证码进行区分和识别,识别三种不同类型的图形验证码的混合情况,包括纯数字图形验证码、计算题图形验证码、字母和数字型验证码,属于人工智能领域。



背景技术:

普通图形验证码有三种方式,分别是纯数字图形验证码、计算题图形验证码、字母和数字型验证码;传统图形验证码识别方式主要利用卷积神经网络对单一图形验证码进行识别,但使用了混合图形验证码的场景,传统的识别方法则会出现识别混乱的情况,降低了识别的正确率。



技术实现要素:

本发明需要解决的问题在于克服传统图片识别方式出现的识别混乱情况,提供一种能高效识别的方法及系统,能快速高效的区分出图形验证码的类别,并加以识别图形验证码的值。

本发明的目的是通过以下技术方案来实现的:

一种混合型验证码的识别方法,包括如下步骤:

训练样本准备步骤:准备包括数字图形属性、计算题图形属性以及字母数字图形属性三类图形的训练样本集;

sift特征提取步骤:经过尺度空间极值检测,搜索所有尺度上的图像位置,接着在每个候选位置上通过一个拟合精细的模型来确定位置和尺度,找到关键点,然后再给每个关键点位置分配一个或多个方向,最后生成sift特征描述向量;

k-mean聚类步骤:把sift特征描述向量集为k个类别进行聚类:先选取k个类的初始中心,接着在迭代中分别求各sift特征描述向量到k个中心的距离,将各个sift特征描述向量归到距离最短的中心所在类;

类识别模型训练步骤:将sift特征向量传入类识别模型,得到一个模型文件,里面实现了三种属性图片的类识别模型,该类识别模型可以分辨出图形验证码的属性;

识别步骤:根据类识别模型分辨出未知类型的图形属于哪种属性图形,然后按照属性类别代入卷积识别模型(卷积神经网络识别模型)中,获得未知类型的图形验证结果。

作为优选方式,数字图形属性、计算题图形属性以及字母数字图形属性的各类图形样本不得低于1万张。

作为优选方式,在k-mean聚类步骤中,迭代时分别求各sift特征描述向量到k个中心的欧式距离。

作为优选方式,求各sift特征描述向量到k个中心的欧式距离之后,利用均值方法更新k个类的中心值,更新k个类的中心值后,再计算各sift特征描述向量到更新后的k个类的中心值的距离,如此反复,直到满足终止条件时退出迭代,得到三种类型的均值向量。

作为优选方式,终止条件为没有对象被重新分配给不同的聚类或者类的中心值的移动距离为0时,退出迭代。

作为优选方式,随机选取k个对象作为初始的聚类中心,k=5。

作为优选方式,类识别模型训练步骤中,选用svm模型对图形验证码的属性进行训练:将sift特征描述向量传入svm实现类,得到一个模型文件,里面实现了三种属性图片的svm模型,该svm模型可以分辨出图形验证码的属性。

作为优选方式,在识别步骤中,先将训练样本三种属性的图片利用卷积神经网络算法灰度化,再将图片的像素点作为矩阵值,通过多个卷积核得出三种属性图片的卷积识别模型,通过卷积识别模型识别出其中一种属性图片具体的值。

作为优选方式,先将未知类型的图形验证码通过sift算法提取出sift特征描述向量,接着根据svm模型分辨出属于哪种属性图形,然后按照属性类别代入卷积识别模型中,最终得到具体的值。

一种混合型验证码的识别系统,所述系统包括:

训练样本模块,用于提供包括数字图形属性、计算题图形属性以及字母数字图形属性三类图形的训练样本集;

sift特征提取模块:用于计算图片的sift特征描述向量;

k-mean聚类模块:根据sift特征提取模块得到的sift特征描述向量计算sift特征描述向量所在的类;

类识别模型训练模块:根据训练样本,进行类识别模型的训练,最后得到类识别模型;

识别模块:根据类识别模型训练模块的类识别模型确定图片的属性,然后按照属性类别代入卷积识别模型中,最终得到具体的识别结果值。

本发明的有益效果是:

本发明利用sift特征提取技术、svm(支持向量机)技术、kmean和卷积神经网络技术结合,利用sift技术提取验证码图片的特征,结合svm技术构建模型进行图像分类,最后利用卷积识别模型识别出图形验证码具体的值。本发明充分利用各种技术间的优点,解决了混合图形验证码识别混乱的问题,大大的提高了图形验证码识别的准确度,找到了一个解决问题的最优方案。

附图说明

图1为数字图形属性的图片;

图2为计算题图形属性的图片;

图3为字母数字图形属性的图片;

图4为k-mean聚类示意图;

图5为利用卷积层初步提取图片特征的示意图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

实施例一

一种混合型验证码的识别方法,包括如下步骤:

训练样本准备步骤:准备包括数字图形属性、计算题图形属性以及字母数字图形属性三类图形的训练样本集;如图1-图3所示,给出了数字图形属性、计算题图形属性以及字母数字图形属性三类图片的实施例。可见,要采用一种识别方式对混合型验证码进行识别是非常困难的,因此,需要先设置一个类识别模型,然后按照属性类别代入卷积识别模型(卷积神经网络识别模型)中,获得未知类型的图形验证结果。

sift特征提取步骤:经过尺度空间极值检测,搜索所有尺度上的图像位置,接着在每个候选位置上通过一个拟合精细的模型来确定位置和尺度,找到关键点,然后再给每个关键点位置分配一个或多个方向,最后生成sift特征描述向量;

具体步骤如下:

1.创建高斯金字塔第-1组

先将源图片灰度化处理,再进行采样,求出σ值后再进行高斯模糊计算出金字塔层数(根据图像长、宽中最小的那个)。

2.创建高斯金字塔

同样也是将源图片进行灰度化处理,利用高斯模糊卷积得出值。

3.求高斯差分金字塔

将两个高斯金字塔层相减生成一个差分金字塔,得出g(x,y,σ1)-g(x,y,σ2)。

4.极值点检测

先排除阈值小的点,再判断是否是极值,最后修正极值点,删除不稳定的点。

5.计算尺度,将图像特征进行缩放。

6.关键点方向分配

先计算梯度直方图,对直方图做两次高斯平滑,再求直方图中的主方向,最后使求出的直方图方向更准确。

7.关键点描述

先确定描述子所需的邻域区域,再依据6(关键点方向分配)求出的方向旋转坐标轴,使坐标轴具有不变性,再将邻域内采样点分配到旋转后的对应子区域,确认种子点;计算种子点的8个方向的梯度信息,将8个方向的梯度变为特征向量。

k-mean聚类步骤:由于每张图片的sift特征的特征个数不一样,不利于直接进行分类,因此将所有的sift特征向量进行k-mean聚类。把sift特征描述向量集为k个类别进行聚类:先选取k个类的初始中心,接着在迭代中分别求各sift特征描述向量到k个中心的距离,将各个sift特征描述向量归到距离最短的中心所在类;

其过程可以描述为:

(1)第一步是为待聚类的点寻找聚类中心;

(2)第二步是计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去;

(3)第三步是计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心;

(4)反复执行(2)、(3),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止。

其中反复执行(2)(3)的过程即为迭代过程。

类识别模型训练步骤:将sift特征向量传入类识别模型,得到一个模型文件,里面实现了三种属性图片的类识别模型,该类识别模型可以分辨出图形验证码的属性;

识别步骤:根据类识别模型分辨出未知类型的图形属于哪种属性图形,然后按照属性类别代入卷积识别模型(卷积神经网络识别模型)中,获得未知类型的图形验证结果。利用卷积神经网络识别图片,步骤包括:

1.利用卷积层初步提取图片的特征。

假定有一个尺寸为6*6的图像,每一个像素点里都存储着图像的信息。再定义一个卷积核(相当于权重),用来从图像中提取一定的特征。卷积核与数字矩阵对应位相乘再相加,得到卷积层输出结果。如图5所示。

2.利用池化层提取主要特征

池化层的输入就是卷积层输出的原数据与相应的卷积核相乘后的输出矩阵。

3.全连接层将各部分特征进行汇总

把池化层输出的张量重新切割成一些向量,乘上权重矩阵,加上偏置值,然后对其使用relu激活函数,用梯度下降法优化参数。

4.产生分类器,进行预测识别

数字图形属性、计算题图形属性以及字母数字图形属性的各类图形样本不得低于1万张。本发明为了使得类识别模型训练得更好,识别精度更高,选取了大量的样本图片。

本发明设置了大量的训练样本,通过训练样本对类识别模型进行训练,且根据卷积识别模型识别出图形的验证结果。在进行类识别之前,进行了sift特征描述向量提取和k-mean聚类,使得识别精度提高。本发明对于混合型验证码的识别精度较高,解决了传统图片识别方式出现的识别混乱的问题,提供一种能高效识别的方法,能快速高效的区分出图形验证码的类别,并加以识别图形验证码的值。

实施例二

在k-mean聚类步骤中,迭代时分别求各sift特征描述向量到k个中心的欧式距离,欧式距离是常用的距离公式,其应用较为广泛,容易在不同平台上进行拓展。

求各sift特征描述向量到k个中心的欧式距离之后,利用均值方法更新k个类的中心值,更新k个类的中心值后,再计算各sift特征描述向量到更新后的k个类的中心值的距离,如此反复,直到满足终止条件时退出迭代,得到三种类型的均值向量。

终止条件为没有对象被重新分配给不同的聚类或者类的中心值的移动距离为0时,退出迭代。设置终止条件,便于及时退出迭代,避免消耗过多的计算机资源,且能够提高效率。

随机选取k个对象作为初始的聚类中心,k=5,如图4所示。

类识别模型训练步骤中,选用svm模型对图形验证码的属性进行训练:将sift特征描述向量传入svm实现类,得到一个模型文件,里面实现了三种属性图片的svm模型,该svm模型可以分辨出图形验证码的属性。通过svm进行分类,更适合图片向量的分类,且分类精度较高。

在识别步骤中,先将训练样本三种属性的图片利用卷积神经网络算法灰度化,再将图片的像素点作为矩阵值,通过多个卷积核得出三种属性图片的卷积识别模型,通过卷积识别模型识别出其中一种属性图片具体的值。

本发明先将未知类型的图形验证码通过sift算法提取出sift特征描述向量,接着根据svm模型分辨出属于哪种属性图形,然后按照属性类别代入卷积神经网络训练模型中,最终得到具体的值。

因为提取到的sift特征向量会有多维的描述向量,而且维度并不统一,不方便后面利用svm进行分类和建立模型;因此会利用kemean聚类后统一维度,得到图4的实例结果,维度都为5(即k=5)。实现步骤:

(1)第一步是为待聚类的点寻找聚类中心;

(2)第二步是计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去;

(3)第三步是计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心;

(4)反复执行(2)、(3),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止。

实施例三

一种混合型验证码的识别系统,所述系统包括:

训练样本模块,用于提供包括数字图形属性、计算题图形属性以及字母数字图形属性三类图形的训练样本集;

sift特征提取模块:用于计算图片的sift特征描述向量;

k-mean聚类模块:根据sift特征提取模块得到的sift特征描述向量计算sift特征描述向量所在的类;

类识别模型训练模块:根据训练样本,进行类识别模型的训练,最后得到类识别模型;

识别模块:根据类识别模型训练模块的类识别模型确定图片的属性,然后按照属性类别代入卷积神经网络训练模型中,最终得到具体的识别结果值。

由于本实施例所介绍的系统为实施本发明实施例中一种混合型验证码的识别方法所采用的系统,故而本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的系统的具体实施方式以及各种变化形式,所以在此对于系统如何实现本发明实施例中的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明的保护范围。

本发明使用sift特征提取技术和svm支持向量机技术结合,先对图形验证码分类进行区分,再用卷积神经网络识别,可以有效的得出验证码的识别结果,不会出现识别混乱的情况。

实施例四

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种混合型验证码的识别方法的具体步骤。

本领域的所属技术人员清楚,本发明的实施例可以为方法、系统、或计算机程序的产品。因此,本发明可采用完全硬件实施例、完全软件实施例或软硬件结合的实施例形式。而且,本发明可采用在一个或多个其中含有计算机程序代码的存储介质(包括磁盘存储器、cd-rom、光学存储器)上实施的计算机程序产品。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1