CN114973229A - 文本识别模型训练、文本识别方法、装置、设备及介质 - Google Patents
文本识别模型训练、文本识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114973229A CN114973229A CN202210611049.5A CN202210611049A CN114973229A CN 114973229 A CN114973229 A CN 114973229A CN 202210611049 A CN202210611049 A CN 202210611049A CN 114973229 A CN114973229 A CN 114973229A
- Authority
- CN
- China
- Prior art keywords
- character string
- text
- recognition model
- decoder
- prediction result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Character Discrimination (AREA)
Abstract
本公开提供一种文本识别模型训练方法、文本识别方法、装置、设备、介质及程序产品,该方法包括:将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果;将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果;基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,直到文本识别模型收敛。通过编码部分、第一解码器和第二解码器,能够实现快速准确的文本识别。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种文本识别模型训练方法、文本识别方法、装置、设备、介质及程序产品。
背景技术
自然场景文字识别是从带文字的图片中识别出字符序列的过程(对于中文,一个字符便是一个汉字,对于英文,一个字符便是一个字母),识别过程中,除了图片背景复杂以及光照变化等因素外,识别输出空间的复杂性也是一大困难,由于不同图片中的待识别字符序列的字符数量不固定,因此,自然场景文字识别需要从图片中识别长度不固定的字符序列。
目前文字识别的主要方法是通过自底向上的策略实现,即将文字识别问题拆分为字符检测、字符识别和字符组合,逐个解决。但在具体应用过程中,需要字符级别的标注,即每个字符在输入图像上的位置、以及信息都需要标注,这需要耗费大量的人力和物力,标注成本较高,难以满足实际应用场景的速度需求和精度要求。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种文本识别模型训练方法、文本识别方法、装置、设备、介质及程序产品。
根据本公开的第一方面,提供了一种文本识别模型训练方法,文本识别模型包括:编码部分和解码部分,解码部分包括:第一解码器和第二解码器,该方法包括:
将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;
将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果;
将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果,第一顺序与第二顺序相反;
基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
根据本公开的第二方面,提供了一种文本识别方法,包括:
获取待识别的文本图像;
将待识别的文本图像输入文本识别模型中,得到文本字符串预测结果,其中,文本识别模型通过所述第一方面的文本识别模型训练方法得到。
根据本公开的第三方面,提供了一种文本识别模型训练装置,文本识别模型包括:编码部分和解码部分,解码部分包括:第一解码器和第二解码器,该装置包括:
字符串编码确定模块,用于将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;
第一预测结果确定模块,用于将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果;
第二预测结果确定模块,用于将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果,第一顺序与第二顺序相反;
训练模块,用于基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
根据本公开的第四方面,提供了一种文本识别装置,包括:
获取模块,用于获取待识别的文本图像;
结果确定模块,用于将待识别的文本图像输入文本识别模型中,得到文本字符串预测结果,其中,文本识别模型通过所述第一方面的文本识别模型训练方法得到。
根据本公开的第五方面,提供一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行第一方面所述的文本识别模型训练方法,或第二方面所述的文本识别方法。
根据本公开的第六方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的文本识别模型训练方法,或第二方面所述的文本识别方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现第一方面所述的文本识别模型训练方法,或第二方面所述的文本识别方法。
本公开实施例中提供的一个或多个技术方案与现有技术相比具有如下优点:本公开实施例中,通过将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果;将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果;基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行所述将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛,通过第一编码器和第二编码器的联合作用,能够实现快速准确的文本识别。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,
在附图中:
图1示出了根据本公开示例性实施例的文本识别模型训练方法的流程图之一;
图2示出了根据本公开示例性实施例的文本识别模型训练方法的流程图之二;
图3示出了根据本公开示例性实施例的文本识别模型训练方法的流程图之三;
图4示出了根据本公开示例性实施例的文本识别模型训练方法的流程图之四;
图5示出了根据本公开示例性实施例的文本识别模型的结构示意图;
图6示出了根据本公开示例性实施例的参考识别模型的结构示意图;
图7示出了根据本公开示例性实施例的文本识别方法的流程图;
图8示出了根据本公开示例性实施例的文本识别模型训练装置的示意性框图;
图9示出了根据本公开示例性实施例的文本识别装置的示意性框图;
图10示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
一般的文本图像,可以根据其书写反向及走势大致分为三种,正常的文本(直文本),带角度的倾斜文本,弯曲文本;所谓正常文本是指从左往右书写,所有的字大致在一条直线上且这条直线和水平方向几乎重合,带角度的倾斜文本是指,从左往右书写,所有的字大致在一条直线上且这条直线和水平方向有一定的夹角,弯曲文本是指,从左往右书写,但是字几乎都不在同一直线上,字的中心点连起来之后大致呈一条曲线。
自然场景文字识别需要从图片中识别长度不固定的序列。目前有两种解决思路,一种是基于自底向上的策略,将识别问题拆分为字符检测、字符识别和字符组合,逐个解决;另一种是基于整体分析的策略,即序列到序列的方法,先将图像编码,然后进行序列解码直接得出整个字符串。上述第一种方法虽然有效但是却需要字符级别的标注,即每个字符在输入图像上的位置、以及信息都需要标注,这需要耗费大量的人工;第二种方法虽然标注简单,只需转录字符串即可,但是其可能存在识别结果多识别字符或漏识别字符的情况。
第一种方法的代表为图文识别模型(Convolutional Recurrent NeuralNetwork,CRNN)。CRNN从下至上,由卷积神经网络、循环神经网络和翻译层三部分组成,卷积神经网络负责从带文字的图片中提取特征,循环神经网络负责用卷积神经网络提取的特征进行序列预测,翻译层将循环神经网络得到的序列翻译为字母序列,目标函数选择联结时序分类(connectionist temporal classification,CTC)损失函数;CRNN的一大优点是尽管包含不同类型的网络结构,但是仍然能够被端到端的训练,目前在各种数据集上,CRNN性能优越,超过其他模型,自从提出至今,虽然已历经数年,但仍然经久不衰。
第二种方法的代表为经典网络结构(Transformer),它由编码器和解码器两个部分组成,其中解码器包括多个基础模块一堆叠,其中基础模块主要是由多头自注意力层、跳跃连接、层归一化和前馈神经网络组成,而解码器也是包括多个基础模块二,基础模块二与基础模块一不同的是其包括两层多头自注意力层,Transformer的设计不仅极大的加快网络训练和推理的时间,更是能有效提升各类任务的精度,其本是用于自然语言理解相关的任务中,但是由于其良好的性能,目前在计算机视觉相关的任务中也被广泛应用,同时在多个任务中取得了相当好的效果。
综上所述,文本识别有非常广泛的应用,其常见的两种方法都存在不同的问题,基于字符的方法标注成本高,基于序列的方法可能会有漏识别或多识别的问题,不同的文本图像上所表示的文本有直文本、倾斜文本和弯曲文本;CRNN模型是一种基于序列到序列进行文本识别的方法,它在精度和速度上取得了很好的平衡,但是它仍然有参数量过大,训练周期过长的问题存在,Transformer作为一种非常有效的编解码网络结构,已经在自然语言处理和计算机视觉等任务中取得了非常好的效果,基于字典的解码技术对于文本识别有更好的效果,但往往效率不佳,使用较少。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1为本公开实施例提供的一种文本识别模型训练方法的流程示意图,可以适用于对文本图像进行文本识别的模型的训练的场景。该文本识别模型训练方法可以由文本识别模型训练装置执行,该装置可以采用软件和/或硬件实现,并可集成在任意具有计算能力的电子设备上。
如图1所示,本公开实施例提供的文本识别模型训练方法可以包括:
S101,将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码。
其中,文本识别模型包括:编码部分和解码部分,解码部分包括:第一解码器和第二解码器。待识别文本图像样本为样本集中的文本图像,文本图像为自然场景中拍摄或者采集得到的图像,由于拍摄设备或者采集装置的硬件条件受限,因此,获得的文本图像可能会存在图像受损或者变形等情况,文本图像中的文本可包括直文本、倾斜文本和弯曲文本图像,也包括常规的模糊、影印的文本图像,以及其他一些文本图像,本公开实施例不做限定。字符位置编码主要是对0-L(L表示设置的最大字符串长度)长度的字符提供一组设定维度的位置编码。
将待识别文本图像样本输入至文本识别模型的编码部分,通过该编码部分对待识别文本图像样本对应的文本中的每个字符进行字符内容编码和字符位置编码,能够得到待识别文本图像样本对应的文本中的每个字符所对应的字符串编码,该字符串编码中既包含字符内容信息,又包含位置信息。
可选的,第一解码器和第二解码器均为基于门控循环单元(Gate RecurrentUnit,GRU)的解码器。
其中,GRU是采用门控机制的思想改造循环神经网络(Recurrent NeuralNetwork,RNN)的神经元,其具有更加简单,高效,且不容易过拟合的优点。
本实施例中,在训练文本识别模型之前,需要收集大量训练样本,该大量的训练样本中,可以包括不同类型的文本图像。
S102,将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果。
其中,第一顺序可以为待识别文本图像样本对应的文本中的字符从左向右的顺序,也可以为待识别文本图像样本对应的文本中的字符从右向左的顺序。假设某文本对应的字符为“ABC”,那么第一顺序可以为“A”、“B”和“C”;也可以为“C”、“B”和“A”。
将每个字符串编码按照第一顺序依次输入至第一解码器中,能够得到每个字符串编码分别对应的第一字符串预测结果。
S103,将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果,第一顺序与第二顺序相反。
其中,在第一顺序为待识别文本图像样本对应的文本中的字符从左向右的顺序时,第二顺序为待识别文本图像样本对应的文本中的字符从右向左的顺序;在第一顺序为待识别文本图像样本对应的文本中的字符从右向左的顺序时,第二顺序为待识别文本图像样本对应的文本中的字符从左向右的顺序。
将每个字符串编码按照第二顺序依次输入至第一解码器中,能够得到每个字符串编码分别对应的第二字符串预测结果。
S104,基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
其中,参考字符串结果可以理解为待识别文本图像样本对应的文本中的每个字符对应的标准字符串,可以通过对待识别文本图像样本对应的文本进行标注得到,也可以通过识别得到,本实施例不做限定。
在得到第一字符串预测结果和第二字符串预测结果之后,基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,通过余弦损失函数能够计算出对应的损失值。基于该损失值对编码部分、第一解码器和第二解码器的参数进行调整,在参数调整过程中不断返回执行S101-S103,以及S104中计算损失值的部分,直到文本识别模型收敛。文本识别模型是否收敛可以基于损失值的大小确定。
本实施例中,余弦损失函数为文本识别模型是否训练合格的衡量标准,从而,有效保证训练得到的文本识别模型具有较高精度的识别结果。可通过余弦损失函数计算第一字符串预测结果、第二字符串预测结果以及参考字符串结果之间的相似性,来验证文本识别模型的识别精度,以训练出稳定度高的文本识别模型。
可选的,还可以基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,通过联结时序分类(connectionist temporalclassification,CTC)损失函数、多分类交叉熵损失函数以及均方损失函数等计算损失值,损失函数可以根据实际使用需求确定,本公开实施例不做限定。
本公开实施例中,将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果;将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果;基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,直到文本识别模型收敛,在对待识别文本图像样本的识别过程中,通过编码部分、第一解码器和第二解码器的联合作用,能够提高解码速度,且标注成本较低,能够实现快速准确的文本识别。
可选的,将字符串编码按照第一顺序输入所述第一解码器,包括:
将第一映射向量拼接在当前时间步待解码的字符串编码的左边,得到第一拼接向量,将第一拼接向量依次作为每一个时间步的输入,输入至第一解码器,第一映射向量为前一时间步解码出的字符经过词嵌入层映射后得到的。
其中,词嵌入层能够获取前一时间步解码出的字符所对应的映射向量(即数值特征向量)。词嵌入(Word Embedding)是一种将文本中的词转换成数字向量的方法,为了使用标准机器学习算法来对它们进行分析,就需要把这些被转换成数字的向量以数字形式作为输入。词嵌入过程就是把一个维数为所有词数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量,词嵌入的结果就生成了词向量。词嵌入层可以为基于One-hot编码、信息检索(IR)技术、分布式表示等词嵌入方法生成的,此处不做限定。
在第一顺序为待识别文本图像样本对应的文本中的字符从左向右的顺序时,将待识别文本图像样本对应的文本中的第一个字符输入第一解码器,能够得到第一个字符对应的解码结果,后续在输入待识别文本图像样本对应的文本中其他字符对应的位置编码时,将前一时间步解码出的字符经过词嵌入层映射后得到的第一映射向量拼接在当前时间步待解码的字符串编码的左边,得到第一拼接向量,将第一拼接向量依次作为每一个时间步的输入,输入至第一解码器。
本实施例中,通过上述拼接过程,能够加深待识别文本图像样本对应的文本中的相邻字符的上下文联系,从而有利于提高第一解码器的解码准确性。
可选的,将字符串编码按照第二顺序输入第二解码器,包括:
将第二映射向量拼接在当前时间步待解码的字符串编码的右边,得到第二拼接向量,将第二拼接向量依次作为每一个时间步的输入,输入至第二解码器,第二映射向量为前一时间步解码出的字符经过词嵌入层映射后得到的。
在第二顺序为待识别文本图像样本对应的文本中的字符从右向左的顺序时,将待识别文本图像样本对应的文本中的最后一个字符输入第二解码器,能够得到最后一个字符对应的解码结果,后续在输入待识别文本图像样本对应的文本中其他字符对应的位置编码时,将前一时间步解码出的字符经过词嵌入层映射后得到的第二映射向量拼接在当前时间步待解码的字符串编码的右边,得到第二拼接向量,将第二拼接向量依次作为每一个时间步的输入,输入至第二解码器。
本实施例中,通过上述拼接过程,能够加深待识别文本图像样本对应的文本中的相邻字符的上下文联系,从而有利于提高第二解码器的解码准确性。
图2为本公开实施例提供的另一种文本识别模型训练方法的流程示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图2所示,本公开实施例提供的文本识别模型训练方法可以包括:
S201,将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码。
S202,将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果。
S203,将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果,第一顺序与第二顺序相反。
S204,获取第一字符串预测结果和第二字符串预测结果的第一余弦相似度。
基于余弦损失函数,能够计算第一字符串预测结果和第二字符串预测结果的第一余弦相似度。
S205,获取第一字符串预测结果和参考字符串结果的第二余弦相似度。
基于余弦损失函数,能够计算第一字符串预测结果和参考字符串结果的第二余弦相似度。
S206,获取第二字符串预测结果和参考字符串结果的第三余弦相似度。
基于余弦损失函数,能够计算第二字符串预测结果和参考字符串结果的第三余弦相似度。
S207,获取第一余弦相似度、第二余弦相似度和第三余弦相似度的平均值,确定平均值为损失值。
在得到第一余弦相似度、第二余弦相似度和第三余弦相似度之后,求取第一余弦相似度、第二余弦相似度和第三余弦相似度的平均值,并将平均值作为损失值。
S208,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
其中,对上述S201、S202、S203和S208的描述可以参考上述对S101至S104的相关描述,此处不再赘述。
本公开实施例中,通过获取第一字符串预测结果和第二字符串预测结果的第一余弦相似度,获取第一字符串预测结果和参考字符串结果的第二余弦相似度,以及获取第二字符串预测结果和参考字符串结果的第三余弦相似度,并获取第一余弦相似度、第二余弦相似度和第三余弦相似度的平均值,确定平均值为损失值,使得确定的损失值结合了第一字符串预测结果、第二字符串预测结果以及参考字符串结果,从而根据该损失值调整编码部分、第一解码器和第二解码器的参数时,使得参数调整的更合理,能够加快文本识别模型的收敛速度,以及提高文本识别模型的精度。
图3为本公开实施例提供的另一种文本识别模型训练方法的流程示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图3所示,本公开实施例提供的文本识别模型训练方法可以包括:
S301,将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码。
S302,将字符串编码按照第一顺序输入第一解码器,得到对应的第一概率矩阵,基于第一概率矩阵,确定字符串编码对应的第一字符串预测结果。
其中,候选词典可以为根据待识别文本图像样本中包含的文本内容所预先建立的词典。
将每个字符串编码按照第一顺序输入第一解码器中,能够得到对应的第一概率矩阵,第一概率矩阵中包括每个字符串编码所对应的第一概率向量,通过第一概率向量查找候选词典,能够确定出每个字符串编码分别对应的是哪个字符,即:每个字符串编码分别对应的第一字符串预测结果。
S303,将字符串编码按照第二顺序输入第二解码器,得到对应的第二概率矩阵,基于第二概率矩阵,确定字符串编码对应的第二字符串预测结果,第一顺序与第二顺序相反。
将每个字符串编码按照第二顺序输入第二解码器中,能够得到对应的第二概率矩阵,第二概率矩阵中包括每个字符串编码所对应的第二概率向量,通过第二概率向量查找候选词典,能够确定出每个字符串编码分别对应的是哪个字符,即:每个字符串编码分别对应的第二字符串预测结果。
S304,基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
其中,对上述S301和S304的描述可以参考上述对S101和S104的相关描述,此处不再赘述。
本公开实施例中,通过将字符串编码按照第一顺序输入第一解码器,得到对应的第一概率矩阵,基于第一概率矩阵,确定字符串编码对应的第一字符串预测结果,以及将字符串编码按照第二顺序输入第二解码器,得到对应的第二概率矩阵,基于第二概率矩阵,确定字符串编码对应的第二字符串预测结果,能够快速确定出第一字符串预测结果和第二字符串预测结果,便于后续计算损失值。
可选的,在确定每个字符串编码对应的第一字符串预测结果之后,还可以包括:
基于第一字符串预测结果与对应的真实结果,采用预设损失函数计算对应的损失值,并通过该损失值调整第一解码器的参数。
其中,预设损失函数可以为联结时序分类(connectionist temporalclassification,CTC)损失函数、多分类交叉熵损失函数以及均方损失函数等,预设损失函数可以根据实际使用需求确定,本公开实施例不做限定。
本公开实施例中,通过上述损失值调整第一解码器的参数,有利于加速第一解码器的收敛过程。
可选的,在确定每个字符串编码对应的第二字符串预测结果之后,还可以包括:
基于第二字符串预测结果与对应的真实结果,采用预设损失函数计算对应的损失值,并通过该损失值调整第二解码器的参数。
本公开实施例中,通过上述损失值调整第二解码器的参数,有利于加速第二解码器的收敛过程。
图4为本公开实施例提供的另一种文本识别模型训练方法的流程示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图4所示,本公开实施例提供的文本识别模型训练方法可以包括:
S401,将待识别文本图像样本输入参考识别模型,得到参考字符串结果。
其中,参考识别模型可以为预先训练好的识别模型,参考识别模型的具体结构与文本识别模型的具体结构不同。
将待识别文本图像样本输入至参考识别模型中,能够直接得到参考字符串结果。
S402,将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码。
S403,将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果。
S404,将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果,第一顺序与第二顺序相反。
S405,基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
其中,对上述S402至S405的描述可以参考上述对S101至S104的相关描述,此处不再赘述。
本公开实施例中,通过将待识别文本图像样本输入参考识别模型,得到参考字符串结果,有利于后续计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,使得文本识别模型收敛。
可选的,编码部分包括:第一特征提取部分、单层双向长短期记忆网络LSTM、位置编码部分以及融合部分,第一特征提取部分和单层双向LSTM串联,位置编码部分与第一特征提取部分和单层双向LSTM并联,融合部分与单层双向LSTM和位置编码部分相连;
其中,第一特征提取部分用于对待识别文本图像样本进行特征提取,得到待识别文本图像样本中每个字符的第一特征映射;
单层双向LSTM用于对第一特征映射进行特征变换,得到待识别文本图像样本中每个字符的第二特征映射;
位置编码部分用于对待识别文本图像样本中每个字符进行位置编码,得到待识别文本图像样本中每个字符对应的位置编码特征;
融合部分用于将第二特征映射和对应的位置编码特征按照通道进行融合,得到待识别文本图像样本中每个字符对应的融合特征。
其中,第一特征提取部分可以采用卷积神经网络、残差网络等,本实施例对此不做限定。单层双向长短期记忆网络(Long Short-Term Memory,LSTM)为循环神经网络的一种,能够用于建模待识别文本图像样本中的字符的上下文信息。融合部分在将第二特征映射和对应的位置编码特征按照通道进行融合时,可以采用逐点逐通道相加的融合方式,也可以采用逐点逐通道相乘的方式,本实施例不做限定。其中,相加的融合方式具有速度更快,效果更好的优点。
本实施例中,文本识别模型的编码部分采用第一特征提取部分和单层双向LSTM串联,位置编码部分与第一特征提取部分和单层双向LSTM并联,融合部分与单层双向LSTM和位置编码部分相连的结构,不仅有利于简化编码的模块,而且能够对待识别文本图像样本同时进行字符内容编码和字符位置编码,提高编码的速度。
可选的,解码部分还包括:自注意力层,自注意力层用于获取每个字符位置编码对应的特征向量。
由于将字符串编码按照第一顺序输入第一解码器,和将字符串编码按照第二顺序输入第二解码器的过程中涉及到拼接过程,那么在拼接的时候需要确定哪个向量和哪个字符串编码进行拼接,此时通过解码部分中的自注意力层,将融合部分的输出作为K和V(键和值),将位置编码部分输出的位置编码特征作为Q,能够并行计算出所有时间步的注意力得分,即算出每个字符位置编码对应的特征向量,便于后续拼接过程的顺利进行。
本实施例中,通过自注意力层,能够提高向量拼接过程的准确性,从而进一步提高第一解码器和第二解码器的效率和准确性。
可选的,第一特征提取部分包括:Resnet18网络;Resnet18网络包括第一基础块和第二基础块。
其中,每个基础(block)块可以由若干卷积操作组成,第一block块的输出是第二block块的输入,在本实施例中,每经过一个Resnet18的block块,其高宽均减半,通道数量增加一倍
本实施例中,第一特征提取部分采用包括第一基础块和第二基础块的Resnet18网络时,能够减少参数量,有利于加速文本识别模型的训练过程。
示例性地,如图5所示,文本识别模型包括:第一特征提取部分501、单层双向长短期记忆网络LSTM502、位置编码部分503以及融合部分504,第一特征提取部分501和单层双向LSTM502串联,位置编码部分503与第一特征提取部分501和单层双向LSTM502并联,融合部分504与单层双向LSTM502和位置编码部分503相连,解码部分505和融合部分504串联。其中,上述五个部分的具体作用已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
可选的,通过如下方式训练得到参考识别模型,其中,参考识别模型包括:Resnet18模块、N层双向LSTM以及全连接层,其中,N为大于等于1的整数;
将待识别图像样本输入Resnet18模块,得到第一输出特征,第一输出特征包括多个第一向量;
按照预设顺序,将多个第一向量依次输入N层双向LSTM,得到第二输出特征,第二输出特征包括多个第二向量;
将第二输出特征输入全连接层,得到第三输出特征,第三输出特征包括多个参考字符串预测结果;
基于第三输出特征、待识别图像样本对应的字典特征以及CTC损失函数,对参考识别模型进行训练,直到参考识别模型收敛。
其中,Resnet18模块可以包括4个block块,每个block块可以由若干卷积操作组成,每一个block的输出是后一个block块的输入。预设顺序可以为多个第一向量输出的先后顺序。N可以为预先确定的数值,例如2,也可以视具体情况而定,本实施例不做限定。
在得到多个第一向量之后,按照第一向量输出的先后顺序,将各第一向量依次输入至N层双向LSTM,能够得到与第一向量维度相同的多个第二向量,将多个第二向量输入至全连接层中,能够得到第三输出特征,基于第三输出特征和待识别图像样本对应的字典特征中与每个参考字符串预测结果对应的目标字典特征,采用CTC损失函数,计算每个参考字符串预测结果与对应的目标字典特征的损失值,并基于该损失值对参考识别模型的参数进行调整,直到参考识别模型收敛。
本实施例中,通过上述方法先训练参考识别模型,便于后续训练文本识别模型时,能够直接基于训练好的参考识别模型,得到参考字符串结果。
示例性地,如图6所示,参考识别模型包括:Resnet18模块601、N层双向LSTM 602以及全连接层603,其中,Resnet18模块601和N层双向LSTM 602串联,N层双向LSTM602和全连接层603串联,上述三个部分的具体作用已经在上述实施例中详细描述过,为了避免重复,此处不再赘述。
可选的,训练得到参考识别模型之前,还包括:
获取待识别图像样本,基于对待识别图像样本的文本内容的标注信息,构建待识别图像样本对应的字典特征。
具体的,先获取待识别图像样本,对待识别图像样本进行人工标注,即:对待识别图像样本中的文本字符信息进行标注,能够得到标注信息,通过对标注信息进行单个字符的集合与操作,就能够得到待识别图像样本对应的字典特征。
示例性的,如果有两个字符串,“你是谁”和“我是谁”,那字典特征就是四个字,你、我、是和谁。
可选的,该方法还包括:
基于第一向量和第一特征映射,采用均方误差损失函数计算第一损失值,基于第一损失值对文本识别模型的第一特征提取部分的参数进行调整;
基于第二向量和第二特征映射,采用均方误差损失函数计算第二损失值,基于第二损失值对文本识别模型的单层双向LSTM的参数进行调整;
基于参考字符串预测结果、第一字符串预测结果以及第二字符串预测结果,采用余弦损失函数计算第三损失值,基于第三损失值对文本识别模型的第一解码器和第二解码器的参数进行调整,直到文本识别模型收敛。
具体的,还可以通过以下方式对参考识别模型和文本识别模型进行联合训练:
基于参考识别模型中Resnet18模块输出的第一向量和文本识别模型中第一特征提取部分输出的第一特征映射,采用均方误差损失函数计算二者的第一损失值,基于第一损失值对文本识别模型的第一特征提取部分的参数进行调整;基于参考识别模型中N层双向LSTM输出的第二向量和文本识别模型中单层双向LSTM输出的第二特征映射,采用均方误差损失函数计算二者的第二损失值,基于第二损失值对文本识别模型的单层双向LSTM的参数进行调整;基于参考识别模型中全连接层输出的参考字符串预测结果、文本识别模型中第一解码器输出的第一字符串预测结果以及文本识别模型中第二解码器输出的第二字符串预测结果,采用余弦损失函数计算第三损失值,基于第三损失值对文本识别模型的第一解码器和第二解码器的参数进行调整,直到文本识别模型收敛,得到训练好的文本识别模型。
本实施例中,通过对参考识别模型和文本识别模型进行联合训练,两个模型在训练的过程中通过响应的损失函数联合作用,能够进一步加快两个模型的训练过程,提高训练效率,保证快速训练得到文本识别模型。
图7为本公开实施例提供的一种文本识别方法的流程示意图,可以适用于对文本图像进行文本识别的场景。该文本识别方法可以由文本识别装置执行,该装置可以采用软件和/或硬件实现,并可集成在任意具有计算能力的电子设备上。
如图7所示,本公开实施例提供的文本识别方法可以包括:
S701,获取待识别的文本图像。
S702,将待识别的文本图像输入文本识别模型中,得到文本字符串预测结果。
其中,文本识别模型是根据本公开上述实施例的文本识别模型训练方法得到的。
在正常使用文本识别模型时,输入待识别的文本图像,直接得到最终的文本字符串预测结果,此时的第一解码器和第二解码器无需对所有的字符串编码进行解码,第一解码器可以按照从左向右(或者从右向左)的顺序进行解码,第二解码器按照与第一解码器相反的顺序进行解码,每个解码器只需解码一半长度,再将第一解码器和第二解码器的解码结果拼接起来,就能得到文本字符串预测结果。本发明相较于现有技术,能够显著提高解码的速度和精度,同时减少标注成本,实现快速准确的文本识别。
图8为本公开实施例提供的一种文本识别模型训练装置的结构示意图,该装置可以采用软件和/或硬件实现,并可集成在任意具有计算能力的电子设备上。
如图8所示,本公开实施例提供的文本识别模型训练装置800可以包括:
字符串编码确定模块801,用于将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;
第一预测结果确定模块802,用于将字符串编码按照第一顺序输入第一解码器,得到第一字符串预测结果;
第二预测结果确定模块803,用于将字符串编码按照第二顺序输入第二解码器,得到第二字符串预测结果,第一顺序与第二顺序相反;
训练模块804,用于基于第一字符串预测结果、第二字符串预测结果以及待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
可选的,训练模块804,具体用于:
获取第一字符串预测结果和第二字符串预测结果的第一余弦相似度;
获取第一字符串预测结果和参考字符串结果的第二余弦相似度;
获取第二字符串预测结果和参考字符串结果的第三余弦相似度;
获取第一余弦相似度、第二余弦相似度和第三余弦相似度的平均值,确定平均值为损失值;
基于损失值对编码部分、第一解码器和第二解码器的参数进行调整,返回执行将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到文本识别模型收敛。
可选的,第一预测结果确定模块802,用于:将字符串编码按照第一顺序输入第一解码器,得到对应的第一概率矩阵,基于第一概率矩阵,确定字符串编码对应的第一字符串预测结果;
第二预测结果确定模块803,用于:将字符串编码按照第二顺序输入第二解码器,得到对应的第二概率矩阵,基于第二概率矩阵,确定字符串编码对应的第二字符串预测结果。
可选的,第一解码器和第二解码器均为基于门控循环单元GRU的解码器。
可选的,将字符串编码按照第一顺序输入第一解码器,包括:
将第一映射向量拼接在当前时间步待解码的字符串编码的左边,得到第一拼接向量,将第一拼接向量依次作为每一个时间步的输入,输入至第一解码器,第一映射向量为前一时间步解码出的字符经过词嵌入层映射后得到的。
可选的,将字符串编码按照第二顺序输入第二解码器,包括:
将第二映射向量拼接在当前时间步待解码的字符串编码的右边,得到第二拼接向量,将第二拼接向量依次作为每一个时间步的输入,输入至第二解码器,第二映射向量为前一时间步解码出的字符经过词嵌入层映射后得到的。
可选的,解码部分还包括:自注意力层,自注意力层用于获取每个字符位置编码对应的特征向量。
可选的,编码部分包括:第一特征提取部分、单层双向长短期记忆网络LSTM、位置编码部分以及融合部分,第一特征提取部分和单层双向LSTM串联,位置编码部分与第一特征提取部分和单层双向LSTM并联,融合部分与单层双向LSTM和位置编码部分相连;
其中,第一特征提取部分用于对待识别文本图像样本进行特征提取,得到待识别文本图像样本中每个字符的第一特征映射;
单层双向LSTM用于对第一特征映射进行特征变换,得到待识别文本图像样本中每个字符的第二特征映射;
位置编码部分用于对待识别文本图像样本中每个字符进行位置编码,得到待识别文本图像样本中每个字符对应的位置编码特征;
融合部分用于将第二特征映射和对应的位置编码特征按照通道进行融合,得到待识别文本图像样本中每个字符对应的融合特征。
可选的,第一特征提取部分包括:Resnet18网络;Resnet18网络包括第一基础块和第二基础块。
可选的,该装置还包括:
参考结果确定模块,用于将待识别文本图像样本输入参考识别模型,得到参考字符串结果。
可选的,该装置还包括:通过如下方式训练得到参考识别模型,其中,参考识别模型包括:Resnet18模块、N层双向LSTM以及全连接层,其中,N为大于等于1的整数;
将待识别图像样本输入Resnet18模块,得到第一输出特征,第一输出特征包括多个第一向量;
按照预设顺序,将多个第一向量依次输入N层双向LSTM,得到第二输出特征,第二输出特征包括多个第二向量;
将第二输出特征输入全连接层,得到第三输出特征,第三输出特征包括多个参考字符串预测结果;
基于第三输出特征、待识别图像样本对应的字典特征以及CTC损失函数,对参考识别模型进行训练,直到参考识别模型收敛
可选的,训练得到参考识别模型之前,还包括:
获取待识别图像样本,基于对待识别图像样本的文本内容的标注信息,构建待识别图像样本对应的字典特征。
可选的,该装置还包括:
第一调整模块,用于基于第一向量和第一特征映射,采用均方误差损失函数计算第一损失值,基于第一损失值对文本识别模型的第一特征提取部分的参数进行调整;
第二调整模块,用于基于第二向量和第二特征映射,采用均方误差损失函数计算第二损失值,基于第二损失值对文本识别模型的单层双向LSTM的参数进行调整;
第三调整模块,用于基于参考字符串预测结果、第一字符串预测结果以及第二字符串预测结果,采用余弦损失函数计算第三损失值,基于第三损失值对文本识别模型的第一解码器和第二解码器的参数进行调整,直到文本识别模型收敛。
本公开实施例所提供的文本识别模型训练装置可执行本公开实施例所提供的任意文本识别模型训练方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
图9为本公开实施例提供的一种文本识别装置的结构示意图,该装置可以采用软件和/或硬件实现,并可集成在任意具有计算能力的电子设备上。
如图9所示,本公开实施例提供的文本识别装置900可以包括:
获取模块901,用于获取待识别的文本图像;
结果确定模块902,用于将待识别的文本图像输入文本识别模型中,得到文本字符串预测结果,其中,文本识别模型根据上述方法实施例中的文本识别模型训练方法得到。
本公开实施例所提供的文本识别装置可执行本公开实施例所提供的任意文本识别方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图10,现将描述可以作为本公开的服务器或客户端的电子设备1000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
电子设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006、输出单元1007、存储单元1008以及通信单元1009。输入单元1006可以是能向电子设备1000输入信息的任何类型的设备,输入单元1006可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1007可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1004可以包括但不限于磁盘、光盘。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理。例如,在一些实施例中,文本识别模型训练方法或文本识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到电子设备1000上。在一些实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本识别模型训练方法或文本识别方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (19)
1.一种文本识别模型的训练方法,其特征在于,所述文本识别模型包括:编码部分和解码部分,所述解码部分包括:第一解码器和第二解码器,所述方法包括:
将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;
将所述字符串编码按照第一顺序输入所述第一解码器,得到第一字符串预测结果;
将所述字符串编码按照第二顺序输入所述第二解码器,得到第二字符串预测结果,所述第一顺序与所述第二顺序相反;
基于所述第一字符串预测结果、所述第二字符串预测结果以及所述待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于所述损失值对所述编码部分、第一解码器和第二解码器的参数进行调整,返回执行所述将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到所述文本识别模型收敛。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一字符串预测结果、所述第二字符串预测结果以及所述待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,包括:
获取所述第一字符串预测结果和所述第二字符串预测结果的第一余弦相似度;
获取所述第一字符串预测结果和所述参考字符串结果的第二余弦相似度;
获取所述第二字符串预测结果和所述参考字符串结果的第三余弦相似度;
获取所述第一余弦相似度、第二余弦相似度和所述第三余弦相似度的平均值,确定所述平均值为所述损失值。
3.根据权利要求1所述的方法,其特征在于,所述将所述字符串编码按照第一顺序输入所述第一解码器,得到第一字符串预测结果,包括:
将所述字符串编码按照第一顺序输入所述第一解码器,得到对应的第一概率矩阵,基于所述第一概率矩阵,确定所述字符串编码对应的第一字符串预测结果;
所述将所述字符串编码按照第二顺序输入所述第二解码器,得到第二字符串预测结果,包括:
将所述字符串编码按照第二顺序输入所述第二解码器,得到对应的第二概率矩阵,基于所述第二概率矩阵,确定所述字符串编码对应的第二字符串预测结果。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一解码器和第二解码器均为基于门控循环单元GRU的解码器。
5.根据权利要求3所述的方法,所述将所述字符串编码按照第一顺序输入所述第一解码器,包括:
将第一映射向量拼接在当前时间步待解码的字符串编码的左边,得到第一拼接向量,将所述第一拼接向量依次作为每一个时间步的输入,输入至所述第一解码器,所述第一映射向量为前一时间步解码出的字符经过词嵌入层映射后得到的。
6.根据权利要求3所述的方法,所述将所述字符串编码按照第二顺序输入所述第二解码器,包括:
将第二映射向量拼接在当前时间步待解码的字符串编码的右边,得到第二拼接向量,将所述第二拼接向量依次作为每一个时间步的输入,输入至所述第二解码器,所述第二映射向量为前一时间步解码出的字符经过词嵌入层映射后得到的。
7.根据权利要求4所述的方法,其特征在于,所述解码部分还包括:自注意力层,所述自注意力层用于获取每个字符位置编码对应的特征向量。
8.根据权利要求1所述的方法,其特征在于,所述编码部分包括:第一特征提取部分、单层双向长短期记忆网络LSTM、位置编码部分以及融合部分,所述第一特征提取部分和所述单层双向LSTM串联,所述位置编码部分与所述第一特征提取部分和所述单层双向LSTM并联,所述融合部分与所述单层双向LSTM和所述位置编码部分相连;
其中,所述第一特征提取部分用于对所述待识别文本图像样本进行特征提取,得到所述待识别文本图像样本中每个字符的第一特征映射;
所述单层双向LSTM用于对所述第一特征映射进行特征变换,得到所述待识别文本图像样本中每个字符的第二特征映射;
所述位置编码部分用于对所述待识别文本图像样本中每个字符进行位置编码,得到所述待识别文本图像样本中每个字符对应的位置编码特征;
所述融合部分用于将所述第二特征映射和对应的位置编码特征按照通道进行融合,得到所述待识别文本图像样本中每个字符对应的融合特征。
9.根据权利要求8所述的方法,其特征在于,所述第一特征提取部分包括:Resnet18网络;所述Resnet18网络包括第一基础块和第二基础块。
10.根据权利要求9所述的方法,其特征在于,还包括:
将所述待识别文本图像样本输入参考识别模型,得到所述参考字符串结果。
11.根据权利要求10所述的方法,其特征在于,还包括:
通过如下方式训练得到所述参考识别模型,其中,所述参考识别模型包括:Resnet18模块、N层双向LSTM以及全连接层,其中,所述N为大于等于1的整数;
将待识别图像样本输入所述Resnet18模块,得到第一输出特征,所述第一输出特征包括多个第一向量;
按照预设顺序,将所述多个第一向量依次输入所述N层双向LSTM,得到第二输出特征,所述第二输出特征包括多个第二向量;
将所述第二输出特征输入所述全连接层,得到第三输出特征,所述第三输出特征包括多个参考字符串预测结果;
基于所述第三输出特征、所述待识别图像样本对应的字典特征以及CTC损失函数,对所述参考识别模型进行训练,直到所述参考识别模型收敛。
12.根据权利要求11所述的方法,其特征在于,所述训练得到所述参考识别模型之前,还包括:
获取待识别图像样本,基于对所述待识别图像样本的文本内容的标注信息,构建所述待识别图像样本对应的字典特征。
13.根据权利要求11所述的方法,其特征在于,还包括:
基于所述第一向量和所述第一特征映射,采用均方误差损失函数计算第一损失值,基于所述第一损失值对所述文本识别模型的第一特征提取部分的参数进行调整;
基于所述第二向量和所述第二特征映射,采用均方误差损失函数计算第二损失值,基于所述第二损失值对所述文本识别模型的单层双向LSTM的参数进行调整;
基于所述参考字符串预测结果、所述第一字符串预测结果以及所述第二字符串预测结果,采用余弦损失函数计算第三损失值,基于所述第三损失值对所述文本识别模型的第一解码器和第二解码器的参数进行调整,直到所述文本识别模型收敛。
14.一种文本识别方法,其特征在于,所述方法包括:
获取待识别的文本图像;
将所述待识别的文本图像输入文本识别模型中,得到文本字符串预测结果,其中,所述文本识别模型通过上述1至13中任一项文本识别模型训练方法得到。
15.一种文本识别模型训练装置,其特征在于,所述文本识别模型包括:编码部分和解码部分,所述解码部分包括:第一解码器和第二解码器,所述装置包括:
字符串编码确定模块,用于将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码;
第一预测结果确定模块,用于将所述字符串编码按照第一顺序输入所述第一解码器,得到第一字符串预测结果;
第二预测结果确定模块,用于将所述字符串编码按照第二顺序输入所述第二解码器,得到第二字符串预测结果,所述第一顺序与所述第二顺序相反;
训练模块,用于基于所述第一字符串预测结果、所述第二字符串预测结果以及所述待识别文本图像样本对应的参考字符串结果,采用余弦损失函数计算损失值,基于所述损失值对所述编码部分、第一解码器和第二解码器的参数进行调整,返回执行所述将待识别文本图像样本输入编码部分进行字符内容编码和字符位置编码,得到字符串编码,直到所述文本识别模型收敛。
16.一种文本识别装置,其特征在于,所述装置包括:
获取模块,用于获取待识别的文本图像;
结果确定模块,用于将所述待识别的文本图像输入文本识别模型中,得到文本字符串预测结果,其中,所述文本识别模型通过上述1至13中任一项文本识别模型训练方法得到。
17.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行权利要求1-13中任一项所述的文本识别模型训练方法,或权利要求14所述的文本识别方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的文本识别模型训练方法,或权利要求14所述的文本识别方法。
19.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-13中任一项所述的文本识别模型训练方法,或权利要求14所述的文本识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210611049.5A CN114973229A (zh) | 2022-05-31 | 2022-05-31 | 文本识别模型训练、文本识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210611049.5A CN114973229A (zh) | 2022-05-31 | 2022-05-31 | 文本识别模型训练、文本识别方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114973229A true CN114973229A (zh) | 2022-08-30 |
Family
ID=82958409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210611049.5A Pending CN114973229A (zh) | 2022-05-31 | 2022-05-31 | 文本识别模型训练、文本识别方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114973229A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030471A (zh) * | 2022-12-29 | 2023-04-28 | 北京百度网讯科技有限公司 | 文本识别方法、文本识别模型的训练方法、装置及设备 |
CN116935373A (zh) * | 2023-09-18 | 2023-10-24 | 珠海亿智电子科技有限公司 | 多类型车牌识别模型的训练方法、装置、设备及存储介质 |
-
2022
- 2022-05-31 CN CN202210611049.5A patent/CN114973229A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030471A (zh) * | 2022-12-29 | 2023-04-28 | 北京百度网讯科技有限公司 | 文本识别方法、文本识别模型的训练方法、装置及设备 |
CN116935373A (zh) * | 2023-09-18 | 2023-10-24 | 珠海亿智电子科技有限公司 | 多类型车牌识别模型的训练方法、装置、设备及存储介质 |
CN116935373B (zh) * | 2023-09-18 | 2024-03-12 | 珠海亿智电子科技有限公司 | 多类型车牌识别模型的训练方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10380996B2 (en) | Method and apparatus for correcting speech recognition result, device and computer-readable storage medium | |
CN112685565A (zh) | 基于多模态信息融合的文本分类方法、及其相关设备 | |
CN113313022B (zh) | 文字识别模型的训练方法和识别图像中文字的方法 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN110163181B (zh) | 手语识别方法及装置 | |
CN114022882B (zh) | 文本识别模型训练、文本识别方法、装置、设备及介质 | |
CN113254654B (zh) | 模型训练、文本识别方法、装置、设备和介质 | |
US9934452B2 (en) | Pruning and label selection in hidden Markov model-based OCR | |
CN114973229A (zh) | 文本识别模型训练、文本识别方法、装置、设备及介质 | |
CN111738169B (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN113205160B (zh) | 模型训练、文本识别方法、装置、电子设备和介质 | |
CN116152833B (zh) | 基于图像的表格还原模型的训练方法及表格还原方法 | |
EP4390725A1 (en) | Video retrieval method and apparatus, device, and storage medium | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN114022887B (zh) | 文本识别模型训练及文本识别方法、装置、电子设备 | |
CN113688955B (zh) | 文本识别方法、装置、设备及介质 | |
CN115100659A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN113344014B (zh) | 文本识别方法和装置 | |
CN114639096A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN113360683A (zh) | 训练跨模态检索模型的方法以及跨模态检索方法和装置 | |
CN117236340A (zh) | 问答方法、装置、设备和介质 | |
CN112084788A (zh) | 一种影像字幕隐式情感倾向自动标注方法及系统 | |
CN113963358B (zh) | 文本识别模型训练方法、文本识别方法、装置及电子设备 | |
CN115565177A (zh) | 文字识别模型训练、文字识别方法、装置、设备及介质 | |
CN113052156A (zh) | 光学字符识别方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |