一种文字识别方法、系统、训练方法、存储介质及设备与流程

文档序号:23705938发布日期:2021-01-23 13:13阅读:100来源:国知局
一种文字识别方法、系统、训练方法、存储介质及设备与流程

[0001]
本申请涉及文字识别技术领域,特别是一种文字识别方法、系统、训练方法、存储介质及设备。


背景技术:

[0002]
文字识别这一研究在20世纪就开始兴起,最先提出的方法有模板匹配等,之后以特征提取为主,但是由于文字质量和背景复杂等各种原因造成特征提取难度较大,识别准确率低。
[0003]
在20世纪末神经网络算法兴起,文字识别算法也从传统的单字符识别转变为文字条的识别。目前,较为流行的基于神经网络的文字识别算法,实现在不定长文本上的训练和预测,并且有着显著的效果。但是,当文字条的部分文字有缺损时,识别准确率会大幅降低。例如“供方盖章”的文字,在该文字条上“盖”字受到了部分的遮盖,在识别时,该字就会识别错误,在crnn识别模型中该文字条就被识别成了“供方章章”[0004]
自然语言处理是计算机领域的一个重要方向,被广泛的运用各类产品中。比如机器翻译,即利用计算机实现自然语言之间的自动翻译,通过语言模型进行机器翻译可以得到上下文的语义信息,从而更加准确的进行翻译。
[0005]
现如今的长文本文字识别算法,只是利用到了图片中的视觉信息进行解析,如若文本质量较差或者其中部分文字脏污,最终的文字识别结果就会不尽人意。因此在面对不定长文本及或者文字被遮盖或玷污时,现有的文字识别方法无法提供较高的识别准确率。


技术实现要素:

[0006]
针对现有技术中,在文字被遮挡的情况下文字识别准确率较差的问题,本申请提出一种文字识别方法、系统、训练方法、存储介质及设备。
[0007]
在本申请的一个技术方案中,提供一种文字识别方法,包括:对包含文字的文件进行改进的crnn模型运算,得到文字的视觉特征和视觉特征对应的第一字符结果;通过语言模型对第一字符结果进行语义分析,得到文字的语义特征和语义特征对应的第二字符结果;将视觉特征和语义特征进行融合,得到文字对应的融合特征;以及对融合特征进行分类器处理,得到文字的识别结果。
[0008]
在本申请的另一个技术方案中,提供一种文字识别系统,包括:视觉特征提取模块,其对包含文字的文件进行改进的crnn模型运算,得到文字的视觉特征和视觉特征对应的;语义理解模块,其通过语言模型对第一字符结果进行语义分析,得到文字对应的语义特征;以及特征融合模块,其将视觉特征和语义特征进行融合,得到文字对应的融合特征,并对融合特征进行分类器处理,得到文字的识别结果。
[0009]
在本申请的另一个技术方案中,提供一种文字识别训练方法,包括:获取训练集,训练集包括多个包含文本文字的训练样本和训练文本对应的标准标签;通过文字识别模型得到训练样本的文字识别结果;以及根据标准标签对是被结果进行监督,调整文字识别模
型的参数。
[0010]
在本申请的另一个技术方案中,提供一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行方案一中的文字识别方法。
[0011]
在本申请的另一个技术方案中,提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中,处理器操作计算机指令以执行方案一中的文字识别方法。
[0012]
本申请的有益效果是:通过视觉提取和语言模型的结合,将待识别文字的视觉特征和语义特征进行融合,提高文字识别结果的准确率。
附图说明
[0013]
图1是本申请文字识别方法的一个具体实施方式的流程示意图;
[0014]
图2是本申请文字识别方法中改进的crnn模型的一个具体实例的工作流程示意图;
[0015]
图3是本申请文字识别方法中语言模型的一个实例的工作流程示意图;
[0016]
图4是本申请文字识别方法中残差损失计算的一个具体实例的流程示意图;
[0017]
图5是本申请文字识别系统的一个具体实施方式的组成示意图;
[0018]
图6是本申请文字识别模型的模型训练方法的一个具体实施方式的流程示意图。
具体实施方式
[0019]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020]
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0021]
图1示出了本申请文字识别方法的一个具体实施方式。
[0022]
在图1所示的具体实施方式中,本申请的文字识别方法包括:过程s101,对包含文字的文件进行改进的crnn模型运算,得到文字的视觉特征和视觉特征对应的第一字符结果;过程s102,通过语言模型对第一字符结果进行语义分析,得到文字的语义特征和语义特征对应的第二字符结果;过程s103,将视觉特征和语义特征进行融合,得到文字对应的融合特征;以及过程s104,对融合特征进行分类器处理,得到文字的识别结果。
[0023]
在该具体实施方式中,本申请的文字识别方法分别通过改进的crnn模型获取文字的视觉特征,通过语言模型获取文字对应的字符的语义特征,再将文字的视觉特征和文字对应的语义特征进行融合,从而在面对待识别文字被覆盖的情况时,仍能获得准确的文字识别结果,提高对文字识别的准确率。
[0024]
在图1所示的具体实施方式中,本申请的文字识别方法包括:过程s101,对包含文字的文件进行改进的crnn模型运算,得到文字的视觉特征和视觉特征对应的第一字符结果。
[0025]
在该具体实施方式中,通过crnn模型对包含文字的图片或者其他文本文件进行处理,获取待识别文字的视觉特征和视觉特征对应的第一字符结果。
[0026]
在本申请的一个具体实施例中,在改进的crnn模型中对视觉特征进行分类器处理得到第一字符结果。
[0027]
在该具体实施例中,传统的crnn模型直接得到待识别文字的的第一字符结果。在改进的crnn模型中,先得到待识别文字的视觉特征,在对视觉特征进行分类器处理,得到待识别文字对应的第一字符结果。
[0028]
在本申请的一个具体实施例中,分类器处理包括全连接层函数处理过程和softmax激活函数过程。
[0029]
在该具体实施例中,通过分类器处理,对待识别文字的视觉特征进行处理,得到识别文字对应的第一字符结果。通过分类器处理,提高获取的第一字符结果的准确性。
[0030]
图2示出了本申请文字识别方法中改进的crnn模型的一个具体实例的工作流程示意图。
[0031]
在图2所示的一个具体实例中,将带有待识别文字的文件,包括图片、文本或其他形式的文件输入到crnn模型中进行处理。crnn模型对带有待识别文字的文件进行卷积层的卷积神经网络cnn处理,获得待识别文字的卷积特征图,通过crnn模型中的循环网络层的bilstm处理,进而获得待识别文字的视觉特征序列。在改进的crnn模型中,将待识别文字的视觉特征序列进行进一步的分类器处理,最终获得待识别文字的第一字符结果。后续再对输出的第一字符结果按照标准标签对第一字符结果进行ctcloss的残差损失计算,一放慢实现对不定长文本的识别,同时根据残差损失计算的结果,调整文字识别过程中的相关参数,进而提高文字识别的准确率。
[0032]
在本申请的一个实例中,如图2所示的通过改进的crnn模型获取待识别文字的视觉特征及第一字符结果的过程可通过以下公式进行概括:
[0033]
y1=bilstm(cnn(x))
ꢀꢀꢀꢀ
公式1
[0034]
z1=f(linear(y1))
ꢀꢀꢀꢀꢀꢀꢀ
公式2
[0035]
其中,公式1中,x表示输入的包括待识别文字的文件,例如图片文件或者文本文件。cnn函数表示的是卷积神经网络模块的处理过程,bilstm函数表示的是双向lstm模块的处理过程,其中卷积神经网络模块与双向lstm模块组合后的过程为改进后的crnn模型的处理过程。y1表示改进后crnn模型输出的待识别文字对应的是视觉特征。
[0036]
公式2表示的是分类器的处理过程。其中y1与公式1中的y1对应,表示待识别文字对应的是视觉特征。linear函数表示分类器处理中的全连接层函数,f函数表示分类器处理中的softmax激活函数,z1表示进过分类器处理得到的视觉特征转译识别结果即待识别文字对应的第一字符结果。
[0037]
在图1所示的具体实施方式中,本申请的文字识别方法包括:过程s102,通过语言模型对第一字符结果进行语义分析,得到文字的语义特征和语义特征对应的第二字符结果。
[0038]
在该具体实施方式中,通过语言模型对改进的crnn模型获得的第一字符结果进行处理,获取待识别文字在语义上对应的语义特征和待识别文字对应的第二字符结果。
[0039]
在本申请的一具体实施例中,对语义特征进行分类器处理,语义特征对应的第二字符结果。
[0040]
图3示出了本申请文字识别方法中语言模型的一个实例的工作流程图。
[0041]
在图3所示的具体实例中,对通过改进的crnn模型获取的待识别文字的第一字符结果进行语言模型处理。其中,包括对第一字符结果进行argmax函数处理,对argmax函数处理的结果进行embedding嵌入过程,接着进行transformerencoder的编码过程,最终得到待识别文字对应字符的语义特征。通过对该语义特征进行分类器处理,得到待识别文字在语言模型中的第二字符结果。后续再对第二字符结果进行ctcloss的残差损失计算,一方面实现对不定长文本文字的识别,同时根据残差损失计算的结果,调整文字识别过程中的相关参数,进而提高文字识别的准确率。
[0042]
其中,语言模型的处理过程可通过以下公式进行说明:
[0043]
y2=te(ed(arg(z1)))
ꢀꢀꢀꢀꢀ
公式3
[0044]
z2=f(linear(y2))
ꢀꢀꢀꢀꢀꢀ
公式4
[0045]
在公式3中,z1表示改进的crnn模型获取的待识别文字的第一字符结果,arg函表示argmax函数处理过程,ed表示embedding嵌入过程以及te表示transformerencoder的编码过程,最终得到待识别文字对应字符的语义特征y2。在对y2进行分类器处理,得到待识别文字在语言模型中的第二字符结果z2。
[0046]
在图1所示的具体实施方式中,本申请的文字识别方法包括:过程s103,将视觉特征和语义特征进行融合,得到文字对应的融合特征。
[0047]
在该具体实施方式中,为了从视觉识别方面及语义理解方面对待识别文字进行识别,得到最终的文字识别结果,首先对通过改进的crnn模型和语言模型对待识别文字的识别过程中得到的视觉特征和语义特征进行融合,得到待识别文字对应的融合特征。该融合特征反映出待识别文字在视觉识别及语义识别上的文字特征,从而更能准确地反映出待识别文字的特点,保证在待识别文字被覆盖时仍能被准确的识别出来。
[0048]
在本申请的一个具体实施例中,将视觉特征和语义特征进行融合,得到文字对应的融合特征的过程中,将视觉特征的元素和语义特征的对应元素进行相加,得到文字对应的融合特征。
[0049]
在该具体实施例中,在进行视觉特征和语义特征的融合过程中,采用视觉特征和语义特特征对应元素相加的方式得到融合特征。
[0050]
在本申请的一个实例中,例如,视觉特征y1可表示为y1=(a1,b1,c1)。其中,a1、b1及c1为视觉特征y1包含的特征元素;语义特征y2可表示为y2=(a2,b2,c2)。其中,a2、b2及c2为语义特征y2包含的特征元素。在进行对视觉特征y1和语义特征y2融合时,进行对应元素的相加得到融合特征y3。其中y3可表示为y3=(a1+a2,b1+b2,c1+c2)。
[0051]
在图1所示的具体实施方式中,本申请的文字识别方法包括:过程s104,对融合特征进行分类器处理,得到文字的识别结果。
[0052]
在该具体实施方式中,通过分类器对待识别文字的融合特征进行全连接层函数处理过程和softmax激活函数处理,最终得到待识别文字的识别结果。
[0053]
在本申请的一个具体实施例中,本申请的文字识别方法还包括根据预设标签分别对第一字符结果、第二字符结果以及识别结果进行残差损失计算,根据残差损失计算的结果调整识别结果的识别精度。
[0054]
在该具体实施例中,为实现对不定长文本文字的识别,同时为了加强各个过程对文字的预测结果都能准确反映出文字结果,本申请的文字识别方法中,通过残差损失计算对每个过程的预测结果进行判别,从而在进行不定长文本的文字识别过程中,提高文字识别的准确率。
[0055]
在本申请的一个具体实施例中,图4示出了本申请文字识别方法中的残差损失计算的一个具体实施例流程示意图。如图4所示,根据预设标签分别对译识别结果、字符结果以及识别结果进行残差损失计算,根据残差损失计算的结果调整识别结果的识别精度的过程,包括:过程s401,对第一字符结果、第二字符结果以及识别结果分别进行残差损失计算,得到对应的第一残差损失结果、第二残差损失结果以及第三残差损失结果;过程s402,对第一残差损失结果、第二残差损失结果以及第三残差损失结果进行加和运算,得到最终残差损失结果;以及过程s403,根据最终残差损失结果调整识别结果的识别精度。
[0056]
在图4所示的具体实施例中,在残差损失计算过程的过程s401中,对第一字符结果、第二字符结果以及识别结果分别进行残差损失计算,得到对应的第一残差损失结果、第二残差损失结果以及第三残差损失结果。
[0057]
在本申请的一个实例中,通过ctcloss函数根据预设的标签分别对第一字符结果、第二字符结果以及识别结果分别进行残差损失计算,得到对应的第一残差损失结果、第二残差损失结果以及第三残差损失结果。其中,以上过程可通过如下公式表示:
[0058]
l1=ctc(z1,z)
ꢀꢀꢀꢀ
公式5
[0059]
l2=ctc(z2,z)
ꢀꢀꢀꢀ
公式6
[0060]
l3=ctc(z3,z)
ꢀꢀꢀꢀꢀ
公式7
[0061]
其中,在公式5至公式7中,z1、z2以及z3分别表示第一字符结果、第二字符结果以及文字的识别结果。z表示预设的标签,其表示目标文本。ctc函数为ctcloss函数,l1、l2以及l3分别表示第一残差损失结果、第二残差损失结果以及第三残差损失结果。
[0062]
在图4所示的具体实施例中,在残差损失计算过程的过程s402中,对第一残差损失结果、第二残差损失结果以及第三残差损失结果进行加和运算,得到最终残差损失结果。其过程可通过公式8进行表示:
[0063]
l=l1+l2+l3
ꢀꢀꢀꢀꢀ
公式8
[0064]
在公式8中,l1、l2以及l3分别表示第一残差损失结果、第二残差损失结果以及第三残差损失结果,l表示最终残差损失结果。
[0065]
在图4所示的具体实施例中,在残差损失计算过程的过程s403中,根据最终残差损失结果调整识别结果的识别精度。
[0066]
在本申请的一个实例中,在获得最终残差损失结果后,根据最终残差损失结果的大小对待识别文字的识别结果的精度进行调整。其中,最终残差损失结果越小其对应的文字识别结果的准确率越高。
[0067]
在本申请的文字识别方法中,通过对crnn模型的视觉提取结果和语言模型的语义提取结果进行融合,使得两种文字提取方法之间相互补充,提高文字提取的准确率。通过
ctcloss损失函数的应用,可进行对不定长文本的识别,同时提高文字识别的准确率。
[0068]
图5示出了本申请文字识别系统的一个具体实施方式的流程示意图。
[0069]
如图5所示,在该具体实施方式中,本申请的文字识别系统,包括:视觉特征提取模块,其对包含文字的文件进行改进的crnn模型运算,得到文字的视觉特征和视觉特征对应的;语义理解模块,其通过语言模型对第一字符结果进行语义分析,得到文字对应的语义特征;以及特征融合模块,其将视觉特征和语义特征进行融合。
[0070]
如图5所示,在包含待识别文字的测试文本输入到视觉特征提取模块中,对待识别文字的视觉特征进行提取,并获得待识别文字的第一字符结果。将第一字符输入到语义理解模块中,获得待识别文字的语义特征和第二字符结果。将待识别文字的视觉特征和语义特征输入到特征融合模块中,进行特征融合,得到待识别文字的融合特征。其中,在进行视觉特征和语义特征的融合时,进行对应的特征元素的相加,保证一致性。经过特征融合模块处理后,输出最终的识别结果。其中,在本申请的文字识别系统中,通过设置待识别文本的标签对待识别文本的第一字符结果、第二字符结果以及最终的识别结果进行损失函数残差运算,根据运算的结果对整个文字识别系统对待识别文字的识别结果的准确性进行判断,并改变系统中的参数,提高待识别文字的识别结果的准确性。
[0071]
在本申请的文字识别系统中,通过对crnn模型的视觉提取结果和语言模型的语义提取结果进行融合,使得两种文字提取方法之间相互补充,提高文字提取的准确率。通过ctcloss损失函数的应用,可进行对不定长文本的识别,同时提高文字识别的准确率。
[0072]
图6示出了本申请文字识别模型的模型训练方法的一个具体实施方式的流程示意图。
[0073]
如图6所示,在该具体实施方式中,本申请的文字识别模型的模型训练方法,包括:过程s601,获取训练集,训练集包括多个包含文本文字的训练样本和训练文本对应的标准标签;过程s602,通过文字识别模型得到训练样本的文字识别结果;以及过程s603,根据标准标签对是被结果进行监督,调整文字识别模型的参数。
[0074]
在本申请的文字识别模型的模型训练方法中,通过对crnn模型的视觉提取结果和语言模型的语义提取结果进行融合,使得两种文字提取方法之间相互补充,提高文字提取的准确率。通过ctcloss损失函数的应用,可进行对不定长文本文字的识别,同时提高文字识别的准确率。
[0075]
在本申请的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行任一实施例描述的文字识别方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
[0076]
软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
[0077]
处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gatearray,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方
案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
[0078]
在本申请的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的文字识别方法。
[0079]
在本申请所提供的实施方式中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0080]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0081]
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1