CN112989312A - 验证码的识别方法、装置、电子设备和存储介质 - Google Patents
验证码的识别方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112989312A CN112989312A CN202011372546.1A CN202011372546A CN112989312A CN 112989312 A CN112989312 A CN 112989312A CN 202011372546 A CN202011372546 A CN 202011372546A CN 112989312 A CN112989312 A CN 112989312A
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- network model
- icon
- verification code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003062 neural network model Methods 0.000 claims abstract description 92
- 238000013135 deep learning Methods 0.000 claims abstract description 29
- 238000002372 labelling Methods 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims description 77
- 238000012360 testing method Methods 0.000 claims description 35
- 238000011156 evaluation Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims 2
- 238000013136 deep learning model Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开的实施例提供了验证码的识别方法和装置、计算机可读存储介质和电子设备。该方法包括:采集当前业务的验证码的图像,建立图像集合;针对图像集合中每张图像进行标注,得到的标注信息可诠释对应图像中每个目标图标所属类别和在图像中的位置,以及每个点击图标所属类别和在图像中的位置;神经网络模型通过图像集合中的图像和对应标注信息进行深度学习;利用深度学习后的神经网络模型对待识别的验证码进行识别。本发明通过深度学习模型实现验证码的定位和分类识别能力,可以有效提升验证码的识别效率及准确度,且提升安全性。
Description
技术领域
本发明涉及图像识别技术领域,尤其涉及验证码的识别方法、装置、电 子设备和存储介质。
背景技术
随着网络的快速发展,验证码技术在网络安全方面起到了越来越重要的 作用,在验证码识别的安全测试中,需要快速进行验证码的通过来实现高速 的数据采集能力,但由于验证码的复杂程度越来越高,由最简单的数字验证 码,到字符验证码,滑动验证码,再到更为复杂的字符点选验证码和Icon图 标点选验证码等,特别是Icon图标点选验证码,对于识别要求相对较高, Icon图标具有和背景图更强的融合能力,和更复杂的识别干扰,在验证码识 别过程中识别难度大,过程复杂。而现有技术往往是针对较为简单的字符验 证码进行校验识别,对于复杂性相对较高的验证码,如Icon图标验证码的识 别因难度较大通常效率较低且准确度不高。
发明内容
本公开的目的在于提供验证码的识别方法、装置、电子设备和存储介 质,进而至少在一定程度上解决现有技术中复杂验证码识别效率较低且准确 度不高的技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通 过本公开的实践而习得。
根据本公开的第一方面,验证码的识别方法,包括:
采集验证码的图像,建立图像集合;每张图像中都显示有至少一个目标 图标和至少一个点击图标;每个目标图标唯一对应一个点击图标;
针对图像集合中每张图像进行标注,得到的标注信息可诠释对应图像中 每个目标图标所属类别和在图像中的位置,以及每个点击图标所属类别和在 图像中的位置;同一图像中唯一对应的目标图标和点击图标的类别相同;
神经网络模型通过图像集合中的图像和对应标注信息进行深度学习;深 度学习后的神经网络模型可识别每张图像中每个目标图标和点击图标的所属 类别和在图像中的位置;
利用深度学习后的神经网络模型对待识别的验证码进行识别。
在本公开的示例性实施例中,所述神经网络模型通过图像集合中的图像 和对应标注信息进行深度学习,具体包括:
根据图像集合中标注过的图像,构建数据集;所述数据集中每条数据都 包括一张图像和对应的标注信息;
从数据集中提取训练集,并将训练集输入至神经网络模型进行训练,从 而调整神经网络模型的普通参数;
通过评价值对神经网络模型的训练结果进行评价;
当评价值满足预设条件后,停止训练,保存当前训练后的神经网络模 型。
进一步,所述根据图像集合中标注过的图像,构建数据集,之后还包 括:
将数据集中的各数据进行格式转换,得到神经网络模型可辨认处理的数 据集。
进一步,所述从数据集中提取训练集,并将训练集输入至神经网络模型 进行训练,之后还包括:
从数据集中提取验证集,所述验证集与训练集无交集;
在神经网络模型的训练过程中利用验证集调整神经网络模型的超参数。
进一步,所述保存当前训练后的神经网络模型,之后还包括:
从数据集中提取测试集,所述测试集与训练集和验证集无交集;
将测试集输入至保存后的神经网络模型进行测试;
通过评价指标对测试结果进行评价;
当评价指标达到预设阈值后,当前神经网络模型完成深度学习。
进一步,所述利用深度学习后的神经网络模型对待识别的验证码进行识 别,具体包括:
将待识别验证码的图像输入至深度学习后的神经网络模型,输出该图像 的标注信息;
根据待识别验证码图像的标注信息,在该图像中按照目标图标的位置顺 序,依次点击各目标图标唯一对应的点击图标。
根据本公开的第二方面,提供验证码的识别装置,其特征在于,包括: 神经网络模型;
采集单元,用于采集当前业务的验证码的图像,建立图像集合;每张图 像中都显示有至少一个目标图标和至少一个点击图标;每个目标图标唯一对 应一个点击图标;
标注单元,用于针对图像集合中每张图像进行标注,得到的标注信息可 诠释对应图像中每个目标图标所属类别和在图像中的位置,以及每个点击图 标所属类别和在图像中的位置;同一图像中唯一对应的目标图标和点击图标 的类别相同;
学习单元,用于使神经网络模型通过图像集合中的图像和对应标注信息 进行深度学习;深度学习后的神经网络模型可识别每张图像中每个目标图标 和点击图标的所属类别和在图像中的位置;
识别单元,用于利用深度学习后的神经网络模型对待识别的验证码进行 识别。
在本公开的示例性实施例中,所述学习单元,具体用于:
根据图像集合中标注过的图像,构建数据集;所述数据集中每条数据都 包括一张图像和对应的标注信息;
从数据集中提取训练集,并将训练集输入至神经网络模型进行训练,从 而调整神经网络模型的普通参数;
通过评价值对神经网络模型的训练结果进行评价;
当评价值满足预设条件后,停止训练,保存当前训练后的神经网络模 型。
根据本公开的第三方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的验证码 的识别方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计 算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的验证码 的识别方法。
由上述技术方案可知,本公开示例性实施例中的信息处理方法及装置、 计算机可读存储介质、电子设备至少具备以下优点和积极效果:
本公开实施例中的的验证码的识别方法和装置,通过深度学习模型实现 验证码的定位和分类识别能力,实现了对验证码的有效识别,且提升安全 性。
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和 解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公 开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描 述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的方法流程示意图;
图2为本发明实施例的装置结构示意图;
图3为本发明实施例中验证码的图片示意图;
图4为本发明实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多 种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例 使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域 的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中 相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或 更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实 施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术 方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装 置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实 现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或 暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第 一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本 公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明 确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理 解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中 间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解 上述术语在本公开中的具体含义。
请参考图1所示,本发明实施例所述的验证码的识别方法,包括:
101、采集验证码的图像,建立图像集合;每张图像中都显示有至少一个 目标图标和至少一个点击图标;每个目标图标唯一对应一个点击图标;
在进行网页信息访问、网站登录等互联网应用场景中都需要通过验证码 的验证以保证系统安全性,或者在具有获取大量数据的需求时需要进行验证 码测试业务,以保证后续数据获取的可行性。
针对当前测试业务,首先需要搜集大量的验证码的图像,建立图像集 合。在本实施例中,如图3所示,每张验证码的图像上都有多个目标图标和 对应的点击图标。用户根据目标图标的位置顺序,依次点击同类别的点击图 标后,才能通过当前验证码。
以验证码为Icon图标验证码为例,图3的目标图标为左下角的四个小图 标,按照由左至右的顺序,类别依次为:网球、船、博士帽、手套;图3的 点击图标为分布在图3中间对的四个大图标,类别与目标图标一一对应,同 样分为:网球、船、博士帽、手套。
针对图3所示的验证码,如果需要通过该验证码,则需要跟根据坐下角 的四个小图标,按照:网球、船、博士帽、手套这样的顺序,依次点击在图 3中间的四个大图标。
102、针对图像集合中每张图像进行标注,得到的标注信息可诠释对应图 像中每个目标图标所属类别和在图像中的位置,以及每个点击图标所属类别 和在图像中的位置;同一图像中唯一对应的目标图标和点击图标的类别相 同;
在图3中,以第一个目标图标为例,该图标的标注信息包含其类别和位 置:“网球,(a1,b1)”。目标图标和点击图标的标注信息中,在图像中的位 置用坐标进行表示。
103、神经网络模型通过图像集合中的图像和对应标注信息进行深度学 习;深度学习后的神经网络模型可识别每张图像中每个目标图标和点击图标 的所属类别和在图像中的位置;具体地:
1031、根据图像集合中标注过的图像,构建数据集;所述数据集中每条 数据都包括一张图像和对应的标注信息;
将图片和其标注信息合并成一条数据,存储至数据集中作为一条数据。
1032、将数据集中的各数据进行格式转换,得到神经网络模型可辨认处 理的数据集;
待数据集构建完成后,将每条数据的格式进行转换,通过程序转换为深 度学习模型可识别的数据格式。
1033、从数据集中提取训练集,并将训练集输入至神经网络模型进行训 练,从而调整神经网络模型的普通参数;
训练集作用是用来拟合模型,通过设置分类器的参数,训练神经网络模 型。
在本实施例中,选用Darknet作为神经网络模型框架,是yolo模型实现 的主流框架,不仅可以实现对目标的位置检测,同时可以对预测目标的类 别。
在本实施例中,还可以利用Keras构建神经网络模型。Keras是一个用 Python编写的开源神经网络库,能够在TensorFlow、Theano或PlaidML之上 运行,是一个较为高效的模型前端。
1034、从数据集中提取验证集,所述验证集与训练集无交集;
验证集作用是当通过训练集训练出多个模型后,为了能找出效果最佳的 模型,使用各个模型对验证集数据进行预测,并记录模型准确率。选出效果 最佳的模型所对应的参数,即用来调整模型参数。
1035、在神经网络模型的训练过程中利用验证集调整神经网络模型的超 参数;
对于一个神经网络模型来说,其参数可以分为普通参数和超参数。普通 参数就是可以被梯度下降所更新的,也就是训练集所更新的参数。另外,还 有超参数的概念,比如网络层数、网络节点数、迭代次数、学习率等等,这 些参数不在梯度下降的更新范围内,多数情况下还是根据验证集来调整。
基于训练集和验证集的数据,使用Darknet框架模型训练Icon图像中各 图标(包括目标图标和电机图标)的位置和类别,修改模型为多分类网络模 型配置。基于各图像的标注信息,进行深度学习模型训练。神经网络模型在 训练过程中,会根据标注信息进行参数拟合,随着训练的迭代,会较多的参 数去拟合当前验证码的特征,达到识别验证码的目的。
另外,使用Keras时,神经网络模型使用Keras的孪生网络来实现目标 图标和点击图标的匹配。孪生网络是单样本学习中的重要网络模型,针对类 别中样本较少的图像分类和识别有较好的效果。使用Keras的Sequential顺序 模型进行CNN网络的组合来实现孪生网络模型,基于转换之后的标注数据 信息,进行深度学习模型训练。神经网络模型在训练过程中,会根据标注数 据进行参数拟合,最后输出为匹配的目标图标和点击图标的相似度作为结 果。
1036、通过评价值对神经网络模型的训练结果进行评价;
1037、当评价值满足预设条件后,停止训练,保存当前训练后的神经网 络模型;
在本实施例中,评价值包括:平均损失(loss)值和准确率(acc)值。 神经网络模型训练过程中,使用平均loss值和acc值作为训练效果评价,当 模型平均loss值不在降低,acc值接近1的情况下,到达模型训练效果,保 存当前神经网络模型。
1038、从数据集中提取测试集,所述测试集与训练集和验证集无交集;
1039、将测试集输入至保存后的神经网络模型进行测试;
10310、通过评价指标对测试结果进行评价;
10311、当评价指标达到预设阈值后,当前神经网络模型完成深度学习。
通过训练集和验证集得出最优模型后,使用测试集进行模型预测。用来 衡量该最优模型的性能和分类能力。即可以把测试集当做从来不存在的数据 集,当已经确定模型参数后,使用测试集进行模型性能评价。
在本实施例中,使用测试集进行模型性能测试,使用准确率、召回率和 mAP作为模型测试评价指标。
104、利用深度学习后的神经网络模型对待识别的验证码进行识别;具体 地:
1041、将待识别验证码的图像输入至深度学习后的神经网络模型,输出 该图像的标注信息;
以图3为例,将图3所示验证码图像输入至深度学习后的神经网络模型 后,输出如下信息:
目标图标:“网球,(a1,b1)”、“船,(a2,b2)”、“博士帽,(a3,b3)”、 “手套,(a4,b4)”;
点击图标:“网球,(A1,B1)”、“手套,(A4,B4)”、“博士帽,(A3, B3)”、“船,(A2,B2)”。
1042、根据待识别验证码图像的标注信息,在该图像中按照目标图标的 位置顺序,依次点击各目标图标唯一对应的点击图标。
根据上述的输出信息,来完成验证码的点击操作。
完成深度学习的神经网络模型部署成服务,通过调用返回目标的坐标和 类别,达到验证码点选验证码的定位和分类识别能力。
一般情况下,深度网络模型只需要完成一次深度学习的过程。如果在测 试的时候,可能会出现含有新类型图标的图片。如果含有新类型图标的图片 出现多达一定量的时候,会影响当前神经网络模型的输出准确率。此时,将 包含新类型图标的图片搜集后,针对新图片对深度网络模型进行迁移训练即 可,使深度网络模型具有对新图片识别的功能。
下面举出实例来详细说明本实施例的技术方案:
S101、验证码数据采集:
在测试过程中同步的收集到验证码图像信息,将Icon图形验证码图像进 行保存,组成待训练图片集合。
S201、数据标注:
对采集的验证码图像进行数据标注,利用标注工具,在图像中标注Icon 大图标和Icon小图标在验证码中的位置和分类,相同图标类别保持一致,用 于深度学习模型训练和识别。保留所有的类别信息和类别信息。
S202、数据格式转换:
将采集的标注位置和类别信息进行数据格式转换,通过程序转换为深度 学习模型可识别的数据格式,分别划分训练数据集合、验证数据集合和测试 数据集合。
S301a、模型训练:
Darknet是最早的目标检测模型框架,是yolo模型实现的主流框架,不 仅可以实现对目标的位置检测,同时可以对预测目标的类别。基于训练集合 和验证集合数据,使用Darknet框架模型训练Icon图标的位置检测和分类, 修改模型为多分类网络模型配置,基于转换之后的标注数据信息,进行深度 学习模型训练。模型在训练过程中,会根据标注数据进行参数拟合,随着训 练的迭代,会较多的参数去拟合当前Icon的特征,达到识别Icon的目的。
S301b、模型训练:
Keras是一个用Python编写的开源神经网络库,能够在TensorFlow、 Theano或PlaidML之上运行,是一个较为高效的模型前端。神经网络模型使 用Keras的孪生网络来实现目标图标和点击图标的匹配。孪生网络是单样本 学习中的重要网络模型,针对类别中样本较少的图像分类和识别有较好的效 果。使用Keras的Sequential顺序模型进行CNN网络的组合来实现孪生网络 模型,基于转换之后的标注数据信息,进行深度学习模型训练。模型在训练 过程中,会根据标注数据进行参数拟合,最后输出为匹配的目标图标和点击 图标的相似度作为结果。
S401、模型评价:
模型训练过程中,使用平均loss值和acc值作为训练效果评价,当模型 平均loss不在降低,acc值接近1的情况下,到达模型训练效果,保存模 型。使用测试集合进行模型性能测试,使用准确率、召回率和mAP作为模型 测试评价指标。
S501、模型应用:
训练好的模型部署成服务,通过调用返回目标的坐标和类别,达到Icon 点选验证码的定位和分类识别能力。
如图2所示,本实施例所述的验证码的识别装置,包括:神经网络模型 21;
采集单元22,用于采集当前业务的验证码的图像,建立图像集合;每张 图像中都显示有至少一个目标图标和至少一个点击图标;每个目标图标唯一 对应一个点击图标;
标注单元23,用于针对图像集合中每张图像进行标注,得到的标注信息 可诠释对应图像中每个目标图标所属类别和在图像中的位置,以及每个点击 图标所属类别和在图像中的位置;同一图像中唯一对应的目标图标和点击图 标的类别相同;
学习单元24,用于使神经网络模型通过图像集合中的图像和对应标注信 息进行深度学习;深度学习后的神经网络模型可识别每张图像中每个目标图 标和点击图标的所属类别和在图像中的位置;
识别单元25,用于利用深度学习后的神经网络模型对待识别的验证码进 行识别。
所述学习单元24,具体用于:
根据图像集合中标注过的图像,构建数据集;所述数据集中每条数据都 包括一张图像和对应的标注信息;
从数据集中提取训练集,并将训练集输入至神经网络模型进行训练,从 而调整神经网络模型的普通参数;
通过评价值对神经网络模型的训练结果进行评价;
当评价值满足预设条件后,停止训练,保存当前训练后的神经网络模 型。
所述学习单元24,还用于:
将数据集中的各数据进行格式转换,得到神经网络模型可辨认处理的数 据集。
所述学习单元24,还用于:
从数据集中提取验证集,所述验证集与训练集无交集;
在神经网络模型的训练过程中利用验证集调整神经网络模型的超参数。
所述学习单元24,还用于:
从数据集中提取测试集,所述测试集与训练集和验证集无交集;
将测试集输入至保存后的神经网络模型进行测试;
通过评价指标对测试结果进行评价;
当评价指标达到预设阈值后,当前神经网络模型完成深度学习。
所述识别单元25,具体用于:
将待识别验证码的图像输入至深度学习后的神经网络模型,输出该图像 的标注信息;
根据待识别验证码图像的标注信息,在该图像中按照目标图标的位置顺 序,依次点击各目标图标唯一对应的点击图标。
本实施例实现端对端的验证码定位和分类识别,即输入一张图片,依次 直接输出各图标的位置和类别,无需进行先位置定位,再分类识别的多过程 方式。同时深度学习模型可以实现更快、更准、纠错能力更强的模型输出能 力。
本实施例中,通过深度学习模型实现验证码的定位和分类识别能力,可 以有效提升验证码的识别效率及准确度,且提升安全性。同时通过位置的定 位和类别的识别在线上业务可到达90%以上的准确率,为测试工程师的对于 网站点选验证方式安全性的测试和评价带来极大的方便。
本公开实施例提供的验证码的识别装置中的各个模块、单元和子单元的 具体实现可以参照上述验证码的识别方法中的内容,在此不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模 块、单元和子单元,但是这种划分并非强制性的。实际上,根据本公开的实 施方式,上文描述的两个或更多模块、单元和子单元的特征和功能可以在一 个模块、单元和子单元中具体化。反之,上文描述的一个模块、单元和子单 元的特征和功能可以进一步划分为由多个模块、单元和子单元来具体化。
如图4所示,示例电子设备50包括用于执行软件例程的处理器501尽管 为了清楚起见示出了单个处理器,但是电子设备50也可以包括多处理器系 统。处理器501连接到通信基础设施502,用于与电子设备50的其他组件进 行通信。通信基础设施502可以包括例如通信总线、交叉开关或网络。
电子设备50还包括诸如随机存取存储器(Random Access Memory,RAM) 之类的存储器,所述存储器可包括主存储器503和辅助存储器510。辅助存 储器510可以包括,例如硬盘驱动器511和/或可移动存储驱动器512,可移 动存储驱动器512可以包括软盘驱动器,磁带驱动器,光盘驱动器等。可移 动存储驱动器512以常规方式对可移动存储单元513进行读取和/或写入。可 移动存储单元513可以包括由可移动存储驱动器512读取和写入的软盘、磁 带、光盘等。相关领域技术人员可以理解,可移动存储单元513包括其上存 储有计算机可执行程序代码指令和/或数据的计算机可读存储介质。
在一种可选实施方式中,辅助存储器510可以额外包括或选择性包括用 于允许将计算机程序或其他指令加载到电子设备50中的其他类似装置。这样 的装置可以包括例如可移动存储单元521和接口520。可移动存储单元521 和接口520的示例包括:程序卡带(cartridge)和卡带接口(例如可在视频游戏控 制台设备中找到的程序卡带和卡带接口)、可移动存储芯片(例如EPROM或 PROM)和相关联的插槽、以及其他可移动存储单元521和允许软件和数据从 可移动存储单元521传输到电子设备50的接口520。
电子设备50还包括至少一个通信接口540。通信接口540允许软件和数 据经由通信路径541在电子设备50和外部设备之间传输。在本发明的各种实 施例中,通信接口540允许数据在电子设备50和诸如公共数据或私有数据通 信网络之类的数据通信网络之间传输。通信接口540可用于在不同的电子设 备50之间交换数据,这些电子设备50形成互连的计算机网络的一部分。通 信接口540的示例可以包括调制解调器、网络接口(诸如以太网卡)、通信端 口、具有相关电路的天线等等。通信接口540可以是有线的或者可以是无线的。经由通信接口540传输的软件和数据为信号形式,该信号可以是能够被 通信接口540接收的电、磁、光或其他信号。这些信号经由通信路径541被 提供给通信接口。
如图4所示,电子设备50还包括显示器接口531和音频接口532,显示 器接口531执行用于将图像渲染到关联的显示器530的操作,音频接口532 用于执行通过关联的扬声器533播放音频内容的操作。
在本申请文件中,术语“计算机程序产品”部分程度上可以指代:可移 动存储单元513、可移动存储单元521、安装在硬盘驱动器511中的硬盘、或 承载着软件通过通信路径541(无线链路或电缆)到通信接口540的载波。计算 机可读存储介质是指将记录的指令和/或数据提供给电子设备50以执行和/或 处理的任何非暂时的有形的存储介质。这种存储介质的示例包括软盘、磁 带、CD-ROM、DVD、蓝光TM光盘、硬盘驱动器、ROM或集成电路、 USB存储器、磁光盘、或诸如PCMCIA卡之类的计算机可读卡等等,这些部 件无论是在电子设备50的内部还是外部均可。瞬态或非有形计算机可读传输 介质也可以参与向电子设备50提供软件、应用程序、指令和/或数据,这种 传输介质的示例包括无线电或红外传输信道、到另一台计算机或另一个联网 设备的网络连接、以及包括电子邮件传输和记录在网站上的信息等的互联网 或内联网。
计算机程序(也被称为计算机程序代码)存储在主存储器503和/或辅助存 储器510中。也可以经由通信接口540来接收计算机程序。此类计算机程序 在被执行时使电子设备50能够执行本文所讨论的实施例的一个或多个特征。 在各种实施例中,计算机程序在被执行时,使处理器501能够执行上述实施 例的特征。因此,此类计算机程序代表计算机系统50的控制器。
软件可以存储在计算机程序产品中,并使用可移动存储驱动器512、硬 盘驱动器511或接口520加载到电子设备50中。替代地,可以通过通信路径 541将计算机程序产品下载到计算机系统50。该软件在由处理器501执行时 促使电子设备50执行本文描述的实施例的功能。
应该理解,图4的实施例仅以示例的方式给出。因此,在一些实施例 中,可以省略电子设备50的一个或多个特征。而且,在一些实施例中,电子 设备50的一个或多个特征可以被组合在一起。另外,在一些实施例中,电子 设备50的一个或多个特征可以被分成一个或多个组成部分。
可以理解的是,图4所示的要素起到了提供执行以上实施例中所描述的 服务器的各种功能和操作的途径的作用。
在一种实施方式中,服务器通常可以被描述为包括至少一个处理器和至 少一个包括计算机程序代码的存储器的物理设备。所述至少一个存储器和计 算机程序代码被配置为与所述至少一个处理器一起促使所述物理设备执行必 要的操作。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程 序,该程序被处理器执行时实现图1所示方法的功能。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由 任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、 程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电 可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光 盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁 盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可 用于存储可以被电子设备访问的信息。按照本文中的界定,计算机可读介质 不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到 本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样 的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质 中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个 实施例或者实施例的某些部分所述的方法。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是, 在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优 点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具 体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限 制本发明为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的 都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见 即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比 较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的 都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见 即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比 较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬 件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用 于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限 于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例 中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现 根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据 本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者 将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而 言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用, 并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有 各种修改的各种实施例。
Claims (10)
1.一种验证码的识别方法,其特征在于,包括:
采集验证码的图像,建立图像集合;每张图像中都显示有至少一个目标图标和至少一个点击图标;每个目标图标唯一对应一个点击图标;
针对图像集合中每张图像进行标注,得到的标注信息可诠释对应图像中每个目标图标所属类别和在图像中的位置,以及每个点击图标所属类别和在图像中的位置;同一图像中唯一对应的目标图标和点击图标的类别相同;
神经网络模型通过图像集合中的图像和对应标注信息进行深度学习;深度学习后的神经网络模型可识别每张图像中每个目标图标和点击图标的所属类别和在图像中的位置;
利用深度学习后的神经网络模型对待识别的验证码进行识别。
2.根据权利要求1所述的验证码的识别方法,其特征在于,所述神经网络模型通过图像集合中的图像和对应标注信息进行深度学习,具体包括:
根据图像集合中标注过的图像,构建数据集;所述数据集中每条数据都包括一张图像和对应的标注信息;
从数据集中提取训练集,并将训练集输入至神经网络模型进行训练,从而调整神经网络模型的普通参数;
通过评价值对神经网络模型的训练结果进行评价;
当评价值满足预设条件后,停止训练,保存当前训练后的神经网络模型。
3.根据权利要求2所述的验证码的识别方法,其特征在于,所述根据图像集合中标注过的图像,构建数据集,之后还包括:
将数据集中的各数据进行格式转换,得到神经网络模型可辨认处理的数据集。
4.根据权利要求2所述的验证码的识别方法,其特征在于,所述从数据集中提取训练集,并将训练集输入至神经网络模型进行训练,之后还包括:
从数据集中提取验证集,所述验证集与训练集无交集;
在神经网络模型的训练过程中利用验证集调整神经网络模型的超参数。
5.根据权利要求4所述的验证码的识别方法,其特征在于,所述保存当前训练后的神经网络模型,之后还包括:
从数据集中提取测试集,所述测试集与训练集和验证集无交集;
将测试集输入至保存后的神经网络模型进行测试;
通过评价指标对测试结果进行评价;
当评价指标达到预设阈值后,当前神经网络模型完成深度学习。
6.根据权利要求1所述的验证码的识别方法,其特征在于,所述利用深度学习后的神经网络模型对待识别的验证码进行识别,具体包括:
将待识别验证码的图像输入至深度学习后的神经网络模型,输出该图像的标注信息;
根据待识别验证码图像的标注信息,在该图像中按照目标图标的位置顺序,依次点击各目标图标唯一对应的点击图标。
7.一种验证码的识别装置,其特征在于,包括:神经网络模型;
采集单元,用于采集当前业务的验证码的图像,建立图像集合;每张图像中都显示有至少一个目标图标和至少一个点击图标;每个目标图标唯一对应一个点击图标;
标注单元,用于针对图像集合中每张图像进行标注,得到的标注信息可诠释对应图像中每个目标图标所属类别和在图像中的位置,以及每个点击图标所属类别和在图像中的位置;同一图像中唯一对应的目标图标和点击图标的类别相同;
学习单元,用于使神经网络模型通过图像集合中的图像和对应标注信息进行深度学习;深度学习后的神经网络模型可识别每张图像中每个目标图标和点击图标的所属类别和在图像中的位置;
识别单元,用于利用深度学习后的神经网络模型对待识别的验证码进行识别。
8.根据权利要求7所述的验证码的识别装置,其特征在于,所述学习单元,具体用于:
根据图像集合中标注过的图像,构建数据集;所述数据集中每条数据都包括一张图像和对应的标注信息;
从数据集中提取训练集,并将训练集输入至神经网络模型进行训练,从而调整神经网络模型的普通参数;
通过评价值对神经网络模型的训练结果进行评价;
当评价值满足预设条件后,停止训练,保存当前训练后的神经网络模型。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~6中任意一项所述的验证码的识别方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6中任意一项所述的验证码的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011372546.1A CN112989312B (zh) | 2020-11-30 | 2020-11-30 | 验证码的识别方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011372546.1A CN112989312B (zh) | 2020-11-30 | 2020-11-30 | 验证码的识别方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112989312A true CN112989312A (zh) | 2021-06-18 |
CN112989312B CN112989312B (zh) | 2024-04-30 |
Family
ID=76344815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011372546.1A Active CN112989312B (zh) | 2020-11-30 | 2020-11-30 | 验证码的识别方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989312B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113627395A (zh) * | 2021-09-17 | 2021-11-09 | 平安银行股份有限公司 | 文本识别方法、装置、介质及电子设备 |
CN113779540A (zh) * | 2021-08-17 | 2021-12-10 | 广东融合通信股份有限公司 | 一种基于rpa的企业公示信息数据采集方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2974923A1 (fr) * | 2011-05-03 | 2012-11-09 | Jean Claude Pailles | Transmission sure d'image sur terminal non sur |
CN106250756A (zh) * | 2016-07-29 | 2016-12-21 | 智者四海(北京)技术有限公司 | 验证码的生成方法、验证方法及相应装置 |
CN106485261A (zh) * | 2016-09-08 | 2017-03-08 | 北京小米移动软件有限公司 | 一种图像识别的方法和装置 |
CN108985041A (zh) * | 2018-05-17 | 2018-12-11 | 厦门二五八网络科技集团股份有限公司 | 一种基于滑动验证的验证码识别输入方法及系统 |
CN109697353A (zh) * | 2018-11-26 | 2019-04-30 | 武汉极意网络科技有限公司 | 一种点击验证码的验证方法和装置 |
CN109919160A (zh) * | 2019-03-04 | 2019-06-21 | 深圳先进技术研究院 | 验证码识别方法、装置、终端及存储介质 |
CN109977980A (zh) * | 2017-12-28 | 2019-07-05 | 航天信息股份有限公司 | 一种验证码识别方法及装置 |
CN110555298A (zh) * | 2019-08-30 | 2019-12-10 | 阿里巴巴(中国)有限公司 | 验证码识别模型训练及识别方法、介质、装置、计算设备 |
CN110942008A (zh) * | 2019-11-21 | 2020-03-31 | 圆通速递有限公司 | 一种基于深度学习的面单信息定位方法和系统 |
CN111160369A (zh) * | 2019-12-25 | 2020-05-15 | 携程旅游信息技术(上海)有限公司 | 破解汉字验证码的方法、系统、电子设备及存储介质 |
CN111881705A (zh) * | 2019-09-29 | 2020-11-03 | 深圳数字生命研究院 | 数据处理、训练、识别方法、装置和存储介质 |
-
2020
- 2020-11-30 CN CN202011372546.1A patent/CN112989312B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2974923A1 (fr) * | 2011-05-03 | 2012-11-09 | Jean Claude Pailles | Transmission sure d'image sur terminal non sur |
CN106250756A (zh) * | 2016-07-29 | 2016-12-21 | 智者四海(北京)技术有限公司 | 验证码的生成方法、验证方法及相应装置 |
CN106485261A (zh) * | 2016-09-08 | 2017-03-08 | 北京小米移动软件有限公司 | 一种图像识别的方法和装置 |
CN109977980A (zh) * | 2017-12-28 | 2019-07-05 | 航天信息股份有限公司 | 一种验证码识别方法及装置 |
CN108985041A (zh) * | 2018-05-17 | 2018-12-11 | 厦门二五八网络科技集团股份有限公司 | 一种基于滑动验证的验证码识别输入方法及系统 |
CN109697353A (zh) * | 2018-11-26 | 2019-04-30 | 武汉极意网络科技有限公司 | 一种点击验证码的验证方法和装置 |
CN109919160A (zh) * | 2019-03-04 | 2019-06-21 | 深圳先进技术研究院 | 验证码识别方法、装置、终端及存储介质 |
CN110555298A (zh) * | 2019-08-30 | 2019-12-10 | 阿里巴巴(中国)有限公司 | 验证码识别模型训练及识别方法、介质、装置、计算设备 |
CN111881705A (zh) * | 2019-09-29 | 2020-11-03 | 深圳数字生命研究院 | 数据处理、训练、识别方法、装置和存储介质 |
CN110942008A (zh) * | 2019-11-21 | 2020-03-31 | 圆通速递有限公司 | 一种基于深度学习的面单信息定位方法和系统 |
CN111160369A (zh) * | 2019-12-25 | 2020-05-15 | 携程旅游信息技术(上海)有限公司 | 破解汉字验证码的方法、系统、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
ZI CHU;STEVEN GIANVECCHIO;HAINING WANG: "Detecting Automation of Twitter Accounts:Are you a human,bot or cyborg?", IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 9, no. 6, 31 December 2012 (2012-12-31), pages 811 - 824 * |
游贤: "基于YOLO V2点选汉字验证码识别的研究", 信息科技, no. 2, 15 February 2020 (2020-02-15), pages 15 - 30 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779540A (zh) * | 2021-08-17 | 2021-12-10 | 广东融合通信股份有限公司 | 一种基于rpa的企业公示信息数据采集方法 |
CN113627395A (zh) * | 2021-09-17 | 2021-11-09 | 平安银行股份有限公司 | 文本识别方法、装置、介质及电子设备 |
CN113627395B (zh) * | 2021-09-17 | 2023-11-17 | 平安银行股份有限公司 | 文本识别方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112989312B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344908B (zh) | 用于生成模型的方法和装置 | |
CN109308490B (zh) | 用于生成信息的方法和装置 | |
US20230376527A1 (en) | Generating congruous metadata for multimedia | |
EP3869385B1 (en) | Method for extracting structural data from image, apparatus and device | |
CN111523413B (zh) | 生成人脸图像的方法和装置 | |
CN110363220B (zh) | 行为类别检测方法、装置、电子设备和计算机可读介质 | |
CN108319723A (zh) | 一种图片分享方法和装置、终端、存储介质 | |
CN112989312B (zh) | 验证码的识别方法、装置、电子设备和存储介质 | |
EP3989158A1 (en) | Method, apparatus and device for video similarity detection | |
CN113763348A (zh) | 图像质量确定方法、装置、电子设备及存储介质 | |
CN112434178A (zh) | 图像分类方法、装置、电子设备和存储介质 | |
CN111241873A (zh) | 图像翻拍检测方法及其模型的训练方法、支付方法及装置 | |
EP3885934A1 (en) | Video search method and apparatus, computer device, and storage medium | |
CN113762303B (zh) | 图像分类方法、装置、电子设备及存储介质 | |
CN116152576B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112820404A (zh) | 应用于大数据智慧医疗的信息处理方法及智慧医疗服务器 | |
CN114445679A (zh) | 模型训练方法及相关装置、设备和存储介质 | |
CN112084889A (zh) | 一种图像行为识别方法、装置、计算设备及存储介质 | |
CN113591467B (zh) | 事件主体识别方法及装置、电子设备、介质 | |
CN117437425B (zh) | 语义分割方法、装置、计算机设备及计算机可读存储介质 | |
CN112613503B (zh) | 图片类型识别方法及装置 | |
KR102647904B1 (ko) | 딥러닝 기반으로 장소 리뷰 이미지를 분류하는 방법, 시스템, 및 컴퓨터 프로그램 | |
CN116994081A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
CN118131893A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
Sun et al. | GRM: Gaussian response module for visual tracking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |