一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

验证码的识别方法及装置、电子设备、存储介质与流程

2023-01-16 23:36:09 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,特别涉及一种验证码的识别方法及装置、电子设备、计算机可读存储介质。


背景技术:

2.验证码,作为一种用户登录验证技术,在互联网服务的多个场景中被广泛应用。一般,验证码面向的使用者是用户,但在一些场景中,需要借助机器自主识别验证码。示例性的,企业在对自身应用服务进行功能测试、爬取数据时,需自动化识别应用服务各个业务流程中出现的验证码。随着验证码技术的演进,目前验证码的形式已不仅仅局限于识别验证码图像中的文字,还对待识别的文字有了限定条件(比如:字符颜色、字符大小等)。然而,现有技术一般只能识别验证码中的所有字符,因此,亟需一种自动化识别满足限定条件的字符的方案。


技术实现要素:

3.本技术实施例的目的在于提供一种验证码的识别方法及装置、电子设备、计算机可读存储介质,用于自动化识别满足限定条件的字符。
4.一方面,本技术提供了一种验证码的识别方法,包括:
5.对验证码指示信息进行语义识别,确定指定字符类型;
6.将验证码图像输入已训练的多任务序列识别模型,获得多个序列识别结果;
7.根据所述多个序列识别结果,确定与所述指定字符类型匹配的至少一个目标字符;
8.基于至少一个目标字符,构建所述验证码图像的验证码识别结果。
9.在一实施例中,所述对验证码指示信息进行语义识别,确定指定字符类型,包括:
10.对所述验证码指示信息进行分词处理,获得若干分词结果;
11.对所述若干分词结果进行命名实体识别,获得若干作为实体的分词结果;
12.从所述若干作为实体的分词结果中,筛选出至少一种实体,作为所述指定字符类型。
13.在一实施例中,所述指定字符类型指示指定尺寸、指定颜色和指定类别中的一个或多个的组合,所述多个序列识别结果包括字符内容序列、字符颜色序列、字符尺寸序列;
14.在所述根据所述多个序列识别结果,确定与所述指定字符类型匹配的至少一个目标字符之前,所述方法还包括:
15.如果所述指定字符类型包括指定尺寸,从所述字符尺寸序列中获取所述字符内容序列中每个字符对应的尺寸信息;其中,所述字符内容序列包括所述验证码图像中的多个字符,所述字符尺寸序列包括字符内容序列中每个字符对应的尺寸信息;
16.如果所述指定字符类型包括指定颜色,从所述字符颜色序列中获取所述字符内容序列中每个字符对应的颜色信息;其中,所述字符颜色序列包括字符内容序列中每个字符
对应的颜色信息;
17.如果所述指定字符类型包括指定类别,确定所述字符内容序列中每个字符对应的类别信息。
18.在一实施例中,所述多任务序列识别模型通过如下方式训练得到:
19.将样本数据集中的样本验证码图像,作为多任务序列识别算法的输入;其中,所述样本验证码图像包括字符内容序列标签、字符尺寸序列标签、字符颜色序列标签;
20.通过所述多任务序列识别算法,输出所述样本验证码图像对应的预测字符内容序列、预测字符尺寸序列、预测字符颜色序列;
21.根据所述字符内容序列标签与所述预测字符内容序列之间的差异、所述字符尺寸序列标签与所述预测字符尺寸序列之间的差异、所述字符颜色序列标签与所述预测字符颜色序列之间的差异,对所述多任务序列识别算法的算法参数进行调整;
22.重复上述过程,直至所述多任务序列识别算法收敛,得到已训练的多任务序列识别模型。
23.在一实施例中,在所述将样本数据集中的样本验证码图像,作为多任务序列识别算法的输入之前,所述方法还包括:
24.获取样本验证码图像,并响应于标注指令,为所述样本验证码图像添加字符内容序列标签、字符尺寸序列标签、字符颜色序列标签;
25.根据多个已标注的样本验证码图像,构建所述样本数据集。
26.在一实施例中,所述多任务序列识别算法为crnn算法、star算法和aster算法中的任意一种。
27.在一实施例中,所述序列识别结果包括字符内容序列;
28.所述基于至少一个目标字符,构建所述验证码图像的验证码识别结果,包括:
29.根据各个目标字符在所述字符内容序列中的排序顺序,对各个目标字符进行组合,得到所述验证码识别结果。
30.另一方面,本技术提供了一种验证码的识别装置,包括:
31.第一确定模块,用于对验证码指示信息进行语义识别,确定指定字符类型;
32.预测模块,用于将验证码图像输入已训练的多任务序列识别模型,获得多个序列识别结果;
33.第二确定模块,用于根据所述多个序列识别结果,确定与所述指定字符类型匹配的至少一个目标字符;
34.构建模块,用于基于至少一个目标字符,构建所述验证码图像的验证码识别结果。
35.进一步的,本技术提供了一种电子设备,所述电子设备包括:
36.处理器;
37.用于存储处理器可执行指令的存储器;
38.其中,所述处理器被配置为执行上述验证码的识别方法。
39.此外,本技术还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述验证码的识别方法。
40.本技术方案,通过对验证码指示信息进行语义识别,可以确定表征验证码识别意图的指定字符类型,并借助已训练的多任务序列识别模型对验证码图像进行处理,得到多
个序列识别结果;根据多个序列识别结果所表征的各个字符的属性信息,与指定字符类型进行匹配,从而确定至少一个目标字符,并可根据目标字符构建验证码识别结果;本技术借助单一模型高效地自动化识别了验证码图像中满足限定条件的字符。
附图说明
41.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍。
42.图1为本技术一实施例提供的验证码的识别方法的应用场景示意图;
43.图2为本技术一实施例提供的电子设备的结构示意图;
44.图3为本技术一实施例提供的验证码的识别方法的流程示意图;
45.图4为本技术一实施例提供的图3中步骤310的细节流程示意图;
46.图5为本技术一实施例提供的确定字符属性信息的方法流程示意图;
47.图6为本技术一实施例提供的验证码的识别方法的示意图;
48.图7为本技术一实施例提供的多任务序列识别模型的训练方法的流程示意图;
49.图8为本技术一实施例提供的多任务序列识别模型的训练方法的示意图;
50.图9为本技术一实施例提供的验证码的识别装置的框图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
52.相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
53.机器流程自动化(robotic process automation,rpa)技术可以模拟员工在日常工作中通过键盘、鼠标对计算机的操作,可以代替人类执行登录系统、操作软件、读写数据、下载文件、读取邮件等操作。以自动化机器人作为企业的虚拟劳动力,可以将员工从重复、低价值的工作中解放出来,将精力投入到高附加值的工作上,从而可以使企业在数字化智能化转型的同时又做到降低成本、增加效益。
54.rpa是一种使用软件机器人取代业务流程中的人工任务,并且像人一样与计算机的前端系统进行交互,因此rpa可以看作是一种运行在个人pc机或服务器中的软件型程序机器人,通过模仿用户在电脑上进行的操作来替代人类自动重复这些操作,例如检索邮件、下载附件、登录系统、数据加工分析等活动,快速、准确、可靠。虽然和传统的物理机器人一样都是通过设定的具体规则来解决人类工作中速度和准确度的问题,但是传统的物理机器人是软硬件结合的机器人,需要在特定的硬件支持下配合软件才能执行工作;而rpa机器人是纯软件层面的,只要安装了相应的软件,就可以部署到任意一台pc机和服务器中来完成规定的工作。
55.也就是说,rpa是一种利用“数字员工”代替人进行业务操作的一种方式及其相关的技术。本质上rpa是通过软件自动化技术,模拟人实现计算机上系统、软件、网页和文档等对象的无人化操作,获取业务信息、执行业务动作,最终实现流程自动化处理、人力成本节约和处理效率提升。在验证码识别场景中,通过rpa技术,可以替代人工解析验证码指示信
息中的设定条件,进而从验证码图像中自动化识别出满足该设定条件的字符。
56.图1为本技术实施例提供的验证码的识别方法的应用场景示意图。如图1所示,该应用场景包括服务端20和服务端30;服务端20可以是服务器、服务器集群或云计算中心,用于提供应用服务,并在各个业务流程输出待识别的验证码;服务端30可以是服务器、服务器集群或云计算中心,可以对服务端20提供的应用服务进行功能测试,并在测试过程中自动化识别各个业务流程出现的验证码。
57.如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述服务端30,用于执行验证码的识别方法。
58.存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable red-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
59.本技术还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本技术提供的验证码的识别方法。
60.参见图3,为本技术一实施例提供的验证码的识别方法的流程示意图,如图3所示,该方法可以包括以下步骤310-步骤340。
61.步骤310:对验证码指示信息进行语义识别,确定指定字符类型。
62.其中,验证码指示信息是与验证码图像对应展示的提示信息,用于提示需要识别的字符。示例性的,验证码指示信息可以是“请输入图片中的汉字字符”、“请输入图片中最大的字符”、“请输入图片中蓝色的字符”等。
63.指定字符类型为验证码图像中待提取字符的字符类型,待提取字符为需要从验证码图像中提取出来作为识别结果的字符。示例性的,指定字符类型为“数字”,或者,指定字符类型为“蓝色”及“英文字符”。
64.在对任一验证码图像进行识别的过程中,可以获取该验证码图像对应展示的验证码指示信息,该验证码指示信息可以位于验证码图像周边。对验证码指示信息进行语义识别后,可以确定指定字符类型。
65.在一实施例中,参见图4,为本技术一实施例提供的图3中步骤310的细节流程示意图,如图4所示,在对验证码指示信息进行语义识别过程中,可以执行如下步骤311至步骤313。
66.步骤311:对验证码指示信息进行分词处理,获得若干分词结果。
67.步骤312:对若干分词结果进行命名实体识别,获得若干作为实体的分词结果。
68.服务端30利用已训练的nlp(natural language processing,自然语言处理)分词算法可以对验证码指示信息进行分词处理,从而得到若干分词结果,每一分词结果为一个独立词汇。这里,分词算法可以是n-gram、crf(conditional random field algorithm,条
件随机场算法)等算法,本技术对此不做限定。
69.在获得若干分词结果之后,服务端30可以利用命名实体识别模型对若干分词结果进行命名实体识别(named entity recognition,ner)。这里,命名实体(named entity)指的是人名、机构名、地名以及其它以名称为标识的实体。在命名实体识别中,还可以根据需求自定义需要识别的实体。比如:可以识别出表示颜色、尺寸、字符类别等信息的实体。对分词结果进行命名实体识别后,可以识别出作为实体的分词结果。比如:命名实体识别任务需要识别表示颜色的实体,而分词结果中包括词汇“红色”,则可以识别出实体“红色”。
70.步骤313:从若干作为实体的分词结果中,筛选出至少一种实体,作为指定字符类型。
71.在获得若干作为实体的分词结果之后,可以继续从中筛选与验证码识别相关的一种或多种实体。这里,可以预先设定与验证码识别相关的实体类型。示例性的,可以设定筛选表示颜色的实体;或者,可以设定筛选表示尺寸的实体;或者,可以设定筛选表示颜色和尺寸的实体。
72.服务端30根据预先设定的实体筛选规则对若干作为实体的分词结果进行筛选后,可以得到至少一种实体,并将筛选出的实体作为待提取字符的指定字符类型。示例性的,筛选出的实体为“黑色”,说明待提取字符为验证码图像中黑色字符。或者,筛选出的实体为“红色”、“绿色”、“数字”,说明待提取字符为验证码图像中红色数字和绿色数字。
73.步骤320:将验证码图像输入已训练的多任务序列识别模型,获得多个序列识别结果。
74.步骤330:根据多个序列识别结果,确定与指定字符类型匹配的至少一个目标字符。
75.其中,多任务序列识别模型用于对验证码图像执行多种任务的识别工作,可以包括识别验证码图像中多个字符内容的字符内容识别任务、识别每一字符对应颜色信息的字符颜色识别任务、识别每一字符对应尺寸信息的字符尺寸识别任务。多任务序列识别模型可以通过任一多任务序列识别算法训练得到,训练过程参见下文相关描述。在一实施例中,多任务序列识别算法可以为crnn(an end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition)算法、star(a spatial attention residue network for scene text recognition)算法和aster(an attentional scene text recognizer with flexible rectification)算法中的任意一种。
76.服务端30将验证码图像输入已训练的多任务序列识别模型后,通过多任务序列识别模型对验证码图像进行处理,从而得到多个序列识别结果。这里,序列识别结果可以包括字符内容序列、字符颜色序列、字符尺寸序列。
77.服务端30可以基于多个序列识别结果,确定验证码图像中各个字符的属性信息,进而根据属性信息确定与指定字符类型匹配的至少一个目标字符。这里,目标字符为从验证码图像中识别出的满足验证码指示信息的字符。
78.指定字符类型可以指示指定尺寸、指定颜色和指定类别中的一个或多个的组合。指定尺寸为待识别字符需要满足的尺寸。示例性的,指定尺寸可以为“最小”、“最大”、“中等大小”等。指定颜色为待识别字符需要满足的颜色。示例性的,指定颜色可以为“红色”、“绿
色”、“蓝色和黑色”等。指定类别为待识别字符需要满足的字符类别。示例性的,指定类别为“汉字字符”、“英文字符”、“数字字符”、“英文字符和数字字符”等。这里,指定字符类型指的是待识别字符的整体类型;指定类别指的是待识别字符在语种上的细分类别。
79.在一实施例中,参见图5,为本技术一实施例提供的确定字符属性信息的方法流程示意图,如图5所示,在执行步骤330之前,可以通过如下步骤327至步骤329确定验证码图像中各个字符的属性信息。
80.步骤327:如果指定字符类型包括指定尺寸,从字符尺寸序列中获取字符内容序列中每个字符对应的尺寸信息;其中,字符内容序列包括验证码图像中的多个字符,字符尺寸序列包括字符内容序列中每个字符对应的尺寸信息。
81.在指定字符类型包括指定尺寸的情况下,服务端30可以根据字符尺寸序列获取字符内容序列中各个字符对应的尺寸信息。
82.字符内容序列是验证码图像中多个字符构成的序列。示例性的,字符内容序列为“1,v,h,s,0,0,t”,说明验证码图像中包括字符“1”、“v”、“h”、“s”、“0”、“0”、“t”。字符尺寸序列为各个字符对应尺寸信息构成的序列,本技术中,尺寸信息是归一化后的相对尺寸,由字符高度除以验证码图像高度得到,在0到1之间。示例性的,字符尺寸序列为“0.1,0.15,0.1,0.1,0.1,0.15,0.1”,字符尺寸序列中的尺寸信息与字符内容序列中各个字符一一对应。字符“1”的尺寸信息为“0.1”;字符“v”的尺寸信息为“0.15”;字符“h”的尺寸信息为“0.1”;字符“s”的尺寸信息为“0.1”;字符“0”的尺寸信息为“0.1”;字符“0”的尺寸信息为“0.15”;字符“t”的尺寸信息为“0.1”。
83.步骤328:如果指定字符类型包括指定颜色,从字符颜色序列中获取字符内容序列中每个字符对应的颜色信息;其中,字符颜色序列包括字符内容序列中每个字符对应的颜色信息。
84.在指定字符类型包括指定颜色的情况下,服务端30可以根据字符颜色序列获取字符内容序列中各个字符对应的颜色信息。
85.字符颜色序列为各个字符对应颜色信息构成的序列。示例性的,对于字符内容序列为“1,v,h,s,0,0,t”,其对应的字符颜色序列为“黑,蓝,红,蓝,黑,黑,绿”。字符颜色序列中颜色信息与字符内容序列中各个字符一一对应。此时,字符“1”的颜色信息为“黑”;字符“v”的颜色信息为“蓝”;字符“h”的颜色信息为“红”;字符“s”的颜色信息为“蓝”;字符“0”的颜色信息为“黑”;字符“0”的颜色信息为“黑”;字符“t”的颜色信息为绿。
86.步骤329:如果指定字符类型包括指定类别,确定字符内容序列中每个字符对应的类别信息。
87.在指定字符类型包括指定类别的情况下,服务端30可以直接根据字符内容序列中各个字符自身的内容,为各个字符进行分类,得到其对应的类别信息。示例性的,对于字符内容序列为“1,v,h,s,0,0,t”,字符“1”的类别信息为“数字字符”;字符“v”的类别信息为“英文字符”;字符“h”的类别信息为“英文字符”;字符“s”的类别信息为“英文字符”;字符“0”的类别信息为“数字字符”;字符“0”的类别信息为“数字字符”;字符“t”的类别信息为“英文字符”。
88.服务端30从多个序列识别结果中所确定的各个字符的尺寸信息、颜色信息和类别信息均为属性信息。在确定属性信息后,可以与指定字符类型进行比对,从而筛选出属性信
息与指定字符类型匹配的至少一个字符,作为目标字符。示例性的,指定字符类型为“红色”和“英文字符”,服务端30可以依据多个序列识别结果确定各个字符的颜色信息和类别信息,进而筛选出红色的英文字符,作为目标字符。
89.步骤340:基于至少一个目标字符,构建验证码图像的验证码识别结果。
90.在一实施例中,在获得至少一个目标字符之后,服务端30可以根据各个目标字符在字符内容序列中的排序顺序,对各个目标字符进行组合,从而得到验证码识别结果。服务端30可以根据各个目标字符在字符内容序列中的排序顺序,确定各个目标字符之间的先后顺序,从而以该先后顺序对各个目标字符进行排序后组成新的字符串,并以该字符串作为验证码识别结果。
91.示例性的,识别出的目标字符为“v”、“h”、“s”、“t”,根据这几个目标字符在字符内容序列“1,v,h,s,0,0,t”中的排序顺序,确定这几个目标字符之间的先后顺序,从而组成新的字符串“vhst”,作为验证码识别结果。
92.参见图6,为本技术一实施例提供的验证码的识别方法的示意图,如图6所示,验证码指示信息为“请输入图片中红色文字”,对验证码指示信息进行分词处理后,得到分词结果:“请”、“输入”、“图片”、“中”、“红色”、“文字”,从中进行命名实体识别,并从作为实体的分词结果中筛选出命名实体“红色”作为待提取字符的指定字符类型。通过多任务序列识别模型对验证码图像进行多任务序列识别,得到字符内容序列“e,m,4,r,g,q”、字符颜色序列“黑,黑,黑,黑,黑,红”,因此,从中筛选出颜色信息与指定字符类型匹配的目标字符“q”。以单一目标字符“q”直接作为验证码识别结果,填入验证码填写框中,完成验证。
93.通过上述措施,本技术方案借助单一模型即可实现复杂验证码的自动化识别,极大地提升了识别效率。
94.在一实施例中,在执行本技术验证码的识别方法之前,需要训练出多任务识别模型。在训练模型之前,首先可以构建样本数据集。
95.服务端30可以获取样本验证码图像,并响应于标注指令,为样本验证码图像添加字符内容序列标签、字符尺寸序列标签、字符颜色序列标签。这里,服务端30可以从预设图像存储路径获取多个样本验证码图像。标注指令可以由运维人员通过终端设备(比如:主机、手机、平板电脑等)提交至服务端30,用于为每一样本验证码图像添加标签。
96.字符内容序列标签可以表征样本验证码图像中多个字符的字符内容。示例性的,字符内容序列标签为“e,m,4,r,g,q”(这里“,”用于区分各个字符,并非标签内容的一部分)。
97.字符颜色序列标签可以表征样本验证码图像中各个字符的颜色信息。不同字符的颜色信息为有限集合,比如,红橙黄绿青蓝紫。可以通过预设编码方式对颜色信息进行编码,比如,b(black)代表黑色、r(red)代表红色等,此时若各个字符的颜色信息分别为“黑”、“黑”、“黑”、“黑”、“黑”、“红”,则字符颜色序列标签为“b,b,b,b,b,r”(这里“,”用于区分各个颜色编码,并非标签内容的一部分)。
98.字符尺寸序列标签可以表征样本验证码图像中各个字符的尺寸信息。各个字符的尺寸信息可以由字符自身高度除以图像高度,从而实现归一化处理。示例性的,字符尺寸序列为“0.1,0.1,0.1,0.1,0.1,0.1”(这里“,”用于区分各个尺寸信息,并非标签内容的一部分)。
99.服务端30可以根据与每一样本验证码图像对应的标注指令,对样本验证码图像进行标注,从而得到已标注的样本验证码图像。在获得多个已标注的样本验证码图像之后,可以根据多个已标注的样本验证码图像,构建样本数据集。服务端30可以根据样本数据集训练出多任务序列识别模型。
100.在一实施例中,参见图7,为本技术一实施例提供的多任务序列识别模型的训练方法的流程示意图,如图7所示,可以通过如下步骤710至步骤740训练出多任务序列识别模型。
101.步骤710:将样本数据集中的样本验证码图像,作为多任务序列识别算法的输入;其中,样本验证码图像包括字符内容序列标签、字符尺寸序列标签、字符颜色序列标签。
102.步骤720:通过多任务序列识别算法,输出样本验证码图像对应的预测字符内容序列、预测字符尺寸序列、预测字符颜色序列。
103.如前所述,多任务序列识别算法可以是crnn算法、star算法和aster算法中的任意一种,由于训练过程是端到端训练,不同算法内部差异对训练步骤无影响。
104.服务端30可以将样本数据集中的样本验证码图像,输入多任务序列识别算法,通过多任务序列识别算法对样本验证码图像进行处理,从而输出样本验证码图像对应的预测字符内容序列、预测字符尺寸序列、预测字符颜色序列。这里,预测字符内容序列为训练过程中在字符内容识别任务的预测结果;预测字符尺寸序列为训练过程中在字符尺寸识别任务的预测结果;预测字符颜色序列为训练过程在在字符颜色识别任务的预测结果。
105.步骤730:根据字符内容序列标签与预测字符内容序列之间的差异、字符尺寸序列标签与预测字符尺寸序列之间的差异、字符颜色序列标签与预测字符颜色序列之间的差异,对多任务序列识别算法的算法参数进行调整。
106.在获得预测字符内容序列、预测字符尺寸序列和预测字符颜色序列之后,服务端30可以根据样本验证码图像对应的预测字符内容序列与字符内容序列标签之间的差异、样本验证码图像对应的预测字符尺寸序列与字符尺寸序列标签之间的差异、样本验证码图像对应的预测字符颜色序列与字符颜色序列标签之间的差异,对多任务序列识别算法的算法参数进行调整。
107.这里,字符内容识别任务和字符颜色识别任务为分类任务,可以使用交叉熵为损失函数,评估预测字符内容序列与字符内容序列标签之间的差异、预测字符颜色序列与字符颜色序列标签之间的差异。字符尺寸识别任务为回归任务(回归0至1之间的数值),可以使用l1范数作为损失函数,评估预测字符尺寸序列与字符尺寸序列标签之间的差异。
108.在通过损失函数评估三种差异后,可以得到三种损失函数的函数值,将三种函数值累加即可得到一轮训练中内容损失、颜色损失和尺寸损失的总和。服务端30可以据此对多任务识别算法的算法参数进行调整,通过反向传播,更新多任务识别算法的算法参数。
109.步骤740:重复上述过程,直至多任务序列识别算法收敛,得到已训练的多任务序列识别模型。
110.在一轮训练之后,服务端30可以返回步骤710,重新将样本数据集中的样本验证码图像输入经过训练的多任务序列识别算法,进而重新执行步骤710至步骤730的训练过程。通过反复迭代,当达到预设训练轮次,或者,当损失函数的函数值趋于稳定时,可以认定多任务序列识别算法收敛,此时,得到已训练的多任务序列识别模型。
111.参见图8,为本技术一实施例提供的多任务序列识别模型的训练方法的示意图,图8中以crnn算法作为多任务序列识别算法。crnn算法包括cnn(convolutional neural networks,卷积神经网络)、双向lstm(long short-term memory,长短时记忆网络)、三个全连接层、三个ctc(connectionist temporal classification)解码器。在训练过程中,样本验证码图像输入多任务序列识别算法后,首先通过cnn和双向lstm进行编码,然后通过三个全连接层和ctc解码器进行解码,得到三种任务的预测结果。以三种预测结果和三种标签确定内容损失、颜色损失和尺寸损失,并以三种损失对多任务序列识别算法的算法参数进行调整。
112.通过上述措施,本技术方案可以训练得到多任务序列识别模型,并以此执行验证码的识别方法。由于只需训练一个模型即可实施方案,降低了训练的时间成本,提高了训练效率。
113.图9是本发明一实施例的一种验证码的识别装置的框图,如图9所示,该装置可以包括:
114.第一确定模块910,用于对验证码指示信息进行语义识别,确定指定字符类型;
115.预测模块920,用于将验证码图像输入已训练的多任务序列识别模型,获得多个序列识别结果;
116.第二确定模块930,用于根据所述多个序列识别结果,确定与所述指定字符类型匹配的至少一个目标字符;
117.构建模块940,用于基于至少一个目标字符,构建所述验证码图像的验证码识别结果。
118.上述装置中各个模块的功能和作用的实现过程具体详见上述验证码的识别方法中对应步骤的实现过程,在此不再赘述。
119.在本技术所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
120.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
121.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的
存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献