CN109033798A - 一种基于语义的点选验证码识别方法及其装置 - Google Patents

一种基于语义的点选验证码识别方法及其装置 Download PDF

Info

Publication number
CN109033798A
CN109033798A CN201811076100.7A CN201811076100A CN109033798A CN 109033798 A CN109033798 A CN 109033798A CN 201811076100 A CN201811076100 A CN 201811076100A CN 109033798 A CN109033798 A CN 109033798A
Authority
CN
China
Prior art keywords
character
identifying code
text
semantic
screenshot
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
Application number
CN201811076100.7A
Other languages
English (en)
Other versions
CN109033798B (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.)
Beijing Jindi Technology Co Ltd
Original Assignee
Beijing Jindi 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 Beijing Jindi Technology Co Ltd filed Critical Beijing Jindi Technology Co Ltd
Priority to CN201811076100.7A priority Critical patent/CN109033798B/zh
Publication of CN109033798A publication Critical patent/CN109033798A/zh
Application granted granted Critical
Publication of CN109033798B publication Critical patent/CN109033798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • 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
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Character Discrimination (AREA)

Abstract

本发明提供了一种基于语义的点选验证码识别方法及其装置,其中所述方法包括:在验证码图片中,获取待选字符的字符数及字符截图;构建字符识别神经网络模型,并得到识别概率矩阵;确定所述字符截图对应的短文本;根据短文本,选取相应的待选字符,得到验证码图片中待选字符对应的定位信息。本发明实现了通过深度学习技术,对基于语义的点选验证码进行识别,为测试人员提供一种评价基于语义的点选验证码的有效性的方法,通过本发明所提供的识别方法,可实现简单高效的推测文本语义,极大的提高了对验证码识别的准确率,且方便实用,为测试工程师的对于网站点选验证方式安全性的测试和评价带来极大的方便。

Description

一种基于语义的点选验证码识别方法及其装置
技术领域
本发明涉及验证码测试技术领域,更具体地说,涉及一种基于语义的点选验证码识别方法及其装置。
背景技术
验证码(CAPTCHA)常见于web登录界面中。优良设计的验证码可以被人工识别,但是很难被自动工具识别,从而达到保护网站不被恶意使用的目的。相比于传统的输入型验证码,点选验证码具有安全性高、对用户友好等优点,逐渐替代传统验证码,成为主流方式。
目前点选验证码中,有一种是基于语义的点选验证码,的其工作原理如下:服务端持有一个丰富的短文本语料库,通常单条文本的长度n取3-6字。服务端随机从语料中选择一条文本,利用图形库生成汉字图像,并在图像中加入干扰。然后在一张大的背景图片中随机生成n个位置(短文本中汉字的数量),将n个汉字与背景图片做融合。服务端按照文本的语序将n个汉字的位置存储在session中,用以记录正确答案。最后将生成的图片下发到网页端,并要求在用户按照语序点击图片中的文字。用户点击汉字后,汉字对应的位置信息会传到服务器进行校验,如过果偏差在阈值规定的范围内,则校验通过,否则不通过。
为了能有有效的拦截恶意的访问,很多网站都部署的验证码技术。而在网站上线运行前,测试工程师会对对网站的验证码进行识别,以检测网站的安全性。如被自动化软件识别的概率高,则表明网站的验证码机制不安全。现有的验证码识别技术主要是针对输入型验证码,以及普通点选型验证码,而对于基于语序/语义的点选型验证码尚未提供解决思路,导致基于语序/语义的点选验证技术的网站或客户端无法进行验证码的测试,存在巨大的安全隐患,给测试工程师对于网站或客户端的点选验证码安全性的测试带来极大的不便。
发明内容
有鉴于此,本发明提供一种基于语义的点选验证码识别方法及其装置以解决现有技术的不足。
为解决上述问题,本发明提供1.一种基于语义的点选验证码识别方法,其特征在于,包括:
在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图;
构建字符识别神经网络模型,并通过所述字符识别神经网络模型对所述字符截图进行识别,得到识别概率矩阵;
根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本;
根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息。
优选地,所述“根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本”包括:
构建短文本语料集;所述短文本语料集中包含有多个不同预设字符数量的短文本对应的文本语料库;
选择与所述字符数对应的文本语料库;
根据所述识别概率矩阵,计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集;
提取所述概率信息集中非规范化概率最大的文本作为所述短文本。
优选地,所述“根据所述识别概率矩阵,计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集”包括:
根据所述识别概率矩阵,通过非规范化概率计算公式计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集;其中,所述非规范化概率计算公式为:
Ai表示任一汉字,P(Ai)表示当前字是Ai的概率,由所述识别概率矩阵中给出。A0…An表示所述文本语料库中的每一个短文本序列。
优选地,所述“提取所述概率信息集中非规范化概率最大的文本作为所述短文本”包括:
对所述概率信息集中的所有文本,依据所述非规范化概率进行排序,并根据概率提取公式提取其中非规范化概率最大的文本作为所述短文本;其中,所述概率提取公式为:
ArgmaxtextP(text)text∈D;其中,D表示所述文本语料库。
优选地,所述“根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息”包括:
根据所述短文本和所述字符截图在所述验证码图片中的位置,构建空间位置概率矩阵;
定位出所述空间位置概率矩阵中的所述短文本中的每个待选字对应的最大概率值;
删除所述最大概率值所在的行和列中除所述最大概率值以外的所有数据,得到新的目标概率矩阵区;
根据所述新的目标概率矩阵区确定所述验证码图片中每个所述待选字符对应的定位信息。
优选地,所述“在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图”包括:
获取包括预先标记出的每个所述待选字符的最小截图的预设字符训练集;
利用所述预设字符训练集对深度学习检测框架进行训练;
基于所述深度学习检测框架,对所述验证码图片中所包括的待选字符进行框定,得到与所述可选字符对应字符数和字符位置信息;
根据所述字符位置信息获取所述验证码图片中每个所述可选字符的最小截图作为字符截图。
此外,为解决上述问题,本发明还提供一种基于语义的点选验证码识别装置,包括:获取模块、构建模块、确定模块和定位模块;
所述获取模块,用于在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图;
所述构建模块,用于构建字符识别神经网络模型,并通过所述字符识别神经网络模型对所述字符截图进行识别,得到识别概率矩阵;
所述确定模块,用于根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本;
所述定位模块,用于根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息。
此外,为解决上述问题,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储基于语义的点选验证码识别程序,所述处理器运行所述基于语义的点选验证码识别程序以使所述用户终端执行如上述所述基于语义的点选验证码识别方法。
此外,为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于语义的点选验证码识别程序,所述基于语义的点选验证码识别程序被处理器执行时实现如上述所述基于语义的点选验证码识别方法。
本发明提供的一种基于语义的点选验证码识别方法及其装置。其中,本发明所提供的方法通过获取到待选字符的字符数和字符截图,并通过字符识别神经网络模型进行识别,得到识别概率矩阵,进而根据识别概率矩阵确定短文本,即待选字符的字符内容和顺序,并根据短文本和识别概率矩阵,得到每个待选字符的定位信息。本发明实现了通过深度学习技术,对基于语义的点选验证码进行识别,为测试人员提供一种评价基于语义的点选验证码的有效性的方法,通过本发明所提供的识别方法,可实现简单高效的推测文本语义,极大的提高了对验证码识别的准确率,且方便实用,为测试工程师的对于网站点选验证方式安全性的测试和评价带来极大的方便。
附图说明
图1为本发明基于语义的点选验证码识别方法实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明基于语义的点选验证码识别方法第一实施例的流程示意图;
图3为本发明基于语义的点选验证码识别方法第二实施例的流程示意图;
图4为本发明基于语义的点选验证码识别方法第三实施例的流程示意图;
图5为本发明基于语义的点选验证码识别方法第四实施例的流程示意图;
图6为本发明基于语义的点选验证码识别装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境的结构示意图。
本发明实施例终端可以是的PC,也可以是智能手机、平板电脑、或者具有一定计算能力并且包含有图像采集设备的电子书阅读器、MP3播放器、MP4播放器、便携计算机等可移动式终端设备。如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏、输入单元比如键盘、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。可选地,终端还可以包括RF(Radio Frequency,射频)电路、音频电路、WiFi模块等等。此外,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、数据接口控制程序、网络连接程序以及基于语义的点选验证码识别程序。
本发明提供的一种基于语义的点选验证码识别方法及其装置。其中,所述方法实现了通过深度学习技术,对基于语义的点选验证码进行识别,为测试人员提供一种评价基于语义的点选验证码的有效性的方法,通过本发明所提供的识别方法,可实现简单高效的推测文本语义,极大的提高了对验证码识别的准确率,且方便实用,为测试工程师的对于网站点选验证方式安全性的测试和评价带来极大的方便。
实施例1:
参照图2,本发明第一实施例提供一种基于语义的点选验证码识别方法,包括:
步骤S100,在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图;
上述,需要理解的是,点选验证也叫点触验证,其工作原理如下:首先服务端随机生成N个(任意个数,通常为5个)汉字(或其他文字、符号),利用图形库生成汉字图像,并在图像中加入干扰背景。然后在一张大的背景图片中随机生成5个位置,将5个汉字与背景图片做融合。从5个汉字中随机选择三个汉字和对应的位置存储在session中,用以记录正确答案。最后将生成的图片下发到网页端,并要求在用户顺序点击服务端存储的三个汉字的位置。用户点击后将汉字对应的位置信息会传到服务器进行校验,如过偏差在阈值规定的范围内,则校验通过,否则不通过。
上述,在点选验证码中包括基于语义的点选验证码,其工作原理如下:服务端持有一个丰富的短文本语料库,通常单条文本的长度n取3-6字。服务端随机从语料中选择一条文本,利用图形库生成汉字图像,并在图像中加入干扰。然后在一张大的背景图片中随机生成n个位置(短文本中汉字的数量),将n个汉字与背景图片做融合。服务端按照文本的语序将n个汉字的位置存储在session中,用以记录正确答案。最后将生成的图片下发到网页端,并要求在用户按照语序点击图片中的文字。用户点击汉字后,汉字对应的位置信息会传到服务器进行校验,如过果偏差在阈值规定的范围内,则校验通过,否则不通过。
上述,本发明所针对的验证码图片中的待选字符,可以包括但不限于中文字符、标点、符号、其他语言文字的字符等。
上述,目前,采用点选验证方式的载体可以包括但不限于网站、网站用户端、客户端APP等。
上述,字符截图,即为包括该待选字符(在本实施例中也可以成为可选字符)且该字符可完整显示便于进一步识别的截图,其中,截图的具体形状可根据需要进行进一步识别的字符进行设定,例如,中文对应的可设置为矩形截图,英文字母可对应设置为圆形截图。优选地,在本实施例中,所述字符截图设置为其字符对应的外接矩形截图。
上述,本实施例通过定位汉字位置确定验证码图片中所包含的待选字符的字符数和字符截图,即指在一幅图像中将汉字的位置圈出来。该步骤中可通过现有技术中的YOLO(一种基于深度学习的物体检测框架)来实现,YOLO具有鲁棒性好,识别准确率高的优点,且相比其他深度学习检测框架具有更快的运行速度。
为了能够使用YOLO来解决汉字检测问题,需要提前准备汉字字符的训练数据集,该数据集通过人工标注的方式得到。对应于每个汉字字符,标记处图片中每个最小外接矩形。通过对YOLO框架下的模型进行训练,就可以得到一个汉字检测器。该检测器可以对输入图片中的汉字进行框定,得到汉字的位置。
步骤S200,构建字符识别神经网络模型,并通过所述字符识别神经网络模型对所述字符截图进行识别,得到识别概率矩阵;
上述,可通过不同的识别方法对每一个所述字符截图进行识别,从而得到每一个最小截图对应的不同概率的字符,形成概率向量,多个最小截图组成字符概率矩阵。其中,概率矩阵的行表示所有截图对应某汉字的概率,列为某个截图对应所有汉字的概率。
上述,需要理解的是,深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
步骤S300,根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本;
上述,短文本,即为通过字符数,与对应的识别概率矩阵,得到的包括待选字符的字符内容和对应的语义顺序。例如,字符数为5,根据识别概率矩阵,得到短文本中的字符为“责、感、社、会、任”,进而根据识别和计算,得出短文本为“社会责任感”。
步骤S400,根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息。
通过上述字符概率矩阵,可根据概率找出与每个字符截图对应的最相似的待选字符,从而建立待选字符—字符截图—定位信息的联系,从而确定目标字符的位置,进而可根据位置,以及验证码所要求的目标字符的顺序,对验证码进行点选,从而通过验证。
上述,验证的过程,也可以为自动进行,即为在S400后,获取相关验证码的目标字符的点击顺序,再根据S400所获取到的坐标位置,对验证码图片中的相应字符进行点击,从而完成验证过程。
本发明所提供的方法通过获取到待选字符的字符数和字符截图,并通过字符识别神经网络模型进行识别,得到识别概率矩阵,进而根据识别概率矩阵确定短文本,即待选字符的字符内容和顺序,并根据短文本和识别概率矩阵,得到每个待选字符的定位信息。本发明实现了通过深度学习技术,对基于语义的点选验证码进行识别,为测试人员提供一种评价基于语义的点选验证码的有效性的方法,通过本发明所提供的识别方法,可实现简单高效的推测文本语义,极大的提高了对验证码识别的准确率,且方便实用,为测试工程师的对于网站点选验证方式安全性的测试和评价带来极大的方便。
实施例2:
参照图3,本发明第二实施例提供一种基于语义的点选验证码识别方法,基于上述图2所示的第一实施例,所述步骤S300,“根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本”包括:
步骤S310,构建短文本语料集;所述短文本语料集中包含有多个不同预设字符数量的短文本对应的文本语料库;
上述,需要说明的是,步骤S100可以得到字符截图的在验证码图片中的位置;步骤S200可以计算出图中字符的对应识别概率矩阵。因为问题的解是满足语序的坐标序列,因此一定要推断出字符的内容,才能得出正确的定位信息。
本实施例中所提供的方法将字符的内容预测问题转化为一个分类问题。即提前准备好短文本语料数据,根据步骤S200中计算出的结果得到可能性最大的短文本作为待选字。此时使用步骤S200中的字符和对应的位置构造字典,即短文本语料集,按照待选字的顺序逐一从短文本语料集中取出来字符的位置,就得到了该验证码的解。
上述,短文本语料集,包含有一定量的不同字符数组成的短文本的文本语料库的集合。例如,其中可以包括3字的文本语料库、4字文本语料库、5字的文本语料库等等。
需要说明的是,在一个图片验证码中,图片中的汉字字数较少时,随机猜测就可以得到较高的通过率。随着汉字字数的增加,随机猜测的通过率急剧下降,如表1所示。更多的文字可以更好的拦截来自机器的请求,但也增加了人在交互过程中的认知负担,因此不友好。
表1、验证码图片中汉字字数与随机选择通过率关系表
汉字字数 可形成的坐标序列数量 随机选择通过率
2 2 0.5
3 6 0.166
4 24 0.042
5 120 0.008
6 720 0.001
基于以上考虑,本实施例中,在构建短文本语料集时,构建3-6字长度的语料字典。其中,语料资源可以在互联网上搜集到。即,构建的短文本语料集为3-6字长度的短文本语料集,其中包括多个文本语料库,例如3字文本语料库、4字文本语料库、5字文本语料库、6字文本语料库等等。
步骤S320,选择与所述字符数对应的文本语料库;
上述,字符数为通过S100所确定的与所述字符截图对应的数量。进而选择对应的文本语料库。例如字符数为5,则选择5字文本语料库。
步骤S330,根据所述识别概率矩阵,计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集;
语料库构建好以后,我们可以基于S100和S200的结果,从文本语料库中得到最有可能的候选字。在本实施例中,通过非规范化概率的计算,得出概率信息集。
步骤S340,提取所述概率信息集中非规范化概率最大的文本作为所述短文本。
上述,通过非规范化概率公式,得到的概率值求和是不能保证等于1,因此通常会对每个值除以统一的规范化因子Z=∑P(A0…An),即对语料库上所有文本序列的非规范化概率求和,得到归一化的概率。因为需要找到概率最大的短文序列,是否除以规范化因子Z,并不影响最终的结果。使用非规范化概率,可以减少计算复杂度,因此本实施例使用非规范化概率来评价文本序列的可能性,以达到保证计算精度同时简化算法,提高计算效率的作用。
上述,通过非规范化概率,进一步确定概率信息集中的短文本,即确定一定概率值范围内或最大值的字符内容和对应的排列顺序。在本实施例中,通过构建短文本语料集,通过非规范化概率,简单高效的推测了文本的语义,极大的提升了识别的准确率。
实施例3:
参照图4,本发明第三实施例提供一种基于语义的点选验证码识别方法,基于上述图3所示的第二实施例,所述步骤S330,“根据所述识别概率矩阵,计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集”包括:
步骤S331,根据所述识别概率矩阵,通过非规范化概率计算公式计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集;其中,所述非规范化概率计算公式为:
Ai表示任一汉字,P(Ai)表示当前字是Ai的概率,由所述识别概率矩阵中给出。A0…An表示所述文本语料库中的每一个短文本序列。
上述,基于S200所得到的单个汉字的预测结果,即概率矩阵,计算语料库中文本的非规范化概率,根据非规范化概率公式,计算得出每一个字符对应的概率数据,组成概率信息集。
所述步骤S340,“提取所述概率信息集中非规范化概率最大的文本作为所述短文本”包括:
步骤S341,对所述概率信息集中的所有文本,依据所述非规范化概率进行排序,并根据概率提取公式提取其中非规范化概率最大的文本作为所述短文本;其中,所述概率提取公式为:
ArgmaxtextP(text)text∈D;其中,D表示所述文本语料库。
上述,根据S331,得到语料库中每个短文本的非规范化概率,选择非规范化概率中最大的文本作为预测结果,即为短文本。
例如,验证码图片中有5个字符,则选择5字语料库D5,并预测出验证码图片中的短文本为“社会责任感”五个字。
本实施例中,通过构建语料库,并设计了一种短文本的预测算法(归一化概率计算公式和概率提取公式),简单高效的推测了文本语义,极大的提升了识别的准确率。
实施例4:
参照图5,本发明第四实施例提供一种基于语义的点选验证码识别方法,基于上述图2所示的第一实施例,所述步骤S400,“根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息”包括:
步骤S410,根据所述短文本和所述字符截图在所述验证码图片中的位置,构建空间位置概率矩阵;
步骤S420,定位出所述空间位置概率矩阵中的所述短文本中的每个待选字对应的最大概率值;
步骤S430,删除所述最大概率值所在的行和列中除所述最大概率值以外的所有数据,得到新的目标概率矩阵区;
步骤S440,根据所述新的目标概率矩阵区确定所述验证码图片中每个所述待选字符对应的定位信息。
上述,通过S300得到图中最有可能的汉字短语,即短文本。为了能够得到正确的点选坐标序列,需要计算出字符短语中每个字在原图(验证码图片)中的位置(定位信息)。
上述,获取短文本,以及验证码图片中所得到的字符截图在验证码图片中的相应位置,构建一空间位置概率矩阵。表中,横向可以为字符截图在验证码图片中的相应位置顺序,纵向可以为短文本的字符顺序,其中的数据为短文本中的每个字符的概率值。例如,取表2中的前五行。
进一步的,删除表2中的概率值0.63对应的行和列中,除了0.63以外的数据,如表3所示。
表2、汉字截图预测结果为待选字的空间位置概率矩阵
表3、汉字截图预测结果为待选字的概率矩阵
同样的,在表3中选择出概率最大值0.432,移除掉0.432对应的行和列,得到“责”字及其对应的图片位置,如表4。
表4、汉字截图预测结果为待选字的概率矩阵
最后,同理,可以得到“感”“社”“会”字及其对应的图片位置。经过了以上三个步骤,就得出了五个待选字在原图像中的定位信息。
所述步骤S100,“在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图”包括:
步骤S110,获取包括预先标记出的每个所述待选字符的最小截图的预设字符训练集;
步骤S120,利用所述预设字符训练集对深度学习检测框架进行训练;
步骤S130,基于所述深度学习检测框架,对所述验证码图片中所包括的待选字符进行框定,得到与所述可选字符对应字符数和字符位置信息;
步骤S140,根据所述字符位置信息获取所述验证码图片中每个所述可选字符的最小截图作为字符截图。
上述,需要理解的是,深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
在本实施例中,深度学习检测框架为YOLO框架。
上述,YOLO是基于深度学习的端到端的实时目标检测系统。与大部分目标检测与识别方法(比如Fast R-CNN)将目标识别任务分类目标区域预测和类别预测等多个流程不同,YOLO将目标区域预测和目标类别预测整合于单个神经网络模型中,实现在准确率较高的情况下快速目标检测与识别,更加适合现场应用环境。
上述,通过YOLO框架技术对验证码图片中的所有可选字符进行框定,从而取得了可选字符对应的在验证码图片中的位置,即为字符位置信息。所述字符位置信息即为被框定的可选字符的框定范围在验证码图片中的坐标。
上述,最小截图,即为包括该可选字符且该字符可完整显示便于进一步识别的最小面积的截图,其中,截图的具体形状可根据需要进行进一步识别的字符进行设定,例如,中文对应的可设置为矩形截图,英文字母可对应设置为圆形截图。在本实施例中,所述最小截图设置为最小外接矩形截图。
上述,为了能够使YOLO框架可以解决字符检测的问题,需要提前设置与可选字符对应的预设字符训练集对YOLO框架进行训练学习。例如,可选字符为中文,则需要提供中文的预设字符训练集进行训练学习。
上述,预设字符训练集可通过人工进行标注的方式得到,针对于每个字符,标记出图片中每个最小外接形状,例如矩形。
上述,通过对YOLO框架下的模型进行学习训练,就可以得到一个进行字符识别的字符检测器,该检测器可对输入图片中的字符进行框定,从而得到该字符的位置。
此外,参考图6,本发明还提供一种基于语义的点选验证码识别装置,包括:获取模块、构建模块、确定模块和定位模块;
所述获取模块,用于在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图;
所述构建模块,用于构建字符识别神经网络模型,并通过所述字符识别神经网络模型对所述字符截图进行识别,得到识别概率矩阵;
所述确定模块,用于根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本;
所述定位模块,用于根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息。
此外,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储基于语义的点选验证码识别程序,所述处理器运行所述基于语义的点选验证码识别程序以使所述用户终端执行如上述所述基于语义的点选验证码识别方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于语义的点选验证码识别程序,所述基于语义的点选验证码识别程序被处理器执行时实现如上述所述基于语义的点选验证码识别方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种基于语义的点选验证码识别方法,其特征在于,包括:
在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图;
构建字符识别神经网络模型,并通过所述字符识别神经网络模型对所述字符截图进行识别,得到识别概率矩阵;
根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本;
根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息。
2.如权利要求1所述基于语义的点选验证码识别方法,其特征在于,所述“根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本”包括:
构建短文本语料集;所述短文本语料集中包含有多个不同预设字符数量的短文本对应的文本语料库;
选择与所述字符数对应的文本语料库;
根据所述识别概率矩阵,计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集;
提取所述概率信息集中非规范化概率最大的文本作为所述短文本。
3.如权利要求2所述基于语义的点选验证码识别方法,其特征在于,所述“根据所述识别概率矩阵,计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集”包括:
根据所述识别概率矩阵,通过非规范化概率计算公式计算所述文本语料库中的所有文本的非规范化概率,得到概率信息集;其中,所述非规范化概率计算公式为:
Ai表示任一汉字,P(Ai)表示当前字是Ai的概率,由所述识别概率矩阵中给出;A0…An表示所述文本语料库中的每一个短文本序列。
4.如权利要求2所述基于语义的点选验证码识别方法,其特征在于,所述“提取所述概率信息集中非规范化概率最大的文本作为所述短文本”包括:
对所述概率信息集中的所有文本,依据所述非规范化概率进行排序,并根据概率提取公式提取其中非规范化概率最大的文本作为所述短文本;其中,所述概率提取公式为:
ArgmaxtextP(text)text∈D;其中,D表示所述文本语料库。
5.如权利要求1所述基于语义的点选验证码识别方法,其特征在于,所述“根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息”包括:
根据所述短文本和所述字符截图在所述验证码图片中的位置,构建空间位置概率矩阵;
定位出所述空间位置概率矩阵中的所述短文本中的每个待选字对应的最大概率值;
删除所述最大概率值所在的行和列中除所述最大概率值以外的所有数据,得到新的目标概率矩阵区;
根据所述新的目标概率矩阵区确定所述验证码图片中每个所述待选字符对应的定位信息。
6.如权利要求1所述基于语义的点选验证码识别方法,其特征在于,所述“在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图”包括:
获取包括预先标记出的每个所述待选字符的最小截图的预设字符训练集;
利用所述预设字符训练集对深度学习检测框架进行训练;
基于所述深度学习检测框架,对所述验证码图片中所包括的待选字符进行框定,得到与所述待选字符对应字符数和字符位置信息;
根据所述字符位置信息获取所述验证码图片中每个所述待选字符的最小截图作为字符截图。
7.一种基于语义的点选验证码识别装置,其特征在于,包括:获取模块、构建模块、确定模块和定位模块;
所述获取模块,用于在验证码图片中,获取所述验证码图片中所包含的待选字符的字符数及字符截图;
所述构建模块,用于构建字符识别神经网络模型,并通过所述字符识别神经网络模型对所述字符截图进行识别,得到识别概率矩阵;
所述确定模块,用于根据所述字符数和所述识别概率矩阵,确定所述字符截图对应的短文本;
所述定位模块,用于根据所述短文本,从所述识别概率矩阵中选取相应的待选字符,得到所述验证码图片中每个所述待选字符对应的定位信息。
8.一种用户终端,其特征在于,包括存储器以及处理器,所述存储器用于存储基于语义的点选验证码识别程序,所述处理器运行所述基于语义的点选验证码识别程序以使所述用户终端执行如权利要求1-6中任一项所述基于语义的点选验证码识别方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于语义的点选验证码识别程序,所述基于语义的点选验证码识别程序被处理器执行时实现如权利要求1-6中任一项所述基于语义的点选验证码识别方法。
CN201811076100.7A 2018-09-14 2018-09-14 一种基于语义的点选验证码识别方法及其装置 Active CN109033798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811076100.7A CN109033798B (zh) 2018-09-14 2018-09-14 一种基于语义的点选验证码识别方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811076100.7A CN109033798B (zh) 2018-09-14 2018-09-14 一种基于语义的点选验证码识别方法及其装置

Publications (2)

Publication Number Publication Date
CN109033798A true CN109033798A (zh) 2018-12-18
CN109033798B CN109033798B (zh) 2020-07-07

Family

ID=64622343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811076100.7A Active CN109033798B (zh) 2018-09-14 2018-09-14 一种基于语义的点选验证码识别方法及其装置

Country Status (1)

Country Link
CN (1) CN109033798B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351094A (zh) * 2019-07-03 2019-10-18 平安科技(深圳)有限公司 字符验证方法、装置、计算机设备及存储介质
CN111737548A (zh) * 2020-05-06 2020-10-02 苏宁金融科技(南京)有限公司 点选验证码识别方法、装置、计算机设备和存储介质
CN112231522A (zh) * 2020-09-24 2021-01-15 北京奥鹏远程教育中心有限公司 一种在线课程知识树的生成关联方法
CN112231655A (zh) * 2019-07-15 2021-01-15 阿里巴巴集团控股有限公司 一种数据处理方法、计算机设备、存储介质
CN113496226A (zh) * 2020-03-18 2021-10-12 华为技术有限公司 基于字符识别的字符选择方法、装置和终端设备
CN113627395A (zh) * 2021-09-17 2021-11-09 平安银行股份有限公司 文本识别方法、装置、介质及电子设备
CN114332843A (zh) * 2022-03-14 2022-04-12 浙商银行股份有限公司 基于双流孪生卷积网络的点选验证码识别方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982329A (zh) * 2012-11-02 2013-03-20 华南理工大学 移动设备中融合切分识别和语义分析的翻译方法
CN103186781A (zh) * 2011-12-31 2013-07-03 北京新媒传信科技有限公司 文本识别方法
CN103577818A (zh) * 2012-08-07 2014-02-12 北京百度网讯科技有限公司 一种图像文字识别的方法和装置
US20170262738A1 (en) * 2014-09-16 2017-09-14 Iflytek Co., Ltd. Intelligent scoring method and system for text objective question
CN108182437A (zh) * 2017-12-29 2018-06-19 北京金堤科技有限公司 一种点选验证码识别方法、装置和用户终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186781A (zh) * 2011-12-31 2013-07-03 北京新媒传信科技有限公司 文本识别方法
CN103577818A (zh) * 2012-08-07 2014-02-12 北京百度网讯科技有限公司 一种图像文字识别的方法和装置
CN102982329A (zh) * 2012-11-02 2013-03-20 华南理工大学 移动设备中融合切分识别和语义分析的翻译方法
US20170262738A1 (en) * 2014-09-16 2017-09-14 Iflytek Co., Ltd. Intelligent scoring method and system for text objective question
CN108182437A (zh) * 2017-12-29 2018-06-19 北京金堤科技有限公司 一种点选验证码识别方法、装置和用户终端

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351094A (zh) * 2019-07-03 2019-10-18 平安科技(深圳)有限公司 字符验证方法、装置、计算机设备及存储介质
WO2021000407A1 (zh) * 2019-07-03 2021-01-07 平安科技(深圳)有限公司 字符验证方法、装置、计算机设备及存储介质
CN110351094B (zh) * 2019-07-03 2024-03-15 平安科技(深圳)有限公司 字符验证方法、装置、计算机设备及存储介质
CN112231655A (zh) * 2019-07-15 2021-01-15 阿里巴巴集团控股有限公司 一种数据处理方法、计算机设备、存储介质
CN113496226A (zh) * 2020-03-18 2021-10-12 华为技术有限公司 基于字符识别的字符选择方法、装置和终端设备
CN111737548A (zh) * 2020-05-06 2020-10-02 苏宁金融科技(南京)有限公司 点选验证码识别方法、装置、计算机设备和存储介质
CN112231522A (zh) * 2020-09-24 2021-01-15 北京奥鹏远程教育中心有限公司 一种在线课程知识树的生成关联方法
CN113627395A (zh) * 2021-09-17 2021-11-09 平安银行股份有限公司 文本识别方法、装置、介质及电子设备
CN113627395B (zh) * 2021-09-17 2023-11-17 平安银行股份有限公司 文本识别方法、装置、介质及电子设备
CN114332843A (zh) * 2022-03-14 2022-04-12 浙商银行股份有限公司 基于双流孪生卷积网络的点选验证码识别方法及装置
CN114332843B (zh) * 2022-03-14 2022-07-08 浙商银行股份有限公司 基于双流孪生卷积网络的点选验证码识别方法及装置

Also Published As

Publication number Publication date
CN109033798B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN109033798A (zh) 一种基于语义的点选验证码识别方法及其装置
KR102260554B1 (ko) 학습 컨텐츠 생성 방법
CN108182437B (zh) 一种点选验证码识别方法、装置和用户终端
CN110837550B (zh) 基于知识图谱的问答方法、装置、电子设备及存储介质
US20220188521A1 (en) Artificial intelligence-based named entity recognition method and apparatus, and electronic device
WO2019153604A1 (zh) 人机识别模型的建立装置、方法及计算机可读存储介质
Zygmont et al. Robust factor analysis in the presence of normality violations, missing data, and outliers: Empirical questions and possible solutions
US10198635B2 (en) Systems and methods for associating an image with a business venue by using visually-relevant and business-aware semantics
US11468241B2 (en) Techniques to add smart device information to machine learning for increased context
US11409964B2 (en) Method, apparatus, device and storage medium for evaluating quality of answer
WO2020077824A1 (zh) 异常问题的定位方法、装置、设备及存储介质
US20150113388A1 (en) Method and apparatus for performing topic-relevance highlighting of electronic text
US10528871B1 (en) Structuring data in a knowledge graph
KR102265573B1 (ko) 인공지능 기반 입시 수학 학습 커리큘럼 재구성 방법 및 시스템
Pezzullo Biostatistics for dummies
US20170249595A1 (en) Automatically creating handling strategy rules for a normalized question record
US20200311306A1 (en) Electronic device for obfuscating and decoding data and method for controlling same
CN108664791A (zh) 一种超文本预处理器代码中的网页后门检测方法及装置
CN113010657B (zh) 基于解答文本的答案处理方法和答案推荐方法
CN113505786A (zh) 试题拍照评判方法、装置及电子设备
CN117633516A (zh) 多模态嘲讽检测方法、装置、计算机设备以及存储介质
Liu et al. An evaluation of gpt-4v and gemini in online vqa
Heckmann et al. A new development to aid interpretation of hierarchical cluster analysis of repertory grid data
CN113535916B (zh) 一种基于表格的问答方法、装置及计算机设备
CN110909777A (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