CN110321883A - 验证码识别方法及装置、可读存储介质 - Google Patents

验证码识别方法及装置、可读存储介质 Download PDF

Info

Publication number
CN110321883A
CN110321883A CN201910517600.8A CN201910517600A CN110321883A CN 110321883 A CN110321883 A CN 110321883A CN 201910517600 A CN201910517600 A CN 201910517600A CN 110321883 A CN110321883 A CN 110321883A
Authority
CN
China
Prior art keywords
character
ctc
image
identification model
identifying 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.)
Pending
Application number
CN201910517600.8A
Other languages
English (en)
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.)
Shanghai Lake Information Technology Co Ltd
Original Assignee
Shanghai Lake Information 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 Shanghai Lake Information Technology Co Ltd filed Critical Shanghai Lake Information Technology Co Ltd
Priority to CN201910517600.8A priority Critical patent/CN110321883A/zh
Publication of CN110321883A publication Critical patent/CN110321883A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation 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/267Segmentation 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

Abstract

一种验证码识别方法及装置、可读存储介质,所述验证码识别方法包括:对待识别图像进行预处理,得到处理后的图像;将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;去除所述字符中的空字符,得到所述待识别图像中的验证码。采用上述方案,可以有效识别不定长字符图像的验证码。

Description

验证码识别方法及装置、可读存储介质
技术领域
本发明属于图像识别技术领域,特别涉及一种验证码识别方法及装置、可读存储介质。
背景技术
验证码(Completely Automated Public Turing test to tell Computers andHumans Apart,CAPTCHA)是一种区分用户是计算机还是人的公共全自动程序,常见的形式是图像验证码。图像验证码通常使用数字和英文字符,并添加扭曲、旋转、背景色及噪声等方式,使得普通的图像识别算法无法识别内容。
如今,在网站上线运行之前,测试工程师通常会采用一些验证码识别方法对网站网页中的验证码进行识别,以检测网站的安全性。例如,对于一个网站网页中的验证码,若其不能被采用的验证码识别方法(或自动识别工具)识别,则表明该网站网页所使用的验证码不易被识别,网站安全性较高;若该网站网页中的大部分验证码能被采用的验证码识别方法识别,则表明该网站网页所使用的验证码易被识别,网站的安全性较低,需要相关技术人员增大验证码图像的复杂度等,以保证网站上线运行后不被恶意用户攻击。而且,采用验证码识别方法对网站网页中的验证码进行识别,还可使得网站网页的自动化测试得以实现。
由于不同的网站验证码所包含的字符数量可能各不相同。因此,基于字符分割的方法在进行验证码识别时,需要根据不同的验证码类型进行对应分割。在验证码图片类型过多时,这种方法需要消耗大量的时间用于寻找合适的分割点,而且不恰当的分割点会极大地影响不定长字符图像验证码识别的效果。
发明内容
本发明实施例解决的是无法有效识别不定长字符图像验证码的技术问题。
为解决上述技术问题,本发明实施例提供一种验证码识别方法,包括:对待识别图像进行预处理,得到处理后的图像;将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;去除所述字符中的空字符,得到所述待识别图像中的验证码。
可选的,所述CTC识别模型采用以下方式进行训练:采用RGB三通道读取验证码图像并进行预处理,得到处理后的验证码图像;将所述处理后的验证码图像作为输入,将所述验证码图像中包含的字符作为输出标签,采用包含Softmax层的神经网络模型进行训练,得到训练后的CTC识别模型;所述神经网络模型的损失函数为CTC Loss函数。
可选的,所述验证码图像中包含的字符的长度为预设最大长度,并在对应的字符集中添加空字符。
可选的,在得到训练后的CTC识别模型之后,以所述CTC识别模型的CTC层作为输出层,得到CTC子识别模型。
可选的,采用如下至少一种方式对所述待识别图像进行预处理:滤波、归一化、数据类型转化、形状变换、图像翻转、颜色变换以及数据增强。
为解决上述技术问题,本发明实施例还公开了一种验证码识别装置,包括:处理单元,用于对待识别图像进行预处理,得到处理后的图像;识别单元,用于将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;去除单元,用于去除所述字符中的空字符,得到所述待识别图像中的验证码。
可选的,所述识别单元,用于将所述处理后的图像输入CTC识别模型,所述CTC识别模型采用以下方式进行训练:采用RGB三通道读取验证码图像并进行预处理,得到处理后的验证码图像;将所述处理后的验证码图像作为输入,将所述验证码图像中包含的字符作为输出标签,采用包含Softmax层的神经网络模型进行训练,得到训练后的CTC识别模型;所述神经网络模型的损失函数为CTC Loss函数。
可选的,所述验证码图像中包含的字符的长度为预设最大长度,并在对应的字符集中添加空字符。
可选的,所述识别单元,还用于在得到训练后的CTC识别模型之后,以所述CTC识别模型的CTC层作为输出层,得到CTC子识别模型。
可选的,所述处理单元,用于对待识别图像进行预处理,采用如下至少一种方式对所述待识别图像进行预处理:滤波、归一化、数据类型转化、形状变换、图像翻转、颜色变换以及数据增强。
本发明实施例还公开了一种可读存储介质,可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的验证码识别方法的步骤。
本发明实施例还提供了一种验证码识别装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种所述的验证码识别方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;去除所述字符中的空字符,得到所述待识别图像中的验证码,可以基于整体验证码进行识别,而不需要先识别验证码中每个部分所对应的标签,从而可以高效识别不定长字符图像验证码。
附图说明
图1是本发明实施例中的一种验证码识别方法的流程图;
图2是本发明实施例中的一种验证码识别装置的结构示意图。
具体实施方式
现有技术中,由于不同的网站验证码所包含的字符数量可能各不相同。因此,基于字符分割的方法在进行验证码识别时,需要根据不同的验证码类型进行对应分割。在验证码图片类型过多时,这种方法需要消耗大量的时间用于寻找合适的分割点,而且不恰当的分割点会极大地影响不定长字符图像验证码识别的效果。
本发明实施例中,将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;去除所述字符中的空字符,得到所述待识别图像中的验证码,可以基于整体验证码进行识别,而不需要先识别验证码中每个部分所对应的标签,从而可以高效识别不定长字符图像验证码。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种验证码识别方法,参照图1,以下通过具体步骤进行详细说明。
步骤S101,对待识别图像进行预处理,得到处理后的图像。
在具体实施中,在获取到待识别图像后,可以采用如下至少一种方式对所述待识别图像进行预处理:滤波、归一化、数据类型转化、形状变换、图像翻转、颜色变换以及数据增强,以提高后续验证码识别的准确度。
步骤S102,将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符。
在实际应用中,采用基于神经网络的时序类分类(Connectionist TemporalClassification,CTC)的识别模型,可以解决神经网络中的标签与输出不对齐的问题,例如,文本识别、语音识别、手写字体识别等领域的识别错误问题。
在具体实施中,CTC识别模型的输出层为Softmax层。
在具体实施中,CTC识别模型的训练过程包括:采用RGB三通道读取验证码图像并进行预处理,得到处理后的验证码图像;再将所述处理后的验证码图像作为输入,将所述验证码图像中包含的字符作为输出标签,采用包含Softmax层的神经网络模型进行训练,得到训练后的CTC识别模型;所述神经网络模型的损失函数为CTC Loss函数。由于CTC可以基于整个字符序列的标签进行训练,而不需要知道序列中每个部分对应的标签。因此,对不定长字符图像验证码可以精确识别。
在具体实施中,在CTC识别模型训练过程中,可以将验证码图像中包含的字符的长度设置为预设最大长度(可以是现有的验证码字符的最大长度),并在对应的字符集中添加空字符。在训练完成后,CTC识别模型可以在不能确定所要识别的验证码的实际长度的情况下,仍然达到良好的识别效果。
在具体实施中,在得到训练后的CTC识别模型之后,以所述CTC识别模型的Softmax层作为输出层,可以进行验证码识别;而以所述CTC识别模型的CTC层作为输出层,可以得到CTC子识别模型,进而将训练好的CTC子识别模型应用于其他场景。例如,在积累了大量同类型的数据集之后,将CTC子识别模型用于优化现有模型,以获得更精准的预测结果。又如,在类型不同的验证码数据上,采用CTC子识别模型进行迁移学习(Finetune),以获得更好的识别效果。
步骤S103,去除所述字符中的空字符,得到所述待识别图像中的验证码。
在实际应用中,可以反复执行步骤S101至步骤S103,进而对待识别图像中的验证码进行批量处理以满足用户的不同需求。
综上所述,将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;去除所述字符中的空字符,得到所述待识别图像中的验证码,可以基于整体验证码进行识别,而不需要先识别验证码中每个部分所对应的标签,从而可以高效识别不定长字符图像验证码。
参照图2,本发明实施例还提供了一种验证码识别装置20,包括:处理单元201、识别单元202以及去除单元203,其中:
所述处理单元201,用于对待识别图像进行预处理,得到处理后的图像;
所述识别单元202,用于将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;
所述去除单元203,用于去除所述字符中的空字符,得到所述待识别图像中的验证码。
在具体实施中,所述CTC识别模型的输出层为Softmax层。
在具体实施中,识别单元202可以用于将所述处理后的图像输入CTC识别模型,所述CTC识别模型采用以下方式进行训练:采用RGB三通道读取验证码图像并进行预处理,得到处理后的验证码图像;将所述处理后的验证码图像作为输入,将所述验证码图像中包含的字符作为输出标签,采用包含Softmax层的神经网络模型进行训练,得到训练后的CTC识别模型;所述神经网络模型的损失函数为CTC Loss函数。
在具体实施中,验证码图像中包含的字符的长度为预设最大长度,并在对应的字符集中添加空字符。
在具体实施中,识别单元202还可以用于在得到训练后的CTC识别模型之后,以所述CTC识别模型的CTC层作为输出层,得到CTC子识别模型。
在具体实施中,处理单元201可以用于对待识别图像进行预处理,采用如下至少一种方式对所述待识别图像进行预处理:滤波、归一化、数据类型转化、形状变换、图像翻转、颜色变换以及数据增强。
本发明实施例还提供了一种可读存储介质,可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行本发明上述实施例中提供的任一种所述的验证码识别方法的步骤。
本发明实施例还提供了一种验证码识别装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所示计算机指令时,执行本发明上述实施例中提供的任一种所述的验证码识别方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (12)

1.一种验证码识别方法,其特征在于,包括:
对待识别图像进行预处理,得到处理后的图像;
将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;
去除所述字符中的空字符,得到所述待识别图像中的验证码。
2.如权利要求1所述的验证码识别方法,其特征在于,所述CTC识别模型采用以下方式进行训练:
采用RGB三通道读取验证码图像并进行预处理,得到处理后的验证码图像;将所述处理后的验证码图像作为输入,将所述验证码图像中包含的字符作为输出标签,采用包含Softmax层的神经网络模型进行训练,得到训练后的CTC识别模型;所述神经网络模型的损失函数为CTC Loss函数。
3.如权利要求2所述的验证码识别方法,其特征在于,所述验证码图像中包含的字符的长度为预设最大长度,并在对应的字符集中添加空字符。
4.如权利要求2所述的验证码识别方法,其特征在于,在得到训练后的CTC识别模型之后,以所述CTC识别模型的CTC层作为输出层,得到CTC子识别模型。
5.如权利要求1所述的验证码识别方法,其特征在于,采用如下至少一种方式对所述待识别图像进行预处理:滤波、归一化、数据类型转化、形状变换、图像翻转、颜色变换以及数据增强。
6.一种验证码识别装置,其特征在于,包括:
处理单元,用于对待识别图像进行预处理,得到处理后的图像;
识别单元,用于将所述处理后的图像输入CTC识别模型,得到所述待识别图像所包含的字符;所述CTC识别模型的输出层为Softmax层;
去除单元,用于去除所述字符中的空字符,得到所述待识别图像中的验证码。
7.如权利要求6所述的验证码识别装置,其特征在于,所述识别单元,用于将所述处理后的图像输入CTC识别模型,所述CTC识别模型采用以下方式进行训练:采用RGB三通道读取验证码图像并进行预处理,得到处理后的验证码图像;将所述处理后的验证码图像作为输入,将所述验证码图像中包含的字符作为输出标签,采用包含Softmax层的神经网络模型进行训练,得到训练后的CTC识别模型;所述神经网络模型的损失函数为CTC Loss函数。
8.如权利要求7所述的验证码识别装置,其特征在于,所述验证码图像中包含的字符的长度为预设最大长度,并在对应的字符集中添加空字符。
9.如权利要求7所述的验证码识别装置,其特征在于,所述识别单元,还用于在得到训练后的CTC识别模型之后,以所述CTC识别模型的CTC层作为输出层,得到CTC子识别模型。
10.如权利要求6所述的验证码识别装置,其特征在于,所述处理单元,用于对待识别图像进行预处理,采用如下至少一种方式对所述待识别图像进行预处理:滤波、归一化、数据类型转化、形状变换、图像翻转、颜色变换以及数据增强。
11.一种可读存储介质,可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至5中任一项所述的验证码识别方法的步骤。
12.一种验证码识别装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至5任一项所述的验证码识别方法的步骤。
CN201910517600.8A 2019-06-14 2019-06-14 验证码识别方法及装置、可读存储介质 Pending CN110321883A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910517600.8A CN110321883A (zh) 2019-06-14 2019-06-14 验证码识别方法及装置、可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910517600.8A CN110321883A (zh) 2019-06-14 2019-06-14 验证码识别方法及装置、可读存储介质

Publications (1)

Publication Number Publication Date
CN110321883A true CN110321883A (zh) 2019-10-11

Family

ID=68119662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910517600.8A Pending CN110321883A (zh) 2019-06-14 2019-06-14 验证码识别方法及装置、可读存储介质

Country Status (1)

Country Link
CN (1) CN110321883A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214750A (zh) * 2020-10-16 2021-01-12 上海携旅信息技术有限公司 字符验证码的识别方法、系统、电子设备和存储介质
CN116863488A (zh) * 2023-09-04 2023-10-10 应辉环境科技服务(烟台)有限公司 一种网页验证码自动识别方法、计算设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330379A (zh) * 2017-06-13 2017-11-07 内蒙古大学 一种蒙古语手写识别方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330379A (zh) * 2017-06-13 2017-11-07 内蒙古大学 一种蒙古语手写识别方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李样明 等主编: "《数学系本科毕业论文写作指南》", 31 October 2018, 北京邮电大学出版社 *
杜薇 等: "基于CTC模型的无分割文本验证码识别", 《计算机与现代化》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214750A (zh) * 2020-10-16 2021-01-12 上海携旅信息技术有限公司 字符验证码的识别方法、系统、电子设备和存储介质
CN112214750B (zh) * 2020-10-16 2023-04-25 上海携旅信息技术有限公司 字符验证码的识别方法、系统、电子设备和存储介质
CN116863488A (zh) * 2023-09-04 2023-10-10 应辉环境科技服务(烟台)有限公司 一种网页验证码自动识别方法、计算设备及存储介质

Similar Documents

Publication Publication Date Title
CN110598686B (zh) 发票的识别方法、系统、电子设备和介质
US9275307B2 (en) Method and system for automatic selection of one or more image processing algorithm
US20140270489A1 (en) Learned mid-level representation for contour and object detection
CN104751093B (zh) 用于获取宿主设备显示的图像识别码的方法和装置
WO2021137946A1 (en) Forgery detection of face image
Sahay et al. Leaf analysis for plant recognition
CN111444986A (zh) 建筑图纸构件分类方法、装置、电子设备及存储介质
CN105447508A (zh) 一种字符图像验证码识别的方法及系统
CN114419363A (zh) 基于无标注样本数据的目标分类模型训练方法及装置
CN116311214B (zh) 车牌识别方法和装置
CN108932533A (zh) 识别模型构建方法及装置、字符识别方法及装置
CN109101810A (zh) 一种基于ocr技术的文字验证码识别方法
Lv et al. Chinese character CAPTCHA recognition based on convolution neural network
CN110321883A (zh) 验证码识别方法及装置、可读存储介质
CN112232336A (zh) 一种证件识别方法、装置、设备及存储介质
CN108985052A (zh) 一种恶意程序识别方法、装置和存储介质
Zaafouri et al. A vehicle license plate detection and recognition method using log gabor features and Convolutional Neural Networks
CN113051901B (zh) 一种身份证文本识别方法、系统、介质及电子终端
CN112733670A (zh) 指纹特征提取方法、装置、电子设备及存储介质
CN110503091A (zh) 基于神经网络模型的证件验证方法、装置及存储介质
Boudraa et al. Combination of local features and deep learning to historical manuscripts dating
CN115909329B (zh) 一种微观目标识别方法、装置、电子设备和存储介质
CN117218515B (zh) 一种目标检测方法、装置、计算设备和存储介质
CN113505648B (zh) 行人检测方法、装置、终端设备及存储介质
Wei et al. Research on Optimization of CAPTCHA Recognition Algorithm Based on SVM

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191011

RJ01 Rejection of invention patent application after publication