CN111461979B - 验证码图像去噪识别方法、电子装置及存储介质 - Google Patents

验证码图像去噪识别方法、电子装置及存储介质 Download PDF

Info

Publication number
CN111461979B
CN111461979B CN202010235748.5A CN202010235748A CN111461979B CN 111461979 B CN111461979 B CN 111461979B CN 202010235748 A CN202010235748 A CN 202010235748A CN 111461979 B CN111461979 B CN 111461979B
Authority
CN
China
Prior art keywords
verification code
image
denoising
noisy
code image
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
Application number
CN202010235748.5A
Other languages
English (en)
Other versions
CN111461979A (zh
Inventor
蒋栋
叶颖琦
李龙
沈志勇
万正勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Merchants Finance Technology Co Ltd
Original Assignee
China Merchants Finance Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Merchants Finance Technology Co Ltd filed Critical China Merchants Finance Technology Co Ltd
Priority to CN202010235748.5A priority Critical patent/CN111461979B/zh
Publication of CN111461979A publication Critical patent/CN111461979A/zh
Application granted granted Critical
Publication of CN111461979B publication Critical patent/CN111461979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

本发明涉及图像识别技术,提供了一种验证码图像去噪识别方法、电子装置及存储介质。该方法通过从数据库获取合成的预设数量的带噪验证码图像及其对应的无噪验证码图像,作为训练样本生成样本集,构建生成式对抗网络模型,基于样本集训练生成式对抗网络模型,得到验证码图像去噪模型,将待处理的带噪验证码图像输入验证码图像去噪模型,得到处理后的去噪验证码图像,将处理后的去噪验证码图像尺寸调整为预设尺寸的图像,将预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对张量进行解析,得到处理后的验证码图像的验证码字符串。利用本发明可以提高验证码图像的识别速度及识别的准确率。

Description

验证码图像去噪识别方法、电子装置及存储介质
技术领域
本发明涉及图像识别领域,尤其涉及一种验证码图像去噪识别方法、电子装置及存储介质。
背景技术
验证码是一种区分用户是计算机或人为的安全防护机制,可有效防止密码破解、网络攻击等恶意行为。在互联网数据爬取、RPA(机器人流程自动化)等场景中,需要对验证码进行自动识别,然而验证码图像杂乱的线条、随机分布的噪点等干扰,使得现有技术中基于CRNN或Attention的识别方案难以区分验证码的文字和背景,且基于CRNN或Attention的识别网络参数庞大,在训练数据量较少时很难达到理想的识别效果,导致验证码图像识别的准确率低。
发明内容
鉴于以上内容,本发明提供一种验证码图像去噪识别方法、电子装置及存储介质,其目的在于解决现有技术中当训练数据量少时,验证码图像识别网络的识别精度低的问题。
为实现上述目的,本发明提供一种验证码图像去噪识别方法,该方法包括:
获取步骤:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集;
构建步骤:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型;
去噪步骤:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像;及
识别步骤:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串。
优选的,所述获取步骤包括:
创建验证码图像的背景图像及字符的字体,随机生成原始验证码字符串,在所述背景图像上添加所述原始验证码字符串作为无噪图像并存储,在所述无噪图像上添加噪点作为带噪图像并存储,对带噪图像和无噪图像作相同的仿射变换处理,将仿射变换处理后的带噪图像和无噪图像进行拼接作为训练样本集。
优选的,所述识别步骤包括:
基于所述字符识别网络的卷积操作和池化操作提取出所述预设尺寸的图像的第一特征向量,基于所述第一特征向量及所述字符识别网络的DenseNet结构和全连接层,提取出所述预设尺寸的图像的第二特征向量,将所述第二特征向量均匀切分为n份,将切分后的每份特征向量作为一行张量,将每行张量依次堆叠得到维度为验证码字符的类别数*验证码字符最大长度的张量,其中,n表示所述去噪验证码图像的验证码字符的类别数。
优选的,所述利用贪心算法对所述张量进行解析包括:
利用贪心算法分别查找出所述张量的每一列数值的概率最大值的位置,将该位置的字符作为该列对应的验证码字符编码,根据该验证码字符编码得到验证码的目标字符串,将所述目标字符串作为所述处理后的去噪验证码图像的识别结果。
优选的,所述生成式对抗网络包括1个生成器和1个鉴别器,所述鉴别器的判别结果反馈至所述生成器。
为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器及处理器,所述存储器上存储验证码图像去噪识别程序,所述验证码图像去噪识别程序被所述处理器执行,实现如下步骤:
获取步骤:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集;
构建步骤:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型;
去噪步骤:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像;及
识别步骤:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串。
优选的,所述获取步骤包括:
创建验证码图像的背景图像及字符的字体,随机生成原始验证码字符串,在所述背景图像上添加所述原始验证码字符串作为无噪图像并存储,在所述无噪图像上添加噪点作为带噪图像并存储,对带噪图像和无噪图像作相同的仿射变换处理,将仿射变换处理后的带噪图像和无噪图像进行拼接作为训练样本集。
优选的,所述识别步骤包括:
基于所述字符识别网络的卷积操作和池化操作提取出所述预设尺寸的图像的第一特征向量,基于所述第一特征向量及所述字符识别网络的DenseNet结构和全连接层,提取出所述预设尺寸的图像的第二特征向量,将所述第二特征向量均匀切分为n份,将切分后的每份特征向量作为一行张量,将每行张量依次堆叠得到维度为验证码字符的类别数*验证码字符最大长度的张量,其中,n表示所述去噪验证码图像的验证码字符的类别数。
优选的,所述利用贪心算法对所述张量进行解析包括:
利用贪心算法分别查找出所述张量的每一列数值的概率最大值的位置,将该位置的字符作为该列对应的验证码字符编码,根据该验证码字符编码得到验证码的目标字符串,将所述目标字符串作为所述处理后的去噪验证码图像的识别结果。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括验证码图像去噪识别程序,所述验证码图像去噪识别程序被处理器执行时,实现如上所述验证码图像去噪识别方法中的任意步骤。
本发明提出的验证码图像去噪识别方法、电子装置及存储介质,通过从数据库获取合成的预设数量的带噪验证码图像及其对应的无噪验证码图像,作为训练样本生成样本集,构建生成式对抗网络模型,基于样本集训练生成式对抗网络模型,得到验证码图像去噪模型,将待处理的带噪验证码图像输入验证码图像去噪模型,得到处理后的去噪验证码图像,相较于传统的验证码去噪算法,基于生成式对抗网络的去噪算法无需人工设计,由生成式对抗生成网络自学去噪验证码图像的数据分布,鲁棒性更强,去噪效果更好。将处理后的去噪验证码图像尺寸调整为预设尺寸的图像,将预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对张量进行解析,得到处理后的验证码图像的目标验证码字符串,相较于CRNN或Attention机制的字符识别网络,本发明的字符识别网络结构简洁、训练所需数据量少、识别验证码图像的速度快且识别精度高。
附图说明
图1为本发明电子装置较佳实施例的示意图;
图2为图1中验证码图像去噪识别程序较佳实施例的模块示意图;
图3为本发明验证码图像去噪识别方法较佳实施例的流程图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,为本发明电子装置1较佳实施例的示意图。
该电子装置1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子装置1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储设备,例如该电子装置1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子装置1的操作系统和各类应用软件,例如验证码图像去噪识别程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行验证码图像去噪识别程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子装置1与其它电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及验证码图像去噪识别程序10的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
该电子装置1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的验证码图像去噪识别程序10时可以实现如下步骤:
获取步骤:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集;
构建步骤:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型;
去噪步骤:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像;及
识别步骤:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串。
所述存储设备可以为电子装置1的存储器11,也可以为与电子装置1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照下述图2关于验证码图像去噪识别程序10实施例的程序模块图以及图3关于验证码图像去噪识别方法实施例的流程图的说明。
在其他实施例中,所述验证码图像去噪识别程序10可以被分割为多个模块,该多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图2所示,为图1中验证码图像去噪识别程序10一实施例的程序模块图。在本实施例中,所述验证码图像去噪识别程序10可以被分割为:获取模块110、构建模块120、去噪模块130及识别模块140。
获取模块110,用于从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集。
在本实施例中,可以利用预设的合成工具合成预设数量的带噪验证码图像和与之对应的去噪验证码图像,并存储至数据库,作为训练样本集生成样本集。
合成带噪验证码图像和与之对应的去噪验证码图像包括:创建验证码图像的背景图像及字符的字体,随机生成原始验证码字符串,在所述背景图像上添加所述原始验证码字符串作为无噪图像并存储,在所述无噪图像上添加噪点作为带噪图像并存储,对带噪图像和无噪图像作相同的仿射变换处理,将仿射变换处理后的带噪图像和无噪图像进行拼接(例如,左边为带噪图像,右边为无噪图像),作为训练样本生成样本集。
构建模块120,用于构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型。
在本实施例中,构建的生成式对抗网络包括1个生成器G和1个鉴别器D,生成器的输出与鉴别器的输入相连,鉴别器的判别结果再反馈至生成器。生成器基于带噪验证码图像学习生成去噪的验证码图像,判别器学习区分生成器生成的去噪图像和真实的去噪图像。在训练过程中,生成器通过学习不断地生成更加真实的去噪图像,而判别器不断地增强分辨生成的去噪验证码图像和真实的去噪验证码图像的能力,生成器和判别器不断进化,最终使两个网络达到纳什均衡:生成器生成的图像接近于真实图像分布,而判别器识别不出真假图像,对于给定图像的预测为真的概率接近0.5。
在迭代训练开始时,将包含带噪与无噪的成对图像的样本集中取出带噪验证码图像x,输入至生成式对抗网络中的生成器G,生成与训练样本维度一致的去噪验证码图像G(x),将样本集中的带噪验证码图像x和对应的去无噪验证码图像y拼接成图像对,并将带噪验证码图像x和生成的去噪验证码图像G(x)拼接成图像对,分别输入对抗网络中的鉴别器D中,得到鉴别器D对无噪验证码图像y或生成的去噪验证码图像G(Z)是否为带噪验证码图像x对应的无噪图像的真实性的鉴别概率。在本实施例中,D表示鉴别器,对任意的带噪验证码图像和无噪验证码图像或生成的去噪验证码图像的拼接图像,D输出0-1的实数,用来表示去噪验证码图像或无噪验证码图像的可信度。根据目标公式对生成式对抗网络进行优化,所述目标公式为:
其中,V表示损失值,G表示生成器,D表示鉴别器,log为对数函数,x,y~Pdata(x,y)表示样本集中带噪验证码图像和无噪验证码图像(x,y)对的分布,x~Pdata(x)表示样本集中带噪验证码图像x的分布,E表示分布的数学期望值。D(x,y)表示该鉴别器对带噪验证码图像x和无噪验证码图像y组成的图像对的真假判别,D(x,G(x))表示该鉴别器对带噪验证码图像x和生成器生成的去噪验证码图像G(x)组成的图像对的真假判别。
在对鉴别器D进行优化时,需最大化损失值,对生成器G进行优化时,需最小化损失值。将生成的去噪验证码图像G(x)和鉴别器输出的鉴别概率代入目标公式,通过不断最小化损失值,可以优化生成器G不同层节点间的权重,通过不断最大化损失值,可以优化鉴别器D不同层节点间的权重。
由上述公式不断迭代,以使生成器和鉴别器性能优化。其优化过程可表示为分别对D和G进行交互迭代,交互迭代的具体方式为:首先固定G不变,优化D,经过预设迭代次数后,再固定D不变,优化G,直至整个过程收敛。
在本实施例采用的生成对抗网络训练时采用了2000对合成数据,即2000张合成的有噪验证码图像和与之对应的2000张无噪图像,训练完成后在真实的验证码数据集上有非常好的去噪效果,可大幅提升后续识别算法的识别精度。
去噪模块130,用于将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像。
在本实施例中,获取待处理的带噪验证码图像可以是在网页爬取数据过程中,页面在跳转时出现的验证码图像,还可以是客户端发送的带噪验证码图像等,具体获取方式在此不做限定,将获取的待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像。
识别模块140,用于将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串。
在本实施例中,预设的字符识别网络采用121层的DenseNet作为主干网络提取验证码图像特征,具有网络深、特征丰富等优势,且去除了传统识别网络的LSTM结构(验证码中无需提取上下文信息),使得网络参数量小且推断速度快且支持多CPU并行训练,因参数量小且剔除了LSTM结构,该网络在少量训练集(2000张)上,即可达到很好的训练效果(本方案识别精度99%,C RNN识别精度50%,Attention机制识别精度79%)。所述预设的字符识别网络包括1个卷积层、1个池化层、121层DenseNet、1个批归一化层、1个激活层、1个2D自适应平均池化层及1个全连接层。
在本实施例中,可以选取3*3、5*5或者7*7的卷积核尺寸,卷积核尺寸过大,会导致提取图像的特征过于复杂,尺寸过小,难以表示有用的特征。
池化层过滤器的大小为3×3,用于减小图像特征的尺寸,忽略不重要的特征(例如,噪点,干扰等)、保留重要特征(例如,验证码的笔画)。
DenseNet的优势在于层与层之间的密集连接可有效防止梯度消失,采用121层的DenseNet可以提取高层图像语义特征,所提取的特征对字符识别任务更加友好,从而提高后续字符识别的精度。
批归一化层用于调整数据到激活函数的激活区域、防止过拟合、加速网络收敛。网络若没有批归一化层,训练精度高但测试精度低,会出现过拟合现象,应用批归一化层后网络的测试精度明显提升,有良好的抗过拟合效果。
激活层的作用在于引入非线性从而使网络有更好的拟合性,激活函数采用Relu函数,结构简单收敛速度快。
2D自适应平均池化层用于下采样且能自适应匹配输入输出的大小,将网络输出维度为(1024,1,5)的特征下采样为维度为(1024,1,1)的特征,即维度1024的特征向量。
进一步地,基于字符识别网络的卷积操作和池化操作提取出预设尺寸的图像的第一特征向量,基于第一特征向量及字符识别网络的DenseNet结构和全连接层,提取出预设尺寸的图像的第二特征向量,将第二特征向量均匀切分为n份,将切分后的每份特征向量作为一行张量,将每行张量依次堆叠得到维度为验证码字符的类别数*验证码字符最大长度的张量,其中,n表示去噪验证码图像的验证码字符的类别数。
输入字符识别网络全连接层的特征向量为维度为1024的特征向量,输出为向量维度为验证码字符的类别数*验证码字符最大长度的张量。具体地,将输出的特征向量均匀切成n份,n表示验证码字符的类别数,将每份作为输出张量的一行,将每行张量依次堆叠起来,从而输出行数为字符的类别数、列数为字符的最大长度的维度的张量,即对于任意的图像特征,网络最终输出维度为验证码字符类别数*验证码字符最大长度的张量。
字符识别网络在训练时,使用Adam优化器,学习速率为0.0001,采用交叉熵损失函数,batch size设为32,batch size为每次送入网络中训练的样本数量,训练时首先前向传播产生损失值,再通过反向传播算法,向损失值减小的方向更新网络权重,持续训练直到网络收敛。
对于处理后的去噪验证码图像,将该图像大小调整为宽度为165像素,高度为53像素,将调整后的验证码图像输入字符识别网络中,输出一个大小为类别数*验证码最大长度的张量,张量(tensor)是一个多维的数据存储形式。利用贪心算法对输出的张量进行解码,从而得到所述处理后的验证码图像的目标验证码字符串。贪心算法是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。
进一步地,利用贪心算法对张量进行解析包括:利用贪心算法分别查找出所述张量的每一列数值的概率最大值的位置,将该位置的字符作为该列对应的验证码字符编码,根据该验证码字符编码得到验证码的目标字符串,将目标字符串作为处理后的去噪验证码图像的识别结果。
例如:字符识别网络输出类别数*验证码最大字符长度维的概率分布矩阵,每一列的所有元素概率之和为1,(即对于第j列所有元素的概率之和为1),贪心算法对该列所有元素求概率最大值,得到最大值所在的位置i,再根据字符位置映射得到最终识别的字符。例如:识别0~9这10个数字,最大长度为4,则得到一个10行4列的概率分布矩阵,对于第0列的10个元素,求其概率最大值所在的位置,如果最大值在第2个元素,则可将第二个元素映射到其所代表的字符上去,从而得到识别结果。
此外,本发明还提供一种验证码图像去噪识别方法。参照图3所示,为本发明验证码图像去噪识别方法的实施例的方法流程示意图。电子装置1的处理器12执行存储器11中存储的验证码图像去噪识别程序10时实现验证码图像去噪识别方法的如下步骤:
步骤S10:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集。
在本实施例中,可以利用预设的合成工具合成预设数量的带噪验证码图像和与之对应的去噪验证码图像,并存储至数据库,作为训练样本集生成样本集。
合成带噪验证码图像和与之对应的去噪验证码图像包括:创建验证码图像的背景图像及字符的字体,随机生成原始验证码字符串,在所述背景图像上添加所述原始验证码字符串作为无噪图像并存储,在所述无噪图像上添加噪点作为带噪图像并存储,对带噪图像和无噪图像作相同的仿射变换处理,将仿射变换处理后的带噪图像和无噪图像进行拼接(例如,左边为带噪图像,右边为无噪图像),作为训练样本生成样本集。
步骤S20:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型。
在本实施例中,构建的生成式对抗网络包括1个生成器G和1个鉴别器D,生成器的输出与鉴别器的输入相连,鉴别器的判别结果再反馈至生成器。生成器基于带噪验证码图像学习生成去噪的验证码图像,判别器学习区分生成器生成的去噪图像和真实的去噪图像。在训练过程中,生成器通过学习不断地生成更加真实的去噪图像,而判别器不断地增强分辨生成的去噪验证码图像和真实的去噪验证码图像的能力,生成器和判别器不断进化,最终使两个网络达到纳什均衡:生成器生成的图像接近于真实图像分布,而判别器识别不出真假图像,对于给定图像的预测为真的概率接近0.5。
在迭代训练开始时,将包含带噪与无噪的成对图像的样本集中取出带噪验证码图像x,输入至生成式对抗网络中的生成器G,生成与训练样本维度一致的去噪验证码图像G(x),将样本集中的带噪验证码图像x和对应的去无噪验证码图像y拼接成图像对,并将带噪验证码图像x和生成的去噪验证码图像G(x)拼接成图像对,分别输入对抗网络中的鉴别器D中,得到鉴别器D对无噪验证码图像y或生成的去噪验证码图像G(Z)是否为带噪验证码图像x对应的无噪图像的真实性的鉴别概率。在本实施例中,D表示鉴别器,对任意的带噪验证码图像和无噪验证码图像或生成的去噪验证码图像的拼接图像,D输出0-1的实数,用来表示去噪验证码图像或无噪验证码图像的可信度。根据目标公式对生成式对抗网络进行优化,所述目标公式为:
其中,V表示损失值,G表示生成器,D表示鉴别器,log为对数函数,x,y~Pdata(x,y)表示样本集中带噪验证码图像和无噪验证码图像(x,y)对的分布,x~Pdata(x)表示样本集中带噪验证码图像x的分布,E表示分布的数学期望值。D(x,y)表示该鉴别器对带噪验证码图像x和无噪验证码图像y组成的图像对的真假判别,D(x,G(x))表示该鉴别器对带噪验证码图像x和生成器生成的去噪验证码图像G(x)组成的图像对的真假判别。
在对鉴别器D进行优化时,需最大化损失值,对生成器G进行优化时,需最小化损失值。将生成的去噪验证码图像G(x)和鉴别器输出的鉴别概率代入目标公式,通过不断最小化损失值,可以优化生成器G不同层节点间的权重,通过不断最大化损失值,可以优化鉴别器D不同层节点间的权重。
由上述公式不断迭代,以使生成器和鉴别器性能优化。其优化过程可表示为分别对D和G进行交互迭代,交互迭代的具体方式为:首先固定G不变,优化D,经过预设迭代次数后,再固定D不变,优化G,直至整个过程收敛。
在本实施例采用的生成对抗网络训练时采用了2000对合成数据,即2000张合成的有噪验证码图像和与之对应的2000张无噪图像,训练完成后在真实的验证码数据集上有非常好的去噪效果,可大幅提升后续识别算法的识别精度。
步骤S30:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像。
在本实施例中,获取待处理的带噪验证码图像可以是在网页爬取数据过程中,页面在跳转时出现的验证码图像,还可以是客户端发送的带噪验证码图像等,具体获取方式在此不做限定,将获取的待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像。
步骤S40:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串。
在本实施例中,预设的字符识别网络采用121层的DenseNet作为主干网络提取验证码图像特征,具有网络深、特征丰富等优势,且去除了传统识别网络的LSTM结构(验证码中无需提取上下文信息),使得网络参数量小且推断速度快且支持多CPU并行训练,因参数量小且剔除了LSTM结构,该网络在少量训练集(2000张)上,即可达到很好的训练效果(本方案识别精度99%,CRNN识别精度50%,Attention机制识别精度79%)。所述预设的字符识别网络包括1个卷积层、1个池化层、121层DenseNet、1个批归一化层、1个激活层、1个2D自适应平均池化层及1个全连接层。
在本实施例中,可以选取3*3、5*5或者7*7的卷积核尺寸,卷积核尺寸过大,会导致提取图像的特征过于复杂,尺寸过小,难以表示有用的特征。
池化层过滤器的大小为3×3,用于减小图像特征的尺寸,忽略不重要的特征(例如,噪点,干扰等)、保留重要特征(例如,验证码的笔画)。
DenseNet的优势在于层与层之间的密集连接可有效防止梯度消失,采用121层的DenseNet可以提取高层图像语义特征,所提取的特征对字符识别任务更加友好,从而提高后续字符识别的精度。
批归一化层用于调整数据到激活函数的激活区域、防止过拟合、加速网络收敛。网络若没有批归一化层,训练精度高但测试精度低,会出现过拟合现象,应用批归一化层后网络的测试精度明显提升,有良好的抗过拟合效果。
激活层的作用在于引入非线性从而使网络有更好的拟合性,激活函数采用Relu函数,结构简单收敛速度快。
2D自适应平均池化层用于下采样且能自适应匹配输入输出的大小,将网络输出维度为(1024,1,5)的特征下采样为维度为(1024,1,1)的特征,即维度1024的特征向量。
进一步地,基于字符识别网络的卷积操作和池化操作提取出预设尺寸的图像的第一特征向量,基于第一特征向量及字符识别网络的DenseNet结构和全连接层,提取出预设尺寸的图像的第二特征向量,将第二特征向量均匀切分为n份,将切分后的每份特征向量作为一行张量,将每行张量依次堆叠得到维度为验证码字符的类别数*验证码字符最大长度的张量,其中,n表示去噪验证码图像的验证码字符的类别数。
输入字符识别网络全连接层的特征向量为维度为1024的特征向量,输出为向量维度为验证码字符的类别数*验证码字符最大长度的张量。具体地,将输出的特征向量均匀切成n份,n表示验证码字符的类别数,将每份作为输出张量的一行,将每行张量依次堆叠起来,从而输出行数为字符的类别数、列数为字符的最大长度的维度的张量,即对于任意的图像特征,网络最终输出维度为验证码字符类别数*验证码字符最大长度的张量。
字符识别网络在训练时,使用Adam优化器,学习速率为0.0001,采用交叉熵损失函数,batch size设为32,batch size为每次送入网络中训练的样本数量,训练时首先前向传播产生损失值,再通过反向传播算法,向损失值减小的方向更新网络权重,持续训练直到网络收敛。
对于处理后的去噪验证码图像,将该图像大小调整为宽度为165像素,高度为53像素,将调整后的验证码图像输入字符识别网络中,输出一个大小为类别数*验证码最大长度的张量,张量(tensor)是一个多维的数据存储形式。利用贪心算法对输出的张量进行解码,从而得到所述处理后的验证码图像的目标验证码字符串。贪心算法是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。
进一步地,利用贪心算法对张量进行解析包括:利用贪心算法分别查找出所述张量的每一列数值的概率最大值的位置,将该位置的字符作为该列对应的验证码字符编码,根据该验证码字符编码得到验证码的目标字符串,将目标字符串作为处理后的去噪验证码图像的识别结果。
例如:字符识别网络输出类别数*验证码最大字符长度维的概率分布矩阵,每一列的所有元素概率之和为1,(即对于第j列所有元素的概率之和为1),贪心算法对该列所有元素求概率最大值,得到最大值所在的位置i,再根据字符位置映射得到最终识别的字符。例如:识别0~9这10个数字,最大长度为4,则得到一个10行4列的概率分布矩阵,对于第0列的10个元素,求其概率最大值所在的位置,如果最大值在第2个元素,则可将第二个元素映射到其所代表的字符上去,从而得到识别结果。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括验证码图像去噪识别程序10,所述验证码图像去噪识别程序10被处理器执行时实现如下操作:
获取步骤:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集;
构建步骤:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型;
去噪步骤:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像;及
识别步骤:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串。
本发明之计算机可读存储介质的具体实施方式与上述验证码图像去噪识别方法的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种验证码图像去噪识别方法,应用于电子装置,其特征在于,所述方法包括:
获取步骤:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集;
构建步骤:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型;
去噪步骤:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像;及
识别步骤:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串,包括:基于所述字符识别网络的卷积操作和池化操作提取出所述预设尺寸的图像的第一特征向量,基于所述第一特征向量及所述字符识别网络的DenseNet结构和全连接层,提取出所述预设尺寸的图像的第二特征向量,将所述第二特征向量均匀切分为n份,将切分后的每份特征向量作为一行张量,将每行张量依次堆叠得到维度为验证码字符的类别数*验证码字符最大长度的张量,其中,n表示所述去噪验证码图像的验证码字符的类别数;所述利用贪心算法对所述张量进行解析包括:利用贪心算法分别查找出所述张量的每一列数值的概率最大值的位置,将该位置的字符作为该列对应的验证码字符编码,根据该验证码字符编码得到验证码的目标字符串,将所述目标字符串作为所述处理后的去噪验证码图像的识别结果。
2.如权利要求1所述的验证码图像去噪识别方法,其特征在于,所述获取步骤包括:
创建验证码图像的背景图像及字符的字体,随机生成原始验证码字符串,在所述背景图像上添加所述原始验证码字符串作为无噪图像并存储,在所述无噪图像上添加噪点作为带噪图像并存储,对带噪图像和无噪图像作相同的仿射变换处理,将仿射变换处理后的带噪图像和无噪图像进行拼接作为训练样本集。
3.如权利要求1或2所述的验证码图像去噪识别方法,其特征在于,所述生成式对抗网络包括1个生成器和1个鉴别器,所述鉴别器的判别结果反馈至所述生成器。
4.一种电子装置,该电子装置包括存储器及处理器,其特征在于,所述存储器上存储验证码图像去噪识别程序,所述验证码图像去噪识别程序被所述处理器执行,实现如下步骤:
获取步骤:从数据库获取预设数量的带噪验证码图像及与各带噪验证码图像对应的无噪验证码图像,作为训练样本生成样本集;
构建步骤:构建生成式对抗网络模型,基于所述样本集训练所述生成式对抗网络模型,得到验证码图像去噪模型;
去噪步骤:将待处理的带噪验证码图像输入所述验证码图像去噪模型,得到处理后的去噪验证码图像;及
识别步骤:将所述处理后的去噪验证码图像调整为预设尺寸的图像,将所述预设尺寸的图像输入预设的字符识别网络,得到对应的张量,利用贪心算法对所述张量进行解析,得到所述处理后的验证码图像的目标验证码字符串,包括:基于所述字符识别网络的卷积操作和池化操作提取出所述预设尺寸的图像的第一特征向量,基于所述第一特征向量及所述字符识别网络的DenseNet结构和全连接层,提取出所述预设尺寸的图像的第二特征向量,将所述第二特征向量均匀切分为n份,将切分后的每份特征向量作为一行张量,将每行张量依次堆叠得到维度为验证码字符的类别数*验证码字符最大长度的张量,其中,n表示所述去噪验证码图像的验证码字符的类别数;所述利用贪心算法对所述张量进行解析包括:利用贪心算法分别查找出所述张量的每一列数值的概率最大值的位置,将该位置的字符作为该列对应的验证码字符编码,根据该验证码字符编码得到验证码的目标字符串,将所述目标字符串作为所述处理后的去噪验证码图像的识别结果。
5.如权利要求4所述的电子装置,其特征在于,所述获取步骤包括:
创建验证码图像的背景图像及字符的字体,随机生成原始验证码字符串,在所述背景图像上添加所述原始验证码字符串作为无噪图像并存储,在所述无噪图像上添加噪点作为带噪图像并存储,对带噪图像和无噪图像作相同的仿射变换处理,将仿射变换处理后的带噪图像和无噪图像进行拼接作为训练样本集。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括验证码图像去噪识别程序,所述验证码图像去噪识别程序被处理器执行时,实现如权利要求1至3中任一项所述验证码图像去噪识别方法的步骤。
CN202010235748.5A 2020-03-30 2020-03-30 验证码图像去噪识别方法、电子装置及存储介质 Active CN111461979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010235748.5A CN111461979B (zh) 2020-03-30 2020-03-30 验证码图像去噪识别方法、电子装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010235748.5A CN111461979B (zh) 2020-03-30 2020-03-30 验证码图像去噪识别方法、电子装置及存储介质

Publications (2)

Publication Number Publication Date
CN111461979A CN111461979A (zh) 2020-07-28
CN111461979B true CN111461979B (zh) 2023-04-18

Family

ID=71685002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010235748.5A Active CN111461979B (zh) 2020-03-30 2020-03-30 验证码图像去噪识别方法、电子装置及存储介质

Country Status (1)

Country Link
CN (1) CN111461979B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446369A (zh) * 2020-11-05 2021-03-05 深圳中兴网信科技有限公司 票据的处理方法、系统和存储介质
CN112270325B (zh) * 2020-11-09 2024-05-24 携程旅游网络技术(上海)有限公司 字符验证码识别模型训练方法、识别方法、系统、设备及介质
CN115049565B (zh) * 2022-08-12 2022-11-08 国仪量子(合肥)技术有限公司 训练方法、训练装置、电子设备和存储介质
CN115631500A (zh) * 2022-10-13 2023-01-20 吉林省吉林祥云信息技术有限公司 一种基于DenseNet的字符型图像验证码识别方法、系统、设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778745A (zh) * 2016-12-23 2017-05-31 深圳先进技术研究院 一种车牌识别方法及装置、用户设备
CN107967475A (zh) * 2017-11-16 2018-04-27 广州探迹科技有限公司 一种基于窗口滑动和卷积神经网络的验证码识别方法
CN108198154A (zh) * 2018-03-19 2018-06-22 中山大学 图像去噪方法、装置、设备及存储介质
CN108765334A (zh) * 2018-05-24 2018-11-06 北京飞搜科技有限公司 一种图像去噪方法、装置以及电子设备
CN110223254A (zh) * 2019-06-10 2019-09-10 大连民族大学 一种基于对抗生成网络的图像去噪方法
CN110288547A (zh) * 2019-06-27 2019-09-27 北京字节跳动网络技术有限公司 用于生成图像去噪模型的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778745A (zh) * 2016-12-23 2017-05-31 深圳先进技术研究院 一种车牌识别方法及装置、用户设备
CN107967475A (zh) * 2017-11-16 2018-04-27 广州探迹科技有限公司 一种基于窗口滑动和卷积神经网络的验证码识别方法
CN108198154A (zh) * 2018-03-19 2018-06-22 中山大学 图像去噪方法、装置、设备及存储介质
CN108765334A (zh) * 2018-05-24 2018-11-06 北京飞搜科技有限公司 一种图像去噪方法、装置以及电子设备
CN110223254A (zh) * 2019-06-10 2019-09-10 大连民族大学 一种基于对抗生成网络的图像去噪方法
CN110288547A (zh) * 2019-06-27 2019-09-27 北京字节跳动网络技术有限公司 用于生成图像去噪模型的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张乐乐.基于深度学习的图片验证码识别算法研究.《中国优秀硕士学位论文全文数据库》.2018,全文. *
蔡路.中文票据图像处理和智能识别技术研究.《中国优秀硕士学位论文全文数据库》.2020,全文. *

Also Published As

Publication number Publication date
CN111461979A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111461979B (zh) 验证码图像去噪识别方法、电子装置及存储介质
CN108564954B (zh) 深度神经网络模型、电子装置、身份验证方法和存储介质
CN112380319B (zh) 一种模型训练的方法及相关装置
CN110602120B (zh) 一种面向网络的入侵数据检测方法
CN112651436A (zh) 一种基于权重不确定的图卷积神经网络的优化方法、装置
CN114565513A (zh) 对抗图像的生成方法、装置、电子设备和存储介质
CN114880566A (zh) 基于图神经网络的用户行为分析方法、装置、设备及介质
CN110781467A (zh) 异常业务数据分析方法、装置、设备及存储介质
CN114358278A (zh) 神经网络模型的训练方法及装置
CN114282258A (zh) 截屏数据脱敏方法、装置、计算机设备及存储介质
CN111752958A (zh) 智能关联标签方法、装置、计算机设备及存储介质
CN114463798A (zh) 人脸识别模型的训练方法、装置、设备及存储介质
CN111310186A (zh) 混淆命令行检测方法、装置及系统
Chen et al. White-box content camouflage attacks against deep learning
CN115859273A (zh) 一种数据库异常访问的检测方法、装置、设备及存储介质
CN113641767B (zh) 实体关系抽取方法、装置、设备及存储介质
CN113836300A (zh) 日志分析方法、系统、设备及存储介质
CN114169540A (zh) 一种基于改进机器学习的网页用户行为检测方法及系统
CN112733645A (zh) 手写签名校验方法、装置、计算机设备及存储介质
CN113947802B (zh) 有遮挡人脸识别方法、装置、设备及可读存储介质
CN116738429B (zh) 基于生成对抗的目标检测引擎优化方法、装置及系统
CN115083001B (zh) 基于图像敏感位置定位的对抗补丁生成方法与装置
CN113761912B (zh) 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN113657353B (zh) 公式识别方法、装置、电子设备及存储介质
CN113298049B (zh) 图像特征降维方法、装置、电子设备和存储介质

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