1.本公开的示例实施例总体涉及计算机领域,特别地涉及用于识别图像中字符的方法、装置、设备和计算机可读存储介质。
背景技术:2.光学字符识别(optical character recognition,ocr)是指对图像进行分析以获取图像中文字信息的过程。ocr通常分为文本检测和文本识别两个步骤。文字检测是指检测文本在图像中的位置和范围及其布局。文本识别是在文本检测的基础上,对文本内容进行识别。在文本识别中需要识别图像中的字符从而恢复文本内容。ocr具有广泛应用。期望能够实现高效且准确的字符识别。
技术实现要素:3.在本公开的第一方面,提供了一种识别图像中字符的方法。该方法包括:基于训练图像,根据被配置为识别图像中字符的第一模型,生成预测特征序列;基于训练图像,根据被配置为识别图像中字符的第二模型,生成参考特征序列,第二模型与第一模型基于不同的架构;基于预测特征在预测特征序列中的位置和参考特征在参考特征序列中的位置,将预测特征映射到参考特征序列中潜在表示相同字符的参考特征;以及基于映射的结果,确定第一模型的参数。
4.在本公开的第二方面,提供了一种用于识别图像中字符的装置。该装置包括:预测特征生成模块,被配置为基于训练图像,根据被配置为识别图像中字符的第一模型,生成预测特征序列;参考特征生成模块,被配置为基于训练图像,根据被配置为识别图像中字符的第二模型,生成参考特征序列,第二模型与第一模型基于不同的架构;特征映射模块,被配置为基于预测特征在预测特征序列中的位置和参考特征在参考特征序列中的位置,将预测特征映射到参考特征序列中潜在表示相同字符的参考特征;以及参数确定模块,被配置为基于映射的结果,确定第一模型的参数。
5.在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
6.在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面的方法。
7.应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
8.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面
将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
9.图1示出了本公开的实施例能够在其中实现的示例环境的示意图;
10.图2示出了根据本公开的一些实施例的模型训练架构的示意图;
11.图3a示出了根据本公开的一些实施例的第一模型的示意图;
12.图3b示出了根据本公开的一些实施例的第二模型的示意图;
13.图4示出了根据本公开的一些实施例的预测特征序列与参考特征序列之间的映射关系的一个示例的示意图;
14.图5a示出了根据本公开的一些实施例的预测特征序列与参考特征序列之间的映射关系的另一示例的示意图;
15.图5b示出了根据本公开的一些实施例的预测特征序列与参考特征序列之间的映射关系的又一示例的示意图;
16.图5c示出了根据本公开的一些实施例的预测特征序列与参考特征序列之间的映射关系的又一示例的示意图;
17.图6示出了根据本公开的一些实施例的用于识别图像中字符的过程的流程图;
18.图7示出了根据本公开的一些实施例的用于识别图像中字符的装置的框图;以及
19.图8示出了能够实施本公开的多个实施例的设备的框图。
具体实施方式
20.下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
21.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
22.如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。在本文中,“模型”也可以被称为“机器学习模型”、“机器学习网络”或“网络”,这些术语在本文中可互换地使用。一个模型又可以包括不同类型的处理单元或网络。如本文所使用的,术语“确定模型的参数”或类似表达是指确定模型的参数的值(又称为参数值),包括具体值、取值集合或取值范围等。如本文中所使用的,“单元”、可以由任何合适结构的机器学习模型或网络组成。
23.如本文中所使用的,术语“字符”是指类字形单位或符号,包括但不限于字母、字、数字、运算符号、标点符号和其他符号。举例而言,一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号、一个图形符号或者控制符号等。
24.通常,机器学习大致可以包括三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的模型可以使用大量的训练数据进行训练,不断迭代更新
模型的参数值,直到模型能够从训练数据中获取一致的满足预期目标的推理。通过训练,模型可以被认为能够从训练数据中学习从输入到输出之间的关联(也称为输入到输出的映射)。训练后的模型的参数值被确定。在测试阶段,将测试输入应用到训练后的模型,测试模型是否能够提供正确的输出,从而确定模型的性能。在应用阶段,模型可以用于基于训练得到的参数值,对实际的输入进行处理,确定对应的输出。
25.如上文所简要提及的,在ocr中期望能够实现高效且准确的字符识别。目前字符识别模型主要有连接时序分类(ctc)模型和注意力(attention)模型。ctc模型包括例如卷积循环神经网络(crnn)。ctc模型的推理时间较短,但准确度不够。注意力模型包括例如变换器(transformer)。注意力模型大多利用自回归注意力解码,其准确度通常高于ctc模型,但自回归注意力解码涉及循环计算,导致其推理时间大于ctc模型。
26.另一方面,蒸馏学习已经应用于字符识别模型的训练。例如,为了提高轻量级ctc模型的准确度,一种可行的方式是利用一个较大的ctc模型作为教师对轻量级ctc模型进行蒸馏学习。然而,受限于ctc模型本身的准确度,在两个ctc模型之间进行蒸馏学习所实现的准确度提升是有限的。
27.本公开的实施例提出了一种用于识别图像中字符的方案。根据本公开的各种实施例,在训练中,基于训练图像,根据学生模型和教师模型分别生成预测特征序列和参考特征序列。学生模型和教师模型基于不同的架构。基于预测特征在预测特征序列中的位置和参考特征在参考特征序列中的位置,确定预测特征与参考特征之间的映射关系。映射到一起的预测特征和参考特征潜在表示训练图像中的同一字符。根据映射的结果来确定学习模型的参数。
28.在本公开的实施例中,可以在基于不同架构的字符识别模型之间进行蒸馏学习。这样,原本轻量但准确度不高的架构可以学习准确度高的架构。以此方式,可以获得高效且准确的字符识别模型。特别地,在学习模型基于ctc架构的情况下,可以获得轻量且准确度高的ctc模型。
29.示例环境
30.图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在环境100中,计算设备150中部署有第一模型110和第二模型120。第一模型110和第二模型120被配置为识别图像中的字符。第二模型120可以是已经训练的。在利用蒸馏学习对第一模型110进行训练的过程中,第二模型120的参数可以保持不变。在本文中,第一模型110也称为“学生模型”,并且第二模型120也称为“教师模型”。
31.第一模型110和第二模型120基于不同的架构。第一模型110和第二模型120可以分别基于任何合适的架构,包括任何已有的和未来开发的架构。特别地,第二模型120可以基于准确度高的架构,而第一模型110可以基于轻量但准确度不够高的架构。在一些实施例中,第一模型110可以基于ctc架构,而第二模型120可以基于注意力架构。在这种实施例中,可以获得轻量且准确度高的ctc模型。
32.在训练中,计算设备150利用多个训练图像101-1、101-2
……
(其也统称或单独称为训练图像101)和对应的标签102-1、102-2
……
(其也统称或单独称为标签102)来训练第一模型110,从而确定第一模型110的参数。训练图像101可以是通过文本检测过程从更大的图像中分割出来的。标签102指示对应的训练图像101中的真实字符。应当理解,虽然图1中
仅示出了两个训练图像101-1和101-2以及两个标签102-1和102-2,但这仅仅是示意性的。计算设备150可以利用n个训练图像以及对应的n个标签,其中n为大于等于1的整数。
33.在环境100中,计算设备150可以是任何类型的具有计算能力的设备,包括终端设备或服务端设备。终端设备可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。服务端设备例如可以包括计算系统/服务器,诸如大型机、边缘计算节点、云环境中的计算设备,等等。
34.应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。
35.模型训练的整体架构
36.图2示出了根据本公开的一些实施例的模型训练架构的示意图。图2示出了训练图像101的一个示例。应当理解,图2中所示的训练图像101及其中的文本仅是示意性的,而无意限制本公开的范围。在本公开的实施例中,训练图像101可以包括任何数目及任何类型的字符。
37.在图2的左侧分支中,第一模型110基于训练图像101生成预测特征序列210。预测特征序列210中的预测特征是高级图像特征,并且一个预测特征在预测特征序列210中的位置取决于该预测特征所表示的元素(例如,图像中的字符、空白、背景等)在训练图像101中的位置。每个预测特征可以由特征向量表示。
38.假设训练图像101的尺寸为(h,w),其中h表示训练图像101的高度,w表示训练图像101的宽度。预测特征序列210的尺寸为(n,d),其中n为预测特征序列210中的预测特征的数目。n=h/rh*w/rw,rh、rw分别是第一模型110在宽和高维度的下采样倍数。举例而言,rh可以为h,rw可以为4。在图2的示例中n为16。d为特征通道数(诸如512),即d是特征向量的维度。
39.应当理解,以上所列举以及图2中所示出的各种数目和数值仅是示例性的,本公开的实施例可以用于任何合适的采样倍数,并且预测特征可以具有任何合适的数目和维度。在一次性输入b张训练图像的情况下(例如,在批训练中),第一模型110可以生成b个尺寸为(n,d)的预测特征序列,即整体尺寸为(b,n,d)的特征图。
40.图3a示出了根据本公开的一些实施例的第一模型110的一个示例。在图3a的示例中,第一模型110包括卷积神经网络(cnn)310和编码器320。由cnn 310对训练图像101进行初步处理,生成具有语义特征的卷积特征图。再由编码器320处理卷积特征图,以获得尺寸为(n,d)的预测特征序列210。在一些实施例中,第一模型110基于ctc架构。应当理解,图3a中的第一模型110的结构仅是示例性的,而无意限制本公开的范围。在本公开的实施例中,可以用任何合适的架构来实现第一模型110。
41.继续参考图2。预测特征序列210被输入到后处理单元231。后处理单元231基于预测特征序列210生成训练图像101中字符的识别结果240。识别结果240中的符号
“‑”
表示不同字符之间的间隔,并且也称为“间隔符”。后处理单元231可以具有任何合适的网络,本公开的范围在此方面不受限制。举例而言,后处理单元231可以包括全连接层和argmax函数。
可以理解的是,后处理单元231可以与第一模型101一起训练。后处理单元231和第一模型101一起构成推断阶段中使用的字符识别模型。
42.在图2的右侧分支中,第二模型120基于训练图像101生成参考特征序列220。参考特征序列220中的参考特征是高级图像特征,并且一个参考特征在参考特征序列210中的位置取决于该参考特征所表示的字符在训练图像101中的位置。每个参考特征可以由特征向量表示。在本公开的实施例中,除非另有明确说明,否则参考特征序列中的参考特征是指那些表示图像中字符的特征。
43.参考特征序列220的尺寸为(t,d),其中t是目标长度。在一些实施例中,例如在第二模型120基于注意力架构的情况下,t可以等于训练图像101中的真实字符长度加1,因为通常包括序列结束标志《eos》。在图2中,仅作为示例而无意限制本公开的范围,将t示出为5。d为特征通道数(诸如512),即特征向量的维度。在一次性输入b张训练图像的情况下(例如,在批训练中),第二模型120可以生成b个尺寸为(t,d)的参考特征序列,即整体尺寸为(b,t,d)的特征图。
44.图3b示出了根据本公开的一些实施例的第二模型120的一个示例。在图3b的示例中,第二模型120包括cnn 330、编码器340和解码器350。训练图像101依次被cnn 330、编码器340和解码器350处理,得到尺寸为(t,d)的参考特征序列220。
45.在一些实施例中,第二模型120是基于注意力架构的。例如,编码器340可以是transformer编码器,而解码器350可以是transformer解码器。在解码器350基于自回归解码的情况下,解码器350还包括未示出的循环结构。
46.应当理解,图3b中的第二模型120的结构仅是示例性的,而无意限制本公开的范围。在本公开的实施例中,可以用任何合适的不同于第一模型110的架构来实现第二模型120。
47.继续参考图2。参考特征序列220被输入到后处理单元232。后处理单元232基于参考特征序列220生成训练图像101中字符的识别结果260。后处理单元232可以具有任何合适的网络,本公开的范围在此方面不受限制。举例而言,后处理单元232可以包括全连接层和argmax函数。后处理单元232已经与第二模型120一起被训练。在第一模型110的训练中,后处理单元232的参数保持不变。
48.特征映射
49.用于识别图像中字符的模型通常包括骨干部分、颈(neck)部和头(head)部。在常规的蒸馏学习中,学生模型和教师模型的头部是相同类型的,例如是基于ctc的。在训练中,教师模型的参数固定,监督教师模型和学生模型在骨干、头部中至少一个部分的特征。
50.如果教师模型和学生模型基于不同的架构,例如教师模型基于注意力架构而学生模型基于ctc架构,则存在一些问题。由于不同架构输出的特征的形状通常不一样,只能在骨干部分进行教师模型和学生模型之间的特征监督。然而,两个模型在骨干部分的特征空间并不完整一致。因此,只做骨干部分的特征监督所实现的效果很有限。
51.在本公开的实施例中,在基于不同架构的第一模型110和第二模型120之间进行头部特征的监督。如上文所提及的,一个预测特征在预测特征序列210中的位置取决于该预测特征所表示的元素在训练图像101中的位置,并且一个参考特征在参考特性序列220中的位置取决于该参考特征所表示的字符在训练图像101中的位置。有鉴于此,基于预测特征在预
测特征序列210中的位置和参考特征在参考特征序列220中的位置,可以将潜在表示同一字符的预测特征和参考特征映射在一起或对应起来。
52.取决于预测特征序列和参考特征序列的具体实现,可以采用不同的策略来将预测特征映射到潜在表示相同字符的参考特征。在一些实施例中,预测特征序列可以包括表示训练图像101中字符的字符特征和表示字符间隔的间隔特征。在这种实施例中,可以基于字符特征与间隔特征在预测特征序列中的相对位置、以及参考特征在参考特征序列中的位置,将字符特征映射到参考特征序列中的参考特征。在第一模型110基于ctc架构的情况下,可以生成这样的预测特征序列。
53.图2示出了这样的示例。在图2中,具有底纹的矩形指示字符特征,其分别对应于识别结果240中的字母。白色填充的矩形指示间隔特征,其分别对应于识别结果240中的间隔符
“‑”
。图4示出了图2中的预测特征序列210与参考特征序列220之间的映射关系。如图4所示,参考特征序列220包括参考特征421-1、421-2、421-3、421-4、421-5,其也统称为或单独称为参考特征421。每个参考特征421表示图像101中的一个字符。例如,参考特别421-1表示字符“r”,参考特征421-5表示字符“m”,诸如此类。
54.预测特征序列210包括表示训练图像101中字符的字符特征411-1、411-2、411-3、411-4、411-5、411-6,其也统称或单独称为字符特征411。除字符特征411之外,预测特征序列210还包括表示字符间隔的间隔特征。
55.作为预测特征序列210中的第一个字符特征,字符特征411-1被映射到参考特征序列220中的第一个参考特征421-1。字符特征411-2在字符特征411-1之后,并且与字符特征411-1之间存在间隔特征。因此,可以认为字符特征411-2与字符特征411-1表示训练图像101中的不同字符。相应地,字符特征411-2被映射到位于参考特征421-1之后的参考特征421-2。
56.字符特征411-3位于字符特征411-2之后,并且与字符特征411-2之间存在间隔特征。因此,可以认为字符特征411-3与字符特征411-2表示训练图像101中的不同字符。相应地,字符特征411-3被映射到位于参考特征421-2之后的参考特征421-3。
57.字符特征411-4位于字符特征411-3之后,并且与字符特征411-3之间不存在间隔特征。因此,可以认为字符特征411-4与字符特征411-3表示训练图像101中的同一字符。相应地,字符特征411-4也被映射到参考特征421-3。也即,潜在表示同一字符的预测特征被映射到同一参考特征。
58.字符特征411-5位于字符特征411-4之后,并且与字符特征411-4之间存在间隔特征。因此,可以认为字符特征411-5与字符特征411-4表示训练图像101中的不同字符。相应地,字符特征411-5被映射到位于参考特征421-3之后的参考特征421-4。
59.字符特征411-6位于字符特征411-5之后,并且与字符特征411-5之间存在三个间隔特征。因此,可以认为字符特征411-6与字符特征411-5表示训练图像101中的不同字符。相应地,字符特征411-6被映射到位于参考特征421-4之后的参考特征421-5。
60.在图4的示例中,预测特征序列210中表示训练图像101中字符的预测特征(即,字符特征)均被映射到相应的参考特征,并且参考特征序列220中的参考特征均被映射有预测特征。这样的映射结果也称为“完整映射”。
61.由于第一模型110处于训练中,难免出现漏识别和多识别的情况,因而可能存在“不完整映射”的情况。图5a示出了预测特征序列与参考特征序列之间的映射关系的另一示例。参考特征序列520包括参考特征521-1、521-2、521-3、521-4、521-5。预测特征序列510包括字符特征511-1、511-2、511-3、511-4、511-5。
62.根据上文参考图4所描述的基于位置的策略,字符特征511-1被映射到参考特征521-1,字符特征511-2被映射到参考特征521-2,字符特征511-3和511-4被映射到参考特征521-3,字符特征511-5被映射到参考特征521-4。在参考特征序列520中存在未被映射有任何预测特征的参考特征521-5。这样的映射结果是一种不完整映射。
63.图5b示出了预测特征序列与参考特征序列之间的映射关系的又一示例。参考特征序列540包括参考特征541-1、541-2、541-3、541-4。预测特征序列530包括字符特征531-1、531-2、531-3、531-4、531-5、531-6。
64.根据上文参考图4所描述的基于位置的策略,字符特征531-1被映射到参考特征541-1,字符特征531-2被映射到参考特征541-2,字符特征531-3和531-4被映射到参考特征541-3,字符特征531-5被映射到参考特征541-4。在预测特征序列540中存在未被映射到任何参考特征的字符特征531-6。这样的映射结果是另一种不完整映射。
65.参考图4、图5a和图5b描述了完整映射和不完整映射的示例。应当理解,这些示例仅是为了更好地说明特征映射,而无意限制本公开的范围。可以根据预测特征序列和参考特征序列的特点,来采用适当的特征映射策略。例如,在一些实施例中,参考特征序列可以包括表示非字符的参考特征。相应地,可以将这样的参考特征从参考特征序列中提取出来,然后再按照位置将预测特征映射到参考特征。
66.又如,在一些实施例中,一个预测特征可以被映射到多个参考特征。图5c示出了一个这样的示例。参考特征序列560包括参考特征561-1、561-2、561-3、561-4、561-5、561-6。每两个参考特征表示同一字符。预测特征序列550中的预测特征按位置依次被映射到参考特征序列560中的参考特征。参考特征551-1被映射到预测特征561-1和561-2,参考特征551-2被映射到预测特征561-3和561-4,参考特征551-3被映射到预测特征561-5和561-6。
67.总之,基于预测特征在预测特征序列210中的位置和参考特征在参考特征序列220中的位置,可以将预测特征映射到潜在表示同一字符的参考特征。可以采用与预测特征序列和参考特征序列的特点相符合的具体映射策略。
68.模型训练的损失
69.以上描述了预测特征与参考特征的映射。基于预测特征与参考特征映射的结果,来确定第一模型110的参数。根据映射的结果,可以确定所使用的损失函数来迭代地更新第一模型110的参数,直到迭代收敛或达到预定次数,从而确定第一模型110的参数。
70.继续参考图2。如果预测特征序列210与参考特征序列220之间的映射是完整映射,诸如图4所示的情况,则使用表示蒸馏损失的第一损失函数。基于每个预测特征与其所映射到的参考特征之间的差异,确定第一损失函数。对于图4的示例,基于以下项来确定第一损失函数:预测特征411-1与参考特征421-1之间的差异,预测特征411-2与参考特征421-2之间的差异,预测特征411-3与参考特征421-3之间的差异,预测特征411-4与参考特征421-3之间的差异,预测特征411-5与参考特征421-4之间的差异,预测特征411-6与参考特征421-5之间的差异。
71.可以至少通过最小化第一损失函数来确定第一模型110的参数。除了第一损失函
数,还可以使用如下所描述的第二损失函数。
72.以此方式,使第一模型110生成的预测特征与参考特征一致。这有助于提高第一模型110的准确度。利用准确度高的第二模型120(诸如,基于注意力架构的模型)相当于为第一模型110的学习提供了强有力的老师。以此方式,轻量化的第一模型110能够实现高的识别准确度。
73.如果预测特征序列210与参考特征序列220之间的映射是不完整映射,诸如图5a或图5b所示的情况,则放弃使用第一损失函数,但仍然保留其他损失函数。例如,可以基于识别结果240与标签102中的真实字符之间的差异,确定第二损失函数。通过最小化第二损失函数来确定第一模型110的参数。在这种实施例中,放弃使用第一损失函数,可以避免不准确的特征映射误导第一模型110。
74.总体上,在预测特征序列与参考特征序列之间完整映射的情况下,至少使用作为蒸馏损失的第一损失函数。在预测特征序列与参考特征序列之间不完整映射的情况下,放弃使用第一损失函数,而至少使用第二损失函数。在一些实施例中,除第一损失函数和第二损失函数之外,还可以监督第一模型110和第二模型120的骨干部分的特征。即,还可以基于由两个模型的骨干部分输出的特征之间的差异确定第三损失函数。
75.示例过程
76.图6示出了根据本公开的一些实施例的识别图像中字符的过程600的流程图。过程600可以被实现在计算设备150处。下面参考图1和图2来描述过程600。
77.在框610,计算设备150基于训练图像101,根据被配置为识别图像中字符的第一模型110,生成预测特征序列210。在框620,计算设备150基于训练图像101,根据被配置为识别图像中字符的第二模型120,生成参考特征序列220。第二模型120与第一模型110基于不同的架构。在一些实施例中,第一模型110基于ctc架构,并且第二模型120基于注意力架构。
78.在框630,计算设备150基于预测特征在预测特征序列210中的位置和参考特征在参考特征序列220中的位置,将预测特征映射到参考特征序列220中潜在表示相同字符的参考特征。也即,被映射到一起的预测特征和参考特征潜在表示同一字符。可以采用与参考特征序列和预测特征序列的特点相符合的映射策略。
79.在一些实施例中,预测特征序列210包括表示训练图像101中字符的字符特征和表示字符间隔的间隔特征,诸如图4所示。在这种实施例中,为了将预测特征映射到参考特征,可以基于字符特征与间隔特征在预测特征序列210中的相对位置、以及参考特征在参考特征序列220中的位置,将字符特征映射到参考特征序列220中的参考特征。
80.在一些实施例中,可以将预测特征序列中的第一字符特征映射到参考特征序列中的第一参考特征。如果在第一字符特征之后的第二字符特征与第一字符特征之间不存在间隔特征,可以将第二字符特征映射到第一参考特征。例如,字符特征411-3被映射到参考特征421-3。字符特征411-4位于字符特征411-3之后,并且与字符特征411-3之间不存在间隔特征。字符特征411-4也被映射到位于参考特征421-3。
81.在一些实施例中,可以将预测特征序列中的第三字符特征映射到参考特征序列中的第二参考特征。如果在第三字符特征之后的第四字符特征与第三字符特征之间存在至少一个间隔特征,可以将第四字符特征映射到第二参考特征之后的第三参考特征。例如,字符特征411-5被映射到字符特征421-4。字符特征411-6位于字符特征411-5之后,并且与字符
特征411-5之间存在三个间隔特征。字符特征411-6被映射到位于参考特征421-4之后的参考特征421-5。
82.在框640,计算设备150基于映射的结果,确定第一模型110的参数。根据映射的结果,可以确定所使用的损失函数来迭代地更新第一模型110的参数,直到迭代收敛或达到预定次数,从而确定第一模型110的参数。
83.在一些实施例中,如果预测特征序列210中表示训练图像101中字符的预测特征均被映射到相应的参考特征,并且参考特征序列220中的参考特征均被映射有预测特征序列210中的预测特征,基于相应预测特征和所映射到的参考特征之间的差异,确定第一损失函数。至少通过最小化第一损失函数,确定第一模型110的参数。对于诸如图4所示的完整映射的情况,至少使用第一损失函数。
84.在一些实施例中,如果确定以下至少一项,基于预测特征序列210,获取对训练图像101中字符的识别结果:预测特征序列210中存在未被映射到参考特征的表示训练图像101中字符的预测特征,参考特征序列220中存在未被映射有预测特征的参考特征。例如,可以通过后处理单元231来生成识别结果240。可以基于识别结果与训练图像中的真实字符之间的差异,确定第二损失函数。例如,可以基于识别结果240与标签102中的真实字符的差异,确定第二损失函数。通过最小化第二损失函数,确定第一模型的参数。对于诸如图5a和图5b所示的不完整映射的情况,放弃使用第一损失函数。
85.示例装置和设备
86.图7示出了根据本公开的某些实施例的用于识别图像中字符的装置700的示意性结构框图。装置700可以被实现为或者被包括在计算设备150中。装置700中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
87.如图所示,装置700包括预测特征生成模块710,被配置为基于训练图像,根据被配置为识别图像中字符的第一模型,生成预测特征序列。装置700还包括参考特征生成模块720,被配置为基于训练图像,根据被配置为识别图像中字符的第二模型,生成参考特征序列,第二模型与第一模型基于不同的架构。装置700进一步包括特征映射模块730,被配置为基于预测特征在预测特征序列中的位置和参考特征在参考特征序列中的位置,将预测特征映射到参考特征序列中潜在表示相同字符的参考特征。装置700进一步包括参数确定模块740,被配置为基于映射的结果,确定第一模型的参数。
88.在一些实施例中,预测特征序列包括表示训练图像中字符的字符特征和表示字符间隔的间隔特征,并且特征映射模块730包括:字符特征处理模块,被配置为基于字符特征与间隔特征在预测特征序列中的相对位置、以及参考特征在参考特征序列中的位置,将字符特征映射到参考特征序列中的参考特征。
89.在一些实施例中,字符特征处理模块进一步被配置为:将预测特征序列中的第一字符特征映射到参考特征序列中的第一参考特征;以及如果在第一字符特征之后的第二字符特征与第一字符特征之间不存在间隔特征,将第二字符特征映射到第一参考特征。
90.在一些实施例中,字符特征处理模块进一步被配置为:将预测特征序列中的第三字符特征映射到参考特征序列中的第二参考特征;以及如果在第三字符特征之后的第四字符特征与第三字符特征之间存在至少一个间隔特征,将第四字符特征映射到第二参考特征之后的第三参考特征。
91.在一些实施例中,参数确定模块740包括:第一损失确定模块,被配置为如果预测特征序列中表示训练图像中字符的预测特征均被映射到相应的参考特征,并且参考特征序列中的参考特征均被映射有预测特征序列中的预测特征,基于相应预测特征和所映射到的参考特征之间的差异,确定第一损失函数;以及第一最小化模块,被配置为至少通过最小化第一损失函数,确定第一模型的参数。
92.在一些实施例中,参数确定模块740包括:识别结果获取模块,被配置为如果确定以下至少一项,基于预测特征序列,获取对训练图像中字符的识别结果:预测特征序列中存在未被映射到参考特征的表示训练图像中字符的预测特征,参考特征序列中存在未被映射有预测特征的参考特征;以及第二损失确定模块,被配置为基于识别结果与训练图像中的真实字符之间的差异,确定第二损失函数;以及第二最小化模块,被配置为通过最小化第二损失函数,确定第一模型的参数。
93.在一些实施例中,第一模型基于连接时序分类ctc架构,并且第二模型基于注意力架构。
94.图8示出了示出了其中可以实施本公开的一个或多个实施例的计算设备800的框图。应当理解,图8所示出的计算设备800仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图8所示出的计算设备800可以用于实现图1的计算设备150。
95.如图8所示,计算设备800是通用计算设备的形式。计算设备800的组件可以包括但不限于一个或多个处理器或处理单元810、存储器820、存储设备830、一个或多个通信单元840、一个或多个输入设备850以及一个或多个输出设备860。处理单元810可以是实际或虚拟处理器并且能够根据存储器820中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备800的并行处理能力。
96.计算设备800通常包括多个计算机存储介质。这样的介质可以是计算设备800可访问的任何可以获取的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器820可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备830可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备800内被访问。
97.计算设备800可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图8中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器820可以包括计算机程序产品825,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
98.通信单元840实现通过通信介质与其他计算设备进行通信。附加地,计算设备800的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备800可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
99.输入设备850可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备860可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备800还可以根据需要通过通信单元840与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备800交互的设备进行通信,或者与使得计算设备800与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
100.根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
101.这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
102.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
103.可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
104.附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
105.以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
技术特征:1.一种用于识别图像中字符的方法,包括:基于训练图像,根据被配置为识别图像中字符的第一模型,生成预测特征序列;基于所述训练图像,根据被配置为识别图像中字符的第二模型,生成参考特征序列,所述第二模型与所述第一模型基于不同的架构;基于预测特征在所述预测特征序列中的位置和参考特征在所述参考特征序列中的位置,将所述预测特征映射到所述参考特征序列中潜在表示相同字符的参考特征;以及基于所述映射的结果,确定所述第一模型的参数。2.根据权利要求1所述的方法,其中所述预测特征序列包括表示所述训练图像中字符的字符特征和表示字符间隔的间隔特征,并且将所述预测特征映射到所述参考特征序列中潜在表示相同字符的参考特征包括:基于所述字符特征与所述间隔特征在所述预测特征序列中的相对位置、以及所述参考特征在所述参考特征序列中的位置,将所述字符特征映射到所述参考特征序列中的参考特征。3.根据权利要求2所述的方法,其中将所述字符特征映射到所述参考特征序列中的参考特征包括:将所述预测特征序列中的第一字符特征映射到所述参考特征序列中的第一参考特征;以及如果在所述第一字符特征之后的第二字符特征与所述第一字符特征之间不存在间隔特征,将所述第二字符特征映射到所述第一参考特征。4.根据权利要求2所述的方法,其中将所述字符特征映射到所述参考特征序列中的参考特征包括:将所述预测特征序列中的第三字符特征映射到所述参考特征序列中的第二参考特征;以及如果在所述第三字符特征之后的第四字符特征与所述第三字符特征之间存在至少一个间隔特征,将所述第四字符特征映射到所述第二参考特征之后的第三参考特征。5.根据权利要求1所述的方法,其中确定所述第一模型的参数包括:如果所述预测特征序列中表示所述训练图像中字符的预测特征均被映射到相应的参考特征,并且所述参考特征序列中的参考特征均被映射有所述预测特征序列中的预测特征,基于相应预测特征和所映射到的参考特征之间的差异,确定第一损失函数;以及至少通过最小化所述第一损失函数,确定所述第一模型的参数。6.根据权利要求1所述的方法,其中确定所述第一模型的参数包括:如果确定以下至少一项,基于所述预测特征序列,获取对所述训练图像中字符的识别结果:所述预测特征序列中存在未被映射到参考特征的表示所述训练图像中字符的预测特征,所述参考特征序列中存在未被映射有预测特征的参考特征;以及基于所述识别结果与所述训练图像中的真实字符之间的差异,确定第二损失函数;以及通过最小化所述第二损失函数,确定所述第一模型的参数。
7.根据权利要求1所述的方法,其中所述第一模型基于连接时序分类ctc架构,并且所述第二模型基于注意力架构。8.一种用于识别图像中字符的装置,包括:预测特征生成模块,被配置为基于训练图像,根据被配置为识别图像中字符的第一模型,生成预测特征序列;参考特征生成模块,被配置为基于所述训练图像,根据被配置为识别图像中字符的第二模型,生成参考特征序列,所述第二模型与所述第一模型基于不同的架构;特征映射模块,被配置为基于预测特征在所述预测特征序列中的位置和参考特征在所述参考特征序列中的位置,将所述预测特征映射到所述参考特征序列中潜在表示相同字符的参考特征;以及参数确定模块,被配置为基于所述映射的结果,确定所述第一模型的参数。9.根据权利要求8所述的装置,其中所述预测特征序列包括表示所述训练图像中字符的字符特征和表示字符间隔的间隔特征,并且所述特征映射模块包括:字符特征处理模块,被配置为基于所述字符特征与所述间隔特征在所述预测特征序列中的相对位置、以及所述参考特征在所述参考特征序列中的位置,将所述字符特征映射到所述参考特征序列中的参考特征。10.根据权利要求9所述的装置,其中所述字符特征处理模块进一步被配置为:将所述预测特征序列中的第一字符特征映射到所述参考特征序列中的第一参考特征;以及如果在所述第一字符特征之后的第二字符特征与所述第一字符特征之间不存在间隔特征,将所述第二字符特征映射到所述第一参考特征。11.根据权利要求9所述的装置,其中所述字符特征处理模块进一步被配置为:将所述预测特征序列中的第三字符特征映射到所述参考特征序列中的第二参考特征;以及如果在所述第三字符特征之后的第四字符特征与所述第三字符特征之间存在至少一个间隔特征,将所述第四字符特征映射到所述第二参考特征之后的第三参考特征。12.根据权利要求8所述的装置,其中所述参数确定模块包括:第一损失确定模块,被配置为如果所述预测特征序列中表示所述训练图像中字符的预测特征均被映射到相应的参考特征,并且所述参考特征序列中的参考特征均被映射有所述预测特征序列中的预测特征,基于相应预测特征和所映射到的参考特征之间的差异,确定第一损失函数;以及第一最小化模块,被配置为至少通过最小化所述第一损失函数,确定所述第一模型的参数。13.根据权利要求8所述的装置,其中所述参数确定模块包括:识别结果获取模块,被配置为如果确定以下至少一项,基于所述预测特征序列,获取对所述训练图像中字符的识别结果:所述预测特征序列中存在未被映射到参考特征的表示所述训练图像中字符的预测特征,所述参考特征序列中存在未被映射有预测特征的参考特征;以及
第二损失确定模块,被配置为基于所述识别结果与所述训练图像中的真实字符之间的差异,确定第二损失函数;以及第二最小化模块,被配置为通过最小化所述第二损失函数,确定所述第一模型的参数。14.根据权利要求8所述的装置,其中所述第一模型基于连接时序分类ctc架构,并且所述第二模型基于注意力架构。15.一种电子设备,包括:至少一个处理单元;以及至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述电子设备执行根据权利要求1至7中任一项所述的方法。16.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可由处理器执行以实现根据权利要求1至7中任一项所述的方法。
技术总结根据本公开的实施例,提供了用于识别图像中字符的方法、装置、设备和存储介质。该方法包括基于训练图像,根据被配置为识别图像中字符的第一模型和第二模型,分别生成预测特征序列和参考特征序列,第二模型与第一模型基于不同的架构。该方法还包括基于预测特征在预测特征序列中的位置和参考特征在参考特征序列中的位置,将预测特征映射到参考特征序列中潜在表示相同字符的参考特征。该方法进一步包括基于映射的结果,确定第一模型的参数。由此,原本轻量但准确度不高的架构可以学习准确度高的架构。以此方式,可以获得高效且准确的字符识别模型。模型。模型。
技术研发人员:蔡悦 黄灿
受保护的技术使用者:抖音视界(北京)有限公司
技术研发日:2022.07.11
技术公布日:2022/11/1