CN110866238B - 基于对抗样本的验证码图像的生成方法 - Google Patents
基于对抗样本的验证码图像的生成方法 Download PDFInfo
- Publication number
- CN110866238B CN110866238B CN201911107324.4A CN201911107324A CN110866238B CN 110866238 B CN110866238 B CN 110866238B CN 201911107324 A CN201911107324 A CN 201911107324A CN 110866238 B CN110866238 B CN 110866238B
- Authority
- CN
- China
- Prior art keywords
- verification code
- image
- code image
- sample
- original
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000007781 pre-processing Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000001914 filtration Methods 0.000 claims abstract description 13
- 238000012015 optical character recognition Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000006872 improvement Effects 0.000 abstract description 2
- 238000013527 convolutional neural network Methods 0.000 description 12
- 238000005336 cracking Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 10
- 241000282414 Homo sapiens Species 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 235000000332 black box Nutrition 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Character Discrimination (AREA)
Abstract
本发明提供了一种基于对抗样本的验证码图像的生成方法。该方法包括:生成原始的验证码图像;对原始的验证码图像进行预处理,该预处理包括高斯滤波处理和图像二值化处理;使用C&W算法对预处理后的验证码图像进行多位输出处理;使用Adaboost算法对多位输出处理后的验证码图像进行集成学习处理,输出基于对抗样本的验证码图像。本发明通过对抗样本来实现对自动破解验证码程序的抵抗,由于对抗样本的特性,使得计算机破解本发明的验证码十分困难,所以本发明设计的验证码的安全性和有效性大大强于现有的验证码。本发明的验证码与普通印刷体文字基本毫无区别,对用户来说不会带来内容上复杂度的提升,所以本发明设计的验证码的友好性比较好。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于对抗样本的验证码图像的生成方法。
背景技术
验证码的全称是全自动区分计算机和人类的公开图灵测试(CompletelyAutomated Public Turing test to tell Computers and Humans Apart,CAPTCHA),是一种区分用户是计算机或人的公共全自动程序。在验证码测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法识别验证码,所以回答出问题的用户就可以被认为是人类。验证码当前广泛用于网站的留言板,许多留言板为防止有人利用计算机程序大量在留言板上张贴广告或其他垃圾消息,因此会使用验证码要求留言者必需输入图片上所显示的文数字或是算术题才可完成留言。而一些网络上的交易***(如订票***、网络银行)也为避免被计算机程序以暴力法大量尝试交易也会有验证码的机制。
现有技术中的一种验证码的设计方法包括:从验证码内容的复杂度入手,通过提升验证码的内容复杂度来阻碍自动程序的破解,常见的增加复杂度的形式包括扭曲字体、字体倾斜等形式。
上述现有技术中的验证码的设计方法的缺点为:增加内容的复杂性会降低对用户的友好性。一个显而易见的事实是现在的验证码越来越难以辨认,经常出现人类也无法辨别验证码和需要数次输入验证码的情况。可以说这种验证码的设计非常不人性化。
随着人工智能的发展,自动破解程序越来越强大,即使验证码的内容复杂度已经很高却还是抵挡不住现在的自动破解程序。计算机程序在计算机视觉领域,深度神经网络表现了强大的性能,在识别普通图片的表现上,甚至已经超出了人类。所以增加内容复杂度的验证码的设计并不能达到区分计算机和人类的目的。
发明内容
本发明的实施例提供了一种基于对抗样本的验证码图像的生成方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于对抗样本的验证码图像的生成方法,包括:
生成原始的验证码图像;
对所述原始的验证码图像进行预处理,该预处理包括高斯滤波处理和图像二值化处理;
使用C&W算法对所述预处理后的验证码图像进行多位输出处理;
使用Adaboost算法对多位输出处理后的验证码图像进行集成学习处理,输出基于对抗样本的验证码图像。
优选地,所述的生成原始的验证码图像,包括:
从英文字母和数字随机抽取多个字符,对所述多个字符进行排列组合,组成原始的验证码图像。
优选地,所述的对所述原始的验证码图像进行预处理,该预处理包括高斯滤波处理和图像二值化处理,包括:
在后向传播的过程中,对所述原始的验证码图像先进行可微的高斯滤波处理,对高斯滤波处理后的验证码图像再通过sigmoid函数进行图像二值化处理,将预处理后的验证码图像接到光学字符识别OCR***的前端,作为整个OCR***的第一部分。
优选地,所述Sigmoid函数的表现形式为:
x是待二值化的图像,S(x)是近似经过二值化之后的图像。
优选地,所述C&W算法通过最小化以下目标函数来求得对抗样本:
f(x′)=max(max{Z(x′)i:i≠t}-Z(x′)t,-k).
Z(x)是指神经网络预测单个字符的概率值,下标代表了可能的类别,当预测数字时,i的取值就是[0,9],t是指目标类别,比如要生成数字1的对抗样本,那么t=1,k是一个设定的经验参数。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例的方法与现有的验证码设计方法相比,基于对抗样本的验证码具有更好的性能,通过对抗样本这一工具来实现对自动破解验证码程序的抵抗,自动破解验证码程序对于破解内容复杂的图像要比破解对抗样本容易很多,由于对抗样本的特性,使得计算机破解本发明的验证码十分困难,所以本发明设计的验证码的安全性和有效性大大强于现有的验证码。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于对抗样本的验证码图像的生成方法的处理流程图;
图2为本发明实施例提供的一种四个设置中的不同复杂度级别的示例示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当本发明称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例使用的验证码设计是利用对抗样本。对抗样本是指在数据集中通过故意添加细微的干扰所形成的输入样本,导致模型以高置信度给出一个错误的输出。通俗地讲,就是指一张图片的对抗样本和原图片从人类视觉来看基本完全一样,但是对于计算机来说这两张图片完全不同。人类观察者不会察觉原始样本和对抗样本之间的差异,但是模型会作出非常不同的预测。事实上,对抗样本是机器学习模型里普遍存在的问题,不管是传统的机器学习模型还是深度神经网络。
现有技术中的基于字符的验证码的破解程序包括图像预处理和OCR(OpticalCharacter Recognition,光学字符识别)两个阶段。图像预处理具有噪声消除的效果,这种消除可能会导致对抗样本失效。这使得不可能直接采用对抗攻击方法来实现鲁棒的验证码的设计。
OCR是由卷积神经网络和循环神经网络构成的,除图像预处理阶段外,OCR阶段还具有破解验证码的特征:(1)可以识别序列,在传统的CNN(Convolutional NeuralNetworks,卷积神经网络)上生成的对抗样本对其可能会失效;(2)黑盒问题,OCR使用的CNN模块有很多选择,是未知的。
为了解决上述特征,本发明实施例提出的基于对抗样本的验证码图像的生成方法的处理流程如图1所示,包括如下的处理步骤:
步骤S10:生成原始的验证码图像。
由于本发明想得到的是近乎于印刷体的验证码,所以本发明用来生成验证码的原始图像只需要包含数位印刷体的文字即可。验证码生成模块从英文字母和数字随机抽取多个字符(比如4个字符)组成一张原始的验证码图像,后续的处理过程需要将原始的验证码图像变为基于对抗样本的验证码图像,该基于对抗样本的验证码图像称为对抗性验证码图像。上述多个字符可以为4、5或者6个字符。这里的英文字母和数字都是印刷体,对人类毫无阅读困难。
步骤S20:对原始的验证码图像进行预处理,将不可微的图像预处理可微化,并将预处理后的验证码图像接到OCR的前端,作为整个OCR***的第一部分。因为产生对抗样本的关键是获得整个***的梯度,当图像预处理不可微时整个***的梯度是无法得到的;图像预处理可微化以后,就能计算出整个***的梯度,进而就能得到对整个***(包括图像预处理和OCR)有效的对抗样本。
通常的生成对抗样本的方法并不考虑图像预处理环节,而破解验证码的***在识别图像之前通常要进行图像去噪等处理。本发明在生成对抗样本的时候考虑了图像预处理环节。
需要考虑图像预处理在对抗性验证码图像生成中的影响,比如二值化操作可能会去除图像中的对抗性扰动。为了解决这个问题,本发明将图像预处理操作视为整个端到端解决方案的一部分,以便可以生成相应的对抗性验证码图像,从而有效地误导整个破解程序。
图像预处理操作可以大致分为两类,一类是可微分的,一类是不可微分的。对于每个类别,本发明要解决的一个代表性操作:即高斯滤波和图像二值化。针对可微分的高斯滤波操作,可以将预处理图像环节作为整个***的一部分进行前向和后向传播。于是这样生成的对抗性验证码图像对于这种图像预处理环节也是有效的。针对不可微分的图像二值化操作,不能直接将其合并到目标函数中。相反,本发明发现可以找到一个可微的函数:sigmoid函数来近似表示不可微的图像二值化操作。
Sigmoid函数的具体形式为:
x是待二值化的图像,S(x)是近似经过二值化之后的图像。
为了保证生成的对抗性验证码图像能够抵抗图像二值化,只在后向传播阶段使用近似的sigmoid函数来更新生成的图像,而前向传播仍然使用实际图像二值化操作。上述前向传播是指输入经过神经网络的层层计算最终得到输出的这么一个过程;上述反向传播是指从输出开始计算,通过链式求导法则,一直计算到输入,求得每一层的梯度的一个过程。
在该步骤中,需要对上述原始的验证码图像先进行高斯滤波处理,对高斯滤波处理后的验证码图像再通过sigmoid函数进行图像二值化处理。
步骤S30:使用C&W算法对上述预处理后的验证码图像进行多位输出处理。
通常的生成对抗样本的方法都是针对分类任务(classification),是指一张图像只能被识别为一种标签,比如分类为数字1或者被分类为猫),而这里本发明的生成对抗样本的方法是针对OCR任务的。
典型的验证码字符图像通常包含多于一个用于识别的字符,比如包含4个字符,而目前的对抗样本都是基于单个物体的(比如单个字符)。因此,本发明需要解决OCR识别多字符的问题。具体而言,OCR阶段由三个子模块组成:特征提取、顺序识别和输出解码。特征提取通过卷积神经网络实现,以将输入图像编码为神经特征。顺序识别通常由递归神经网络实现,并输出包括字符(0-9,A-Z)和空格。输出解码用于将顺序令牌转换为最终字符识别结果,合并顺序复制的字符并删除空格例如,原始字符序列为OCR将其识别为“abcd”。
因此,针对OCR多个字符的多个目标,本发明实施例使用C&W算法对上述预处理后的验证码图像进行多位输出处理。上述C&W算法是一种生成对抗样本的方法,它是通过最小化以下目标函数来求得对抗样本的:
f(x′)=max(max{Z(x′)i:i≠t}-Z(x′)t,-k).
Z(x)是指神经网络预测单个字符的概率值,下标代表了可能的类别,比如只预测数字,那么i的取值就是[0,9],t是指目标类别,比如要生成数字1的对抗样本,那么t=1,k是一个设定的经验参数,没有特殊情况下取0。
经过C&W算法的多位输出处理后,OCR对上述原始字符序列的识别结果变成即OCR识别的所有输出全部出错,达到使其不能破解验证码的目的。上述处理过程可以使本发明生成的对抗样本作为验证码的时候不会被这种OCR所破解,这是使用传统的单个字符的对抗样本所拼接成的验证码所不具备的特性。
步骤S40:通过集中学习加强对抗样本的有效性,最终输出基于对抗样本的验证码图像。
通常的生成对抗样本的方法只针对一种识别***,而破解验证码的***中用来识别的子***有多种选择(比如卷积神经网络ResNet、Vgg等),只针对一种用来识别的子***生成对抗样本的话,在面对其它的识别子***构成的破解验证码***时会失效。针对破解验证码的***中用来识别的子***有多种选择的问题,本发明使用了集成学习的技术,在生成对抗样本的时候联合多个识别子***。
由于验证码的破解可以采用多种OCR算法进行字符识别,主要是OCR算法中的CNN模块有多种选择。所以在设计验证码的阶段,针对一种特定的OCR算法是不切实际的,该算法需要设计对尽可能多的OCR算法有效的对抗性验证码图像。幸运的是,对抗性扰动在模型之间是可转移的:如果对抗性验证码图像对多个模型仍然有效,那么它更有可能转移到其他模型。受此启发,为了提高验证码对黑盒OCR的抵抗力,本发明在生成对抗性验证码图像的同时误导多个模型。
OCR阶段的特征提取模块具有很多模型选择(例如,各种CNN结构如GoogLeNet,ResNet等)。因此,本发明用集成学习中的Adaboost算法,通过攻击多个特征提取模型来解决黑盒破解问题,使用Adaboost算法对上述多位输出处理后的验证码图像进行集成学习处理,输出基于对抗样本的验证码图像。
除了特征提取子模块中的不同CNN结构之外,其余的结构是相同的。在CNN结构的数量上,Adaboost算法中分类器的数目K的值越大,产生的对抗性验证码图像的泛化能力越强。然而,过大的K值将导致高计算复杂度。根据先前对集合对抗性攻击的研究,3~5个模型在可转移性和实用性之间取得了良好的平衡。在本发明中,选择K=4并均匀设置分类器权重。
Adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。
本发明实施例的方法的实验结果如下:
为了比较所提出的鲁棒的验证码(rCAPTCHA)设计方法的性能,使用了以下设置:
·Raw:原始的验证码图像没有添加对抗噪声;
·rCAPTCHA_parallel:一种传统的对抗样本,针对4个并行识别网络(每个网络由一个完整的连接层实现)代替OCR的顺序识别子模块得到的对抗样本;
·rCAPTCHA_w/o preprocessing:针对OCR的对抗样本,但不考虑图像预处理阶段;
·rCAPTCHA:本发明提出的方法,一种同时考虑序列识别和图像预处理的对抗样本。
图2展示出了上述四个设置中的不同复杂度级别的示例,复杂程度级别分别为easy,medium,hard。其中easy复杂度对应着我们本发明中使用的验证码图像。对于每个设置,我们选择生成500个验证码图像进行测试,并在表1中总结得出的平均识别精度。实验结果说明了本发明方法的有效性。
表1
为了证明本发明提出的验证码图像的通用性,本发明实现了不同的破解方法,并在生成的验证码上检验了它们的识别精度。具体来说,我们分别训练了4个具有不同CNN结构的OCR模型,分别表示为4convnet、mini-resnet、mini-densenet和mini-***net。4convnet使用四个卷积层进行特征提取。由于验证码图像的分辨率较低,所以采用了mini-nets的形式:mini-resnet由五个resblock和两个卷积层组成,mini-densenet由四个denseblock和四个卷积层组成,mini-***net由两个inception模块和六个卷积层组成。
在4个模型中,4convnet、mini-resnet、mini-densenet被当做白盒模型,mini-***net被选为黑盒模型。黑盒模型被视为未知的OCR,以模拟现实应用。表2展示了不同训练测试对下的黑盒模型的识别精度。例如,在元素(1,4)处0%的准确率表示用3个集成白盒模型训练并在4convnet上测试的识别精度。我们观察到,由一个模型生成的对抗样本在其自身模型(对角线元素)上表现良好,但在其他模型上通常表现较差。然而,如果我们用3个模型的集成训练生成验证码图像,则所有4个模型的测试识别精度都不高于3%(最后一行)。这证明了所提出的验证码图像对于黑盒模型是有效的。
表2
4ConvNet | ResNet | DenseNet | GoogLeNet | |
4ConvNet | 1% | 3% | 13% | 7% |
ResNet | 8% | 0% | 13% | 12% |
DenseNet | 16% | 2% | 3% | 23% |
Ensemble Training | 0% | 2% | 1% | 3% |
综上所述,本发明实施例的方法与现有的验证码设计方法相比,基于对抗样本的验证码具有更好的性能,通过对抗样本这一工具来实现对自动破解验证码程序的抵抗,自动破解验证码程序(OCR)对于破解内容复杂的图像要比破解对抗样本容易很多,由于对抗样本的特性,使得计算机破解本发明的验证码十分困难,所以本发明设计的验证码的安全性和有效性大大强于现有的验证码。
由于对抗样本的特性是扰动几乎不可见,本发明的验证码与普通印刷体文字基本毫无区别,所以对用户来说毫无困难,对用户来说不会带来内容上复杂度的提升,所以本发明设计的验证码的友好性比较好。
本发明的方法和传统的验证码相比不需要更多的人力和物力成本,只需要在最简单的印刷体字符上使用算法即可。本发明针对生活中实际使用的破解验证码的手段做了很多适配,是在生活中可以真正部署的验证码,具有很好的实用性。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种基于对抗样本的验证码图像的生成方法,其特征在于,包括:
生成原始的验证码图像;
对所述原始的验证码图像进行预处理,该预处理包括高斯滤波处理和图像二值化处理;
使用C&W算法对所述预处理后的验证码图像进行多位输出处理;
使用Adaboost算法对多位输出处理后的验证码图像进行集成学习处理,输出基于对抗样本的验证码图像。
2.根据权利要求1所述的方法,其特征在于,所述的生成原始的验证码图像,包括:
从英文字母和数字随机抽取多个字符,对所述多个字符进行排列组合,组成原始的验证码图像。
3.根据权利要求2所述的方法,其特征在于,所述的对所述原始的验证码图像进行预处理,该预处理包括高斯滤波处理和图像二值化处理,包括:
在后向传播的过程中,对所述原始的验证码图像先进行可微的高斯滤波处理,对高斯滤波处理后的验证码图像再通过sigmoid函数进行图像二值化处理,将预处理后的验证码图像接到光学字符识别OCR***的前端,作为整个OCR***的第一部分。
4.根据权利要求3所述的方法,其特征在于,所述Sigmoid函数的表现形式为:
x是待二值化的图像,S(x)是近似经过二值化之后的图像。
5.根据权利要求3或4所述的方法,其特征在于,所述C&W算法通过最小化以下目标函数来求得对抗样本:
f(x′)=max(max{Z(x′)i:i≠t}-Z(x′)t,-k).
Z(x)是指神经网络预测单个字符的概率值,下标代表了可能的类别,当预测数字时,i的取值就是[0,9],t是指目标类别,当要生成数字1的对抗样本时,那么t=1,k是一个设定的经验参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911107324.4A CN110866238B (zh) | 2019-11-13 | 2019-11-13 | 基于对抗样本的验证码图像的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911107324.4A CN110866238B (zh) | 2019-11-13 | 2019-11-13 | 基于对抗样本的验证码图像的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866238A CN110866238A (zh) | 2020-03-06 |
CN110866238B true CN110866238B (zh) | 2023-04-21 |
Family
ID=69654415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911107324.4A Active CN110866238B (zh) | 2019-11-13 | 2019-11-13 | 基于对抗样本的验证码图像的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866238B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667549B (zh) * | 2020-04-28 | 2023-04-07 | 华东师范大学 | 基于对抗样本和随机变换的图形验证码生成方法、设备及存储介质 |
CN112147189A (zh) * | 2020-09-11 | 2020-12-29 | 北京航空航天大学 | 一种用于二值化电容层析成像的闭环图像重建方法 |
CN114817937A (zh) * | 2021-01-19 | 2022-07-29 | 北京嘀嘀无限科技发展有限公司 | 键盘加密方法、设备、存储介质及计算机程序产品 |
CN113010873B (zh) * | 2021-03-31 | 2022-09-09 | 山石网科通信技术股份有限公司 | 图像处理方法、装置、非易失性存储介质及处理器 |
CN115631500A (zh) * | 2022-10-13 | 2023-01-20 | 吉林省吉林祥云信息技术有限公司 | 一种基于DenseNet的字符型图像验证码识别方法、***、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016124066A1 (zh) * | 2015-02-05 | 2016-08-11 | 北京京东尚科信息技术有限公司 | 一种图片验证码生成方法及*** |
CN108717550A (zh) * | 2018-04-28 | 2018-10-30 | 浙江大学 | 一种基于对抗学习的图像对抗验证码生成方法和*** |
WO2019041424A1 (zh) * | 2017-08-28 | 2019-03-07 | 上海壹账通金融科技有限公司 | 验证码识别方法、装置、计算机设备及计算机存储介质 |
CN109543760A (zh) * | 2018-11-28 | 2019-03-29 | 上海交通大学 | 基于图像滤镜算法的对抗样本检测方法 |
CN109902475A (zh) * | 2019-03-13 | 2019-06-18 | 百度在线网络技术(北京)有限公司 | 验证码图像生成方法、装置和电子设备 |
CN110008680A (zh) * | 2019-04-03 | 2019-07-12 | 华南师范大学 | 基于对抗样本的验证码生成***及方法 |
-
2019
- 2019-11-13 CN CN201911107324.4A patent/CN110866238B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016124066A1 (zh) * | 2015-02-05 | 2016-08-11 | 北京京东尚科信息技术有限公司 | 一种图片验证码生成方法及*** |
WO2019041424A1 (zh) * | 2017-08-28 | 2019-03-07 | 上海壹账通金融科技有限公司 | 验证码识别方法、装置、计算机设备及计算机存储介质 |
CN108717550A (zh) * | 2018-04-28 | 2018-10-30 | 浙江大学 | 一种基于对抗学习的图像对抗验证码生成方法和*** |
CN109543760A (zh) * | 2018-11-28 | 2019-03-29 | 上海交通大学 | 基于图像滤镜算法的对抗样本检测方法 |
CN109902475A (zh) * | 2019-03-13 | 2019-06-18 | 百度在线网络技术(北京)有限公司 | 验证码图像生成方法、装置和电子设备 |
CN110008680A (zh) * | 2019-04-03 | 2019-07-12 | 华南师范大学 | 基于对抗样本的验证码生成***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110866238A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866238B (zh) | 基于对抗样本的验证码图像的生成方法 | |
Agarwal et al. | Image transformation-based defense against adversarial perturbation on deep learning models | |
Liang et al. | Detecting adversarial image examples in deep neural networks with adaptive noise reduction | |
Li et al. | Invisible backdoor attacks on deep neural networks via steganography and regularization | |
Chellapilla et al. | Using machine learning to break visual human interaction proofs (HIPs) | |
CN110348475B (zh) | 一种基于空间变换的对抗样本增强方法和模型 | |
Baird et al. | Pessimalprint: a reverse turing test | |
CN111241291B (zh) | 利用对抗生成网络生成对抗样本的方法及装置 | |
Baecher et al. | Breaking reCAPTCHA: a holistic approach via shape recognition | |
CN110933105B (zh) | 一种Web攻击检测方法、***、介质和设备 | |
CN108647683B (zh) | 一种基于频域加噪的字符对抗验证码生成方法和*** | |
CN109101810A (zh) | 一种基于ocr技术的文字验证码识别方法 | |
Yin et al. | Defense against adversarial attacks by low‐level image transformations | |
Khan et al. | Cyber security using arabic captcha scheme. | |
Sun et al. | Complete defense framework to protect deep neural networks against adversarial examples | |
Wang et al. | CAPTCHA recognition method based on CNN with focal loss | |
Yadav et al. | Estimation of copy-sensitive codes using a neural approach | |
Jeng et al. | A study of CAPTCHA and its application to user authentication | |
Lorenzi et al. | Attacking image based captchas using image recognition techniques | |
Zhang et al. | MODA: model ownership deprivation attack in asynchronous federated learning | |
Wang et al. | Fourier-residual for printer identification | |
CN116611037B (zh) | 深度神经网络黑盒水印方法、装置及终端 | |
Chang et al. | Cyber Vaccine for Deepfake Immunity | |
Goebel et al. | Deep learning methods for event verification and image repurposing detection | |
Hussain et al. | Recognition of merged characters in text based CAPTCHAs |
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 |