一种字符验证码识别的深度学习方法及装置制造方法及图纸

技术编号:16064411 阅读:46 留言:0更新日期:2017-08-22 16:50
本发明专利技术涉及一种字符验证码识别的深度学习方法,该方法包括:步骤1,利用有标注标签的数据训练集来训练模型;步骤2,用训练好的模型来预测新的验证码图片中的文字。本发明专利技术实现了一个通用的验证码识别系统方法,在遇到一个新的网站验证码之后,可以通过训练该模型,或者对已经训练好的模型精细调参,得到一个高准确率的识别器,从而破解网站的验证码阻碍,本发明专利技术的模型构建简单,且提高了验证码识别的准确率。

Depth learning method and device for character verification code recognition

The invention relates to a method for deep learning character verification code recognition, the method comprises the following steps: 1, by labeling the training data set to train a model; step 2, using the trained model to predict the new captcha image in the text. The invention implements a general verification code recognition system, in the face of a new site verification code, can train the model, or to have training model for fine tuned parameters, a high accuracy of recognition, so as to solve the site verification code block, the model of the invention simple construction, and improve the accuracy of the verification code identification.

【技术实现步骤摘要】
一种字符验证码识别的深度学习方法及装置
本专利技术涉及一种字符识别方法,更具体的,涉及一种字符验证码识别的深度学习方法及装置。
技术介绍
验证码(CAPTCHA)是一种反向图灵测试技术,常在网站中用于区分人类用户和计算机程序,防止破解密码,刷票,或者是论坛灌水等恶意行为,可以有效保障网站的安全和正常运行。验证码的设计,是利用了人类对于物体、字符的识别极其容易但是对计算机却非常困难的特点。验证码的识别,是人工智能领域一个重要的研究课题。研究验证码的破解方法,可以用来检测验证码安全性,也可以对网站验证码设计者有很大的借鉴作用。验证码有很多形式,但是最常见的是字符型验证码,即一些随机产生的中英文字符,在旋转和扭曲后,加上一些随机线和噪声点背景的扰动,生成验证码图片。因为验证码的图片和正常的文字图片相比,已经发生了严重的扭曲,所以一般的光学字符识别软件很难正常识别出来其中的文字。一般的验证码识别流程,如文献[ShujunLi,RolandSchmitz.Breakinge-bankingCAPTCHAs.Proceedingsof26thAnnualComputerSecurityApplicationsConferenceACSAC2010]中提到的方法,可以大致分为预处理,定位,切分和识别四个步骤。用二值化,背景去噪,去干扰线算法等一系列预处理工作,是为了得到更清晰的图片,便于后续的流程。定位操作是把字符从图片中找出来,切分则是把连续的序列字符,切分成单一的字符,识别则是针对每个单一的字符识别,可以转换成机器学习中的分类任务。如果是传统的分类器,如支持向量机,则还要多一个对图片的特征提取工作。上述论文中的方法,造成识别率的瓶颈主要是单字切分这一步。由于人工智能技术的发展,简单的验证码很容易被破解,因此验证码的设计也越来越复杂,其中最常见的就是字符之间存在着严重的笔画粘连。如果用简单的垂直投影切分算法,则无法很好地切分出粘连的两个单字符,其他基于切分点的方法又复杂而效果难以尽如人意。此外,把验证码的识别分成独立的单字符来识别,在如中文成语这种带有语义的验证码识别中,就会丢失上下文信息。这些缺点都会很大程度上影响最终的识别效果。
技术实现思路
本专利技术的目的,就是为了构建一种把定位、切分和识别结合起来的端到端(End-to-End)的深度学习方法,即直接输入图片,系统会预测整个图片中的序列字符结果。通过有监督训练的方法,训练一个卷积神经网络(ConvolutionalNeuralNetwork)来做特征提取,用多个联合的Softmax分类器做识别。较之以前传统的方法,该方法模型搭建简单,准确率也大大提升,且因为是端到端的训练方法,不同的验证码识别思路基本相同,而不需要像原来那样针对性地重新寻找破解思路。为实现上述目的,本专利技术提供了一种字符验证码识别的深度学习方法,该方法包括如下步骤:步骤1,利用有标注标签的数据训练集来训练模型;步骤2,用训练好的模型来预测新的验证码图片中的文字;其中,步骤1还包括训练集的收集、模型训练的粒度和交叉验证过程。更具体的,所述步骤1中所述训练集的收集具体包括:若深度学习需要大量的有标注数据,则利用爬虫程序,在网站获取若干验证码样本,用打码平台的众包服务标注数据;若需要的样本数不多,则手动标注数据。更具体的,所述模型训练的粒度具体包括:粗粒度式地从头训练模型或者在训练好的模型基础上进行精细调参。更具体的,所述交叉验证具体包括:通过交叉验证的方法选出最优的一个超参组合,所述超参是指深度学习的超参,包括学习率,权重衰减指数,Dropout概率等。更具体的,所述步骤1中利用有标注的数据来训练模型具体包括:将所述有标注标签的数据训练集图片输入到卷积神经网络(CNN)中;对所述图片进行特征提取;将提取出的所述特征输入到输出变量模型中进行训练,得出最优的超参组合。根据本专利技术的另一方面,还提供了一种字符验证码识别的深度学习装置,该装置包括:模型训练模块,利用有标注标签的数据训练集来训练模型;预测模块,用训练好的模型来预测新的验证码图片中的文字;其中,模型训练模块还包括训练集收集模块、模型训练的粒度模块和交叉验证模块。更具体的,所述训练集收集模块具体用于:若深度学习需要大量的有标注数据,则利用爬虫程序,在网站获取若干验证码样本,用打码平台的众包服务标注数据;若需要的样本数不多,则手动标注数据。更具体的,所述模型训练的粒度模块具体包括:粗粒度式地从头训练模型或者在训练好的模型基础上进行精细调参。更具体的,所述交叉验证模块具体用于:通过交叉验证的方法选出最优的一个超参组合,所述超参是指深度学习的超参,包括学习率,权重衰减指数,Dropout概率等。更具体的,所述模型训练模块利用有标注的数据来训练模型具体包括:将所述有标注标签的数据训练集图片输入到卷积神经网络(CNN)中;对所述图片进行特征提取;将提取出的所述特征多个联合的Softmax分类器中进行训练,得出最优的超参组合。本专利技术模型搭建简单,大大提高了验证码识别的准确率,且因为是端到端的训练方法,不同的验证码识别思路基本相同,而不需要像原来那样针对性地重新寻找破解思路。模型的设计和实现都是端到端的结构,设计和实现都较为清晰简单,优于传统的定位、切分和识别的单独流程组合设计,提高了模型识别的准确率。面对新类型的验证码识别任务,不需要额外重新设计系统算法。此外,CNN模型可以提供强大的特征提取功能,分类器性能大大提高,基本可以达到人类水平的识别率。如果需要实时的大量的验证码识别,可以很方便地嵌入网络服务器系统中。利用GPU的高效并行计算性能,可以极大提高识别的速度。本专利技术的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1示出了根据本专利技术一种字符验证码识别的深度学习方法的流程图;图2示出了本专利技术一实施例模型训练的流程图;图3示出了本专利技术一实施例的全卷积神经网络模型结构示意图;图4所示为本专利技术一实施例简化的模型训练过程示意图;图5示出了本专利技术一种字符验证码识别的深度学习装置框架图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。图1示出了根据本专利技术一种字符验证码识别的深度学习方法的流程图。如图1所示,根据本专利技术的一种字符验证码识别的深度学习方法,包括:步骤1,利用有标注标签的数据训练集来训练模型;步骤2,用训练好的模型来预测新的验证码图片中的文字;其中,步骤1还包括训练集的收集、模型训练的粒度和交叉验证过程。如图2所示,为本专利技术一实施例模型训练的流程图,主要有下面几个步骤需要详细阐述:(1)训练集的收集由于深度学习需要大量的有标注标签的数据,因而需要收集训练集。可以利用爬虫程序,去网站定点下载验证码样本本文档来自技高网
...
一种字符验证码识别的深度学习方法及装置

【技术保护点】
一种字符验证码识别的深度学习方法,其特征在于,该方法包括如下步骤:步骤1),利用有标注标签的数据训练集来训练模型;步骤2),用训练好的模型来预测新的验证码图片中的文字;其中,步骤1)还包括训练集的收集、模型训练的粒度和交叉验证过程。

【技术特征摘要】
1.一种字符验证码识别的深度学习方法,其特征在于,该方法包括如下步骤:步骤1),利用有标注标签的数据训练集来训练模型;步骤2),用训练好的模型来预测新的验证码图片中的文字;其中,步骤1)还包括训练集的收集、模型训练的粒度和交叉验证过程。2.根据权利要求1所述的一种字符验证码识别的深度学习方法,其特征在于,所述步骤1)中所述训练集的收集具体包括:若深度学习需要大量的有标注数据,则利用爬虫程序,在网站获取若干验证码样本,用打码平台的众包服务标注数据;若需要的样本数不多,则手动标注数据。3.根据权利要求1所述的一种字符验证码识别的深度学习方法,其特征在于,所述模型训练的粒度具体包括:粗粒度式地从头训练模型或者在训练好的模型基础上进行精细调参。4.根据权利要求1所述的一种字符验证码识别的深度学习方法,其特征在于,所述交叉验证具体包括:通过交叉验证的方法选出最优的一个超参组合,所述超参是指深度学习的超参,包括学习率,权重衰减指数,Dropout概率等。5.根据权利要求1所述的一种字符验证码识别的深度学习方法,其特征在于,所述步骤1)中利用有标注的数据来训练模型具体包括:将所述有标注标签的数据训练集图片输入到卷积神经网络(CNN)中;对所述图片进行特征提取;将提取出的所述特征输入到输出变量模型中进行训练,得出最优的超参组合。6.一种...

【专利技术属性】
技术研发人员:张小彬潘嵘费行健
申请(专利权)人:深圳爱拼信息科技有限公司
类型:发明
国别省市:广东,44

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

1