掌桥专利:专业的专利平台
掌桥专利
首页

字符识别及神经网络训练方法和装置

文献发布时间:2023-06-19 12:19:35


字符识别及神经网络训练方法和装置

技术领域

本公开涉及字符识别技术领域,尤其涉及字符识别及神经网络训练方法和装置。

背景技术

字符识别是计算机视觉领域的重要研究方向,有着广泛的应用场景。以对水平方向排列的字符进行识别为例,相关技术中的字符识别方式需要利用循环神经网络提取出图像特征之间在水平方向上的联系,从而使提取的特征能够包含更多有效信息,以提高字符识别的准确性。然而,循环神经网络处理过程中的耗时较长,导致字符识别的效率较低。

发明内容

本公开提供一种字符识别及神经网络训练方法和装置、神经网络。

根据本公开实施例的第一方面,提供一种字符识别方法,所述方法包括:通过目标神经网络的卷积神经网络对目标图像进行特征提取,得到所述目标图像的特征序列;通过所述目标神经网络的分类器对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别;基于所述目标图像的特征序列对应的字符的类别对所述目标图像进行字符识别;其中,所述卷积神经网络的超参数基于所述目标神经网络的约束条件,从多组候选超参数中选取。

在一些实施例中,所述对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别,包括:对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符;对所述非空白符进行第二分类,以确定所述非空白符的类别。

在一些实施例中,所述对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符,包括:确定所述目标图像的特征序列对应的字符属于非空白符的概率;将概率大于预设概率阈值的字符确定为非空白符。

在一些实施例中,所述方法还包括:从所述超参数的搜索空间中搜索候选超参数;基于所述候选超参数建立初始候选卷积神经网络;对包括所述初始候选卷积神经网络以及初始分类器的初始候选神经网络进行训练,得到候选神经网络,所述候选神经网络包括候选卷积神经网络和候选分类器;在所述候选神经网络满足所述约束条件的情况下,将所述候选卷积神经网络确定为所述目标神经网络的卷积神经网络,并将所述候选分类器确定为所述目标神经网络的分类器。

在一些实施例中,所述分类器包括第一子分类器,用于对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符,以及第二子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述对包括所述初始候选卷积神经网络以及初始分类器的初始候选神经网络进行训练,包括:基于第一样本图像对包括所述初始候选卷积神经网络和初始第二子分类器的初始候选神经网络进行第一训练,得到包括所述候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间候选神经网络;固定所述中间候选神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

在一些实施例中,所述约束条件包括所述目标神经网络进行字符识别的时长上限,所述方法还包括:获取所述候选神经网络对测试图像进行字符识别所花费的时长;在所述时长小于所述时长上限的情况下,确定所述候选神经网络满足所述约束条件。

在一些实施例中,所述约束条件包括所述目标神经网络进行字符识别的准确度下限;所述方法还包括:获取所述候选神经网络对测试图像进行字符识别的识别准确度;在所述识别准确度高于所述准确度下限的情况下,确定所述候选神经网络满足所述约束条件。

在一些实施例中,所述超参数包括以下至少一者:所述卷积神经网络的深度、通道数、卷积核的尺寸、下采样次数、下采样方式、所述卷积神经网络中进行下采样的网络层所处的位置、输入所述卷积神经网络的目标图像的分辨率。

根据本公开实施例的第二方面,提供一种神经网络训练方法,所述方法包括:采用样本图像,分别对多个初始候选神经网络中的每个初始候选神经网络进行训练,得到多个候选神经网络,每个初始候选神经网络包括:初始候选卷积神经网络,用于对所述样本图像进行特征提取,得到所述样本图像的特征序列;各个初始候选卷积神经网络的超参数至少部分不同;初始分类器,用于对所述样本图像的特征序列对应的字符进行分类,得到所述样本图像的特征序列对应的字符的类别,所述样本图像的特征序列对应的字符的类别用于对所述样本图像进行字符识别;从所述多个候选神经网络中筛选出满足约束条件的目标神经网络。

在一些实施例中,所述初始分类器包括第一初始子分类器,用于对所述样本图像的特征序列对应的字符进行第一分类,以确定所述样本图像的特征序列对应的字符中的非空白符,以及第二初始子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述采用样本图像,分别对多个初始候选神经网络中的每个初始候选神经网络进行训练,包括:基于第一样本图像对所述初始候选卷积神经网络和初始第二子分类器进行第一训练,得到包括候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间神经网络;固定所述中间神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

根据本公开实施例的第三方面,提供一种神经网络,所述神经网络包括:卷积神经网络,用于对目标图像进行特征提取,得到所述目标图像的特征序列;以及分类器,用于对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别,所述目标图像的特征序列对应的字符的类别用于对所述目标图像进行字符识别;其中,所述卷积神经网络的超参数基于所述神经网络的约束条件,从多组候选超参数中选取。

根据本公开实施例的第四方面,提供一种字符识别装置,所述装置包括:特征提取模块,用于通过目标神经网络的卷积神经网络对目标图像进行特征提取,得到所述目标图像的特征序列;分类模块,用于通过所述目标神经网络的分类器对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别;识别模块,用于基于所述目标图像的特征序列对应的字符的类别对所述目标图像进行字符识别;其中,所述卷积神经网络的超参数基于所述目标神经网络的约束条件,从多组候选超参数中选取。

在一些实施例中,所述分类模块包括:第一分类单元,用于对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符;第二分类单元,用于对所述非空白符进行第二分类,以确定所述非空白符的类别。

在一些实施例中,所述第一分类单元包括:概率确定子单元,用于确定所述目标图像的特征序列对应的字符属于非空白符的概率;分类子单元,用于将概率大于预设概率阈值的字符确定为非空白符。

在一些实施例中,所述装置还包括:搜索模块,用于从所述超参数的搜索空间中搜索候选超参数;网络建立模块,用于基于所述候选超参数建立初始候选卷积神经网络;训练模块,用于对包括所述初始候选卷积神经网络以及初始分类器的初始候选神经网络进行训练,得到候选神经网络,所述候选神经网络包括候选卷积神经网络和候选分类器;第一确定模块,用于在所述候选神经网络满足所述约束条件的情况下,将所述候选卷积神经网络确定为所述目标神经网络的卷积神经网络,并将所述候选分类器确定为所述目标神经网络的分类器。

在一些实施例中,所述分类器包括第一子分类器,用于对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符,以及第二子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述训练模块包括:第一训练单元,用于基于第一样本图像对包括所述初始候选卷积神经网络和初始第二子分类器的初始候选神经网络进行第一训练,得到包括所述候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间候选神经网络;第二训练单元,用于固定所述中间候选神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

在一些实施例中,所述约束条件包括所述目标神经网络进行字符识别的时长上限,所述装置还包括:第一获取模块,用于获取所述候选神经网络对测试图像进行字符识别所花费的时长;第二确定模块,用于在所述时长小于所述时长上限的情况下,确定所述候选神经网络满足所述约束条件。

在一些实施例中,所述约束条件包括所述目标神经网络进行字符识别的准确度下限;所述装置还包括:第二获取模块,用于获取所述候选神经网络对测试图像进行字符识别的识别准确度;第三确定模块,用于在所述识别准确度高于所述准确度下限的情况下,确定所述候选神经网络满足所述约束条件。

在一些实施例中,所述超参数包括以下至少一者:所述卷积神经网络的深度、通道数、卷积核的尺寸、下采样次数、下采样方式、所述卷积神经网络中进行下采样的网络层所处的位置、输入所述卷积神经网络的目标图像的分辨率。

根据本公开实施例的第五方面,提供一种神经网络训练装置,所述装置包括:训练模块,用于采用样本图像,分别对多个初始候选神经网络中的每个初始候选神经网络进行训练,得到多个候选神经网络,每个初始候选神经网络包括:初始候选卷积神经网络,用于对所述样本图像进行特征提取,得到所述样本图像的特征序列;各个初始候选卷积神经网络的超参数至少部分不同;初始分类器,用于对所述样本图像的特征序列对应的字符进行分类,得到所述样本图像的特征序列对应的字符的类别,所述样本图像的特征序列对应的字符的类别用于对所述样本图像进行字符识别;筛选模块,用于从所述多个候选神经网络中筛选出满足约束条件的目标神经网络。

在一些实施例中,所述初始分类器包括第一初始子分类器,用于对所述样本图像的特征序列对应的字符进行第一分类,以确定所述样本图像的特征序列对应的字符中的非空白符,以及第二初始子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述训练模块包括:第一训练单元,用于基于第一样本图像对所述初始候选卷积神经网络和初始第二子分类器进行第一训练,得到包括候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间神经网络;第二训练单元,用于固定所述中间神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。

根据本公开实施例的第七方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。

本公开实施例采用卷积神经网络和分类器来从目标图像中识别出字符,一方面,由于无需采用循环神经网络,从而提高了字符识别效率;另一方面,通过从多组候选超参数中选取较优的超参数来建立卷积神经网络,以保证卷积神经网络的感受野,使提取的特征能够包含更多有效信息。因此包括该卷积神经网络和分类器的目标神经网络总体上能够满足预设的约束条件,从而使目标神经网络能够获得较高的字符识别准确度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。

图1是相关技术中用于进行字符识别的神经网络的示意图。

图2是本公开实施例的字符识别方法的流程图。

图3是相关技术中字符识别的总体流程的示意图。

图4是本公开实施例的分类器的分类方式的示意图。

图5是本公开实施例的二阶段训练方式的示意图。

图6是本公开实施例的神经网络训练方法的流程图。

图7是本公开实施例的神经网络的示意图。

图8是本公开实施例的字符识别装置的框图。

图9是本公开实施例的神经网络训练装置的框图。

图10是本公开实施例的计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。

字符识别一般是指从图像中识别出字符,所述字符可包括文字(例如,数字、汉字、英文字母等)以及符号(例如,算数运算符号、逻辑运算符号等)。相关技术中一般通过神经网络进行字符识别,一种用于进行字符识别的神经网络如图1所示,可包括卷积神经网络101、循环神经网络102、分类器103以及解码器104。其中,卷积神经网络101用于从图像中提取特征,得到特征序列,循环神经网络102用于对特征序列进行编码,分类器103用于对编码后的特征序列进行分类,解码器用于对分类器103的分类结果进行解码,以识别出图像中的字符。然而,循环神经网络处理过程中的耗时较长,导致字符识别的效率较低。

基于此,本公开实施例提供一种字符识别方法,如图2所示,所述方法包括:

步骤201:通过目标神经网络的卷积神经网络对目标图像进行特征提取,得到所述目标图像的特征序列;

步骤202:通过所述目标神经网络的分类器对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别;

步骤203:基于所述目标图像的特征序列对应的字符的类别对所述目标图像进行字符识别;

其中,所述卷积神经网络的超参数基于所述目标神经网络的约束条件,从多组候选超参数中选取。

在步骤201中,目标图像可以是包括字符的图像。例如,是从真实场景中采集到的广告牌、证件等对象的图像,通过屏幕录制方式生成的图像,通过格式转换生成的图像,或者是通过其他方式生成的图像。目标图像中的字符可以是手写体、打印体等各种字体的字符,本公开对此不做限制。所述字符可以包括数字、汉字、假名、符号等中的至少一者。目标图像中可以包括一个或多个字符,所述多个字符可以规则或者不规则地排列在目标图像上,例如,可以沿着水平方向排列在目标图像上。

可以对目标图像进行特征提取,得到特征图F1。假设特征图F1的尺寸为32×512×128,即包括32行,512列,128个通道,可以先对特征图进行下采样,例如,下采样后的特征图F2的尺寸为4×64×128。对于横向书写(即沿着水平方向排列在目标图像上)的字符,一般更关注于横向特征之间的关系,因此,可以在竖直方向上对下采样后的特征图F2进行池化处理(例如,最大池化处理或者平均池化处理等),得到1×64×128的特征图F3。将特征图F3中每个横向像素位置的各个通道的特征确定为一个特征序列,共得到64个128维的特征序列t。

在一些实施例中,可以基于包括所述卷积神经网络和所述分类器的整个目标神经网络的约束条件,为所述卷积神经网络确定超参数。所述卷积神经网络的超参数与所述卷积神经网络的感受野相关,通过合理地选取卷积神经网络的超参数,使卷积神经网络提取的特征能包含足够多的有效信息,从而使卷积神经网络能够替代循环神经网络的功能,进而从整个目标神经网络中去除掉循环神经网络,并使整个目标神经网络的性能与去掉循环神经网络之前的性能持平。

所述超参数可包括以下至少一者:所述卷积神经网络的深度、通道数、卷积核的尺寸、下采样次数、下采样方式、所述卷积神经网络中进行下采样的网络层所处的位置、输入所述卷积神经网络的目标图像的分辨率。其中,卷积神经网络的深度即卷积神经网络的层数,层数越多,卷积神经网络的特征提取能力越强,一次提取的特征能包含的有效信息越多,但特征提取所花费的时间也越长。卷积神经网络的通道数也称为卷积神经网络的宽度,通道数越多,卷积神经网络的感受野越大,一次提取的特征能包含的有效信息越多。卷积核的尺寸越大,卷积神经网络的感受野也越大。下采样方式可以包括带参数的下采样方式(例如,通过卷积处理的方式进行下采样)和不带参数的下采样方式(例如,通过池化处理的方式进行下采样)。卷积神经网络中进行下采样的网络层所处的位置,即在卷积神经网络中的哪几层进行下采样,也即是下采样的时机。下采样的时机较早,能够降低字符识别过程中的计算量,但也会导致特征提取不够充分;相对地,下采样的时机较晚,则能够充分地提取出特征,但会增加计算量。因此,需要合理地选取卷积神经网络的超参数,从而既保证卷积神经网络的感受野,以便提取的特征能包含足够多的有效信息,又使整个目标神经网络能够满足一定的约束条件。所述约束条件可以包括以下至少一者:所述目标神经网络进行字符识别的时长上限;所述目标神经网络进行字符识别的准确度下限。输入所述卷积神经网络的目标图像的分辨率越高,一次特征提取所获得的有效信息也越多。

所述超参数可以从多组候选超参数中选取,例如,可以通过网格搜索的方式搜索得到,先定义每种超参数的搜索空间以及搜索步长,例如,定义卷积神经网络的深度的搜索空间为N1到N2,定义卷积神经网络的通道数的搜索空间为C1到C2,定义下采样次数的搜索空间为3次到8次。然后,搜索各种超参数的组合方式,例如,组合方案1为{卷积神经网络的深度为N1,通道数为C1,下采样次数为3次},组合方案2为{卷积神经网络的深度为N1,通道数为C1,下采样次数为4次},等等。可以先确定多个组合方案,再从多个组合方案中选取使整个目标神经网络符合约束条件的组合方案。或者,可以每次选取一个组合方案,再确定该组合方案是否能够使整个目标神经网络符合约束条件,如果不能,则继续搜索,如果能,则停止搜索。或者,可以遍历所有的组合方案,从中选取使整个目标神经网络符合约束条件的最优组合方案。

一种组合方案对应的超参数称为一组候选超参数,可以基于该候选超参数建立初始候选卷积神经网络,对包括所述初始候选卷积神经网络以及初始分类器的初始候选神经网络进行训练,得到包括候选卷积神经网络和所述分类器的候选神经网络,再确定该候选神经网络是否符合约束条件。例如,可以基于测试图像对所述候选神经网络进行测试,以确定所述候选神经网络是否满足所述约束条件。例如,在所述时长小于所述时长上限的情况下,确定所述候选神经网络满足所述约束条件。或者,在所述识别准确度高于所述准确度下限的情况下,确定所述候选神经网络满足所述约束条件。或者,在所述时长小于所述时长上限,且所述识别准确度高于所述准确度下限的情况下,确定所述候选神经网络满足所述约束条件。

在步骤202中,可以采用一个由全连接层构成的分类器对各个特征序列t对应的字符进行分类。当然,分类器的类型也可以是其他类型,本公开对此不做限制。每个字符对应一个类别,例如,汉字“你”对应类别1,“好”对应类别2,数字“1”对应类别3,数字“2”对应类别4,符号“+”对应类别5,等等。

相关技术中,由于解码后得到的字符序列与解码前的特征序列之间没有显式的对齐关系,例如,假设特征序列t的维度为5,包括t0到t4这5个特征,解码出的字符序列为“al”,则解码后的字符序列的长度为2,无法与特征序列对齐。为了解决该问题,会将多个像素位置处的特征识别为相同的字符,例如,将上述特征序列识别为“aaall”或者“aalll”等包括多个连续的重复字符的字符序列。然而,上述方式无法识别出字符中原本就包括重复的两个或两个以上字符的情况,例如,英文单词“hello”中的两个“l”,或者成语“沾沾自喜”中的两个“沾”。为了解决上述情况,可以在字符之间插入空白符,空白符是一种特殊的字符,用来插入到字符之间。假设用符号“-”表示空白符,则可以在字符序列“al”的“a”之前、“l”之后以及“a”和/或“l”之间插入若干个空白符,例如,得到字符序列“--aaa---ll-”。然后,再通过CTC解码对字符序列中重复的字符进行合并,得到合并后的字符序列“-a-l-”,并从合并后的字符中去掉空白符,得到字符序列“al”,上述过程如图3所示。

在实际应用中,一个字符序列中的大部分字符都是空白符,只有少数字符是目标图像中的字符。然而,在进行CTC解码时,并不区分空白符和非空白符,而是对字符序列中的所有字符按照同样的方式进行分类。以汉字识别过程为例,汉字的数量约为2万个,每对一个字符进行分类,都需要从这2万个字符中确定出待分类的字符的类别。因此,上述字符分类过程的效率较低。

为了解决上述问题,如图4所示,本公开实施例先对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符;对所述非空白符进行第二分类,以确定所述非空白符的类别。上述过程先进行一个二分类,以区分出空白符和非空白符,再对非空白符进行两万类别的分类,而空白符则不需要进行分类。由于空白符无需进行分类,因此,有效提高了分类过程的效率。

在进行空白符和非空白符的二分类时,可以确定所述目标图像的特征序列对应的字符属于非空白符的概率;将概率大于预设概率阈值的字符确定为非空白符。由于二分类所花费的时间较短,因此,上述过程能够有效提高字符分类效率,节省字符分类过程的耗时。

进一步地,在以目标神经网络进行字符识别的时长上限作为约束条件的情况下,由于在分类过程中的耗时减少了,因此,可以将更多的时间分配给卷积神经网络,从而使卷积神经网络能够采用更优的参数(例如,更大的深度、更多的通道数)来保证特征提取能力,从而进一步提高了字符识别的准确性。

上述过程可以采用两个子分类器实现,其中,第一子分类器用于进行所述第一分类,第二子分类器用于进行所述第二分类。在这种情况下,可以采用二阶段训练方式对包括所述初始候选卷积神经网络以及初始分类器的初始候选神经网络进行训练。具体而言,如图5所示,训练前的初始候选神经网络包括初始候选卷积神经网络、初始分类器和CTC解码器,其中,初始分类器包括初始第一子分类器和初始第二子分类器,CTC解码器是一个无参数的解码器,无需优化。首先,可以固定初始第一子分类器的网络参数,对初始候选卷积神经网络和初始第二子分类器的初始候选神经网络进行第一训练,得到包括所述候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间候选神经网络。然后,固定所述中间候选神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

可以对各个初始候选神经网络均采用上述方式进行训练,分别得到各个初始候选神经网络对应的候选神经网络,然后从各个候选神经网络中确定满足约束条件的目标神经网络,被选择的候选神经网络中的候选卷积神经网络、候选第一子分类器和候选第二子分类器即分别为目标神经网络中的卷积神经网络、第一子分类器和第二子分类器。

在第一训练过程中,可以采用带标注信息的样本图像,该标注信息可以预先通过人工方式或者其他方式标定,标注信息用于确定样本图像中字符的真实值(groundtruth),包括用于指示空白符的标注信息以及用于指示非空白符的字符类别的标注信息。在该训练阶段,无需训练用于二分类的第一子分类器。经过第一训练,第二子分类器可以对空白符和非空白符的具体字符类别进行分类。在第二训练过程中,采用第二子分类器的输出结果(空白符/非空白符的概率)作为监督信息,训练第一子分类器。

整个字符识别过程的输入输出如下:

(1)特征提取

输入:待识别的文字图像;

输出:特征序列。

为了提高模型的推理速度,以MobileNet等轻量级网络为基础进行设计,对卷积神经网络的深度、宽度以及下采样策略等超参数进行精细的搜索,得到速度和精度最优的神经网络。

(2)空白符预测

输入:特征序列;

输出:序列中每个位置处为空白符的概率。

使用类别数为2的线性分类器对特征序列中每个位置处是否为空白符进行预测。

(3)非空白符分类

输入:特征序列、序列中每个位置处为空白符的概率;

输出:序列中非空白符的字符分类置信度。

根据序列中每个位置处为空白符的概率,取出序列中非空白符位置的特征向量,使用全连接层进行字符分类。

(4)CTC解码

输入:序列中每个位置处为空白符的概率、序列中非空白符的字符分类置信度;

输出:预测字符串。

根据序列中每个位置处为空白符的概率以及序列中非空白符的字符分类置信度,复原特征序列的字符分类置信度,并使用CTC解码。

如图6所示,本公开实施例还提供一种神经网络训练方法,所述方法包括:

步骤601:采用样本图像,分别对多个初始候选神经网络中的每个初始候选神经网络进行训练,得到多个候选神经网络,每个初始候选神经网络包括:

初始候选卷积神经网络,用于对所述样本图像进行特征提取,得到所述样本图像的特征序列;各个初始候选卷积神经网络的超参数至少部分不同;

初始分类器,用于对所述样本图像的特征序列对应的字符进行分类,得到所述样本图像的特征序列对应的字符的类别,所述样本图像的特征序列对应的字符的类别用于对所述样本图像进行字符识别;

步骤602:从所述多个候选神经网络中筛选出满足约束条件的神经网络。

在一些实施例中,所述初始分类器包括第一初始子分类器,用于对所述样本图像的特征序列对应的字符进行第一分类,以确定所述样本图像的特征序列对应的字符中的非空白符,以及第二初始子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述采用样本图像,分别对多个初始候选神经网络中的每个初始候选神经网络进行训练,包括:基于第一样本图像对所述初始候选卷积神经网络和初始第二子分类器进行第一训练,得到包括候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间神经网络;固定所述中间神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

如图7所示,本公开实施例还提供一种神经网络,所述神经网络包括:

卷积神经网络701,用于对目标图像进行特征提取,得到所述目标图像的特征序列;以及

分类器702,用于对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别,所述目标图像的特征序列对应的字符的类别用于对所述目标图像进行字符识别;

其中,所述卷积神经网络701的超参数基于所述神经网络的约束条件,从多组候选超参数中选取。

在一些实施例中,分类器702包括第一子分类器7021,用于对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符;以及第二子分类器7022,用于对所述非空白符进行第二分类,以确定所述非空白符的类别。

本公开实施例的神经网络可采用上述任一实施例中所述的神经网络训练方法训练得到。训练后的神经网络可以用于执行前述任一实施例所述的字符识别方法。

在一些实施例中,所述神经网络还可以包括解码器703,解码器703是一个无参数的功能模块,可采用CTC解码方式进行解码。

如图8所示,本公开实施例还提供一种字符识别装置,所述装置包括:

特征提取模块801,用于通过目标神经网络的卷积神经网络对目标图像进行特征提取,得到所述目标图像的特征序列;

分类模块802,用于通过所述目标神经网络的分类器对所述目标图像的特征序列对应的字符进行分类,得到所述目标图像的特征序列对应的字符的类别;

识别模块803,用于基于所述目标图像的特征序列对应的字符的类别对所述目标图像进行字符识别;

其中,所述卷积神经网络的超参数基于所述目标神经网络的约束条件,从多组候选超参数中选取。

在一些实施例中,所述分类模块包括:第一分类单元,用于对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符;第二分类单元,用于对所述非空白符进行第二分类,以确定所述非空白符的类别。

在一些实施例中,所述第一分类单元包括:概率确定子单元,用于确定所述目标图像的特征序列对应的字符属于非空白符的概率;分类子单元,用于将概率大于预设概率阈值的字符确定为非空白符。

在一些实施例中,所述装置还包括:搜索模块,用于从所述超参数的搜索空间中搜索候选超参数;网络建立模块,用于基于所述候选超参数建立初始候选卷积神经网络;训练模块,用于对包括所述初始候选卷积神经网络以及初始分类器的初始候选神经网络进行训练,得到候选神经网络,所述候选神经网络包括候选卷积神经网络和候选分类器;第一确定模块,用于在所述候选神经网络满足所述约束条件的情况下,将所述候选卷积神经网络确定为所述目标神经网络的卷积神经网络,并将所述候选分类器确定为所述目标神经网络的分类器。

在一些实施例中,所述分类器包括第一子分类器,用于对所述目标图像的特征序列对应的字符进行第一分类,以确定所述目标图像的特征序列对应的字符中的非空白符,以及第二子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述训练模块包括:第一训练单元,用于基于第一样本图像对包括所述初始候选卷积神经网络和初始第二子分类器的初始候选神经网络进行第一训练,得到包括所述候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间候选神经网络;第二训练单元,用于固定所述中间候选神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

在一些实施例中,所述约束条件包括所述目标神经网络进行字符识别的时长上限,所述装置还包括:第一获取模块,用于获取所述候选神经网络对测试图像进行字符识别所花费的时长;第二确定模块,用于在所述时长小于所述时长上限的情况下,确定所述候选神经网络满足所述约束条件。

在一些实施例中,所述约束条件包括所述目标神经网络进行字符识别的准确度下限;所述装置还包括:第二获取模块,用于获取所述候选神经网络对测试图像进行字符识别的识别准确度;第三确定模块,用于在所述识别准确度高于所述准确度下限的情况下,确定所述候选神经网络满足所述约束条件。

在一些实施例中,所述超参数包括以下至少一者:所述卷积神经网络的深度、通道数、卷积核的尺寸、下采样次数、下采样方式、所述卷积神经网络中进行下采样的网络层所处的位置、输入所述卷积神经网络的目标图像的分辨率。

如图9所示,本公开实施例还提供一种神经网络训练装置,所述装置包括:

训练模块901,用于采用样本图像,分别对多个初始候选神经网络中的每个初始候选神经网络进行训练,得到多个候选神经网络,每个初始候选神经网络包括:

初始候选卷积神经网络,用于对所述样本图像进行特征提取,得到所述样本图像的特征序列;各个初始候选卷积神经网络的超参数至少部分不同;

初始分类器,用于对所述样本图像的特征序列对应的字符进行分类,得到所述样本图像的特征序列对应的字符的类别,所述样本图像的特征序列对应的字符的类别用于对所述样本图像进行字符识别;

筛选模块902,用于从所述多个候选神经网络中筛选出满足约束条件的神经网络。

在一些实施例中,所述初始分类器包括第一初始子分类器,用于对所述样本图像的特征序列对应的字符进行第一分类,以确定所述样本图像的特征序列对应的字符中的非空白符,以及第二初始子分类器,用于对所述非空白符进行第二分类,以确定所述非空白符的类别;所述训练模块包括:第一训练单元,用于基于第一样本图像对所述初始候选卷积神经网络和初始第二子分类器进行第一训练,得到包括候选卷积神经网络、初始第一子分类器和候选第二子分类器的中间神经网络;第二训练单元,用于固定所述中间神经网络中所述候选卷积神经网络和所述候选第二子分类器的网络参数,将所述候选第二子分类器的输出结果作为监督信息,并基于第二样本图像对所述初始第一子分类器进行第二训练,得到包括所述候选卷积神经网络、候选第一子分类器和所述候选第二子分类器的所述候选神经网络。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。

图10示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1001、存储器1002、输入/输出接口1003、通信接口1004和总线1005。其中处理器1001、存储器1002、输入/输出接口1003和通信接口1004通过总线1005实现彼此之间在设备内部的通信连接。

处理器1001可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器1001还可以包括显卡,所述显卡可以是Nvidia titan X显卡或者1080Ti显卡等。

存储器1002可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1002可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1002中,并由处理器1001来调用执行。

输入/输出接口1003用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入模块可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出模块可以包括显示器、扬声器、振动器、指示灯等。

通信接口1004用于连接通信模块(图中未示出),以向其他设备的通信模块发送本设备的信息,或者接收其他设备的通信模块发送的信息。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1005包括一通路,在设备的各个组件(例如处理器1001、存储器1002、输入/输出接口1003和通信接口1004)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1001、存储器1002、输入/输出接口1003、通信接口1004以及总线1005,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

相关技术
  • 字符识别及神经网络训练方法和装置
  • 字符识别模型的训练方法及装置、字符识别方法及装置
技术分类

06120113254811