本发明涉及图像验证码识别领域,尤其涉及一种图形推理验证码识别方法、系统、设备及介质。
背景技术:
验证码(captcha)在互联网公司中应用广泛,是一种区分用户是计算机还是人的公共全自动程序,可以防止恶意破解密码、刷票、论坛灌水等情形,从而确保服务器系统的稳定性和用户信息的安全性。
目前,较为常见的验证码类型包括图片验证码、滑窗验证码以及选择验证码等。若能够对验证码进行自动识别,便可以有效的辅助用户快速通过验证码的验证环节,从而实现自动化地访问网络页面并获取公开的信息。
然而,图形推理图片识别方案采用人工识别,费时费力;若图形推理中携带复杂的逻辑推理,采用人工识别的效率低、准确性差。
技术实现要素:
本发明要解决的技术问题是为了克服现有技术中采用人工方式导致验证码识别效率低、识别准确性差的缺陷,提供一种图形推理验证码识别方法、系统、设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
第一方面,本发明提供一种图形推理验证码的识别方法,所述方法包括:
从获取待识别的验证码图像中提取验证指示语句;其中,所述验证指示语句包括对要验证的目标验证码图形的特征的文字描述;
从所述验证码图像中检测所有备选验证码图形并获取每个所述备选验证码图形对应的属性信息;其中,所述属性信息的种类根据所述验证指示语句中描述所述特征的种类而设定;
按照关键字提取规则从所述验证指示语句中提取关键字;
判断所述关键字中是否包括基准对象关键字;
若包括,则通过比对所述基准对象关键字和所有备选验证图形的属性信息,从所有备选验证图形中选择一个作为基准对象;
以所述基准对象为基准,结合所述关键字中的其余关键字,确定所述目标验证码图形的属性特征,筛选出符合所述属性特征的备选验证码图形作为所述目标验证码图像。
较佳地,所述验证指示语句还包括对所述目标验证码图像的操作动作,所述识别方法还包括:
对所述目标验证码执行所述操作动作。
较佳地,所述判断所述关键字中是否包括基准对象关键字,包括:
判断所述关键字中是否包括描述所述基准对象和所述目标验证码图形之间的关联的关联词;
若包括,则将所述关联词之前的关键字作为基准对象关键字;
所述以所述基准对象为基准,结合所述关键字中的其余关键字,确定所述目标验证码图形的属性信息,筛选出符合所述属性信息的备选验证码图形作为所述目标验证图形,包括:
通过所述关联词确定所述基准对象与所述目标验证码之间的关联属性;
通过比对所述基准对象和其余的所述备选验证图形的关联属性信息,进行初次备选验证码图形的过滤;
将所述关联词之后的关键词作为目标关键字,通过比对所述目标关键字和初次过滤后所剩的备选验证图形的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形。
较佳地,所述关联词包括方位关键字或特殊关键字。
较佳地,所述特殊关键字包括同。
较佳地,所述方法还包括:
若所述关键字中不包括基准对象关键字,则从所述关键字中获取目标关键字;
通过比对所述目标关键字和所有备选验证图像的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形。
较佳地,所述通过比对所述目标关键字和初次过滤后所剩的备选验证图形或所有备选验证图形的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形,包括:
获取所有所述目标关键字在所述验证指示语句中的位置顺序;
根据所述位置顺序获取筛选的执行顺序;
按照所述执行顺序,基于所述目标关键字和所述属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为所述目标验证码。
较佳地,所述属性信息的种类包括形状、颜色、面积以及位置坐标。
较佳地,所述获取每个所述备选验证码图形对应的属性信息的步骤包括:
将所述验证码图形输入到验证码检测模型中,得到备选验证码图形以及所述备选验证码图形的属性信息;其中,所述验证码检测模型是根据原始样本图形和标注后的样本图片基于卷积神经网络模型训练而得到的,所述标注后的样本图片包含了样本图片中的所有验证码图形以及每个验证码图形的属性信息。
第二方面,本发明提供一种图形推理验证码的识别系统,所述识别系统包括:
指示语句获取模块,用于从获取待识别的验证码图像中提取验证指示语句;其中,所述验证指示语句包括对要验证的目标验证码图形的特征的文字描述;
属性信息获取模块,用于从所述验证码图像中检测所有备选验证码图形并获取每个所述备选验证码图形对应的属性信息;其中,所述属性信息的种类根据所述验证指示语句中描述所述特征的种类而设定;
关键字提取模块,用于按照关键字提取规则从所述验证指示语句中提取关键字;
判断模块,用于判断所述关键字中是否包括基准对象关键字;
若包括,则调用基准对象获取模块,所述基准对象获取模块用于通过比对所述基准对象关键字和所有备选验证图形的属性信息,从所有备选验证图形中选择一个作为基准对象;
第一筛选模块,用于以所述基准对象为基准,结合所述关键字中的其余关键字,确定所述目标验证码图形的属性特征,筛选出符合所述属性特征的备选验证码图形作为所述目标验证码图像。
较佳地,所述验证指示语句还包括对所述目标验证码图像的操作动作,所述识别系统还包括:
动作执行模块,用于对所述目标验证码执行所述操作动作。
较佳地,所述判断模块,包括:
关联词判断单元,用于判断所述关键字中是否包括描述所述基准对象和所述目标验证码图形之间的关联的关联词;若包括,则调用基准对象关键字获取单元,所述基准对象关键字获取单元用于所述关联词之前的关键字作为基准对象关键字;
所述第一筛选模块,包括:
关联属性确定单元,用于通过所述关联词确定所述基准对象与所述目标验证码之间的关联属性;
验证码图形过滤单元,用于通过比对所述基准对象和其余的所述备选验证图形的关联属性信息,进行初次备选验证码图形的过滤;
目标验证码筛选单元,用于将所述关联词之后的关键字作为目标关键字,通过比对所述目标关键字和初次过滤后所剩的备选验证图形的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形。
较佳地,所述关联词包括方位关键字或特殊关键字。
较佳地,所述特殊关键字包括同。
较佳地,所述判断模块还用于在所述关键字中不包括基准对象关键字时,调用目标关键字获取模块;
所述目标关键字获取模块,用于从所述关键字中获取目标关键字;
第二筛选模块,用于通过比对所述目标关键字和所有备选验证图像的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形。
较佳地,所述目标验证码筛选单元或所述第二筛选模块具体用于:
获取所有所述目标关键字在所述验证指示语句中的位置顺序;
根据所述位置顺序获取筛选的执行顺序;
按照所述执行顺序,基于所述目标关键字和所述属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为所述目标验证码。
较佳地,所述属性信息的种类包括形状、颜色、面积以及位置坐标。
较佳地,所述属性信息获取模块具体用于:
将所述验证码图形输入到验证码检测模型中,得到备选验证码图形以及所述备选验证码图形的属性信息;其中,所述验证码检测模型是根据原始样本图形和标注后的样本图片基于卷积神经网络模型训练而得到的,所述标注后的样本图片包含了样本图片中的所有验证码图形以及每个验证码图形的属性信息。
第三方面,本发明还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的图形推理验证码的识别方法。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的图形推理验证码的识别方法的步骤。
本发明的积极进步效果在于:提供一种图形推理过滤算法,解决了采用人工方式导致验证码识别效率低、识别准确性差的缺陷,有效的提高了图形推理验证码识别的准确率,降低了验证出图形推理验证码的响应时间。
附图说明
图1为本发明实施例1的图形推理验证码的识别方法的流程图。
图2为本发明实施例1的图形推理验证码的识别方法的步骤s14的流程图。
图3为本发明实施例1的图形推理验证码的识别方法的步骤s61的流程图。
图4为本发明实施例1的图形推理验证码的识别方法的验证码图像的页面示意图。
图5为本发明实施例2的图形推理验证码的识别方法的流程图。
图6为本发明实施例3的图形推理验证码的识别系统的模块示意图。
图7为本发明实施例4的图形推理验证码的识别系统的模块示意图。
图8为本发明实施例5的电子设备的硬件结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例提供一种图形推理验证码的识别方法,该识别方法包括如下步骤:
步骤s1、从获取待识别的验证码图像中提取验证指示语句,其中,验证指示语句包括对要验证的目标验证码图形的特征的文字描述;验证指示语句还包括对目标验证码图像的操作动作。
步骤s2、从验证码图像中检测所有备选验证码图形并获取每个备选验证码图形对应的属性信息;其中,属性信息的种类根据验证指示语句中描述所述特征的种类而设定。
当验证指示语句中包括对目标验证码图像的形状、颜色、面积以及位置坐标的表述时,该属性信息的种类包括形状、颜色、面积以及位置坐标。
其中,在步骤s2中,获取每个备选验证码图形对应的属性信息的步骤包括:
将验证码图形输入到验证码检测模型中,得到备选验证码图形以及备选验证码图形的属性信息;其中,验证码检测模型是根据原始样本图形和标注后的样本图片基于卷积神经网络模型训练而得到的,标注后的样本图片包含了样本图片中的所有验证码图形以及每个验证码图形的属性信息。
具体的,原始样本图形500张,用labelimg软件标记类别和位置,在训练之前,通过标签分类样本向量化将原始样本图形中物体对象转换成数据索引。例如,0代表圆锥体、1代表圆柱体、2代表球体、3代表多面体、4代表方块便于后续进行验证码模型的训练。通过标签位置样本归一化将位置数据归一化到[0,1]范围内,提高了运算的精度,需要说明的是,该卷积神经网络模型采用的目标检测算法可以为yolov3算法。
步骤s3、按照关键字提取规则从验证指示语句中提取关键字。
步骤s4、判断关键字中是否包括基准对象关键字,若包括,则执行步骤s51。
步骤s51、通过比对基准对象关键字和所有备选验证图形的属性信息,从所有备选验证图形中选择一个作为基准对象。
步骤s61、以基准对象为基准,结合关键字中的其余关键字,确定目标验证码图形的属性特征,筛选出符合属性特征的备选验证码图形作为目标验证码图像。
步骤s7、对目标验证码执行操作动作。
如图2所示,本实施例中,步骤s14具体包括以下步骤:
步骤s141、判断关键字中是否包括描述基准对象和目标验证码图形之间的关联的关联词,若包括,则执行步骤s142。
步骤s142、将关联词之前的关键字作为基准对象关键字。
其中,该关联词包括方位关键字或特殊关键字,该特殊关键字包括同。
如图3所示,本实施例中,步骤s61具体包括以下步骤:
步骤s611、通过关联词确定基准对象与目标验证码之间的关联属性。
步骤s612、通过比对基准对象和其余的备选验证图形的关联属性信息,进行初次备选验证码图形的过滤。
步骤s613、将关联词之后的关键字作为目标关键字,通过比对目标关键字和初次过滤后所剩的备选验证图形的属性信息,筛选出符合目标关键字的一个作为目标验证图形。
其中,本实施例中,步骤s613还包括:
获取所有目标关键字在验证指示语句中的位置顺序。
根据位置顺序获取筛选的执行顺序。
按照执行顺序,基于目标关键字和属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为目标验证码。
现结合一个实例对本方案做进一步的解释,若待识别的验证码图像中的验证指示语句为“请点击在大尺寸圆锥体前面的小号球”,从待识别的验证码图像中检测所有备选验证码图形并获取每个备选验证码图形对应的属性信息。
关键字可以包括尺寸关键字,例如,大、小;目标关键字还可以包括色彩关键字,例如,红、黄、蓝、绿、灰等;目标关键字还可以包括形状关键字,例如,锥,柱,球,多,块等。
从该验证指示语句中按照关键字提取规则获取若干关键字为“大锥前小球”,从该若干关键字中查找是否存在描述基准对象和目标验证码图形之间的关联的关联词。该关联词可以为表征方位的关键字,或者,该关联词还可以为特殊关键字,该方位关键字可以包括“前、后、左、右”中的至少一个,特殊关键字可以包括“同”,显然,验证指示语句存在方位关键字“前”。根据“前”方位关键字获取基准对象关键字,也即,将该方位关键字前面的文字作为基准对象关键字,“大锥”为基准对象关键字。
该验证指示语句中形状、面积为要验证的目标验证码图形的属性信息的文字描述。比对该基准对象关键字和所有备选验证图形的属性信息,也即,验证指示语句中通过关联词“前”确定基准对象和目标验证码之间的关联属性为方位关联属性,通过比对基准对象和其余的备选验证图像的关联属性信息进行初次备选验证图像的过滤。
将关联词“前”之后的关键字“小”、“球”作为第一目标关键字和第二目标关键字,通过比对第一目标关键字和第二目标关键字和初次过滤后所剩的备选验证图形的属性信息,筛选出同时符合第一目标关键字和第二目标关键字的一个备选验证图形作为目标验证图形。按照验证指示语句中的执行动作对目标验证码执行该操作动作,也即,点击目标验证码图像。
具体的,验证码图像中备选验证码图形包括图形a、图形b、图形c、图形d、图形e、图形f、图形g、图形h以及图形l,其中,
图形a的属性信息为:多面体、黄色、面积3、中心点位置坐标[1,4];
图形b的属性信息为:圆锥体、灰色、面积4、中心点位置坐标[2,6];
图形c的属性信息为:球体、红色、面积3、中心点位置坐标[5,7];
图形d的属性信息为:圆柱体、黄色、面积1、中心点位置坐标[3,3];
图形e的属性信息为:圆柱体、红色、面积1、中心点位置坐标[4,2.5];
图形f的属性信息为:圆柱体、绿色、面积5、中心点位置坐标[5,4];
图形g的属性信息为:多面体、灰色、面积2、中心点位置坐标[6,6];
图形h的属性信息为:球体、黄色、面积1、中心点位置坐标[7,5];
图形l的属性信息为:多面体、红色、面积3、中心点位置坐标[8,4];
遍历图形a-l的属性信息,筛选过滤后,获取基准对象“大锥”在验证码图像中对应的图像,显然,该基准对象对应为图形b,该图形b的中心点位置坐标为[2,6]。
然后,结合“前”遍历图形a至图形l对应的属性信息进行初次筛选过滤,获取针对基准对象图形b而言,且符合方位关键字“前”筛选条件的图形,显然为图形a、图形d、图形e、图形h以及图形l。
遍历筛选后剩余的图形a、图形d、图形e、图形h以及图形l对应的属性信息,获取在验证码图像中针对基准对象图形b而言,且符合第一目标关键字“小”筛选条件的图形,显然为图形d、图形e、图形h。
遍历筛选后剩余的图形d、图形e、图形h,获取在验证码图形中针对基准对象图形b而言,且符合第二目标关键字“球”筛选条件的图形,显然图形h为最终的目标验证图形,点击图形h后进行验证。
现结合另一个实例对本方案做进一步的解释,若待识别的验证码图像中的验证指示语句为“请点击与小尺寸圆锥体有相同颜色的大号物品”,从该验证指示语句中提取若干关键字为“小锥同颜大”。从该提取关键字中查找是否存在特殊关键字。显然,验证指示语句中存在特殊关键字,根据“同”特殊关键字获取基准对象关键字,将特殊关键字前面的文字作为基准对象关键字,也即,“小锥”为基准对象。
从左到右依次筛选得到基准对象后面的目标关键字,该目标关键字可以为一个或者多个,第三目标关键字为“同颜”,第四目标关键字为“大”。以基准对象“小锥”为依据,结合特殊关键字“同”、第三目标关键字“同颜”以及第四目标关键字“大”从已经获取的验证码图像中包括的各种图像对应的属性信息中筛选出目标验证码图像。
具体的,如图4所示,验证码图像中备选验证码图形包括图形a、图形b、图形c、图形d、图形e、图形f、图形g、图形h、图形l以及图形m,其中,
图形a的属性信息为:球体、黄色、面积2、中心点位置坐标[1,4];
图形b的属性信息为:球体、灰色、面积3、中心点位置坐标[3,6];
图形c的属性信息为:球体、红色、面积3、中心点位置坐标[4,7];
图形d的属性信息为:球体、黄色、面积3、中心点位置坐标[7,8];
图形e的属性信息为:多面体、红色、面积1.8、中心点位置坐标[2,4];
图形f的属性信息为:方块、绿色、面积1.6、中心点位置坐标[5,4];
图形g的属性信息为:多面体、灰色、面积1.3、中心点位置坐标[3,3];
图形h的属性信息为:圆锥体、黄色、面积1、中心点位置坐标[5,3];
图形l的属性信息为:圆锥体、红色、面积3、中心点位置坐标[8,3];
图形m的属性信息为:圆柱体、灰色、面积2、中心点位置坐标[9,5];
遍历图形a至图形m的属性信息,筛选过滤后,获取基准对象“小锥”在验证码图像中对应的图像,显然,该基准对象对应为图形h,该图形h为黄色。
然后,遍历图形a至图形m的属性信息进行筛选过滤,获取针对基准对象图形h而言,且符合第三目标关键字“同颜”筛选条件的图形,在验证码图像中显然为图形a、图形d。从图形a和图形d中筛选出符合第四目标关键字“大”筛选条件的图形,图形d为最终的目标验证图形,点击图形d后进行验证。
提供一种图形推理过滤算法,解决了采用人工方式导致验证码识别效率低、识别准确性差的缺陷,有效的提高了图形推理验证码识别的准确率,降低了验证出图形推理验证码的响应时间。
实施例2
如图5所示,本实施例提供一种图形推理验证码的识别方法,该识别方法包括如下步骤:
步骤s1、从获取待识别的验证码图像中提取验证指示语句,其中,验证指示语句包括对要验证的目标验证码图形的特征的文字描述;验证指示语句还包括对目标验证码图像的操作动作。
步骤s2、从验证码图像中检测所有备选验证码图形并获取每个备选验证码图形对应的属性信息;其中,属性信息的种类根据验证指示语句中描述特征的种类而设定。
当验证指示语句中包括对目标验证码图像的形状、颜色、面积以及位置坐标的表述时,该属性信息的种类包括形状、颜色、面积以及位置坐标。
步骤s3、按照关键字提取规则从验证指示语句中提取关键字。
步骤s4、判断关键字中是否包括基准对象关键字,若不包括,则执行步骤s52。
步骤s52、从关键字中获取目标关键字;
步骤s62、通过比对目标关键字和所有备选验证图像的属性信息,筛选出符合目标关键字的一个作为目标验证图形。
其中,本实施例中,步骤s62包括:
获取所有目标关键字在验证指示语句中的位置顺序。
根据位置顺序获取筛选的执行顺序。
按照执行顺序,基于目标关键字和属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为目标验证码。
步骤s7、对目标验证码执行操作动作。
现结合又一个实例对本方案做进一步的解释,若待识别的验证码图形中的验证指示语句为“请点击下面文字中的绿色多面体”,从该验证指示语句中获取若干关键字为“绿色多面体”。从该关键字中查找是否存在方位关键字,若不存在则继续查找是否存在特殊关键字。因为该关键字中不存在方位关键字,也不存在特殊关键字时,从左至右依次提取所有目标关键字,可以得到第五目标关键字“绿色”,第六目标关键字“多面体”。
在验证码图像中获取第五目标关键字“绿色”在验证指示语句中的第一位置顺序,获取第六目标关键字“多面体”在验证指示语句中的第二位置顺序。按照从左到右的顺序,确定筛选执行顺序为先基于第一位置顺序对应的第五目标关键字进行筛选,然后,基于第二位置顺序对应的第六目标关键字进行筛选,最后确定出目标验证码。
具体的,验证码图像中备选验证码图形包括图形a、图形b、图形c、图形d、图形e、图形f、图形g,其中,
图形a的属性信息为:多面体、黄色、面积3、中心点位置坐标[1,4];
图形b的属性信息为:圆锥体、绿色、面积4、中心点位置坐标[1,6];
图形c的属性信息为:球体、红色、面积3、中心点位置坐标[2,7];
图形d的属性信息为:圆柱体、绿色、面积1、中心点位置坐标[3,3];
图形e的属性信息为:圆柱体、红色、面积1、中心点位置坐标[4,4];
图形f的属性信息为:圆柱体、绿色、面积5、中心点位置坐标[5,4];
图形g的属性信息为:多面体、绿色、面积2、中心点位置坐标[6,6];
遍历图形a至图形g的属性信息,筛选过滤后,获取符合第一目标关键字“绿色”筛选条件的图形,在验证码图像中显然为图形b、图形d、图形f以及图形g。
然后遍历筛选后剩余的图形b、图形d、图形f以及图形g对应的属性信息,获取符合第六目标关键字“多面体”筛选条件的图形,在验证码图像中图形g为最终的目标验证图形。
提供一种图形推理过滤算法,解决了采用人工方式导致验证码识别效率低、识别准确性差的缺陷,有效的提高了图形推理验证码识别的准确率,降低了验证出图形推理验证码的响应时间。
实施例3
本实施例提供一种图形推理验证码的识别系统,如图6所示,具体包括:指示语句获取模块110、属性信息获取模块120、关键字提取模块130、判断模块140、基准对象获取模块151、第一筛选模块161以及动作执行模块170。判断模块140包括关联词判断单元141、基准对象关键字获取单元142;第一筛选模块161包括关联属性确定单元1611、验证码图形过滤单元1612以及目标验证码筛选单元1613;
其中,指示语句获取模块110,用于从获取待识别的验证码图像中提取验证指示语句,其中,验证指示语句包括对要验证的目标验证码图形的特征的文字描述;验证指示语句还包括对目标验证码图像的操作动作。
属性信息获取模块120,用于从验证码图像中检测所有备选验证码图形并获取每个备选验证码图形对应的属性信息;其中,属性信息的种类根据验证指示语句中描述特征的种类而设定。
其中,属性信息获取模块120具体用于:
将验证码图形输入到验证码检测模型中,得到备选验证码图形以及备选验证码图形的属性信息;其中,验证码检测模型是根据原始样本图形和标注后的样本图片基于卷积神经网络模型训练而得到的,标注后的样本图片包含了样本图片中的所有验证码图形以及每个验证码图形的属性信息。
关键字提取模块130,用于按照关键字提取规则从验证指示语句中提取关键字。
判断模块140,用于判断关键字中是否包括基准对象关键字,若包括,则调用基准对象获取模块151。
基准对象获取模块151,用于通过比对基准对象关键字和所有备选验证图形的属性信息,从所有备选验证图形中选择一个作为基准对象。
第一筛选模块161,用于以基准对象为基准,结合关键字中的其余关键字,确定目标验证码图形的属性特征,筛选出符合属性特征的备选验证码图形作为目标验证码图像。
动作执行模块170,用于对目标验证码执行操作动作。
其中,本实施例中,判断模块140中,
关联词判断单元141,用于判断关键字中是否包括描述基准对象和目标验证码图形之间的关联的关联词。
若包括,则调用基准对象关键字获取单元142。
基准对象关键字获取单元142,用于关联词之前的关键字作为基准对象关键字。
其中,该关联词包括方位关键字或特殊关键字,该特殊关键字包括同。
其中,本实施例中,第一筛选模块161中;
关联属性确定单元1611,用于通过关联词确定基准对象与目标验证码之间的关联属性。
验证码图形过滤单元1612,用于通过比对基准对象和其余的备选验证图形的关联属性信息,进行初次备选验证码图形的过滤。
目标验证码筛选单元1613,用于将关联词之后的关键字作为目标关键字,通过比对目标关键字和初次过滤后所剩的备选验证图形的属性信息,筛选出符合目标关键字的一个作为目标验证图形。
其中,本实施例中,目标验证码筛选单元1613具体用于:
获取所有目标关键字在验证指示语句中的位置顺序。
根据位置顺序获取筛选的执行顺序。
按照执行顺序,基于目标关键字和属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为目标验证码。
提供一种图形推理过滤算法,解决了采用人工方式导致验证码识别效率低、识别准确性差的缺陷,有效的提高了图形推理验证码识别的准确率,降低了验证出图形推理验证码的响应时间。
实施例4
本实施例提供一种图形推理验证码的识别系统,如图7所示,具体包括:指示语句获取模块110、属性信息获取模块120、关键字提取模块130、判断模块140、目标关键字获取模块152、第二筛选模块162以及动作执行模块170。
其中,指示语句获取模块110,用于从获取待识别的验证码图像中提取验证指示语句,其中,验证指示语句包括对要验证的目标验证码图形的特征的文字描述;验证指示语句还包括对目标验证码图像的操作动作。
属性信息获取模块120,用于从验证码图像中检测所有备选验证码图形并获取每个备选验证码图形对应的属性信息;其中,属性信息的种类根据验证指示语句中描述特征的种类而设定。
其中,该属性信息的种类包括形状、颜色、面积以及位置坐标。
关键字提取模块130,用于按照关键字提取规则从验证指示语句中提取关键字
关键字提取模块140,用于判断关键字中是否包括基准对象关键字;若关键字中不包括基准对象关键字,则调用目标关键字获取模块152。
目标关键字获取模块152,用于从关键字中获取目标关键字。
第二筛选模块162,用于通过比对目标关键字和所有备选验证图像的属性信息,筛选出符合目标关键字的一个作为目标验证图形。
动作执行模块170,用于对目标验证码执行操作动作。
其中,本实施例中,第二筛选模块162具体用于:
获取所有目标关键字在验证指示语句中的位置顺序。
根据位置顺序获取筛选的执行顺序。
按照执行顺序,基于目标关键字和所述属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为目标验证码。
提供一种图形推理过滤算法,解决了采用人工方式导致验证码识别效率低、识别准确性差的缺陷,有效的提高了图形推理验证码识别的准确率,降低了验证出图形推理验证码的响应时间。
实施例5
图8为本实施例提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1或实施例2的图形推理验证码的识别方法,图8显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或实施例2的图形推理验证码的识别方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1或实施例2的图形推理验证码的识别方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或实施例2的图形推理验证码的识别方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
1.一种图形推理验证码的识别方法,其特征在于,所述识别方法包括:
从获取待识别的验证码图像中提取验证指示语句;其中,所述验证指示语句包括对要验证的目标验证码图形的特征的文字描述;
从所述验证码图像中检测所有备选验证码图形并获取每个所述备选验证码图形对应的属性信息;其中,所述属性信息的种类根据所述验证指示语句中描述所述特征的种类而设定;
按照关键字提取规则从所述验证指示语句中提取关键字;
判断所述关键字中是否包括基准对象关键字;
若包括,则通过比对所述基准对象关键字和所有备选验证图形的属性信息,从所有备选验证图形中选择一个作为基准对象;
以所述基准对象为基准,结合所述关键字中的其余关键字,确定所述目标验证码图形的属性特征,筛选出符合所述属性特征的备选验证码图形作为所述目标验证码图像。
2.如权利要求1所述的图形推理验证码的识别方法,其特征在于,所述验证指示语句还包括对所述目标验证码图像的操作动作,所述识别方法还包括:
对所述目标验证码执行所述操作动作。
3.如权利要求1所述的图形推理验证码的识别方法,其特征在于,所述判断所述关键字中是否包括基准对象关键字,包括:
判断所述关键字中是否包括描述所述基准对象和所述目标验证码图形之间的关联的关联词;
若包括,则将所述关联词之前的关键字作为基准对象关键字;
所述以所述基准对象为基准,结合所述关键字中的其余关键字,确定所述目标验证码图形的属性信息,筛选出符合所述属性信息的备选验证码图形作为所述目标验证图形,包括:
通过所述关联词确定所述基准对象与所述目标验证码之间的关联属性;
通过比对所述基准对象和其余的所述备选验证图形的关联属性信息,进行初次备选验证码图形的过滤;
将所述关联词之后的关键字作为目标关键字,通过比对所述目标关键字和初次过滤后所剩的备选验证图形的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形。
4.如权利要求3所述的图形推理验证码的识别方法,其特征在于,所述关联词包括方位关键字或特殊关键字。
5.如权利要求4所述的图形推理验证码的识别方法,其特征在于,所述特殊关键字包括同。
6.如权利要求1所述的图形推理验证码的识别方法,其特征在于,所述方法还包括:
若所述关键字中不包括基准对象关键字,则从所述关键字中获取目标关键字;
通过比对所述目标关键字和所有备选验证图像的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形。
7.如权利要求3或6所述的图形推理验证码的识别方法,其特征在于,所述通过比对所述目标关键字和初次过滤后所剩的备选验证图形或所有备选验证图形的属性信息,筛选出符合所述目标关键字的一个作为所述目标验证图形,包括:
获取所有所述目标关键字在所述验证指示语句中的位置顺序;
根据所述位置顺序获取筛选的执行顺序;
按照所述执行顺序,基于所述目标关键字和所述属性信息逐次筛选,得到符合所有目标关键字的备选验证码图形作为所述目标验证码。
8.如权利要求7所述的图形推理验证码的识别方法,其特征在于,所述属性信息的种类包括形状、颜色、面积以及位置坐标。
9.如权利要求1所述的图形推理验证码的识别方法,其特征在于,所述获取每个所述备选验证码图形对应的属性信息的步骤包括:
将所述验证码图形输入到验证码检测模型中,得到备选验证码图形以及所述备选验证码图形的属性信息;其中,所述验证码检测模型是根据原始样本图形和标注后的样本图片基于卷积神经网络模型训练而得到的,所述标注后的样本图片包含了样本图片中的所有验证码图形以及每个验证码图形的属性信息。
10.一种图形推理验证码的识别系统,其特征在于,所述识别系统包括:
指示语句获取模块,用于从获取待识别的验证码图像中提取验证指示语句;其中,所述验证指示语句包括对要验证的目标验证码图形的特征的文字描述;
属性信息获取模块,用于从所述验证码图像中检测所有备选验证码图形并获取每个所述备选验证码图形对应的属性信息;其中,所述属性信息的种类根据所述验证指示语句中描述所述特征的种类而设定;
关键字提取模块,用于按照关键字提取规则从所述验证指示语句中提取关键字;
判断模块,用于判断所述关键字中是否包括基准对象关键字;
若包括,则调用基准对象获取模块,所述基准对象获取模块用于通过比对所述基准对象关键字和所有备选验证图形的属性信息,从所有备选验证图形中选择一个作为基准对象;
第一筛选模块,用于以所述基准对象为基准,结合所述关键字中的其余关键字,确定所述目标验证码图形的属性特征,筛选出符合所述属性特征的备选验证码图形作为所述目标验证码图像。
11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-9中的任一项所述的图形推理验证码的识别方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的图形推理验证码的识别方法的步骤。
技术总结