一种字符识别方法、装置、设备及存储介质与流程

文档序号:29635074发布日期:2022-04-13 16:57阅读:143来源:国知局
一种字符识别方法、装置、设备及存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种字符识别方法、装置、设备及存储介质。


背景技术:

2.光学字符识别,是指对图像中的文字进行识别的技术。常规的光学字符识别方案主要包括两种:第一种是基于ctc解码的识别方案。该方案首先通过卷积神经网络和循环神经网络提取图像特征,然后通过ctc解码方法自动对齐字符,实现端到端的文本识别。第二种是基于序列到序列(seq2seq)的识别方案。该方案由encoder和decoder两部分组成,通过一个encoder提取文本行图像的特征,然后通过一个decoder将图像特征解码为字符序列,其中每个解码时刻所用的上下文特征向量通过一个注意力模块计算得到。
3.上述的光学字符识别方案是通用的光学字符识别方法,其中均应用了神经网络。神经网络是数据驱动的模型,当训练不充分或者不全面的情况下,通常无法准确地识别光学字符,从而导致通过上述的光学字符识别方案,无法取得理想的字符识别效果,具体表现为无法准确识别所有字符。


技术实现要素:

4.基于上述技术现状,本技术提出一种字符识别方法、装置、设备及存储介质,用于解决上述技术问题,提高字符识别效果。
5.为了解决上述问题,本技术提出如下技术方案:
6.一种字符识别方法,包括:
7.获取文本图像的解码特征,并根据所述解码特征,解码得到与所述文本图像对应的第一字符识别结果;
8.通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的第二字符识别结果;其中,所述字符元素序列由字符的各个构成元素,以及各个构成元素之间的位置关系信息组成;
9.基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果。
10.可选的,通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的第二字符识别结果,包括:
11.将所述解码特征输入预先训练的结构解码模型,使所述结构解码模型通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的字符识别结果,并将所述结构解码模型所确定的字符识别结果作为与所述文本图像对应的第二字符识别结果。
12.可选的,获取文本图像的解码特征,并根据所述解码特征,解码得到与所述文本图像对应的第一字符识别结果,包括:
13.将文本图像输入预先训练的字符识别模型,使所述字符识别模型对所述文本图像进行特征提取及字符识别处理,得到所述字符识别模型输出的解码特征以及字符识别结果,并将所述字符识别模型输出的字符识别结果作为与所述文本图像对应的第一字符识别结果。
14.可选的,所述第一字符识别结果与所述第二字符识别结果中,分别记录所述文本图像中的待识别字符被识别为预设字典中的各个字符的概率;
15.基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果,包括:
16.将所述第一识别结果与所述第二识别结果进行融合处理,确定对所述文本图像的字符识别结果。
17.可选的,将所述第一识别结果与所述第二识别结果进行融合处理,确定对所述文本图像的字符识别结果,包括:
18.以所述第一字符识别结果的权重为第一权重、所述第二字符识别结果的权重为第二权重,对所述第一字符识别结果和所述第二字符识别结果进行加权求和,确定所述文本图像中的待识别字符被识别为预设字典中的各个字符的加权求和后的概率;
19.根据所述文本图像中的待识别字符被识别为预设字典中的各个字符的加权求和后的概率,确定对所述文本图像的字符识别结果。
20.可选的,所述第一权重和所述第二权重的大小按照如下方式确定:
21.如果所述第一字符识别结果中所记录的识别概率最大的字符,是预先设置的形近字列表中的字符,则设置所述第二权重大于所述第一权重;其中,所述形近字列表中存储字形相近的字符对;所述识别概率最大的字符,是待识别字符被识别为预设字典中的各个字符的概率中的最大概率对应的字符;
22.如果所述第一字符识别结果中所记录的识别概率最大的字符,不是预先设置的形近字列表中的字符,则设置所述第二权重不大于所述第一权重。
23.可选的,所述第一字符识别结果与所述第二字符识别结果,分别为对所述文本图像中的待识别字符进行识别得到的字符;
24.基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果,包括:
25.从所述第一字符识别结果和所述第二字符识别结果中,选出对所述文本图像的字符识别结果。
26.可选的,从所述第一字符识别结果和所述第二字符识别结果中,选出对所述文本图像的字符识别结果,包括:
27.判断所述第一字符识别结果是否为预先设置的形近字列表中的字符;其中,所述形近字列表中存储字形相近的字符对;
28.如果所述第一字符识别结果不是预先设置的形近字列表中的字符,则将所述第一字符识别结果确定为对所述文本图像的字符识别结果;
29.如果所述第一字符识别结果为预先设置的形近字列表中的字符,则判断所述第一字符识别结果和所述第二字符识别结果构成的字符对是否为预先设置的形近字列表中的字符对;
30.如果所述第一字符识别结果和所述第二字符识别结果构成的字符对是预先设置的形近字列表中的字符对,则将所述第二字符识别结果确定为对所述文本图像的字符识别结果;
31.如果所述第一字符识别结果和所述第二字符识别结果构成的字符对不是预先设置的形近字列表中的字符对,则将所述第一字符识别结果确定为对所述文本图像的字符识别结果。
32.可选的,所述结构解码模型通过如下方式训练得到:
33.获取字符样本图像的解码特征,以及所述字符样本图像对应的正样本标签的字符元素序列特征和负样本标签的字符元素序列特征;
34.将所述字符样本图像的解码特征输入结构解码模型,使所述结构解码模型通过将所述字符样本图像的解码特征,与字符样本集合中的各个字符的字符元素序列特征进行比对,确定与所述字符样本图像对应的字符识别结果;
35.以使得所述结构解码模型所确定的所述字符样本图像的解码特征与所述字符样本图像对应的正样本标签的字符元素序列特征的相似度最大化,以及使得所述结构解码模型所确定的所述字符样本图像的解码特征与所述字符样本图像对应的负样本标签的字符元素序列特征的相似度最小化为目标,对所述结构解码模型进行参数优化。
36.可选的,用于对所述结构解码模型进行训练的字符样本包括通过对字符的构成元素进行替换得到的字符。
37.可选的,预设字典中的各个字符的字符元素序列特征,通过如下处理得到:
38.根据字符的空间结构,对字符进行元素拆分处理,确定字符包含的各个构成元素,以及确定字符包含的各个构成元素之间的空间位置关系;
39.利用与字符包含的各个构成元素之间的空间位置关系对应的位置关系描述符,以及字符包含的各个构成元素,生成与字符对应的字符元素序列;
40.对所述字符元素序列进行特征提取,得到字符的字符元素序列特征。
41.一种字符识别装置,包括:
42.第一识别单元,用于获取文本图像的解码特征,并根据所述解码特征,解码得到与所述文本图像对应的第一字符识别结果;
43.第二识别单元,用于通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的第二字符识别结果;其中,所述字符元素序列由字符的各个构成元素,以及各个构成元素之间的位置关系信息组成;
44.识别结果确定单元,用于基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果。
45.一种字符识别设备,包括:
46.存储器和处理器;
47.其中,所述存储器与所述处理器连接,用于存储程序;
48.所述处理器,用于通过运行所述存储器中的程序,实现上述的字符识别方法。
49.一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现上述的字符识别方法。
50.本技术提出的字符识别方法,不仅能对文本图像进行字符识别得到第一字符识别
结果,还能通过将文本图像的解码特征与字典中的各个字符的字符元素序列特征进行比对,从字符构成元素的角度,确定对文本图像的第二字符识别结果,最后,基于第一字符识别结果和第二字符识别结果,确定对文本图像的最终字符识别结果。上述的字符识别方案,将基于不同维度的光学字符识别方案相结合,通过不同粒度的字符特征识别文本图像中的字符。由于该字符识别过程考虑的字符特征更全面、更多元,因此相对于常规的字符识别方案,能够取得更好的字符识别效果。
51.尤其是,本技术实施例技术方案借助字符构成元素进行字符识别,使得即便对待识别字符的特征学习不充分,但是基于对基本的字符构成元素和字符构成元素的位置关系的特征学习,也能够达到识别字符的目的。即,本技术实施例技术方案能够降低对字符特征学习的要求,在对字符特征学习不充分的情况下,也能够取得更理想的字符识别效果。
附图说明
52.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
53.图1是本技术实施例提供的一种字符识别方法的流程示意图;
54.图2是本技术实施例提供的字符识别处理过程示意图;
55.图3是本技术实施例提供的字符构成元素的空间位置关系及位置关系描述符的示意图;
56.图4是本技术实施例提供的字符拆分二叉树示意图;
57.图5是本技术实施例提供的确定字符的字符元素序列的处理过程示意图;
58.图6是本技术实施例提供的字符识别装置的结构示意图;
59.图7是本技术实施例提供的字符识别设备的结构示意图。
具体实施方式
60.本技术实施例技术方案适用于光学字符识别的应用场景。采用本技术实施例技术方案,能够更加准确地对各种光学字符进行识别,提高光学字符识别效果。
61.常规的光学字符识别方案主要包括两种:第一种是基于ctc解码的识别方案。该方案首先通过卷积神经网络和循环神经网络提取图像特征,然后通过ctc解码方法自动对齐字符,实现端到端的文本识别。第二种是基于序列到序列(seq2seq)的识别方案。该方案由encoder和decoder两部分组成,通过一个encoder提取文本行图像的特征,然后通过一个decoder将图像特征解码为字符序列,其中每个解码时刻所用的上下文特征向量通过一个注意力模块计算得到。
62.上述的光学字符识别方案是通用的光学字符识别方法,其中均应用了神经网络。神经网络是数据驱动的模型,当训练不充分或者不全面的情况下,通常无法准确地识别光学字符,从而导致通过上述的光学字符识别方案,无法取得理想的字符识别效果,具体表现为无法准确识别所有字符。
63.基于上述问题,本技术实施例提出一种光学字符识别方案,该方案将两种不同方
式的字符识别方法相结合,从整体到局部地对光学字符进行识别,从而提高字符识别效果。
64.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.本技术实施例提出一种字符识别方法,参见图1所示,该方法包括:
66.s101、获取文本图像的解码特征,并根据所述解码特征,解码得到与所述文本图像对应的第一字符识别结果。
67.具体的,上述的文本图像,是指包含文本的图像,该图像可以是自然场景图像或者是对文本进行扫描得到的图像,该图像中的字符,可以是任意语种、任意字体、任意大小的字符。本技术实施例提出的字符识别方法,意在对文本图像中的字符进行识别。
68.本技术实施例先对文本图像进行图像编码,以及对图像编码特征进行解码,最终得到能够用于识别图像中包含的字符的特征,即解码特征。然后,根据该解码特征,进行预设字典维度下的字符解码,从而得到与文本图像对应的字符识别结果。该字符识别结果,可以是文本图像中的待识别字符被识别为字典中的各个字符的概率,或者是从字典中选择一个或多个最有可能是文本图像中的待识别字符的字符,作为字符识别结果。
69.为便于区分,本技术实施例将该字符识别结果命名为第一字符识别结果。
70.作为一种示例性的实施方式,本技术实施例预先训练字符识别模型,用于对文本图像进行特征提取及字符识别处理。该字符识别模型,可以是任意网络结构的字符识别模型,例如可以是encoder-decoder结构的字符识别模型。作为优选的实施方式,本技术实施例使用resnet-34作为编码器网络和带有注意力模块的gru网络作为解码器网络构成字符识别模型。该字符识别模型的具体结构和功能,以及该字符识别模型在对文本图像进行字符识别时的处理过程、解码特征的计算过程等,均可以参见常规的利用光学字符识别模型进行光学字符识别的方案,本技术实施例不再详细介绍。
71.在上述的字符识别模型中,将文本图像的高度调整为32,文本图像的宽度根据宽高比缩放。经处理后的文本图像输入字符识别模型,使该字符识别模型对文本图像进行特征提取及字符识别处理,得到该字符识别模型输出的文本图像解码特征以及与文本图像对应的字符识别结果。例如,将该字符识别模型的最后一个隐层输出的特征向量输出,即为输入该字符识别模型的文本图像的解码特征。利用该解码特征进行字符分类,即可实现对文本图像的字符识别。
72.最后,将该字符识别模型输出的字符识别结果,作为与文本图像对应的第一字符识别结果。
73.上述的处理过程,实现了对文本图像中的字符的特征提取和识别,是字符粒度下的识别方案。即,整个识别过程中,所依据的是字符的特征。
74.s102、通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的第二字符识别结果。
75.具体的,上述的预设字典,是指与文本图像中的待识别字符相同语种的字典,该字典用于对该语种的字符进行识别。例如,中文字典中包含所有的中文字符,韩文字典中包含所有的韩文字符。
76.理论上,文本图像中的任意一个待识别字符,均是相应语种的字典中的其中一个字符,只要能够明确待识别字符是字典中的哪个字符,就能达到识别字符的目的。
77.本技术实施例对字典中的各个字符,分别进行拆分,从空间结构上剖析字符的构成元素,以及确定字符所包含的各个构成元素的空间位置关系。然后,利用字符的各个构成元素,以及各个构成元素之间的位置关系信息,组成与字符对应的字符元素序列。
78.具体而言,某一语种下的字符,通常是由一些基本的字符元素构成的。例如,中文字符、韩文字符、日文字符等,均是由一些基本构成元素,例如笔画、偏旁部首、单字结构等,按照左右结构、上下结构、半包围结构、全包围结构等规定的空间结构进行组合得到的。基于对字符构成元素的复用,通过少量的字符构成元素,即可组合出大量的不同意义的字符。
79.因此,如果将字符识别转换为对字符构成元素和字符构成元素之间的空间位置关系的识别,则一方面可以降低识别目标的多样性,即,只需要通过识别字符构成元素和字符构成元素的位置关系(字符构成元素和字符构成元素的空间位置关系的数量,相对于字典字符的数量,要少得多),即可达到识别大量字符的目的,这对于生僻字和复杂字符的识别尤其有利。另一方面,可以增强对字符特征的学习精细度,即,从字符的构成元素的维度,对字符进行更细粒度的拆分和特征学习,有利于把握形近字之间的细微差别,从而有利于提高字符识别精度。
80.基于上述思想,本技术实施例针对与文本图像对应的字典中的各个字符,分别确定与其对应的字符元素序列,并且提取字符元素序列的特征,得到字符的字符元素序列特征,并将其应用于文本图像字符识别。具体的获取字符的字符元素序列以及提取字符元素序列特征的实现方案,将在后续实施例中进行介绍。
81.需要说明的是,上述的预设字典中的各个字符的字符元素序列特征,可以预先获取并进行存储,待需要时直接从存储地址读取,或者,也可以在执行本技术实施例提出的字符识别方法时对字典中的各个字符进行字符元素序列生成和字符元素序列特征提取。
82.当获取文本图像的解码特征,以及获取到预设字典中的各个字符的字符元素序列特征后,本技术实施例将文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定字典中的各个字符的字符元素序列特征与文本图像的解码特征的相似度,最后,根据字典中的各个字符的字符元素序列特征与文本图像的解码特征的相似度,确定字符识别结果。例如,可以将字典中的、其字符元素序列特征与文本图像的解码特征的相似度最高的一个或多个字符,确定为与文本图像对应的字符识别结果;或者,也可以将字典中的各个字符的字符元素序列特征与文本图像的解码特征的相似度,作为文本图像中的待识别字符被识别为字典中的各个字符的概率,由这些概率组成字符识别结果。为便于区分,本技术实施例将该字符识别结果命名为第二字符识别结果。
83.另外,为了保证文本图像的解码特征与预设字典中的各个字符的字符元素序列特征之间具有可比性,本技术实施例在将文本图像的解码特征与预设字典中的各个字符的字符元素序列特征进行比对之前,先对文本图像的解码特征进行处理,使其特征维度、特征形式等,均与字典中的各个字符的字符元素序列特征相同。例如,将文本图像的解码特征输入全连接网络,使得全连接网络将该解码特征处理为与字典字符的字符元素序列特征相同维度、相同特征形式的特征,以便于后续将两种特征进行相似度比对。
84.作为一种示例性的实施方式,本技术实施例预先训练结构解码模型,该模型用于
通过将文本图像的解码特征与预设字典中的各个字符的字符元素序列特征进行比对,确定与文本图像对应的字符识别结果。
85.该结构解码模型的训练过程,将在后续实施例中进行介绍。
86.作为一种可选的实施方式,参见图2所示,本技术实施例将上述的字符识别模型和结构解码模型进行组合应用。具体的,在字符识别模型对文本图像进行字符识别得出第一字符识别结果的过程中,将字符识别模型的最后一个隐层的特征输出,即输出文本图像的解码特征,然后由结构解码模型将文本图像的解码特征与预设字典中的各个字符的字符元素序列特征分别进行相似度比对,确定文本图像的解码特征与预设字典中的各个字符的字符元素序列特征的相似度,进而得到第二字符识别结果。其中,图2中的实线表示的相似度比对代表参与比对的两者之间的相似度最大,虚线表示的相似度比对代表参与比对的两者之间的相似度较小。
87.s103、基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果。
88.基于上述介绍可知,上述的第一字符识别结果是直接对文本图像进行字符识别得到的识别结果,而上述的第二字符识别结果,则是通过字符的字符元素序列特征得到的字符识别结果。也就是说,第一字符识别结果和第二字符识别结果是通过不同的特征粒度而得到的识别结果。
89.最后,本技术实施例基于上述的通过不同粒度得到的第一字符识别结果和第二字符识别结果,确定最终的字符识别结果,即得到对文本图像的字符识别结果。示例性的,可以对第一字符识别结果和第二字符识别结果进行融合得到对文本图像的字符识别结果,或者,将第一字符识别结果和第二字符识别结果进行对比,从中选出正确的字符识别结果。
90.综上所述,本技术实施例提出的字符识别方法,不仅能对文本图像进行字符识别得到第一字符识别结果,还能通过将文本图像的解码特征与字典中的各个字符的字符元素序列特征进行比对,从字符构成元素的角度,确定对文本图像的第二字符识别结果,最后,基于第一字符识别结果和第二字符识别结果,确定对文本图像的最终字符识别结果。上述的字符识别方案,将基于不同维度的光学字符识别方案相结合,通过不同粒度的字符特征识别文本图像中的字符。由于该字符识别过程考虑的字符特征更全面、更多元,因此相对于常规的字符识别方案,能够取得更好的字符识别效果。
91.尤其是,本技术实施例技术方案借助字符构成元素进行字符识别,使得即便对待识别字符的特征学习不充分,但是基于对基本的字符构成元素和字符构成元素的位置关系的特征学习,也能够达到识别字符的目的。即,本技术实施例技术方案能够降低对字符特征学习的要求,在对字符特征学习不充分的情况下,也能够取得更理想的字符识别效果。
92.作为可选的实施方式,本技术实施例基于上述的第一字符识别结果和第二字符识别结果,确定对文本图像的字符识别结果时,具体是采用将第一字符识别结果与第二字符识别结果相融合的方式,确定对文本图像的字符识别结果,或者是从第一字符识别结果和第二字符识别结果中选出最准确的结果,作为对文本图像的字符识别结果。
93.具体而言,(1)当第一字符识别结果与第二字符识别结果中分别记录文本图像中的待识别字符被识别为预设字典中的各个字符的概率时,通过将第一字符识别结果与第二字符识别结果进行融合处理,即对第一字符识别结果与第二字符识别结果进行加权求和,
确定对文本图像的字符识别结果。
94.具体的,对第一字符识别结果与第二字符识别结果进行设置权重,以第一字符识别结果的权重为第一权重、第二字符识别结果的权重为第二权重,对第一字符识别结果和第二字符识别结果进行加权求和,确定文本图像中的待识别字符被识别为预设字典中的各个字符的加权求和后的概率。其中,上述的第一权重和第二权重的和为1。
95.然后,根据文本图像中的待识别字符被识别为预设字典中的各个字符的加权求和后的概率,确定对文本图像的字符识别结果。
96.例如,将预设字典中的、加权求和后的识别概率最高的一个或多个字符,作为对文本图像的字符识别结果。
97.可选的,上述的第一权重和第二权重,可以按照如下方式确定:
98.首先,判断第一字符识别结果中所记录的识别概率最大的字符,是否为预先设置的形近字列表中的字符。
99.其中,该形近字列表,是由字形相近的字符对构成的列表。本技术实施例预先对字典中的字符进行常规的字符识别测试,将其中的字形相近容易识别混淆造成识别错误的字符,构成字符对,存储到列表中,作为形近字列表。
100.在得到第一字符识别结果后,根据该字符识别结果中所记录的文本图像中的待识别字符被识别为预设字典中的各个字符的概率,从中选出识别概率最大的字典字符,作为对文本图像的待识别字符的字符识别结果。然后判断该字符是否为预先设置的形近字列表中的字符。
101.如果是,则说明该字符为在常规的字符识别中容易与其他字符识别混淆造成识别错误的字符,也就是说第一字符识别结果很可能是不准确的。此时,设置第二权重大于第一权重,即调低第一字符识别结果的权重。
102.如果不是,则说明该字符在常规的字符识别中的识别准确度较高,此时设置第二权重不大于第一权重,即可以适当调高第一字符识别结果的权重。
103.基于上述的权重设置思想,可以结合实际情况,对第一权重和第二权重进行灵活设置,以提高融合后的文本图像字符识别效果。
104.(2)当第一字符识别结果与第二字符识别结果,分别为对文本图像中的待识别字符进行识别得到的字符时,从第一字符识别结果和第二字符识别结果中,选出对文本图像的字符识别结果。
105.具体的,首先判断第一字符识别结果中的字符是否为上述的形近字列表中的字符。
106.如果第一字符识别结果中的字符不是上述的形近字列表中的字符,则说明文本图像中的待识别字符不是易混淆字符,也就是说通过常规的字符识别方法即可较准确地识别该字符,因此可以直接将第一字符识别结果确定为对文本图像的字符识别结果。
107.如果第一字符识别结果中的字符是上述的形近字列表中的字符,则说明文本图像中的待识别字符是在常规的字符识别方法中容易混淆而造成识别错误的字符,因此不能直接将第一字符识别结果作为文本图像的字符识别结果。此时,本技术实施例进一步判断第二字符识别结果与第一字符识别结果构成的字符对是否为上述的形近字列表中的字符对,也就是判断第二字符识别结果中的字符,是否为上述的形近字列表中的、与第一字符识别
结果中的字符成对的字符,如果是,则说明第一字符识别结果和第二字符识别结果中的字符是容易识别混淆的字符。而第二字符识别结果是基于更细粒度的字符构成元素的特征而得出的字符识别结果,因此其相对于第一字符识别结果,能够更加准确地区分易混淆字符,可以认为在易混淆字符识别中,第二字符识别结果具有更高的准确度。所以,此时将第二字符识别结果确定为对文本图像的字符识别结果。
108.如果不是,则说明第一字符识别结果与第二字符识别结果不是易混淆字符,此时并不能认为第二字符识别结果一定是相对于第一字符识别结果更准确的字符识别结果,因此将第一字符识别结果确定为对文本图像的字符识别结果。
109.举例如下:假设在t时刻的第一字符识别结果为汉字“今”,第二字符识别结果为汉字“令”,如果预测的汉字对(“今”,“令”)在形近字列表中,则当前时刻的最终结果为“令”,否则当前时刻的最终结果为“今”。
110.作为一种可选的实施方式,本技术实施例按照如下步骤a1-a3所示的训练过程训练得到上述的结构解码模型:
111.a1、获取字符样本图像的解码特征,以及所述字符样本图像对应的正样本标签的字符元素序列特征和负样本标签的字符元素序列特征。
112.具体的,上述的字符样本图像,是指包含用于对结构解码模型进行训练的字符样本的图像,例如可以是包含字典中的字符的图像。
113.由于在实际工况中,大部分字符是比较容易识别的。为了增强模型的特征学习强度,使得模型具备更强的特征分辨能力,本技术实施例针对字典中的各个字符分别构造与该字符相似的负样本加入字符样本集合中,作为对模型进行训练的字符样本。
114.具体而言,本技术实施例通过对字符的构成元素进行替换,得到新的字符,并将得到的新的字符作为模型训练字符样本。
115.具体过程如下:对于字典中的每个字符,本技术实施例对其进行构成元素拆分,确定构成该字符的各个构成元素。然后,将字符中的一个或多个构成元素,替换成相似的构成元素,从而得到新的字符。例如字符“冷”,其由构成元素“冫”和“令”组成,本技术实施例将其中的构成元素“冫”替换为相似的字符构成元素“氵”,从而构成字符“泠”;或者,将其中的构成元素“令”替换为相似的字符构成元素“今”,从而构成字符“汵”。
116.需注意的是,在上述的字符构成元素替换过程中,每次替换只替换一个构成元素,每个构成元素最多替换与其最相似的三个构成元素,并且进行构成元素替换操作,不改变字符的各个构成元素之间的空间位置关系。
117.以上通过替换得到的字符,均作为与原字符对应的负样本,由于替换得到的字符与原字符较相近,因此这些负样本属于困难负样本。在实际训练过程中,本技术实施例还对各个样本字符的负样本进行比例控制,使字符的真实负样本与构造的困难负样本的比例为10:1,从而使模型能够更专注于困难样本的学习,从而提高模型性能。
118.对于每一个字符样本,本技术实施例分别获取其字符样本图像,以及获取与字符样本图像对应的正样本标签的字符元素序列特征和负样本标签的字符元素序列特征。其中,正样本标签的字符元素序列特征,是指与字符样本图像对应的正样本标签的字符元素序列的特征,同理,负样本标签的字符元素序列特征,是指与字符样本图像对应的各个负样本标签的字符元素序列的特征。上述的正样本标签的字符元素序列特征和负样本标签的字
符元素序列特征,可以分别通过提取字符的字符元素序列的特征而得到,具体的特征提取过程可参见后续实施例介绍的字符元素序列特征提取过程。
119.a2、将所述字符样本图像的解码特征输入结构解码模型,使所述结构解码模型通过将所述字符样本图像的解码特征,与字符样本集合中的各个字符的字符元素序列特征进行比对,确定与所述字符样本图像对应的字符识别结果。
120.具体的,对字符样本图像进行编码和解码后,将最后一层解码特征,即字符样本图像的解码特征,输入结构解码模型。上述的字符样本图像的解码特征,可以通过如图2中所示的字符识别模型获取。即,将字符样本图像输入预先训练的字符识别模型中,获取该字符识别模型的最后一个隐层输出的特征,即为字符样本图像的解码特征。
121.结构解码模型将字符样本图像的解码特征与字符样本集合中的各个字符的字符元素序列特征进行比对,通过计算解码特征与字符样本集合中的各个字符的字符元素序列特征的相似度,从中选出其字符元素序列特征与字符样本图像的解码特征的相似度最高的字符,作为与字符样本图像对应的字符识别结果。
122.其中,为了保证字符样本图像的解码特征与字符样本集合中的各个字符的字符元素序列特征的可比性,结构解码模型在进行比对前先对字符样本图像的解码特征进行处理,例如通过全连接网络进行处理,使字符样本图像的解码特征的维度、特征内容类型等,均与字符样本集合中的各个字符的字符元素序列特征相同。
123.a3、以使得所述结构解码模型所确定的所述字符样本图像的解码特征与所述字符样本图像对应的正样本标签的字符元素序列特征的相似度最大化,以及使得所述结构解码模型所确定的所述字符样本图像的解码特征与所述字符样本图像对应的负样本标签的字符元素序列特征的相似度最小化为目标,对所述结构解码模型进行参数优化。
124.具体的,结构解码模型是通过度量字符样本图像的解码特征与字符样本集合中的各个字符的字符元素序列特征的相似度,来实现对字符样本图像的字符识别的。如果结构解码模型能够确定字符样本图像的解码特征与字符样本图像对应的正样本标签的字符元素序列特征的相似度最大,并且字符样本图像的解码特征与字符样本图像对应的负样本标签的字符元素序列特征的相似度最小,则说明该结构解码模型能够准确地区分字符样本图像的正样本标签和负样本标签,即能够准确识别字符样本图像中的字符。
125.因此,在对结构解码特征进行循环训练及参数修正时,本技术实施例以使得结构解码模型所确定的字符样本图像的解码特征与字符样本图像对应的正样本标签的字符元素序列特征的相似度最大化,以及使得结构解码模型所确定的字符样本图像的解码特征与字符样本图像对应的负样本标签的字符元素序列特征的相似度最小化为目标,对结构解码模型进行参数优化,使得该结构解码模型能够准确地识别字符样本与字符样本的正样本标签和负样本标签的相似度,从而能够准确识别字符样本。
126.示例性的,本技术实施例涉及如下的公式作为模型训练的损失函数,用于对模型参数进行修正:
[0127][0128]
其中,q表示字符样本图像的解码特征,k0表示字符样本图像对应的正样本标签的字符元素序列特征,ki(1≤i≤n)表示字符样本图像对应的各个负样本标签的字符元素序
列特征,为超参数(一般设为0.1)。
[0129]
作为示例性的实施方式,本技术实施例通过如下步骤b1-b3的处理,获取字符的字符元素序列特征。该处理方式可用于获取字典中的字符的字符元素序列特征,或者用于获取字符样本集合中的字符的字符元素序列特征。
[0130]
b1、根据字符的空间结构,对字符进行元素拆分处理,确定字符包含的各个构成元素,以及确定字符包含的各个构成元素之间的空间位置关系。
[0131]
具体的,本技术实施例预先对字典字符进行解析,确定构成字典字符的各种构成元素。其中,构成元素的粒度大小,可以根据实际需求而设置。例如可以将字符划分为最小粒度的笔画元素,也可以划分为偏旁部首元素,或者划分为任意设定的字符结构。
[0132]
同时,通过对字典字符进行解析,确定各个字符构成元素在构成字符时的相互位置关系。经过对字典所有字符进行构成元素位置分析,本技术实施例确定了如图3所示的10种位置关系,并且确定了与各种位置关系对应的位置关系描述符。
[0133]
基于上述的字符构成元素和字符构成元素的空间位置关系的设定,在生成某一字符的字符元素序列特征时,先对字符进行元素拆分处理,确定字符包含的各个构成元素,以及确定字符包含的各个构成元素之间的空间位置关系。
[0134]
参见图4所示,对字符“殿”进行解析时,从整体到局部地对其进行逐层拆分,在每一次拆分时,将被拆分对象(整个字符或字符的某一构成元素)拆分为两个更小粒度的构成元素,同时确定拆分出的两个更小粒度的构成元素的空间位置关系,并将整个解析过程以二叉树的形式表示,直至对拆分出的构成元素不能再进行拆分。在该二叉树结构中,包含了字符“殿”的各个构成元素,并且包含了各个构成元素的空间位置关系信息。其中,各个构成元素的空间位置关系以位置关系描述符的形式表示。
[0135]
b2、利用与字符包含的各个构成元素之间的空间位置关系对应的位置关系描述符,以及字符包含的各个构成元素,生成与字符对应的字符元素序列。
[0136]
具体的,按照上述的方式对字符进行元素拆分,得到二叉树形式的拆分结果后,将二叉树的先序遍历序列,作为与字符对应的字符元素序列。如图5所示,对“殿”字的二叉树拆分结果进行先序遍历,得到的序列即为“殿”字的字符元素序列。
[0137]
可见,在字符的字符元素序列中,不仅包含了构成字符的构成元素,还包含各个构成元素之间的空间位置关系。根据该字符元素序列,能够唯一地组合出相应的一个字符。也就是说,按照上述方式确定的字符的字符元素序列都是唯一的。
[0138]
b3、对所述字符元素序列进行特征提取,得到字符的字符元素序列特征。
[0139]
示例性的,将字符的字符元素序列输入bilstm网络,使该网络对输入的字符元素序列进行特征提取,得到该网络输出的特征,即为字符元素序列特征。在本技术实施例中,将bilstm网络所有时刻输出的特征的均值,作为与输入该网络的字符元素序列对应的字符元素序列特征。
[0140]
与上述的字符识别方法相对应的,本技术实施例还提出一种字符识别装置,参见图6所示,该装置包括:
[0141]
第一识别单元100,用于获取文本图像的解码特征,并根据所述解码特征,解码得到与所述文本图像对应的第一字符识别结果;
[0142]
第二识别单元110,用于通过将所述文本图像的解码特征,与预设字典中的各个字
符的字符元素序列特征进行比对,确定与所述文本图像对应的第二字符识别结果;其中,所述字符元素序列由字符的各个构成元素,以及各个构成元素之间的位置关系信息组成;
[0143]
识别结果确定单元120,用于基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果。
[0144]
作为一种可选的实施方式,通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的第二字符识别结果,包括:
[0145]
将所述解码特征输入预先训练的结构解码模型,使所述结构解码模型通过将所述文本图像的解码特征,与预设字典中的各个字符的字符元素序列特征进行比对,确定与所述文本图像对应的字符识别结果,并将所述结构解码模型所确定的字符识别结果作为与所述文本图像对应的第二字符识别结果。
[0146]
作为一种可选的实施方式,获取文本图像的解码特征,并根据所述解码特征,解码得到与所述文本图像对应的第一字符识别结果,包括:
[0147]
将文本图像输入预先训练的字符识别模型,使所述字符识别模型对所述文本图像进行特征提取及字符识别处理,得到所述字符识别模型输出的解码特征以及字符识别结果,并将所述字符识别模型输出的字符识别结果作为与所述文本图像对应的第一字符识别结果。
[0148]
作为一种可选的实施方式,所述第一字符识别结果与所述第二字符识别结果中,分别记录所述文本图像中的待识别字符被识别为预设字典中的各个字符的概率;
[0149]
基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果,包括:
[0150]
将所述第一识别结果与所述第二识别结果进行融合处理,确定对所述文本图像的字符识别结果。
[0151]
作为一种可选的实施方式,将所述第一识别结果与所述第二识别结果进行融合处理,确定对所述文本图像的字符识别结果,包括:
[0152]
以所述第一字符识别结果的权重为第一权重、所述第二字符识别结果的权重为第二权重,对所述第一字符识别结果和所述第二字符识别结果进行加权求和,确定所述文本图像中的待识别字符被识别为预设字典中的各个字符的加权求和后的概率;其中,所述第一权重和所述第二权重之和为1;
[0153]
根据所述文本图像中的待识别字符被识别为预设字典中的各个字符的加权求和后的概率,确定对所述文本图像的字符识别结果。
[0154]
作为一种可选的实施方式,所述第一权重和所述第二权重的大小按照如下方式确定:
[0155]
如果所述第一字符识别结果中所记录的识别概率最大的字符,是预先设置的形近字列表中的字符,则设置所述第二权重大于所述第一权重;其中,所述形近字列表中存储字形相近的字符对;所述识别概率最大的字符,是待识别字符被识别为预设字典中的各个字符的概率中的最大概率对应的字符;
[0156]
如果所述第一字符识别结果中所记录的识别概率最大的字符,不是预先设置的形近字列表中的字符,则设置所述第二权重不大于所述第一权重。
[0157]
作为一种可选的实施方式,所述第一字符识别结果与所述第二字符识别结果,分别为对所述文本图像中的待识别字符进行识别得到的字符;
[0158]
基于所述第一字符识别结果和所述第二字符识别结果,确定对所述文本图像的字符识别结果,包括:
[0159]
从所述第一字符识别结果和所述第二字符识别结果中,选出对所述文本图像的字符识别结果。
[0160]
作为一种可选的实施方式,从所述第一字符识别结果和所述第二字符识别结果中,选出对所述文本图像的字符识别结果,包括:
[0161]
判断所述第一字符识别结果是否为预先设置的形近字列表中的字符;其中,所述形近字列表中存储字形相近的字符对;
[0162]
如果所述第一字符识别结果不是预先设置的形近字列表中的字符,则将所述第一字符识别结果确定为对所述文本图像的字符识别结果;
[0163]
如果所述第一字符识别结果为预先设置的形近字列表中的字符,则判断所述第一字符识别结果和所述第二字符识别结果构成的字符对是否为预先设置的形近字列表中的字符对;
[0164]
如果所述第一字符识别结果和所述第二字符识别结果构成的字符对是预先设置的形近字列表中的字符对,则将所述第二字符识别结果确定为对所述文本图像的字符识别结果;
[0165]
如果所述第一字符识别结果和所述第二字符识别结果构成的字符对不是预先设置的形近字列表中的字符对,则将所述第一字符识别结果确定为对所述文本图像的字符识别结果。
[0166]
作为一种可选的实施方式,所述结构解码模型通过如下方式训练得到:
[0167]
获取字符样本图像的解码特征,以及所述字符样本图像对应的正样本标签的字符元素序列特征和负样本标签的字符元素序列特征;
[0168]
将所述字符样本图像的解码特征输入结构解码模型,使所述结构解码模型通过将所述字符样本图像的解码特征,与字符样本集合中的各个字符的字符元素序列特征进行比对,确定与所述字符样本图像对应的字符识别结果;
[0169]
以使得所述结构解码模型所确定的所述字符样本图像的解码特征与所述字符样本图像对应的正样本标签的字符元素序列特征的相似度最大化,以及使得所述结构解码模型所确定的所述字符样本图像的解码特征与所述字符样本图像对应的负样本标签的字符元素序列特征的相似度最小化为目标,对所述结构解码模型进行参数优化。
[0170]
作为一种可选的实施方式,用于对所述结构解码模型进行训练的字符样本包括通过对字符的构成元素进行替换得到的字符。
[0171]
作为一种可选的实施方式,预设字典中的各个字符的字符元素序列特征,通过如下处理得到:
[0172]
根据字符的空间结构,对字符进行元素拆分处理,确定字符包含的各个构成元素,以及确定字符包含的各个构成元素之间的空间位置关系;
[0173]
利用与字符包含的各个构成元素之间的空间位置关系对应的位置关系描述符,以及字符包含的各个构成元素,生成与字符对应的字符元素序列;
[0174]
对所述字符元素序列进行特征提取,得到字符的字符元素序列特征。
[0175]
具体的,上述的字符识别装置的各个单元的具体工作内容,请参见上述的字符识别方法的各个实施例中的各个处理步骤的具体处理内容,此处不再重复介绍。
[0176]
本技术另一实施例还提出一种字符识别设备,参见图7所示,该设备包括:
[0177]
存储器200和处理器210;
[0178]
其中,所述存储器200与所述处理器210连接,用于存储程序;
[0179]
所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的字符识别方法。
[0180]
具体的,上述字符识别设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
[0181]
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
[0182]
总线可包括一通路,在计算机系统各个部件之间传送信息。
[0183]
处理器210可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0184]
处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
[0185]
存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
[0186]
输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
[0187]
输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
[0188]
通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。
[0189]
处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本技术上述实施例所提供的任意一种字符识别方法的各个步骤。
[0190]
本技术另一实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时,实现本技术上述实施例所提供的任意一种字符识别方法的各个步骤。
[0191]
具体的,上述的字符识别设备的各个部分的具体工作内容,以及上述的存储介质上的计算机程序被处理器运行时的具体处理内容,均可以参见上述的字符识别方法的各个实施例的内容,此处不再赘述。
[0192]
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某
些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0193]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0194]
本技术各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
[0195]
本技术各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
[0196]
本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0197]
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
[0198]
另外,在本技术各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
[0199]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0200]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0201]
最后,还需要说明的是,在本文中,诸如第二和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0202]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1