CN116758562A - 通用文本验证码识别方法及系统 - Google Patents
通用文本验证码识别方法及系统 Download PDFInfo
- Publication number
- CN116758562A CN116758562A CN202311057773.9A CN202311057773A CN116758562A CN 116758562 A CN116758562 A CN 116758562A CN 202311057773 A CN202311057773 A CN 202311057773A CN 116758562 A CN116758562 A CN 116758562A
- Authority
- CN
- China
- Prior art keywords
- verification code
- feature
- classification
- model
- visual model
- 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 154
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 59
- 230000000007 visual effect Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 21
- 230000000694 effects Effects 0.000 claims abstract description 14
- 238000000605 extraction Methods 0.000 claims abstract description 12
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000013140 knowledge distillation Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- 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
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明属于验证码识别技术领域,具体涉及通用文本验证码识别方法及系统。方法包括训练过程和预测过程;训练过程包括如下步骤;S1,获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;S2,通过视觉模型,对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;S3,通过语言模型,将分类后的特征进行位置编码以及解码过程处理,并生成解码序列。预测过程包括如下步骤:S4,将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型中,经过分类得到验证码字符的预测输出。本发明具有能够实现各个文本验证码的高效、准确、鲁棒识别的特点。
Description
技术领域
本发明属于验证码识别技术领域,具体涉及通用文本验证码识别方法及系统。
背景技术
验证码(全自动区分计算机和人类的图灵测试)是一种用于区分计算机和人类用户的技术,旨在防止自动化程序(如恶意机器人)对在线服务进行滥用。这些验证码在用户与网络应用程序进行交互时出现,要求用户执行某种任务来证明自己是真实的人类用户,而不是自动化程序。
随着计算机视觉、图像处理和机器学习技术的不断进步,验证码识别技术逐渐从最初的简单文本和数字识别演变为更复杂的图像和声音识别。以下是验证码识别技术领域的发展概述:
1.简单文本和数字验证码:最早的验证码是简单的文本和数字组合,要求用户从扭曲或干扰的图像中辨认出字符并输入。最开始,基于图像处理技术,例如图像滤波和形态学操作,帮助增强字符的可辨识性。随着简单字符验证码的易被破解,后续发展更复杂的验证码形式。
2.图像验证码:随着计算机视觉和深度学习技术的发展,图像验证码逐渐变得更复杂和具有挑战性。此类验证码可能包含旋转、扭曲、倾斜、干扰线和背景噪声等,以防止自动化程序识别图像中的内容。这推动了基于深度学习的目标检测和图像分割算法的发展,用于识别和定位验证码中的字符。
3.声音验证码:为了进一步提高安全性,一些网站采用声音验证码,要求用户听取并输入验证码中的语音内容。声音验证码的发展促进了语音识别技术的研究,包括梅尔频率倒谱系数(MFCC)特征提取和深度学习模型应用。
4.行为分析验证码:为了防止机器学习模型和算法直接攻击验证码,一些验证码系统引入了行为分析,以识别用户的行为模式。这些系统可以监控用户的鼠标移动、键盘输入速度和点击模式等,以判断用户是否是真实用户。
本发明所述的通用文本验证码为上述前两种验证码。
目前验证码识别技术虽然已经取得了很大的进步,但仍然存在一些缺点和挑战:
1.复杂验证码难以解决:随着验证码的复杂化,尤其是图像验证码中包含扭曲、倾斜、噪声等复杂变换,预处理不当导致图片信息丢失过多、仅使用特征的浅层信息、对于特征没有进行充分的融合,现有的识别技术可能无法准确地解决这些验证码,导致识别率下降。
2.鲁棒性不足:一些验证码系统可能会采取反制措施,如添加噪声、干扰线、字符中大小不一,图像背景复杂等,以对抗识别算法,从而降低了算法的鲁棒性,使得识别结果受到干扰。
3.通用性不足:验证码种类多样,现有技术都是针对专门几类特定的验证码,无法覆盖不定长和算术验证码等多种样式的验证码。
4.数据利用性不足:一些验证码识别技术可能需要大量的计算资源和时间来进行训练和识别,目前都是有监督的验证码识别,需要大量数据和标注,这增加了解决验证码的成本和时间。
因此,设计一种能够实现各个文本验证码的高效、准确、鲁棒识别的通用文本验证码识别方法及系统,就显得十分重要。
发明内容
本发明是为了克服现有技术中,目前验证码识别针对的都是单视觉模态以及有监督的方式,存在着验证码数据样式变化大、模型鲁棒性不足的问题,提供了一种能够实现各个文本验证码的高效、准确、鲁棒识别的通用文本验证码识别方法及系统。
为了达到上述发明目的,本发明采用以下技术方案:
通用文本验证码识别方法,包括训练过程和预测过程;所述训练过程包括如下步骤;
S1,获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;
S2,通过视觉模型,对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;
S3,通过语言模型,将步骤S2中分类后的特征进行位置编码以及解码过程处理,并生成解码序列;所述解码序列通过投射层用于验证码字符预测;
所述预测过程包括如下步骤:
S4,将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型中,经过分类得到验证码字符的预测输出。
作为优选,步骤S1中,所述数据增强处理具体为:
对验证码字符进行锐化操作,并加入随机脉冲噪声和自适应高斯噪声。
作为优选,步骤S2中,所述视觉模型包括主干网络和头部:
所述主干网络用于逐步学习验证码字符中的边缘、纹理和形状的低级特征,并将低级特征组合成更高级别的语义特征;
所述视觉模型通过主干网络对验证码图像进行特征提取,提取特征后将特征拉直送入到位置编码模块;所述位置编码模块用于提供验证码序列中元素的相对位置信息,具体实现过程如下:
其中,表示单词位置;/>为特征维度长度,/>表示特征维度的下标,/>的取值范围为[0,…,/>];/>表示/>位置的位置编码,/>表示位置的位置编码;
最后将位置编码模块输出的特征输入到编码器,编码器通过多层的自注意力机制和前馈神经网络,从输入的特征序列中提取需要的特征。
作为优选,所述视觉模型的头部包括对比学习和分类两个任务分支:
其中,对比学习任务分支通过两个线性层进行特征投影,具体过程如下:
S21,将编码器提取的特征,经过第一线性层特征投影以及sigmoid函数计算,获取到注意力权重;
S22,将编码器提取的特征均匀分割成第一特征和第二特征/>;
S23,计算得到第三特征为:
;
S24,将第三特征经过第二线性层特征投影,得到最终线性层输出;
S25,将所述线性层输出进行实例映射;所述实例映射具体采用全局平均池化;
分类任务分支,用于最终预测字符的输出;
S26,将主干网络的输出特征经过位置注意力机制处理,用于捕捉验证码图像中不同位置之间的空间相关性;
S27,将经过位置注意力机制处理后的特征映射到字符分类空间;所述字符分类空间由验证码字符构成的集合组成。
作为优选,对比学习任务分支中,采用对比学习损失函数进行计算,具体计算过程如下:
其中,和/>表示一批图片经过不同数据增强处理后,最后实例映射输出分成两个对齐的集合;/>和/>分别表示集合/>和/>中的特征向量;/>是损失函数;/>是相似度计算操作,具体采用的是余弦距离;/>是温度参数;/>和/>分别等同于/>和/>;/>等同于;/>表示/>和/>的损失函数;r表示/>或/>集合的子元素;/>表示/>集合的子元素,/>表示集合/>中存在但不存在集合/>中的所有元素。
作为优选,分类任务分支中,采用交叉熵损失函数进行计算。
作为优选,步骤S3包括如下步骤:
S31,将视觉模型分类后得到的特征,进行特征投射到语言模型特征维度;
S32,对视觉模型分类后得到的特征进行位置编码;
S33,对位置编码后的特征进行解码;解码过程通过解码器逐步生成解码序列;
S34,所述解码序列再通过投射层用于验证码字符预测。
作为优选,步骤S4中所述预处理过程包括图像缩放和图像归一化过程。
作为优选,所述训练过程采用知识蒸馏模式;所述知识蒸馏模式包括教师分支和学生分支;在教师分支训练过程中,停止所有模型的参数梯度更新;在学生分支训练过程中,保持所有模型的参数梯度更新。
本发明还提供了所述通用文本验证码识别系统,包括:
数据增强模块,用于获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;
视觉模型模块,用于对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;
语言模型模块,用于将分类后的特征进行位置编码以及解码过程处理,并生成解码序列;所述解码序列通过投射层用于验证码字符预测;
预测模块,用于将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型模块中,经过分类得到验证码字符的预测输出。
本发明与现有技术相比,有益效果是:(1)本发明将对验证码图像设计了图像增强技巧,增强效果会对验证码图像进行锐化,对字符达到一个“浮雕”的效果;(2)本发明设计的验证码不仅仅是数英验证码、中文验证码,同时兼容算术验证码,是一个通用的文本验证码识别算法;(3)本发明设计了对比学习和分类头对验证码图像进行特征提取,并且利用语言模型增强模型的表达能力,最后会将视觉模型和语言模型进行融合,达到多模态的效果;(4)本发明还使用了知识蒸馏技术,使得模型特征更加稳定,模型更快的收敛;(5)通过本发明技术方案,可以实现各个文本验证码的高效、准确、鲁棒的识别。
附图说明
图1为本发明中通用文本验证码识别方法的一种原理框图;
图2为本发明中视觉模型的一种构架图;
图3为本发明实施例所提供的通用文本验证码识别方法在实际应用的一种流程图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图1所示,本发明提供了通用文本验证码识别方法,包括训练过程和预测过程;所述训练过程包括如下步骤;
1.获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;
2.通过视觉模型,对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;
3.通过语言模型,将步骤2中分类后的特征进行位置编码以及解码过程处理,并生成解码序列;所述解码序列通过投射层用于验证码字符预测;
预测过程包括如下步骤:
4.将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型中,经过分类得到验证码字符的预测输出。
对于步骤1,在对比学习过程中,同一张图片会进行不同的增强处理。基本变化有:灰度变化、对比度增强、色彩变换和各种模糊操作。本发明专门针对验证码图片设计了“浮雕”效果的数据增强,主要体现在对验证码字符进行锐化操作,加入了随机脉冲噪声和自适应高斯噪声,对字符的形变和字体更加鲁棒。具体达到的效果如下:
1.增加数据量:通过对原始数据进行变换和扩充,有效地增加数据量,使得模型能够在更多样化的数据上进行训练;
2.缓解过拟合:过拟合是指模型在训练集上表现很好,但在测试集上表现较差。过拟合通常是由于训练数据过少或模型过于复杂导致的。数据增强可以提供更多样本,有助于缓解过拟合,提高模型的泛化能力;
3.增加数据多样性:数据增强通过对数据进行随机变换,使得模型在观察到不同样本的情况下进行训练。这样,模型可以学习到更丰富和多样的特征表示,提高对不同变化和干扰的适应能力。
4.增强模型鲁棒性:验证码图片可能会包含各种噪声、干扰和变换,验证码图片的旋转、平移、缩放、翻转等。通过数据增强,模型可以在训练过程中接触到这些变换后的样本,从而提高模型的鲁棒性,使其在实际应用中更加可靠。
5.降低数据偏差:有些数据集可能存在样本分布不均衡或类别偏差的问题,导致模型对少数类别的学习不足。通过数据增强,可以生成更多的样本来平衡数据集,减轻数据偏差对模型的影响。
6.简化特征检测:数据增强可以简化模型的特征检测过程。随机的旋转、缩放和平移操作可以让模型更容易检测和理解验证码字符的特征不变性和位置信息。
如图2所示,为本发明中的视觉模型,视觉模型包括主干网络和头部。
主干网络用于逐步学习验证码字符中的边缘、纹理和形状的低级特征,并将低级特征组合成更高级别的语义特征;
视觉模型通过主干网络(一种深度残差网络结构)对验证码图像进行特征提取,本发明采用的是resnet18主干网络,提取特征后将特征拉直送入到位置编码模块;所述位置编码模块用于提供验证码序列中元素的相对位置信息,具体实现过程如下:
;
;
其中,表示单词位置;/>为特征维度长度,/>表示特征维度的下标,/>的取值范围为[0,…,/>];/>表示/>位置的位置编码,/>表示位置的位置编码;
模型可以根据这些位置向量来区分不同位置的元素,帮助模型理解序列中元素的相对顺序。与resnet特征向量相加,将位置信息与语义信息相结合。这样,模型既能够通过自注意力机制学习元素之间的相互依赖关系,又能够保留元素在序列中的相对位置信息。
最后将特征输入到TransformerEncoder(编码器),编码器通过多层的自注意力机制和前馈神经网络,从输入序列中提取有意义的特征表示。自注意力机制能够在序列中建立每个元素之间的关联性,帮助模型捕捉序列中不同元素之间的依赖关系和语义信息。编码器中的自注意力机制是并行计算的,使得模型可以高效处理较长的序列数据,大大加速了模型训练和推理的过程。在每一层中直接建立元素之间的依赖关系,有助于更好地捕捉长程依赖性,并且不受输入序列长度的限制,可以处理变长的序列数据。
视觉模型的头部包括对比学习和分类两个任务分支:
其中,对比学习任务分支通过两个线性层进行特征投影,具体过程如下:
1.将编码器提取的特征,经过第一线性层特征投影以及sigmoid函数计算,获取到注意力权重;
2.将编码器提取的特征均匀分割成第一特征和第二特征/>;
3.计算得到第三特征为:
;
4.将第三特征经过第二线性层特征投影,得到最终线性层输出;
5.将所述线性层输出进行实例映射;本发明采用全局平均池化进行实例映射,映射长度灵活,可以通过分析验证码数据的最大长度进行设置。
分类任务分支,用于最终预测字符的输出;
1.将主干网络的输出特征经过位置注意力机制处理,用于捕捉验证码图像中不同位置之间的空间相关性,从而增强图像的空间信息,从而更好地捕捉图像中不同物体和区域的边界和细节;
2.将经过位置注意力机制处理后的特征映射到字符分类空间;所述字符分类空间由验证码字符构成的集合组成。
对比学习任务分支中,采用对比学习损失函数进行计算,具体计算过程如下:
其中,和/>表示一批图片经过不同数据增强处理后,最后实例映射输出分成两个对齐的集合;/>和/>分别表示集合/>和/>中的特征向量;/>是损失函数;/>是相似度计算操作,具体采用的是余弦距离;/>是温度参数;/>和/>分别等同于/>和/>;/>等同于;/>表示/>和/>的损失函数;r表示/>或/>集合的子元素;/>表示/>集合的子元素,/>表示集合/>中存在但不存在集合/>中的所有元素。
分类任务分支中,采用交叉熵损失函数进行计算。
另外,视觉预测采用对比学习损失,分类器CLs采用分类损失。语言预测采用分类损失。混合预测采用分类损失+对比学习损失。
蒸馏时,教师模型的输出生成伪标签作为真实标签与学生模型计算分类损失。
进一步的,对于语言模型,具体作用如下:
1.将视觉模型分类后得到的特征,进行特征投射到语言模型特征维度;
2.对视觉模型分类后得到的特征进行位置编码;
为了确保解码器在生成第一个位置的输出时,不依赖于任何编码器端的信息。因为在自回归的解码过程中,每个位置的输出都是一个接一个生成的,而不是同时生成的。所以在生成第一个位置时,还没有任何编码器端的信息可用。将Query初始化为全0的向量可以使得解码器开始时自主地生成输出。故初始化Query为全0,也进行位置编码;
3.对位置编码后的特征进行解码;解码过程通过解码器逐步生成解码序列;
4.所述解码序列再通过投射层用于验证码字符预测。
如图1所示,训练过程采用知识蒸馏模式;知识蒸馏模式包括教师分支(左分支)和学生分支(右分支);在教师分支训练过程中,停止所有模型的参数梯度更新;在学生分支训练过程中,保持所有模型的参数梯度更新。
本发明还提供了所述通用文本验证码识别系统,包括:
数据增强模块,用于获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;
视觉模型模块,用于对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;
语言模型模块,用于将分类后的特征进行位置编码以及解码过程处理,并生成解码序列;所述解码序列通过投射层用于验证码字符预测;
预测模块,用于将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型模块中,经过分类得到验证码字符的预测输出。
如图3所示,本发明在RPA流程下登陆网站验证码应用示例,该示例仅作为整个发明方案在其中一个具体场景上的应用示例:
1.通过RPA流程登录某网站;
2.从网站的登录界面,获取到验证码的图片;
3.将图片中验证码转成base64编码;
4.同时输入验证码类型,例如:数字验证码、英文验证码、数英混合验证码、算术验证码、中文验证码等;例如本实施例的验证码为英文验证码;
5.根据输入的图片编码信息和验证码类型(英文验证码),请求算法服务;
算法服务通过请求(request)涉及以下几个步骤:
(1)请求的定义:
确定请求的数据格式:定义请求的数据结构为 JSON 格式、图像数据等。
定义请求参数:列出请求所需的所有参数,包括输入数据、模型选项等。
(2)请求的发送:
客户端构建请求:根据定义的请求数据格式,创建包含所需参数的请求对象。
使用 HTTP 或其他通信协议:选择适当的通信方式(如 HTTP POST 请求),将请求发送给算法服务的 API 端点。
(3)请求的处理:
接收请求:算法服务接收到客户端发送的请求。
参数解析:解析请求中的参数,获取输入数据、模型选择等信息。
(4)算法执行:
模型加载:根据请求中的模型版本,加载相应的验证码模型,本例为英文模型。
数据处理:对接收到的输入数据进行预处理,确保其符合模型的输入要求。
算法执行:将预处理后的数据输入模型,执行算法推理或预测操作,生成相应的结果。
(5)结果返回:
结果生成:算法执行后,得到模型的输出结果为“RSBC”。
结果格式化:将结果转换为客户端期望的数据格式, JSON 格式。
返回结果:将格式化后的结果作为 HTTP 响应返回给客户端。
(6)错误处理:
异常处理:如果在请求处理或算法执行中出现异常,捕获错误,并返回相应的错误信息给客户端。
(7)日志记录:
记录请求日志:在算法服务中记录请求的信息,包括请求时间、请求参数等,以便跟踪和故障排查。
(8)安全性考虑:
鉴权和认证:实施鉴权机制,确保只有授权用户可以访问算法服务。
数据隐私:确保请求中不包含敏感信息,或在传输过程中进行加密。
6.将验证码结果输入网站内,通过验证。
本发明将多模态学习和自监督学习技术引入到文本验证码的识别中,解决了数据利用度不高、验证码识别兼容性差、识别精度低等问题。
1.本发明在设计图片验证码数据增强时,分析了验证码数据的特效,创新性地设计出“浮雕”效果的数据增强,更加突出了验证码字符的特征。降低数据偏差,简化特征的提取,增强了模型鲁棒性。
2.本发明在分析验证码识别,设计了适配验证码识别的多模态学习方法,有视觉模型、语言模型以及多模态的混合模型。通过实例映射过渡视觉模态到语言模态,随着语言模型的加入,能让验证码在专属类型中表现更好,举个简单的例子,只有数字的验证码可能数字“0”识别为字母“o”,但是在语言模型的学习下,会减少这一类型的错误。通过结合这些数据,模型可以弥补单一模态的不足,得到更准确的结果,提高识别的准确率。
3.本发明针对目前验证码识别方案使用的是有监督数据,提出将自监督学习引入到验证码识别技术中,利用“对比学习”技术,实现验证码自监督实现的过程,通过对比学习,模型在样本间进行比较和区分,从而促使模型学习区分不同样本的特征,以及捕捉样本内的共性。有效地利用丰富的未标记数据,用时也缩短了开发时间。
4.除了设计强大的模型提取验证码模型,考虑到实际使用的时效性,本发明引入知识蒸馏的技术,对验证码识别模型进行蒸馏,简化了推理模型,降低了计算资源需求,同时也增强了模型的鲁棒能力。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
Claims (10)
1.通用文本验证码识别方法,其特征在于,包括训练过程和预测过程;所述训练过程包括如下步骤;
S1,获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;
S2,通过视觉模型,对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;
S3,通过语言模型,将步骤S2中分类后的特征进行位置编码以及解码过程处理,并生成解码序列;所述解码序列通过投射层用于验证码字符预测;
所述预测过程包括如下步骤:
S4,将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型中,经过分类得到验证码字符的预测输出。
2.根据权利要求1所述的通用文本验证码识别方法,其特征在于,步骤S1中,所述数据增强处理具体为:
对验证码字符进行锐化操作,并加入随机脉冲噪声和自适应高斯噪声。
3.根据权利要求1所述的通用文本验证码识别方法,其特征在于,步骤S2中,所述视觉模型包括主干网络和头部:
所述主干网络用于逐步学习验证码字符中的边缘、纹理和形状的低级特征,并将低级特征组合成更高级别的语义特征;
所述视觉模型通过主干网络对验证码图像进行特征提取,提取特征后将特征拉直送入到位置编码模块;所述位置编码模块用于提供验证码序列中元素的相对位置信息,具体实现过程如下:
;
;
其中,表示单词位置;/>为特征维度长度,/>表示特征维度的下标,/>的取值范围为[0,…,/>];/>表示/>位置的位置编码,/>表示位置的位置编码;
最后将位置编码模块输出的特征输入到编码器,编码器通过多层的自注意力机制和前馈神经网络,从输入的特征序列中提取需要的特征。
4.根据权利要求3所述的通用文本验证码识别方法,其特征在于,所述视觉模型的头部包括对比学习和分类两个任务分支:
其中,对比学习任务分支通过两个线性层进行特征投影,具体过程如下:
S21,将编码器提取的特征,经过第一线性层特征投影以及sigmoid函数计算,获取到注意力权重;
S22,将编码器提取的特征均匀分割成第一特征和第二特征/>;
S23,计算得到第三特征为:
;
S24,将第三特征经过第二线性层特征投影,得到最终线性层输出;
S25,将所述线性层输出进行实例映射;所述实例映射具体采用全局平均池化;
分类任务分支,用于最终预测字符的输出;
S26,将主干网络的输出特征经过位置注意力机制处理,用于捕捉验证码图像中不同位置之间的空间相关性;
S27,将经过位置注意力机制处理后的特征映射到字符分类空间;所述字符分类空间由验证码字符构成的集合组成。
5.根据权利要求4所述的通用文本验证码识别方法,其特征在于,对比学习任务分支中,采用对比学习损失函数进行计算,具体计算过程如下:
;
;
其中,和/>表示一批图片经过不同数据增强处理后,最后实例映射输出分成两个对齐的集合;/>和/>分别表示集合/>和/>中的特征向量;/>是损失函数;/>是相似度计算操作,具体采用的是余弦距离;/>是温度参数;/>和/>分别等同于/>和/>;/>等同于;/>表示/>和/>的损失函数;r表示/>或/>集合的子元素;/>表示/>集合的子元素,/>表示集合/>中存在但不存在集合/>中的所有元素。
6.根据权利要求4所述的通用文本验证码识别方法,其特征在于,分类任务分支中,采用交叉熵损失函数进行计算。
7.根据权利要求1所述的通用文本验证码识别方法,其特征在于,步骤S3包括如下步骤:
S31,将视觉模型分类后得到的特征,进行特征投射到语言模型特征维度;
S32,对视觉模型分类后得到的特征进行位置编码;
S33,对位置编码后的特征进行解码;解码过程通过解码器逐步生成解码序列;
S34,所述解码序列再通过投射层用于验证码字符预测。
8.根据权利要求1所述的通用文本验证码识别方法,其特征在于,步骤S4中所述预处理过程包括图像缩放和图像归一化过程。
9.根据权利要求1所述的通用文本验证码识别方法,其特征在于,所述训练过程采用知识蒸馏模式;所述知识蒸馏模式包括教师分支和学生分支;在教师分支训练过程中,停止所有模型的参数梯度更新;在学生分支训练过程中,保持所有模型的参数梯度更新。
10.通用文本验证码识别系统,用于实现权利要求1-9任一项所述的通用文本验证码识别方法,其特征在于,所述通用文本验证码识别系统包括:
数据增强模块,用于获取验证码图像数据,并对验证码图像数据进行具有浮雕效果的数据增强处理;
视觉模型模块,用于对经过数据增强后的验证码图像数据进行特征提取以及特征的对比学习和分类;
语言模型模块,用于将分类后的特征进行位置编码以及解码过程处理,并生成解码序列;所述解码序列通过投射层用于验证码字符预测;
预测模块,用于将需要识别的验证码图片经过预处理后,输入到训练后的视觉模型模块中,经过分类得到验证码字符的预测输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311057773.9A CN116758562B (zh) | 2023-08-22 | 2023-08-22 | 通用文本验证码识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311057773.9A CN116758562B (zh) | 2023-08-22 | 2023-08-22 | 通用文本验证码识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116758562A true CN116758562A (zh) | 2023-09-15 |
CN116758562B CN116758562B (zh) | 2023-12-08 |
Family
ID=87957667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311057773.9A Active CN116758562B (zh) | 2023-08-22 | 2023-08-22 | 通用文本验证码识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116758562B (zh) |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401433A (zh) * | 2006-09-07 | 2009-04-01 | Lg电子株式会社 | 用于解码/编码视频信号的方法及装置 |
CN107967475A (zh) * | 2017-11-16 | 2018-04-27 | 广州探迹科技有限公司 | 一种基于窗口滑动和卷积神经网络的验证码识别方法 |
WO2020248471A1 (zh) * | 2019-06-14 | 2020-12-17 | 华南理工大学 | 一种基于集聚交叉熵损失函数的序列识别方法 |
WO2021000362A1 (zh) * | 2019-07-04 | 2021-01-07 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
CN113159045A (zh) * | 2021-04-14 | 2021-07-23 | 西安工业大学 | 一种结合图像预处理与卷积神经网络的验证码识别方法 |
CN113496489A (zh) * | 2021-09-06 | 2021-10-12 | 北京字节跳动网络技术有限公司 | 内窥镜图像分类模型的训练方法、图像分类方法和装置 |
CN114140803A (zh) * | 2022-01-30 | 2022-03-04 | 杭州实在智能科技有限公司 | 基于深度学习的文档单字坐标检测和修正方法及系统 |
CN114240958A (zh) * | 2021-12-23 | 2022-03-25 | 西安交通大学 | 一种应用于病理学组织分割的对比学习方法 |
CN114648723A (zh) * | 2022-04-28 | 2022-06-21 | 之江实验室 | 基于时间一致性对比学习的动作规范性检测方法和装置 |
CN115147680A (zh) * | 2022-06-30 | 2022-10-04 | 北京百度网讯科技有限公司 | 目标检测模型的预训练方法、装置以及设备 |
US20220327678A1 (en) * | 2021-04-09 | 2022-10-13 | Dell Products L.P. | Machine learning-based analysis of computing device images included in requests to service computing devices |
CN115471851A (zh) * | 2022-10-11 | 2022-12-13 | 小语智能信息科技(云南)有限公司 | 融合双重注意力机制的缅甸语图像文本识别方法及装置 |
CN115810127A (zh) * | 2022-12-14 | 2023-03-17 | 淮阴师范学院 | 基于监督和自监督联合对比学习的小样本图像分类方法 |
WO2023040298A1 (zh) * | 2021-09-16 | 2023-03-23 | 京东科技信息技术有限公司 | 视频表征自监督对比学习方法和装置 |
US20230136235A1 (en) * | 2021-10-28 | 2023-05-04 | Nvidia Corporation | 3d surface reconstruction with point cloud densification using artificial intelligence for autonomous systems and applications |
WO2023077816A1 (zh) * | 2021-11-03 | 2023-05-11 | 中国华能集团清洁能源技术研究院有限公司 | 边界优化的遥感图像语义分割方法、装置、设备及介质 |
CN116229295A (zh) * | 2023-02-28 | 2023-06-06 | 西安电子科技大学 | 基于融合卷积注意力机制的遥感图像目标检测方法 |
CN116311254A (zh) * | 2023-05-23 | 2023-06-23 | 暨南大学 | 一种恶劣天气情况下的图像目标检测方法、系统及设备 |
CN116343109A (zh) * | 2023-02-10 | 2023-06-27 | 浙江工业大学 | 基于自监督掩码模型和跨模态码本的文本行人搜索方法 |
WO2023117344A1 (en) * | 2021-12-21 | 2023-06-29 | Siemens Aktiengesellschaft | Decentralized computing unit |
CN116403199A (zh) * | 2023-06-07 | 2023-07-07 | 杭州实在智能科技有限公司 | 基于深度学习的屏幕图标语义识别方法及系统 |
CN116432160A (zh) * | 2023-03-28 | 2023-07-14 | 杭州实在智能科技有限公司 | 基于rpa和lbp特征的滑块验证码识别方法及系统 |
-
2023
- 2023-08-22 CN CN202311057773.9A patent/CN116758562B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401433A (zh) * | 2006-09-07 | 2009-04-01 | Lg电子株式会社 | 用于解码/编码视频信号的方法及装置 |
CN107967475A (zh) * | 2017-11-16 | 2018-04-27 | 广州探迹科技有限公司 | 一种基于窗口滑动和卷积神经网络的验证码识别方法 |
WO2020248471A1 (zh) * | 2019-06-14 | 2020-12-17 | 华南理工大学 | 一种基于集聚交叉熵损失函数的序列识别方法 |
WO2021000362A1 (zh) * | 2019-07-04 | 2021-01-07 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
US20220327678A1 (en) * | 2021-04-09 | 2022-10-13 | Dell Products L.P. | Machine learning-based analysis of computing device images included in requests to service computing devices |
CN113159045A (zh) * | 2021-04-14 | 2021-07-23 | 西安工业大学 | 一种结合图像预处理与卷积神经网络的验证码识别方法 |
CN113496489A (zh) * | 2021-09-06 | 2021-10-12 | 北京字节跳动网络技术有限公司 | 内窥镜图像分类模型的训练方法、图像分类方法和装置 |
WO2023040298A1 (zh) * | 2021-09-16 | 2023-03-23 | 京东科技信息技术有限公司 | 视频表征自监督对比学习方法和装置 |
US20230136235A1 (en) * | 2021-10-28 | 2023-05-04 | Nvidia Corporation | 3d surface reconstruction with point cloud densification using artificial intelligence for autonomous systems and applications |
WO2023077816A1 (zh) * | 2021-11-03 | 2023-05-11 | 中国华能集团清洁能源技术研究院有限公司 | 边界优化的遥感图像语义分割方法、装置、设备及介质 |
WO2023117344A1 (en) * | 2021-12-21 | 2023-06-29 | Siemens Aktiengesellschaft | Decentralized computing unit |
CN114240958A (zh) * | 2021-12-23 | 2022-03-25 | 西安交通大学 | 一种应用于病理学组织分割的对比学习方法 |
CN114140803A (zh) * | 2022-01-30 | 2022-03-04 | 杭州实在智能科技有限公司 | 基于深度学习的文档单字坐标检测和修正方法及系统 |
CN114648723A (zh) * | 2022-04-28 | 2022-06-21 | 之江实验室 | 基于时间一致性对比学习的动作规范性检测方法和装置 |
CN115147680A (zh) * | 2022-06-30 | 2022-10-04 | 北京百度网讯科技有限公司 | 目标检测模型的预训练方法、装置以及设备 |
CN115471851A (zh) * | 2022-10-11 | 2022-12-13 | 小语智能信息科技(云南)有限公司 | 融合双重注意力机制的缅甸语图像文本识别方法及装置 |
CN115810127A (zh) * | 2022-12-14 | 2023-03-17 | 淮阴师范学院 | 基于监督和自监督联合对比学习的小样本图像分类方法 |
CN116343109A (zh) * | 2023-02-10 | 2023-06-27 | 浙江工业大学 | 基于自监督掩码模型和跨模态码本的文本行人搜索方法 |
CN116229295A (zh) * | 2023-02-28 | 2023-06-06 | 西安电子科技大学 | 基于融合卷积注意力机制的遥感图像目标检测方法 |
CN116432160A (zh) * | 2023-03-28 | 2023-07-14 | 杭州实在智能科技有限公司 | 基于rpa和lbp特征的滑块验证码识别方法及系统 |
CN116311254A (zh) * | 2023-05-23 | 2023-06-23 | 暨南大学 | 一种恶劣天气情况下的图像目标检测方法、系统及设备 |
CN116403199A (zh) * | 2023-06-07 | 2023-07-07 | 杭州实在智能科技有限公司 | 基于深度学习的屏幕图标语义识别方法及系统 |
Non-Patent Citations (1)
Title |
---|
崔新;白培瑞;张策;刘庆一;傅颖霞;刘嘉程;祝璐璐;: "一种基于端对端深度卷积神经网络的验证码识别方法", 山东科技大学学报(自然科学版), no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN116758562B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241291B (zh) | 利用对抗生成网络生成对抗样本的方法及装置 | |
CN105426356B (zh) | 一种目标信息识别方法和装置 | |
CN112966685A (zh) | 用于场景文本识别的攻击网络训练方法、装置及相关设备 | |
CN112733645A (zh) | 手写签名校验方法、装置、计算机设备及存储介质 | |
CN111914769A (zh) | 用户合法性判定方法、装置、计算机可读存储介质及设备 | |
Lv et al. | Chinese character CAPTCHA recognition based on convolution neural network | |
CN116311214A (zh) | 车牌识别方法和装置 | |
CN117058723B (zh) | 掌纹识别方法、装置及存储介质 | |
Okokpujie et al. | Development of an adaptive trait-aging invariant face recognition system using convolutional neural networks | |
CN110674497B (zh) | 一种恶意程序相似度计算的方法和装置 | |
CN117171746A (zh) | 恶意代码同源性分析方法、装置、电子设备及存储介质 | |
Zheng et al. | Cmfn: Cross-modal fusion network for irregular scene text recognition | |
CN116758562B (zh) | 通用文本验证码识别方法及系统 | |
Zhao et al. | Handwriting identification and verification using artificial intelligence-assisted textural features | |
CN113505716B (zh) | 静脉识别模型的训练方法、静脉图像的识别方法及装置 | |
Chaeikar et al. | Secure CAPTCHA by Genetic Algorithm (GA) and Multi-Layer Perceptron (MLP) | |
CN114170439A (zh) | 姿态识别方法、装置、存储介质和电子设备 | |
Shanmugam et al. | Newton algorithm based DELM for enhancing offline tamil handwritten character recognition | |
CN111177668A (zh) | 一种基于移动设备传感器的人机交互验证方法 | |
Mishra et al. | Integrating State-of-the-Art Face Recognition and Anti-Spoofing Techniques into Enterprise Information Systems | |
CN111598075A (zh) | 图片生成方法、设备及可读存储介质 | |
Keçeli et al. | Depth features to recognise dyadic interactions | |
Jenkins et al. | Exploring deep convolutional generative adversarial networks (DCGAN) in biometric systems: a survey study | |
Singh et al. | Attention guided spatio-temporal network for 3D signature recognition | |
Nam et al. | Spam Image Detection Model based on Deep Learning for Improving Spam Filter. |
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 |