文字识别模型的训练方法、文字识别方法和设备、电子设备及介质与流程

文档序号:29963696发布日期:2022-05-11 09:46阅读:171来源:国知局
文字识别模型的训练方法、文字识别方法和设备、电子设备及介质与流程

1.本技术涉及文字识别技术领域,特别是涉及一种文字识别模型的训练方法、文字识别方法和设备、电子设备及介质。


背景技术:

2.通常,随着人们对产品设备使用的各种需求的提升,在使用产品设备进行文字识别时,用户往往希望能够既保持产品设备识别文字的及时性,又保持产品设备识别文字的准确性。
3.光学字符识别(optical character recognition,ocr)已经成为人工智能领域中比较重要的技术之一,基于ocr技术对通用场景进行文字识别具有重要意义。通用场景下文本识别准确率与数据样本容量相关,大多数场景都是通过智能手机、相机等设备拍摄得到的。
4.目前,在对获取的图像上的文本进行识别的过程中,由于对场景文本的筛选,将一些困难的文字样本进行滤除,使得获取的文字样本进一步减少,并且文本中文字或字符之间往往并不存在规律性的语义信息,无法对场景文字中的编号进行语义建模,并且现实场景中往往需要大量的人工标注,导致各个场景中,文本的识别比较局限,容易出现误识别,并且鲁棒性差,泛化能力差。


技术实现要素:

5.为解决上述技术问题,本技术第一方面采用的技术方案是提供一种文字识别模型的训练方法,该方法包括:获取有标签数据、无标签数据以及有标签数据和无标签数据的反馈联合损失,反馈联合损失基于所述有标签数据、所述无标签数据和损失函数计算得到;对无标签数据进行随机字符扰动增强,得到扰动后的无标签数据;利用有标签数据、反馈联合损失、扰动后的无标签数据对训练中的文字识别模型进行有监督联合半监督训练,直至损失函数收敛时,得到训练后的文字识别模型。
6.为解决上述技术问题,本技术第二方面采用的技术方案是提供一种识别设备,该识别设备包括:获取模块,用于获取有标签数据、无标签数据和以及有标签数据和无标签数据的反馈联合损失,反馈联合损失基于所述有标签数据、所述无标签数据和损失函数计算得到;扰动增强模块,用于对无标签数据进行随机字符扰动增强,得到扰动后的无标签数据;有监督训练模块,用于联合半监督训练模块,将有标签数据、反馈联合损失以及扰动后的无标签数据对训练中的文字识别模型进行有监督联合半监督训练,直至所述损失函数收敛时,得到训练后的文字识别模型。
7.为解决上述技术问题,本技术第三方面采用的技术方案是提供一种电子设备,该电子设备包括:处理器和存储器,存储器中存储有计算机程序,处理器用于执行计算机程序以实现如本技术第一方面的方法。
8.为解决上述技术问题,本技术第四方面采用的技术方案是提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序能够被处理器执行时实现本技术第一方面的方法。
9.本技术的有益效果是:本技术为实现准确识别通用场景的文字内容,设计了文字识别模型,对无标签数据进行扰动增强,并使用有标签数据、反馈联合损失以及扰动后的无标签数据对训练中的文字识别模型实现有监督联合半监督训练,从而提高文字识别模型在通用场景下的文本识别能力。
附图说明
10.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1是本技术文字识别模型的训练方法的流程示意图;
12.图2是本技术文字识别模型的训练方法一具体框架流程示意图;
13.图3是本技术图2中学生模型的一具体结构流程示意图;
14.图4是本技术图3中三分支残差块的结构流程示意图;
15.图5是本技术图1中步骤s12一具体实施例的流程示意图;
16.图6是图5中一具体随机字符扰动增强实施例的流程示意图;
17.图7是本技术图1中步骤s13一具体实施例的流程示意图;
18.图8是本技术文字识别设备实施例的结构示意框图;
19.图9是本技术电子设备实施例的结构示意框图;
20.图10是本技术计算机可读存储介质实施例的电路示意框图。
具体实施方式
21.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
22.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
23.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
24.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
25.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0026]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0027]
为了说明本技术的技术方案,下面通过具体实施例来进行说明本技术提供一种文字识别,该方法应用于文字识别模型,请参阅图1,图1是本技术文字识别模型的训练方法的流程示意图,该方法具体包括以下步骤:
[0028]
s11:获取有标签数据、无标签数据以及有标签数据和无标签数据的反馈联合损失;
[0029]
通常,输入文字识别模型的是各种场景的文本图像,若有人使用标签对文本图像进行样本标注,则可以确定文本图像和文本图像对应的标签统称为有标签数据,而仅有文本图像的则确定为无标签数据。
[0030]
现实场景中存在大量的无标签样本,针对文字识别模型,输入的则可以为有标签数据和无标签数据。如此,扩大了输入文字识别模型的样本范围,并且充分有效利用大量的无标签样本数据,与其他场景文本识别方法相比,可以达到更好的识别效果。
[0031]
本技术为实现准确识别通用场景的文字内容,设计了文字识别模型,该文字识别模型可以对标签数据和无标签数据进行处理,得到反馈联合损失,其中,反馈联合损失由反向传播过程得到,具体地,反馈联合损失是基于有标签数据、无标签数据和损失函数计算得到的,用于对文字识别模型进行反馈调整。
[0032]
s12:对无标签数据进行随机字符扰动增强,得到扰动后的无标签数据;
[0033]
通用场景下文本识别准确率与数据样本容量相关,在文字识别模型运行时,有时数据量太少,训练得到的结果不准确,此时可以对字符的数量进行随机扰动进行扩容,比如对字符进行一个范围的上下浮动或高斯扰动等方式,以增加字符的数据量。
[0034]
对于无标签样本,加入随机字符扰动增强,其目的是增加文本图像中文本字符串每个字符的多样性。通过加入随机字符扰动增强,可以让文字识别模型具备抗噪声的能力,提高文字识别模型运行的鲁棒性。
[0035]
s13:使用有标签数据、反馈联合损失以及扰动后的无标签数据对训练中的文字识别模型进行有监督联合半监督训练,直至损失函数收敛时,得到训练后的文字识别模型。
[0036]
具体地,一并将有标签数据、反馈联合损失以及扰动后的无标签数据输入训练中的文字识别模型,以对该训练中的文字识别模型进行有监督联合半监督训练,最终可以直至损失函数收敛时,得到训练后的文字识别模型。
[0037]
如此,在有标签样本数量有限的小样本条件下,可以高效利用无标签样本,设计一种基于半监督学习的通用场景文字识别方法,采用对应的文字识别模型运行该文字识别方法,得到准确的预测文本序列。
[0038]
因此,本技术为实现准确识别通用场景的文字内容,设计了文字识别模型,对无标签数据进行扰动增强,并使用有标签数据、反馈联合损失以及扰动后的无标签数据对训练中的文字识别模型实现有监督联合半监督训练,从而提高文字识别模型在通用场景下的文
本识别能力。
[0039]
更进一步地,训练中的文字识别模型包括训练中的学生模型和训练中的教师模型,请参阅图2,图2是本技术文字识别模型的训练方法一具体框架流程示意图,其整体架构包含了两个网络,训练中的学生模型与训练中的教师模型,这两个模型的网络结构框架是相同的,教师网络参数是通过学生网络计算得到的,学生网络的参数是通过损失函数梯度下降与反向传播更新得到的。
[0040]
如图2所示,在训练阶段将有标签数据与无标签数据联合起来输入到训练中的文字识别模型包含训练中的学生模型与训练中的教师模型内,对训练中的学生模型进行有监督训练,并且对于有标签数据进行联结时间分类损失训练(connectionist temporal classification loss,ctc),其中,ctc损失函数可以解决输入输出是否对齐的问题,避免逐个字符进行标注,只需要逐行标注样本即可。
[0041]
对于无标签样本进行均方误差损失训练,再通过合适的系数来平衡二者之间的重要性,其中这里合适的系数是指有均方差决定的监督权重,可人为预设。在训练刚开始时,学生模型与教师模型的均方误差损失的加权系数为0,需要有标签数据对学生模型进行有监督训练,得到一个识别效果较好的学生模型,随着训练的次数增加,均方误差损失的加权系数越来越大,充分有效利用大量的无标签样本数据,与其他场景文本识别方法相比,仅利用有限的标签样本数据就可以达到更好的识别效果。
[0042]
更进一步地,使用有标签数据、反馈联合损失以及扰动后的无标签数据对训练中的文字识别模型进行有监督联合半监督训练,具体包括:
[0043]
将反馈联合损失、有标签数据以及扰动后的无标签数据输入训练中的学生模型进行有监督联合半监督训练,得到第一预测值;将扰动后的无标签数据输入训练中的教师模型进行半监督训练,得到第二预测值。
[0044]
其中,教师模型的网络结构是通过学生模型拷贝的,学生模型参与有监督训练与半监督训练,教师模型只参与半监督训练。
[0045]
其中,对于学生模型,请参阅图3和图4,图3是本技术图2中学生模型的一具体结构流程示意图;图4是本技术图3中三分支残差块的结构流程示意图;
[0046]
更进一步地,学生模型的网络结构包括三分支残差块、池化层和循环神经网络(lstm)。
[0047]
其中,三分支残差块是在3*3卷积神经网络的基础上加入1*1卷积神经网络的残差结构与跨层连接的第一残差结构,三分支残差块用于独立表示文字序列特征,卷积神经网络用于获取场景文字的图像信息;如图4所示,输入分为三个分支,左边是直接跨层连接加权点形成的第一残差结构,中间是输入3*3卷积神经网络,右边是输入1*1卷积神经网络,三者加权后进行统一输出。
[0048]
循环神经网络对文字序列特征进行顺序信息建模,以学习到字符与字符之间的关系。
[0049]
由于残差结构具有多个分支,相当于在文字识别模型中增加了多条梯度流动的路径,其作用可以在复杂的通用文字场景中学习到更加独一无二的特征表示,解决深度文字识别模型的梯度消失与梯度爆炸等问题,加快文字识别模型收敛速度。
[0050]
更进一步地,图像信息包括场景文字图像的纹理、空间以及局部细节中的至少一
种。也即在场景文字识别中,卷积神经网络可以获取场景文字图像的纹理、空间、局部细节等信息,其中,空间是指位置信息,局部细节是指感受野;局部细节指的是卷积窗口获取文字图像的局部特征信息。
[0051]
更进一步地,为进一步优化场景文字识别模型的特征学习能力,在学生模型的最后一层卷积神经网络与第一层循环神经网络之间加入第二残差结构,用于联合卷积神经网络提取的文字序列特征,强化循环神经网络学习文字之间的语义信息,提高通用场景的文字识别能力。
[0052]
更进一步地,对无标签数据进行随机字符扰动增强,请参阅图5和图6,图5是本技术图1中步骤s12一具体实施例的流程示意图,图6是图5中一具体随机字符扰动增强实施例的流程示意图,具体包括以下步骤:
[0053]
s21:获取输入学生模型的文本图像作为无标签数据;
[0054]
对于无标签样本,加入随机字符扰动增强,其目的是增加图像中文本字符串每个字符的多样性,具体地,输入文本图像,其中,文本图像+标签成为有标签数据,仅有文本图像则为无标签数据。
[0055]
s22:将文本图像均分为n个图像子块,n为大于等于1的正整数;
[0056]
如图6所示,将文本图像平均分为n个图像子块,具体地,当n=4时表示有4个图像子块。
[0057]
s23:沿着文本图像的边界,将n个图像子块初始化形成2(n+1)个基准点,其中,每个基准点设置半径为r的范围圆,以圆的中心为初始原点;
[0058]
然后沿着图像的上下左右边界初始化为2(n+1)个基准点,每个基准点设置半径为r的范围圆,以圆的中心为初始原点。具体地,当有n=4个图像子块,则有2(n+1)=10个基准点,其中r可以人为预设,可以设为大于等于0,具体根据需求进行设置,此处不作限定。
[0059]
s24:对范围圆内的像素点按照高斯分布进行随机扰动,以改变所述无标签数据中的每个字符的形状和/或扭曲度。
[0060]
具体地,采用的高斯分布的公式如式(1):
[0061][0062]
其中μ为均值,σ为方差,x为像素点的横坐标,p(x)为像素点的纵坐标,本技术采用标准高斯分布,即μ=0,σ2=1时,公式如(2):
[0063][0064]
比如图6中每个字符均呈现不同程度的扭曲程度和不同的形状,但并不影响它所代表的语义信息,因此,通过加入随机字符扰动增强,可以让网络具备抗噪声的能力,鲁棒性更强。
[0065]
更进一步地,在对无标签数据进行随机字符扰动增强之前,方法还包括:对标签的进行编码预处理时,在重复字符之间插入预设字符,其中,预设字符不同于标签。
[0066]
具体地,由于文本图像中的字符通常可能有重复的字符,在识别文本模型进行训练的过程中,往往可以在在对无标签数据进行随机字符扰动增强之前,对对标签的进行编
码预处理时,在重复字符之间插入预设字符,比如重复字符之间加入空白符,当然其他字符也行,只要与标签不同就行。
[0067]
如此,在解码时通过在每个时间步选择最可能的字符计算最佳路径,删除重复字符,然后再从路径中删除所有特殊字符,剩下的即为已识别的文本。
[0068]
更进一步地,在将扰动后的无标签数据、有标签数据以及反馈联合损失进行有监督联合半监督训练之后,请参阅图7,图7是本技术图1中步骤s13一具体实施例的流程示意图,方法还包括:
[0069]
s31:提取有标签数据的标签;
[0070]
现实场景中,往往人为地逐个对字符进行样本标注,这些样本标注计时有标签数据的标签,通过将这些标签进行提取,可以在学生模型中,对有标签数据提供对比的标准,使得学生模型可以对有标签数据进行有监督训练。
[0071]
s32:对标签、第一预测值以及第二预测值输入损失函数进行损失计算;
[0072]
识别文字模型中设有损失函数,通过对输入的标签、第一预测值以及第二预测值进行损失计算,因此,可以得到预设损失结果,得到以使损失函数收敛,得到训练后的文字识别模型。
[0073]
s33:将得到的预设损失结果对应的第一预测值或第二预测值确定为预测文本序列。
[0074]
具体地,可以通过比对和选择,将得到的预设损失结果对应的第一预测值或第二预测值确定为预测文本序列,其中预设损失结果可以位最小损失结果,使得预测出的文本序列越接近真实文本序列。
[0075]
其中,预设损失结果对应的可能是第一预测值,也可能是第二预测值。
[0076]
更进一步地,损失函数包括有监督损失函数和无监督损失函数;有监督损失函数至少包括联结时间分类损失函数。
[0077]
对标签、第一预测值以及第二预测值输入损失函数进行损失计算,包括:
[0078]
调用有监督损失函数,对标签以及第一预测值进行拟合,得到联结时间分类损失值,以使联结时间分类损失函数收敛,得到训练后的学生模型。
[0079]
调用无监督损失函数,对第二预测值与第一预测值进行处理,得到均方误差损失值,以使无监督损失函数收敛,得到训练后的教师模型,第二预测值与第一预测值之间的差值小于预设差值,其中,损失值逼近于0,主要是保证教师模型的预测结果与学生网络的预测结果尽可能相似。
[0080]
其中,如图2所示,反馈联合损失是基于联结时间分类损失值和均方误差损失值的和确定的。
[0081]
更进一步地,方法还包括:利用损失函数梯度下降与优化器更新学生模型的参数,其中,学生模型参数通过损失函数梯度下降与反向传播得到,另外,教师模型的参数是通过学生模型的参数进行滑动平均函数更新得到,而且不需要存储所有历史训练结果。
[0082]
具体地,滑动平均函数公式如式(3):
[0083]
θ

t
=αθ

t-1
+(1-α)θ
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0084]
其中,α是滑动平均权重平衡系数,θ
t
是学生模型在t时刻的参数,θ

t-1
是教师模型在t-1时刻的参数,θ

t
是教师模型在t时刻的参数。
[0085]
更进一步地,利用损失函数梯度下降与优化器更新学生模型的参数,包括:在反向传播过程中,通过优化器的算法调整学生模型的网络结构中的卷积神经网络的权重和偏置项以及循环神经网络的权重和偏置项,以更新学生模型的参数,使得ctc损失越小,那么学生模型预测出的文本序列越接近真实文本序列。也即,联结时间分类损失值的大小与预测文本序的真实程度呈负相关。
[0086]
为了说明本技术的技术方案,本技术还提供一种文字识别方法,方法包括:获取文本图像;并调用上述的训练后的文字识别模型,对文本图像进行识别,以得到预测文本序列。
[0087]
因此,本技术提供了一种基于半监督学习的通用场景文字识别方法;设计出基于三分支残差块与残差lstm的学生与教师场景文字识别模型,有标签数据对学生模型进行有监督训练,无标签数据对学生模型与教师模型进行联合半监督训练。
[0088]
如此,相比于只利用有监督学习,在相同标签样本数量的条件下,采用联合半监督学习方式有效利用无标签样本,可以大大提高通用场景的文字识别率。并且对于无标签样本,通过加入随机字符扰动增强,增强通用场景文本识别模型的抗干扰能力,可以大大提高模型的鲁棒性能。
[0089]
为了说明本技术的技术方案,本技术还提供一种文字识别设备,请参阅图8,图8是本技术文字识别设备实施例的结构示意框图,该文字识别设备60包括:获取模块61、扰动增强模块62、有监督训练模块63以及半监督训练模块64。
[0090]
获取模块61,用于获取有标签数据、无标签数据和以及有标签数据和无标签数据的反馈联合损失,反馈联合损失基有标签数据、所述标签数据和损失函数计算得到;
[0091]
扰动增强模块62,用于对无标签数据进行随机字符扰动增强,得到扰动后的无标签数据;
[0092]
有监督训练模块63,用于联合半监督训练模块64,使用有标签数据、反馈联合损失以及扰动后的无标签数据对训练中的文字识别模型进行有监督联合半监督训练,直至损失函数收敛时,得到训练后的文字识别模型。
[0093]
因此,本技术为实现准确识别通用场景的文字内容,设计了文字识别模型,通过扰动增强模块62对无标签数据进行扰动增强,监督训练模块63联合半监督训练模块64,并使用有标签数据、反馈联合损失和扰动后的无标签数据对训练中的文字识别模型实现有监督联合半监督训练,从而提高训练后的文字识别模型在通用场景下的文本识别能力。
[0094]
为了说明本技术的技术方案,本技术还提供一种电子设备,该电子设备可以是电脑或移动手机等,具体不做限定,请参阅图9,图9是本技术电子设备实施例的结构示意框图,该电子设备7包括:处理器71和存储器72,存储器72中存储有计算机程序721,处理器71用于执行计算机程序721以实现如本技术实施例的方法,在此不再赘述。
[0095]
此外,本技术还提供一种计算机可读存储介质,请参阅图10,图10是本技术计算机可读存储介质实施例的电路示意框图,该计算机可读存储介质8存储有计算机程序81,计算机程序81能够被处理器执行时实现如本技术实施例的方法,在此不再赘述。
[0096]
如果以软件功能单元的形式实现并作为独立的产品销售或使用时,还可以存储在具有存储功能的装置中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软
件产品存储在一个存储装置中,包括若干指令(程序数据)用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储装置包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种介质以及具有上述存储介质的电脑、手机、笔记本电脑、平板电脑、相机等电子设备。
[0097]
关于具有存储功能的装置中的程序数据的执行过程的阐述可以参照上述本技术的方法实施例中阐述,在此不再赘述。
[0098]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1