一种文本验证码识别方法技术

技术编号:29615514 阅读:22 留言:0更新日期:2021-08-10 18:31
本发明专利技术公开了一种文本验证码识别方法,具体步骤包括以下步骤:对验证码进行预处理;通过对抗训练的方法训练一对神经网络模型,分割网络和识别网络;由分割网络对预处理后的验证码进行分割;识别网络对分割的验证码进行识别。在对抗训练阶段引入一个分割网络和一个识别网络,解决了验证码在分割过程中因信息丢失而导致识别率不高的问题,同时在训练过程中分割网络会筛选出分割困难的验证码,识别网络也针对这些验证码进行训练,两个网络模型对抗训练,提高了验证码识别的准确率。本发明专利技术解决了验证码字符粘贴、扭曲、干扰信息难以去除,识别准确率低的问题,同时作用效果显著,适于广泛推广。

【技术实现步骤摘要】
一种文本验证码识别方法
本专利技术涉及验证码识别
,特别涉及,一种文本验证码识别方法。
技术介绍
验证码是为防止计算机恶意注册、刷票和论坛灌水的一种自动响应程序,在2003年提出后一直被广泛使用。验证码技术的全称是“全自动区分计算机和人类的图灵测试”基本思想:根据预先人为制定的规则,由计算机系统自动生成一个用户可以很容易解决但是计算机系统却很难或者根本无法解决的问题。其中文本验证码是使用最广泛的验证码技术之一,目前对于它的识别研究已经成为了一个比较热门的领域。文本验证码由多个随机产生的字符组生成。为了增加识别难度通常会使字符扭曲、形变并且加入干扰噪声。现阶段虽然有很多文本验证码替代方案,但许多网站和应用程序仍然使用其作为安全和身份验证的主要手段。现今,文本验证码的安全性不断提高,新引入的安全特性使得许多传统的识别方法不再适用。对于扭曲、粘贴的验证码这种现象更加明显。针对文本验证码中字符粘贴、扭曲、干扰信息难以去除,识别准确率低等问题,本专利技术提出一种文本验证码识别方法,解决上述问题。
技术实现思路
针对上述缺陷,本专利技术解决的技术问题在于,提供一种文本验证码识别方法,以解决现在技术所存在的验证码字符粘贴、扭曲、干扰信息难以去除,识别准确率低等问题。本专利技术提供了一种文本验证码识别方法,包括以下步骤:步骤1、对验证码进行预处理,生成预处理后的验证码;步骤2、通过对抗训练的方法训练一对神经网络模型,所述一对神经网络模型包括分割网络和识别网络;步骤3、由分割网络对所述预处理后的验证码进行分割,生成分割后的验证码;步骤4、识别网络对所述分割后的验证码进行识别。优选的,所述步骤2包括:步骤2.1、将预处理后的文本验证码使用平均法分割法分割,生成平均分割后的验证码;步骤2.2、将所述平均分割后的验证码放入识别网络,识别网络经过训练后得到准确率和丢失率;步骤2.3、根据准确率和损失函数对切割的性能和难易程度进行评估;步骤2.4、调整分割网络分割验证码的位置,同时找出分割困难的验证码;步骤2.5、识别网络对经过步骤2.4分割后的验证码进行识别训练。优选的,所述步骤1包括:步骤1.1、训练预处理网络模型;步骤1.2、利用训练好的预处理网络模型去除待识别验证码的噪声和干扰线。优选的,所述预处理网络模型的训练方法为:将带干扰的文本图和与之匹配的文本验证码图作为输入图像和输出图像,通过相互匹配的所述输入图像和所述输出图像训练预处理网络模型。优选的,所述分割网络的结构为编码器-解码器。优选的,所述识别网络结构包括:卷积路,由三个核尺度不同的卷积层串联而成,相邻所述卷积层间插有BN和ReLU;跳级路,与所述卷积路并联,所述跳级路包含一个核尺度为1的卷积层。优选的,所述识别网络采用上下文相关的多通道卷积网络。优选的,所述分割网络的预测是根据所述识别网络的状态进行更新的。优选的,所述分割网络为端到端的网络模型。由上述方案可知,本专利技术提供的一种文本验证码识别方法。在对抗训练阶段引入一个分割网络和一个识别网络,解决验证码在分割过程中因信息丢失而导致识别率不高的问题,同时在训练过程中分割网络会筛选出分割困难的验证码,识别网络也针对这些验证码进行训练,能够训练网络识别因为粘贴、扭曲、干扰信息难以去除的文本验证码。本专利技术解决了现在技术所存在的文本验证码字符粘贴、扭曲、干扰信息等难以去除,文本识别准确率低的问题,同时作用效果显著,适于广泛推广。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种文本验证码识别方法的过程框图;图2为图1所示的一种文本验证码识别方法的对抗训练的过程框图;图3为图1所示的一种文本验证码识别方法的预处理的过程框图;图4为图1所述的一种文本验证码识别方法的预处理模型的结构图;图5为图1所示的一种文本验证码识别方法的分割网络结构图;图6为图1所示的一种文本验证码识别方法的识别网络残差模块图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请一并参阅图1至图5,现对本专利技术提供的一种文本验证码识别方法的具体实施方式进行说明。该种文本验证码识别方法的具体步骤包括:S1、对验证码进行预处理;该步骤的具体步骤为:S1.1、训练预处理网络模型;S1.2、利用训练好的预处理网络模型去除待识别验证码的噪声、干扰线等干扰信息。预处理神经网络模型为图图转换网络(Image-to-ImageTranslationwithConditionalAdversarialNetworks,Pix2Pix),是一种完全监督的方法,利用完全配对的输入图像和输出图像训练模型,输入图像为带有噪声和干扰的文本图片,输出图像为与输入图像匹配的文本图片,通过训练好的模型对验证码进行预处理。Pix2pix由一个生成网络和一个识别网络组成。是一种深度学习模型。对于生成器的输入是一个Y类图像y,输出为生成的图像G(y),Y类图像为带有噪声和干扰线的文本验证码图像,输出图像为消除了噪声和干扰的验证码图片。判别器的输入为一个X类的图像x和一个Y类图像y,X类图像为不带有噪声和干扰的文本验证码图像。判别器判断x图像是否是真正的y去除噪声后的图像,并输出一个概率。设(x,y)是一对相互匹配的真实的图像,生成器生成的图像G(y),就应该很接近真实的图像x。Pix2pix是一种条件神经网络(ConditionalGenerativeAdversarialNetworks,cGAN),它除了具有cGAN一样的损失函数LcGAN外,还在生成图像和真实图像之间加上了L1损失函数。标准的GAN网络的损失函数为:LcGAN(G,D)=Ey,x~Pdata(y,x)[logD(y,x)]+Ey~Pdata(y)[log(1-D(y,G(y)))]其中,y表示为输入图像,x表示为真实图像(输出图像),G表示为生成器,D表示为判别器,Pdata表示分布函数。对G施加惩罚,即:GAN网络的损失函数为:标准的GAN损失函数负责捕捉图像高频特征,而最终损失函数则负责捕捉低频特征,使得生成结果既真实且清晰。利用GAN神经网络作为预处理模型不仅能够很好除去验证码中的干扰信息,而本文档来自技高网...

【技术保护点】
1.一种文本验证码识别方法,其特征在于,包括以下步骤:/n步骤1、对验证码进行预处理,生成预处理后的验证码;/n步骤2、通过对抗训练的方法训练一对神经网络模型,所述一对神经网络模型包括分割网络和识别网络;/n步骤3、由分割网络对所述预处理后的验证码进行分割,生成分割后的验证码;/n步骤4、识别网络对所述分割后的验证码进行识别。/n

【技术特征摘要】
1.一种文本验证码识别方法,其特征在于,包括以下步骤:
步骤1、对验证码进行预处理,生成预处理后的验证码;
步骤2、通过对抗训练的方法训练一对神经网络模型,所述一对神经网络模型包括分割网络和识别网络;
步骤3、由分割网络对所述预处理后的验证码进行分割,生成分割后的验证码;
步骤4、识别网络对所述分割后的验证码进行识别。


2.根据权利要求1所述的一种文本验证码识别方法,其特征在于,所述步骤2包括:
步骤2.1、将预处理后的文本验证码使用平均法分割法分割,生成平均分割后的验证码;
步骤2.2、将所述平均分割后的验证码放入识别网络,识别网络经过训练后得到准确率和丢失率;
步骤2.3、根据准确率和损失函数对切割的性能和难易程度进行评估;
步骤2.4、调整分割网络分割验证码的位置,同时找出分割困难的验证码;
步骤2.5、识别网络对经过步骤2.4分割后的验证码进行识别训练。


3.根据权利要求1所述的一种文本验证码识别方法,其特征在于,所述步骤1包括:
步骤1.1、训练预处理网络模型;
步骤1.2、利用训练好的预处理网络模型去...

【专利技术属性】
技术研发人员:冷勇
申请(专利权)人:北京享云智汇科技有限公司
类型:发明
国别省市:北京;11

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

1