CN113344014B - 文本识别方法和装置 - Google Patents
文本识别方法和装置 Download PDFInfo
- Publication number
- CN113344014B CN113344014B CN202110883338.6A CN202110883338A CN113344014B CN 113344014 B CN113344014 B CN 113344014B CN 202110883338 A CN202110883338 A CN 202110883338A CN 113344014 B CN113344014 B CN 113344014B
- Authority
- CN
- China
- Prior art keywords
- image
- text
- sub
- model
- images
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开提供一种文本识别方法和装置,属于图像处理领域。所述方法包括:获取待识别的目标文本图像;根据预设的切分规则,将所述目标文本图像切分为设定数目个第一子图像;调用训练后的图像特征提取模型,分别对所述设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征;根据预设的整合规则,对所述每个第一子图像的第一子图像特征进行处理,确定所述目标文本图像的第一图像特征;调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本。采用本公开,可以提高文本识别的准确性。
Description
技术领域
本公开涉及图像处理领域,尤其涉及一种文本识别方法和装置。
背景技术
自然场景文本识别是带文字的图片中识别出字符序列的过程。对于中文,一个字符便是一个汉字;对于英文,一个字符便是一个字母。
它是一项具有极大挑战性的课题,除了图片背景复杂,光照变化等因素外,识别输出空间的复杂性也是一大困难,由于文本由数量不固定的字母组成,因此,自然场景文本识别需要从图片中识别长度不固定的序列。目前的解决思路是,基于整体分析的策略,即序列到序列的方法,先将整个图像进行编码,然后进行序列解码逐个输出字符,进而将各个字符进行拼接,得到识别的文本。
但是,上述方法可能存在的多识别字符或漏识别字符的情况较多,导致文本识别的准确性较低。因此,亟需一种文本识别方法来克服上述问题。
发明内容
为了解决现有技术的问题,本公开实施例提供了一种文本识别方法和装置。技术方案如下:
根据本公开的一方面,提供了一种文本识别方法,所述方法包括:
获取待识别的目标文本图像;
根据预设的切分规则,将所述目标文本图像切分为设定数目个第一子图像;
调用训练后的图像特征提取模型,分别对所述设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征;
根据预设的整合规则,对所述每个第一子图像的第一子图像特征进行处理,确定所述目标文本图像的第一图像特征;
调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本。
根据本公开的另一方面,提供了一种文本识别装置,所述装置包括:
获取模块,用于获取待识别的目标文本图像;
切分模块,用于根据预设的切分规则,将所述目标文本图像切分为设定数目个第一子图像;
第一调用模块,用于调用训练后的图像特征提取模型,分别对所述设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征;
确定模块,用于根据预设的整合规则,对所述每个第一子图像的第一子图像特征进行处理,确定所述目标文本图像的第一图像特征;
第二调用模块,用于调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述文本识别方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述文本识别方法。
本公开实施例中,终端可以将文本图像按照设定数目切分为多个子图像,然后基于图像特征提取模型,分别对每个子图像提取相应的图像特征,可以提高图像特征的精度。进而,终端再基于文本识别模型对文本图像的图像特征进行处理,识别其中的文本。由于提高了图像特征的精度,通过本公开实施例的文本识别方法,可以提高文本识别的准确性,有效减少多识别字符或漏识别字符的情况的发生。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了根据本公开示例性实施例的文本识别方法的流程图;
图2示出了根据本公开示例性实施例的待识别图像示意图;
图3示出了根据本公开示例性实施例的图像切分示意图;
图4示出了根据本公开示例性实施例的图像切分示意图;
图5示出了根据本公开示例性实施例的模型流程示意图;
图6示出了根据本公开示例性实施例的文本识别模型结构示意图;
图7示出了根据本公开示例性实施例的文本识别方法的流程图;
图8示出了根据本公开示例性实施例的注意力模块示意图;
图9示出了根据本公开示例性实施例的图像特征提取模型的训练方法流程图;
图10示出了根据本公开示例性实施例的图像特征提取模型的训练方法流程图;
图11示出了根据本公开示例性实施例的图像特征提取模型的训练方法流程图;
图12示出了根据本公开示例性实施例的文本识别模型的训练方法流程图;
图13示出了根据本公开示例性实施例的文本识别模型的训练方法流程图;
图14示出了根据本公开示例性实施例的文本识别装置的示意性框图;
图15示出了根据本公开示例性实施例的文本识别装置的示意性框图;
图16示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例采用自然语言理解中机器翻译的思路实现文本识别,同时有效利用基于序列的文本识别方法的思想,提供了一种创新的文本识别方法。该方法可以由终端、服务器和/或其他具备处理能力的设备完成。本公开实施例提供的方法可以由上述任一设备完成,也可以由多个设备共同完成,例如,终端可以对目标文本图像进行切分,将切分后的子图像发送给服务器,进而服务器可以对每个子图像进行文本识别处理,将识别结果返回给终端,本公开对此不作限定。
本公开实施例以终端为例,下面将参照图1所示的文本识别方法的流程图,对文本识别方法进行介绍。
步骤101,终端获取待识别的目标文本图像。
在一种可能的实施方式中,当需要对图像中的文本进行识别时,用户可以在终端上触发文本识别的信号。例如,用户可以使用终端对文本进行拍摄,并点击识别文本的选项,进而触发文本识别的信号。又例如,用户可以长按终端显示的图像,在终端显示识别文本的选项后点击该选项,进而触发文本识别的信号。本实施例对触发文本识别信号的具体场景不作限定。
当终端接收到文本识别的信号时,可以获取该信号对应的待识别的图像。如图2所示的待识别图像示意图,该图像可能包含有除文本图像之外的其他图像。因此,在进行文本识别的处理之前,终端可以对待识别的图像进行预处理,截取其中的文本图像,将该文本图像作为待识别的目标文本图像。具体的预处理的方式在本实施例中不作介绍。
步骤102,终端根据预设的切分规则,将目标文本图像切分为设定数目个第一子图像。
其中,设定数目可以是指估计的最大字符数目,该数目可以由技术人员根据经验设定,也可以是根据实际应用中的文本数据统计得到。本实施例对此不作限定。
在一种可能的实施方式中,终端可以存储有预先设定的切分规则,当触发文本识别的任务时,获取相应的切分规则,并基于该切分规则对待识别的目标文本图像进行切分,且切分得到的第一子图像的数目等于设定数目。
可选的,在对目标文本图像进行切分之前,终端还可以将目标文本图像缩放至预设的图像大小。
也即是说,如图3所示的图像切分示意图,当目标文本图像中文本的字符数目等于该设定数目时,切分得到的每个第一子图像可能分别包含有一个字符;当目标文本图像中文本的字符数目小于该设定数目时,切分得到的第一子图像中可能包含有一个字符的部分图像。
可选的,终端可以根据文本的分布情况对文本图像进行切分,相对应的,上述步骤102的处理可以如下:
当目标文本图像符合第一条件时,终端可以按照从左至右的顺序,将目标文本图像切分为设定数目个第一子图像。
当目标文本图像符合第二条件时,终端可以按照从上至下的顺序,将目标文本图像切分为符合第一条件的多个第二子图像;然后,终端可以按照从左至右的顺序,将多个第二子图像切分为设定数目个第一子图像。
其中,第一条件可以是指目标文本图像中的文本处于一行;第二条件可以是指目标文本图像中的文本处于多行。
在一种可能的实施方式中,当触发文本识别的任务时,终端可以基于预设的判定规则,对目标文本图像中的文本分布情况进行判定。本实施例对具体的判定规则不作限定,例如,终端可以获取目标文本图像中文本的行数,根据行数确定目标文本图像符合的条件。
目标文本图像符合第一条件的情况如图3所示的图像切分示意图,此时,目标文本图像中可以包含有一行文本。终端可以按照从左至右的顺序,将目标文本图像均匀切分为设定数目个第一子图像。
目标文本图像符合第二条件的情况如图4所示的图像切分示意图,此时,目标文本图像中可以包含有多行文本,例如,可以是一个段落的文本。终端可以首先按照从上至下的顺序,将目标文本图像均匀切分为多个第二子图像,每个第二子图像可以包含有一行文本,也即是符合第一条件。然后,终端可以按照上述第一条件的切分规则,将多个第二子图像切分为设定数目个第一子图像。
或者,对于文本图像包含有多行文本的情况,在步骤101的预处理中,终端截取的目标文本图像可以是多个,每个目标文本图像包含有一行文本。这种情况下,终端无需基于预设的判定规则,对目标文本图像中的文本分布情况进行判定,当触发文本识别的任务时,可以按照从左至右的顺序,将目标文本图像切分为设定数目个第一子图像。
步骤103,终端调用训练后的图像特征提取模型,分别对设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征。
在一种可能的实施方式中,终端可以对图像特征提取模型进行训练,并对训练后的图像特征提取模型进行存储。具体的训练方法将在另一个实施例中进行介绍,本实施例不再赘述。
如图5所示的模型流程示意图,终端在步骤102中得到设定数目个第一子图像后,可以调用该图像特征提取模型,分别将每个第一子图像作为输入,通过该图像特征提取模型进行处理,输出得到每个第一子图像的第一子图像特征。
示例性的,图像特征提取模型可以是VAE(Variational Auto-Encoder,变分自动编码器)模型的编码器。VAE模型是一种重要的生成式模型,它由编码器和解码器两部分组成,其中,编码器可以包括4个卷积层,解码器可以包括4个反卷积层。VAE模型将输入的图像通过编码器进行编码,然后将编码输入解码器,用于还原输入的图像,在多数情况下,还原出的图像与原图像极为相近,相比于其他的生成式模型,VAE模型的训练更稳定,而且速度更快。VAE模型将输入的图像转化成的编码可能是某种分布的参数,也可能是特征图等,可以有效提取图像特征。因此,当采用VAE模型的编码器作为图像特征提取模型时,可以提高文本识别的准确性。
图像特征提取模型还可以是其他能够用于提取图像特征的模型,例如自回归模型、生成对抗网络等,本实施例对具体的模型不作限定。
步骤104,终端根据预设的整合规则,对每个第一子图像的第一子图像特征进行处理,确定目标文本图像的第一图像特征。
在一种可能的实施方式中,终端可以存储有预先设定的整合规则,在确定下每个第一子图像的第一子图像特征之后,可以获取该整合规则,并基于该整合规则对每个第一子图像的第一子图像特征进行整合,组成目标文本图像的第一图像特征。
例如,终端可以按照每个第一子图像的顺序,对每个第一子图像特征进行拼接,得到目标文本图像的第一图像特征。
又例如,整合规则还可以包括加权平均的方法,终端可以基于该整合规则,对每个第一子图像及其相邻的第一子图像的第一子图像特征进行处理,确定每个第一子图像处理后的图像特征,然后,对每个处理后的图像特征进行拼接,得到目标文本图像的第一图像特征。
本实施例对具体的整合规则不作限定。
步骤105,终端调用训练后的文本识别模型,对第一图像特征进行处理,确定识别的目标文本。
在一种可能的实施方式中,终端可以对文本识别模型进行训练,并对训练后的文本识别模型进行存储。具体的训练方法将在另一个实施例中进行介绍,本实施例不再赘述。
如图5所示的模型流程示意图,终端在步骤104中获取到目标文本图像的第一图像特征后,可以调用该文本识别模型,将第一图像特征作为输入,通过文本识别模型进行处理,输出得到预测的概率矩阵,也即是目标文本图像对应的目标概率矩阵。
然后,终端可以通过预设的解码方式,对目标概率矩阵进行处理,确定识别的目标文本。例如,终端可以通过贪心解码或者Beam Search(集束搜索)解码的方式,获取每个文本位置上概率最大的字符。本实施例对具体的解码方式不作限定。
可选的,如图6所示的文本识别模型结构示意图,文本识别模型可以包括第一编码模块和第一解码模块。示例性的,文本识别模型可以为Transformer(翻译)模型,其中,第一编码模块可以包括6个第一基础模块,第一解码模块可以包括6个第二基础模块。第一基础模块和第二基础模块可以由注意力模块、跳跃连接、层归一化、前馈神经网络构成。Transformer模型中还可以包括其他模块,基础模块的个数也可以根据经验设置,本实施例对此不作限定。
Transformer的设计不仅极大地加快网络训练和推理的时间,更是能有效提升各类任务的精度,多用于自然语言理解相关的任务中,同时在多个任务中取得了相当好的效果。
需要说明的是,本实施例中所使用的文本识别模型是改进的Transformer模型,下面将参照图7所示的文本识别方法的流程图,对改进之处进行介绍。
如图7所示的文本识别方法的流程图,上述步骤105的处理可以如下:
步骤701,终端调用训练后的文本识别模型。
在一种可能的实施方式中,终端在步骤104中获取到目标文本图像的第一图像特征后,可以调用文本识别模型。
步骤702,终端通过第一编码模块,对第一图像特征进行处理,得到第二图像特征。
在一种可能的实施方式中,如图6所示的文本识别模型结构示意图,第一编码模块的输入可以包括键向量(K)、键值向量(V)和查询向量(Q)。
目标文本图像的第一图像特征的形式可以是编码矩阵。终端可以将该编码矩阵作为第一编码模块的输入,也即是说,可以令K=V=Q=编码矩阵。进而,终端可以通过第一编码模块的处理,进一步提取编码矩阵的特征,得到对应的第二图像特征。
步骤703,终端通过第一解码模块,对第一图像特征和第二图像特征进行处理,得到目标概率矩阵。
其中,目标概率矩阵可以包括设定数目个字符对应的概率向量。第一解码模块的一个第二基础模块中可以包括2个注意力模块,每个注意力模块的输入可以包括键向量、键值向量和查询向量。
在一种可能的实施方式中,对于第一解码模块的第一个第二基础模块,终端可以将第一图像特征的编码矩阵,作为第一解码模块中第一个注意力模块的输入,也即是说,可以令K=V=Q=编码矩阵。然后,终端可以通过第一个注意力模块的处理,进一步提取编码矩阵的特征,得到第一个注意力模块的输出。
进而,终端可以将第一编码模块的输出(即上述第二图像特征),以及第一个注意力模块的输出,作为第二个注意力模块的输入,令K=V=第一编码模块的输出,Q=第一个注意力模块的输出。通过第二个注意力模块的处理,得到第二个注意力模块的输出,也即是得到第一个第二基础模块的输出。
对于第一解码模块的第二个第二基础模块,其中的第一个注意力模块的输入可以是上述第一个第二基础模块的输出,第二个注意力模块的输入可以是第一编码模块的输出和对应的第一个注意力模块的输出,其余处理与上述同理,此处不再赘述。
以此类推,直到终端获取到第一解码模块的最后一个第二基础模块的输出,也即是第一解码模块的输出,该输出即为目标概率矩阵。
需要特别说明的是,一般的Transformer模型中,每当预测得到一个文本位置上的概率向量时,都会根据概率向量确定预测的字符,然后将预测的字符转换成词汇向量,输入模型继续预测下一个文本位置的字符。但是,本公开实施例改进的Transformer模型中,解码模块的每一个输出都是一个独立字符,前一个输出的字符不再作为后一个的输入。相比于一般的Transformer模型,减少了处理流程,提高处理效率。
可选的,第一图像特征可以包括设定数目个第一子图像的第二子图像特征。相对应的上述步骤703的处理可以如下:终端分别将每个第二子图像特征和第二图像特征作为输入,通过第一解码模块进行处理,输出得到每个第一子图像对应的概率向量,作为每个字符对应的概率向量;终端将每个第一子图像对应的概率向量进行拼接,得到目标概率矩阵。
其中,第二子图像特征可以基于每个第一子图像的第一子图像特征得到,与第一子图像一一对应。与上述步骤104中的整合规则相对应,当整合规则为直接拼接时,第二子图像特征即为上述第一子图像特征;当整合规则为处理后再拼接时,第二子图像特征即为上述步骤104中处理后的图像特征。
在一种可能的实施方式中,在第一解码模块的每次处理中,终端可以将一个第一子图像的第二子图像特征,以及第一编码模块的输出(即上述第二图像特征),作为第一解码模块的输入,具体处理与上述同理,此处不再赘述。然后,第一解码模块的输出可以是对应的文本位置上字符的概率向量。
在对每个第一子图像的第二子图像特征处理完成后,即可得到多个文本位置上字符的概率向量。然后,终端可以按照每个第一子图像的位置顺序,对每个概率向量进行拼接,得到目标概率矩阵。
需要特别说明的是,本公开实施例改进的Transformer模型中,不会每当解码模块输出一个文本位置上字符的概率向量时,都使用softmax(归一化指数函数)确定具体的字符,而是解码模块解码L次,得到一个N维向量后,将它们拼接起来,得到L*N的概率矩阵,也即是目标概率矩阵。其中,L是指上述设定数目,与切分的第一子图像相对应;N是指Transformer模型的字典大小。
可选的,第一解码模块可以包括多个注意力模块,每个注意力模块的输入包括键向量、键值向量和查询向量。
如图8所示的注意力模块示意图,每个注意力模块的处理可以包括:对键向量和查询向量进行矩阵相乘,得到第一结果;对第一结果进行按比例缩放,得到第二结果;通过softmax归一化指数函数,对第二结果进行处理,得到第三结果;将第三结果和键值向量进行矩阵相乘,得到每个注意力模块的输出。
当然,在实际应用中,注意力模块中还可以包括其他模块,图8是对注意力模块的一种示意,不是对注意力模块的具体结构的限定。
需要特别说明的是,一般的Transformer模型中,解码模块中的注意力模块中都需要添加mask掩膜,这是因为,在机器翻译任务中,比如将“你是谁”翻译为“<s> who are you<E>”,<s>和<E>是设定的起止符,编码模块会将“你是谁”一次编码,但是解码模块却是每次解码一个词,前面解码出来的词会是后面的输入,同时前面的词不能看到后面的词,这个时候在实现上就需要借助掩膜,把后面的词挡住。但是,本公开实施例改进的Transformer模型中却是恰恰相反,也即是说,改进的Transformer模型希望在解码时看到后面的信息,并参考后面的信息进行解码,这是基于第一子图像中可能包含有一个字符的部分图像的特点设计的。直观来讲,改进的Transformer模型的发明构思与人们阅读的情况相类似,可以基于一半的文字来猜测原本的文字。
步骤704,终端根据目标概率矩阵,确定识别的目标文本。
在一种可能的实施方式中,终端可以通过预设的解码方式,对目标概率矩阵进行处理,确定识别的目标文本。例如,终端可以通过贪心解码或者Beam Search(集束搜索)解码的方式,获取每个文本位置上概率最大的字符。本实施例对具体的解码方式不作限定。
本公开实施例中,终端可以将文本图像按照设定数目切分为多个子图像,然后基于图像特征提取模型,分别对每个子图像提取相应的图像特征,可以提高图像特征的精度。进而,终端再基于文本识别模型对文本图像的图像特征进行处理,识别其中的文本。由于提高了图像特征的精度,通过本公开实施例的文本识别方法,可以提高文本识别的准确性,有效减少多识别字符或漏识别字符的情况的发生。
上述公开实施例中所使用的图像特征提取模型可以是机器学习模型,在使用图像特征提取模型进行上述处理前,可以对其进行训练。下面将通过如图9所示的图像特征提取模型的训练方法流程图,对图像特征提取模型的训练方法进行介绍。
步骤901,终端获取多个第一训练样本。
其中,第一训练样本可以包括每个第一文本图像对应的设定数目个第三子图像。第一文本图像与目标文本图像属于同一类型,来源于同一应用场景。例如,均来源于印刷书籍,本实施例对具体的应用场景不作限定。
在一种可能的实施方式中,终端可以获取多个第一文本图像,并基于与步骤102相同的方法,对每个第一文本图像进行切分,对每个第一文本图像得到设定数目个第三子图像。基于一个第三子图像可以得到一个训练样本,基于多个第三子图像可以得到多个训练样本。
为了便于描述,将此处所使用的训练样本称为第一训练样本。
可选的,可以根据训练样本中文本的字符数目分布情况,确定划分子图像的数目。相对应的,如图10所示的图像特征提取模型的训练方法流程图,上述步骤901的处理可以如下:
步骤1001,终端获取多个第一文本图像。
在一种可能的实施方式中,第一文本图像可以存储在数据库中。终端可以从数据库中获取多个第一文本图像,以便进行模型训练前的数据准备。
步骤1002,终端获取对多个第一文本图像进行标注得到的第一标签文本。
在一种可能的实施方式中,可以对多个第一文本图像中的字符进行转录,得到多个字符串,字符串与第一文本图像文本一一对应。终端还可以基于其他方法对第一文本图像中的字符进行标注,本实施例对此不作限定。
进而,终端可以获取每个第一文本图像对应的字符串,作为第一标签文本。
步骤1003,终端根据多个第一文本图像的第一标签文本,确定最大字符数目。
在一种可能的实施方式中,终端可以对每个第一标签文本的字符数目进行统计,然后对其进行排序,获取其中的最大字符数目。
步骤1004,终端将最大字符数目作为设定数目,根据预设的切分规则,将每个第一文本图像切分为设定数目个第三子图像。
在一种可能的实施方式中,由于第一文本图像和目标文本图像属于同一类型,来源于同一应用场景,当采集足够多的第一文本图像时,可以将步骤1003中获取到的最大字符数目,作为这种应用场景下估计的最大字符数目。这样获取到的最大字符数目具有一定的可信度,可以提高文本识别的准确性。
进而,终端可以基于与上述步骤102相同的方法,对每个第一文本图像进行切分,此处不再赘述。
步骤1005,终端根据每个第一文本图像的设定数目个第三子图像,获取多个第一训练样本。
在一种可能的实施方式中,终端可以将一个第三子图像作为一个第一训练样本,获取多个第一训练样本。
终端在获取到多个训练样本之后,可以继续执行步骤902的处理。
步骤902,终端获取初始的生成模型。
其中,生成模型可以包括第二编码模块和第二解码模块。初始的生成模型的模型参数可以是初始值。
在一种可能的实施方式中,终端可以存储有预先构建的初始的生成模型,当触发对生成模型的训练任务时,获取该初始的生成模型。
示例性的,生成模型可以是VAE模型,本实施例对生成模型的具体模型结构不作限定。VAE模型通常以对数似然的下确界作为优化目标,因此VAE模型的损失函数一般由重构损失和交叉熵损失两部分组成。VAE模型将输入通过编码器进行编码,然后将编码输入解码器,用于还原输入,在多数情况下,还原出的图片与原图片极为相近,相比于其他的生成式模型,VAE模型的训练更稳定,而且速度更快。
步骤903,终端根据多个第一训练样本,对初始的生成模型进行训练,得到训练后的生成模型。
其中,生成模型的输入可以为每个第三子图像,输出可以为每个第三子图像对应的预测图像,标签可以为每个第三子图像。
可选的,上述生成模型的第二编码模块可以用于提取图像特征,第二解码模块可以用于根据第二编码模块提取的图像特征,还原输入的图像。相对应的,如图11所示的图像特征提取模型的训练方法流程图,上述步骤903的处理可以如下:
步骤1101,终端通过初始的生成模型的第二编码模块,对每个第三子图像进行处理,得到每个第三子图像的第一子图像特征。
在一种可能的实施方式中,终端可以将每个第三子图像作为输入,通过初始的第二编码模块进行处理,输出得到每个第三子图像的图像特征。
由于图像特征提取模型可以是生成模型的编码模块,为了便于描述,本公开实施例中将第二编码模块和图像特征提取模型对子图像输出的图像特征,称为第一子图像特征。
步骤1102,终端通过初始的生成模型的第二解码模块,对每个第三子图像的第一子图像特征进行处理,得到每个第三子图像对应的预测图像。
在一种可能的实施方式中,终端可以将初始的第二编码模块输出的第一子图像特征作为输入,通过初始的第二解码模块进行处理,输出得到对应的预测图像,预测图像中的每个像素点上可以是预测的像素值。
步骤1103,终端根据每个第三子图像以及对应的预测图像,对初始的生成模型的模型参数进行调整。
在一种可能的实施方式中,终端可以将每个第三子图像及其对应的预测图像输入损失函数,通过损失函数确定每个像素点上预测的像素值与原像素值之间的损失值,进而确定模型调整参数。终端可以根据模型调整参数,对初始的生成模型的模型参数进行调整。
示例性的,上述损失函数可以是L1损失函数,当然还可以是其他损失函数,本实施例对此不作限定。
步骤1104,当达到训练结束条件时,终端获取当前的生成模型,作为训练后的生成模型。
其中,训练结束条件可以是训练次数达到第一阈值,和/或模型正确率达到第二阈值,和/或损失函数低于第三阈值。上述第一阈值、第二阈值和第三阈值可以根据经验设置。本实施例对具体的训练结束条件不作限定。
在训练完成后,终端可以继续执行步骤904的处理,确定图像特征提取模型。
步骤904,终端根据训练后的生成模型的第二编码模块,确定图像特征提取模型。
在一种可能的实施方式中,终端可以将生成模型的第二解码模块删除,保留第二编码模型作为图像特征提取模型并存储。或者,终端还可以是获取训练后的第二解码模块的模型参数,基于该模型参数,构建图像特征提取模型。本实施例对此不作限定。
本公开实施例中,终端可以对生成模型进行训练,基于生成模型的第二编码模块,构建图像特征提取模型。由于生成模型具有良好的特征提取性能,基于此构建的图像特征提取模型也可以有效提取图像的特征,提高图像特征的精度。
同样,上述公开实施例中所使用的文本识别模型也可以是机器学习模型,在使用文本识别模型进行上述处理前,可以对其进行训练。下面将通过如图12所示的文本识别模型的训练方法流程图,对文本识别模型的训练方法进行介绍。
步骤1201,终端获取多个第二训练样本。
其中,每个第二训练样本可以包括一个第二文本图像的第一图像特征,以及一个第二文本图像对应的概率矩阵。与第一文本图像同理,第二文本图像与目标文本图像属于同一类型,来源于同一应用场景。在一些可能的实施方式中,第二文本图像可以与上述第一文本图像相同,本实施例对此不作限定。
在一种可能的实施方式中,终端可以获取多个第二文本图像,然后,根据每个第二文本图像,确定每个第二文本图像的第一图像特征以及对应的概率矩阵。
当触发对文本识别模型的训练任务时,终端可以获取一个第二文本图像的第一图像特征及其对应的概率矩阵作为一个训练样本,同理,获取多个训练样本。
为了方便描述,将此处所使用的训练样本称为第二训练样本。
可选的,文本识别模型所使用的训练样本可以基于上述图像特征提取模型得到。相对应的,如图13所示的文本识别模型的训练方法流程图,上述步骤1201的处理可以如下:
步骤1301,终端获取多个第二文本图像。
在一种可能的实施方式中,第二文本图像可以存储在数据库中。终端可以从数据库中获取多个第二文本图像,以便进行模型训练前的数据准备。
步骤1302,终端获取对多个第二文本图像进行标注得到的第二标签文本。
在一种可能的实施方式中,可以对多个第二文本图像中的字符进行转录,得到多个字符串,字符串与第二文本图像文本一一对应。终端还可以基于其他方法对第二文本图像中的字符进行标注,本实施例对此不作限定。
进而,终端可以获取每个第二文本图像对应的字符串,作为第二标签文本。
其中,对于字符串长度小于设定数目(即估计的最大字符数目)的字符串,终端可以将预设符号填充至字符串的末尾,将字符串长度扩充至设定数目。例如,上述预设符号可以是“¥”,一般使用不常用的字符,表示什么文字都不是。
通过上述填充处理,可以保证标签文本的长度一致,以及对应的概率矩阵的大小一致,便于模型处理。对于预设符号,终端在模型的应用过程中,可以在通过概率矩阵确定识别的文本时,基于预设规则将上述预设符号过滤,输出有效的文本。
步骤1303,终端根据每个第二文本图像中的第二标签文本,确定每个第二文本图像对应的概率矩阵。
在一种可能的实施方式中,终端可以基于文本识别模型的字典,查询第二标签文本中每个词汇的位置,根据每个词汇在字典中的位置构建相应的向量表示,进而可以将每个词汇的向量表示进行拼接,得到对应的概率矩阵。例如,该向量表示可以包括N维,N为字典大小,其中的元素可以包括{0,1},0表示不是字典中该位置上的词汇,1表示是字典中该位置上的词汇。
也即是说,当基于设定数目构建长度一致的标签文本时,在训练完成后,文本识别模型输出的也是相应长度的文本对应的概率矩阵。由于设定数目是估计的最大字符数目,对于自然场景文字识别需要从图片中识别长度不固定的序列的问题,具有良好的适应性。
步骤1304,终端基于与确定目标文本图像的第一图像特征相同的方法,确定每个第二文本图像的第一图像特征。
也即是说,上述步骤1304的处理可以如下:终端根据预设的切分规则,将每个第二文本图像切分为设定数目个第四子图像;调用训练后的图像特征提取模型,分别对设定数目个第四子图像进行处理,得到每个第四子图像的第一子图像特征;根据预设的整合规则,对每个第四子图像的第一子图像特征进行处理,确定每个第二文本图像的第一图像特征。
步骤1304的具体处理与上述步骤102-104同理,此处不再赘述。
步骤1305,终端根据每个第二文本图像的第一图像特征以及对应的概率矩阵,获取多个第二训练样本。
在一种可能的实施方式中,终端可以将一个第二文本图像的第一图像特征以及对应的概率矩阵作为一个第二训练样本,同理,获取多个第二训练样本。
终端在获取到多个第二训练样本后,可以继续执行步骤1202的处理,继续对文本识别模型进行训练。
步骤1202,终端获取初始的文本识别模型。
其中,初始的文本识别模型的模型参数可以是初始值。
在一种可能的实施方式中,终端可以存储有预先构建的初始的文本识别模型,当触发对文本识别模型的训练任务时,终端可以获取该初始的文本识别模型。
步骤1203,终端根据多个第二训练样本,对初始的文本识别模型进行训练,得到训练后的文本识别模型。
其中,文本识别模型的输入可以为每个第二文本图像的第一图像特征,输出可以为每个第二文本图像对应的预测概率矩阵,标签可以为每个第三子图像所述每个第二文本图像对应的概率矩阵。
在一种可能的实施方式中,终端可以将每个第二文本图像的第一图像特征作为输入,通过与上述步骤701-703同理的方法,确定每个第二文本图像对应的预测概率矩阵,具体处理此处不再赘述。
然后,终端可以将预测概率矩阵和对应的概率矩阵输入损失函数,通过损失函数确定损失值,进而确定模型调整参数。终端可以根据模型调整参数,对初始的文本识别模型的模型参数进行调整。
可选的,当目标概率矩阵是每个第一子图像对应的概率向量拼接而来的概率矩阵时,文本识别模型的损失函数可以是CTC(Connectionist Temporal Classification,连结一致性损失)函数。CTC函数的原理是统计所有预测得到标签中按照一定的规则能得到标签序列的最大概率,也就是说如果采用序列标注的方式,使用CTC作为损失函数,能够取得较好的效果。
当达到训练结束条件时,终端可以获取当前的文本识别模型,作为训练后的文本识别模型。
训练结束条件可以是训练次数达到第四阈值,和/或模型正确率达到第五阈值,和/或损失函数低于第六阈值。上述第四阈值、第五阈值和第六阈值可以根据经验设置。本实施例对具体的训练结束条件不作限定。
本公开实施例中,终端可以基于图像提取模型输出的图像特征,对文本识别模型进行训练,由于图像特征提取模型提高了图像特征的精度,使得训练后的文本识别模型的精度也相应提高,也即是提高了文本识别的准确性。
本公开实施例提供了一种文本识别装置1400,该装置用于实现上述文本识别方法。如图14所示的文本识别装置的示意性框图,该装置包括:
获取模块1401,用于获取待识别的目标文本图像;
切分模块1402,用于根据预设的切分规则,将所述目标文本图像切分为设定数目个第一子图像;
第一调用模块1403,用于调用训练后的图像特征提取模型,分别对所述设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征;
确定模块1404,用于根据预设的整合规则,对所述每个第一子图像的第一子图像特征进行处理,确定所述目标文本图像的第一图像特征;
第二调用模块1405,用于调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本。
可选的,所述文本识别模型包括第一编码模块和第一解码模块;
所述第二调用模块1405用于:
调用训练后的文本识别模型;
通过所述第一编码模块,对所述第一图像特征进行处理,得到第二图像特征;
通过所述第一解码模块,对所述第一图像特征和所述第二图像特征进行处理,得到目标概率矩阵,所述目标概率矩阵包括设定数目个字符对应的概率向量;
根据所述目标概率矩阵,确定识别的目标文本。
可选的,所述第一解码模块包括多个注意力模块,每个注意力模块的输入包括键向量、键值向量和查询向量;
所述第二调用模块1405用于:
对所述键向量和所述查询向量进行矩阵相乘,得到第一结果;
对所述第一结果进行按比例缩放,得到第二结果;
通过softmax归一化指数函数,对所述第二结果进行处理,得到第三结果;
将所述第三结果和所述键值向量进行矩阵相乘,得到所述每个注意力模块的输出。
可选的,所述第一图像特征包括所述设定数目个第一子图像的第二子图像特征,所述第二子图像特征基于所述每个第一子图像的第一子图像特征得到;
所述第二调用模块1405用于:
分别将每个第二子图像特征和所述第二图像特征作为输入,通过所述第一解码模块进行处理,输出得到每个第一子图像对应的概率向量,作为每个字符对应的概率向量;
将所述每个第一子图像对应的概率向量进行拼接,得到目标概率矩阵。
可选的,所述切分模块1402用于:
当所述目标文本图像符合第一条件时,按照从左至右的顺序,将所述目标文本图像切分为设定数目个第一子图像;
当所述目标文本图像符合第二条件时,按照从上至下的顺序,将所述目标文本图像切分为符合所述第一条件的多个第二子图像;按照从左至右的顺序,将所述多个第二子图像切分为设定数目个第一子图像。
其中,所述第一条件是指所述目标文本图像中的文本处于一行;所述第二条件是指所述目标文本图像中的文本处于多行。
可选的,如图15所示的文本识别装置的示意性框图,所述装置还包括训练模块1406,所述训练模块1406用于:
获取多个第一训练样本,所述第一训练样本包括每个第一文本图像对应的设定数目个第三子图像;
获取初始的生成模型,所述生成模型包括第二编码模块和第二解码模块;
根据所述多个第一训练样本,对所述初始的生成模型进行训练,得到训练后的生成模型,其中,所述生成模型的输入为每个第三子图像,输出为所述每个第三子图像对应的预测图像,标签为所述每个第三子图像;
根据所述训练后的生成模型的第二编码模块,确定图像特征提取模型。
可选的,所述训练模块1406用于:
获取多个第一文本图像;
获取对所述多个第一文本图像进行标注得到的第一标签文本;
根据所述多个第一文本图像的第一标签文本,确定最大字符数目;
将所述最大字符数目作为设定数目,根据所述预设的切分规则,将所述每个第一文本图像切分为所述设定数目个第三子图像;
根据所述每个第一文本图像的所述设定数目个第三子图像,获取多个第一训练样本。
可选的,所述训练模块1406还用于:
获取多个第二训练样本,每个第二训练样本包括一个第二文本图像的第一图像特征,以及所述一个第二文本图像对应的概率矩阵;
获取初始的文本识别模型;
根据所述多个第二训练样本,对所述初始的文本识别模型进行训练,得到训练后的文本识别模型,其中,所述文本识别模型的输入为每个第二文本图像的第一图像特征,输出为所述每个第二文本图像对应的预测概率矩阵,标签为所述每个第三子图像所述每个第二文本图像对应的概率矩阵。
可选的,所述训练模块1406用于:
获取多个第二文本图像;
获取对所述多个第二文本图像进行标注得到的第二标签文本;
根据每个第二文本图像中的第二标签文本,确定所述每个第二文本图像对应的概率矩阵;
基于与确定所述目标文本图像的第一图像特征相同的方法,确定所述每个第二文本图像的第一图像特征;
根据所述每个第二文本图像的第一图像特征以及对应的概率矩阵,获取多个第二训练样本。
本公开实施例中,终端可以将文本图像按照设定数目切分为多个子图像,然后基于图像特征提取模型,分别对每个子图像提取相应的图像特征,可以提高图像特征的精度。进而,终端再基于文本识别模型对文本图像的图像特征进行处理,识别其中的文本。由于提高了图像特征的精度,通过本公开实施例的文本识别方法,可以提高文本识别的准确性,有效减少多识别字符或漏识别字符的情况的发生。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图16,现将描述可以作为本公开的服务器或客户端的电子设备1600的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图16所示,电子设备1600包括计算单元1601,其可以根据存储在只读存储器(ROM)1602中的计算机程序或者从存储单元1608加载到随机访问存储器(RAM)1603中的计算机程序,来执行各种适当的动作和处理。在RAM 1603中,还可存储设备1600操作所需的各种程序和数据。计算单元1601、ROM 1602以及RAM 1603通过总线1604彼此相连。输入/输出(I/O)接口1605也连接至总线1604。
电子设备1600中的多个部件连接至I/O接口1605,包括:输入单元1606、输出单元1607、存储单元1608以及通信单元1609。输入单元1606可以是能向电子设备1600输入信息的任何类型的设备,输入单元1606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1607可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1604可以包括但不限于磁盘、光盘。通信单元1609允许电子设备1600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元1601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1601执行上文所描述的各个方法和处理。例如,在一些实施例中,文本识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1602和/或通信单元1609而被载入和/或安装到电子设备1600上。在一些实施例中,计算单元1601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本识别方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (13)
1.一种文本识别方法,其特征在于,所述方法包括:
获取待识别的图像,对所述待识别的图像进行预处理,截取其中的文本图像,将所述文本图像作为待识别的目标文本图像;
获取待识别的目标文本图像;
根据预设的切分规则,将所述目标文本图像切分为设定数目个第一子图像;
调用训练后的图像特征提取模型,分别对所述设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征;
根据预设的整合规则,对所述每个第一子图像的第一子图像特征进行处理,确定所述目标文本图像的第一图像特征;
调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本。
2.根据权利要求1所述的文本识别方法,其特征在于,所述文本识别模型包括第一编码模块和第一解码模块;
所述调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本,包括:
调用训练后的文本识别模型;
通过所述第一编码模块,对所述第一图像特征进行处理,得到第二图像特征;
通过所述第一解码模块,对所述第一图像特征和所述第二图像特征进行处理,得到目标概率矩阵,所述目标概率矩阵包括设定数目个字符对应的概率向量;
根据所述目标概率矩阵,确定识别的目标文本。
3.根据权利要求2所述的文本识别方法,其特征在于,所述第一解码模块包括多个注意力模块,每个注意力模块的输入包括键向量、键值向量和查询向量;
所述每个注意力模块的处理包括:
对所述键向量和所述查询向量进行矩阵相乘,得到第一结果;
对所述第一结果进行按比例缩放,得到第二结果;
通过softmax归一化指数函数,对所述第二结果进行处理,得到第三结果;
将所述第三结果和所述键值向量进行矩阵相乘,得到所述每个注意力模块的输出。
4.根据权利要求2所述的文本识别方法,其特征在于,所述第一图像特征包括所述设定数目个第一子图像的第二子图像特征,所述第二子图像特征基于所述每个第一子图像的第一子图像特征得到;
所述通过所述第一解码模块,对所述第一图像特征和所述第二图像特征进行处理,得到目标概率矩阵,包括:
分别将每个第二子图像特征和所述第二图像特征作为输入,通过所述第一解码模块进行处理,输出得到每个第一子图像对应的概率向量,作为每个字符对应的概率向量;
将所述每个第一子图像对应的概率向量进行拼接,得到目标概率矩阵。
5.根据权利要求1所述的文本识别方法,其特征在于,所述根据预设的切分规则,将所述文本图像切分为设定数目个第一子图像,包括:
当所述目标文本图像符合第一条件时,按照从左至右的顺序,将所述目标文本图像切分为设定数目个第一子图像;
当所述目标文本图像符合第二条件时,按照从上至下的顺序,将所述目标文本图像切分为符合所述第一条件的多个第二子图像;按照从左至右的顺序,将所述多个第二子图像切分为设定数目个第一子图像;
其中,所述第一条件是指所述目标文本图像中的文本处于一行;所述第二条件是指所述目标文本图像中的文本处于多行。
6.根据权利要求1所述的文本识别方法,其特征在于,所述图像特征提取模型的训练方法包括:
获取多个第一训练样本,所述第一训练样本包括每个第一文本图像对应的设定数目个第三子图像;
获取初始的生成模型,所述生成模型包括第二编码模块和第二解码模块;
根据所述多个第一训练样本,对所述初始的生成模型进行训练,得到训练后的生成模型,其中,所述生成模型的输入为每个第三子图像,输出为所述每个第三子图像对应的预测图像,标签为所述每个第三子图像;
根据所述训练后的生成模型的第二编码模块,确定图像特征提取模型。
7.根据权利要求6所述的文本识别方法,其特征在于,所述获取多个第一训练样本,包括:
获取多个第一文本图像;
获取对所述多个第一文本图像进行标注得到的第一标签文本;
根据所述多个第一文本图像的第一标签文本,确定最大字符数目;
将所述最大字符数目作为设定数目,根据所述预设的切分规则,将所述每个第一文本图像切分为所述设定数目个第三子图像;
根据所述每个第一文本图像的所述设定数目个第三子图像,获取多个第一训练样本。
8.根据权利要求1所述的文本识别方法,其特征在于,所述文本识别模型的训练方法包括:
获取多个第二训练样本,每个第二训练样本包括一个第二文本图像的第一图像特征,以及所述一个第二文本图像对应的概率矩阵;
获取初始的文本识别模型;
根据所述多个第二训练样本,对所述初始的文本识别模型进行训练,得到训练后的文本识别模型,其中,所述文本识别模型的输入为每个第二文本图像的第一图像特征,输出为所述每个第二文本图像对应的预测概率矩阵,标签为所述每个第三子图像所述每个第二文本图像对应的概率矩阵。
9.根据权利要求8所述的文本识别方法,其特征在于,所述获取多个第二训练样本,包括:
获取多个第二文本图像;
获取对所述多个第二文本图像进行标注得到的第二标签文本;
根据每个第二文本图像中的第二标签文本,确定所述每个第二文本图像对应的概率矩阵;
基于与确定所述目标文本图像的第一图像特征相同的方法,确定所述每个第二文本图像的第一图像特征;
根据所述每个第二文本图像的第一图像特征以及对应的概率矩阵,获取多个第二训练样本。
10.一种文本识别装置,其特征在于,所述装置包括:
获取模块,用于获取待识别的图像,对所述待识别的图像进行预处理,截取其中的文本图像,将所述文本图像作为待识别的目标文本图像;获取待识别的目标文本图像;
切分模块,用于根据预设的切分规则,将所述目标文本图像切分为设定数目个第一子图像;
第一调用模块,用于调用训练后的图像特征提取模型,分别对所述设定数目个第一子图像进行处理,得到每个第一子图像的第一子图像特征;
确定模块,用于根据预设的整合规则,对所述每个第一子图像的第一子图像特征进行处理,确定所述目标文本图像的第一图像特征;
第二调用模块,用于调用训练后的文本识别模型,对所述第一图像特征进行处理,确定识别的目标文本。
11.根据权利要求10所述的文本识别装置,其特征在于,所述装置还包括训练模块,所述训练模块用于:
获取多个第一训练样本,所述第一训练样本包括每个第一文本图像对应的设定数目个第三子图像;
获取初始的生成模型,所述生成模型包括第二编码模块和第二解码模块;
根据所述多个第一训练样本,对所述初始的生成模型进行训练,得到训练后的生成模型,其中,所述生成模型的输入为每个第三子图像,输出为所述每个第三子图像对应的预测图像,标签为所述每个第三子图像;
根据所述训练后的生成模型的第二编码模块,确定图像特征提取模型。
12.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883338.6A CN113344014B (zh) | 2021-08-03 | 2021-08-03 | 文本识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883338.6A CN113344014B (zh) | 2021-08-03 | 2021-08-03 | 文本识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113344014A CN113344014A (zh) | 2021-09-03 |
CN113344014B true CN113344014B (zh) | 2022-03-08 |
Family
ID=77480619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110883338.6A Active CN113344014B (zh) | 2021-08-03 | 2021-08-03 | 文本识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113344014B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037990A (zh) * | 2021-11-04 | 2022-02-11 | 北京有竹居网络技术有限公司 | 一种字符识别方法、装置、设备、介质及产品 |
CN114973291B (zh) * | 2022-07-28 | 2022-11-04 | 北京和人广智科技有限公司 | 文本行图像文字切分方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232377A (zh) * | 2019-01-07 | 2019-09-13 | 广东爱贝佳科技有限公司 | 一种字帖练习书法的人工智能评分系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108615036B (zh) * | 2018-05-09 | 2021-10-01 | 中国科学技术大学 | 一种基于卷积注意力网络的自然场景文本识别方法 |
CN111695385B (zh) * | 2019-03-15 | 2023-09-26 | 杭州海康威视数字技术股份有限公司 | 文本识别方法、装置及设备 |
CN111783756B (zh) * | 2019-04-03 | 2024-04-16 | 北京市商汤科技开发有限公司 | 文本识别方法及装置、电子设备和存储介质 |
CN112101395A (zh) * | 2019-06-18 | 2020-12-18 | 上海高德威智能交通系统有限公司 | 一种图像的识别方法及装置 |
CN111860506B (zh) * | 2020-07-24 | 2024-03-29 | 北京百度网讯科技有限公司 | 识别文字的方法和装置 |
CN112633290A (zh) * | 2021-03-04 | 2021-04-09 | 北京世纪好未来教育科技有限公司 | 文本识别方法、电子设备及计算机可读介质 |
CN112801228B (zh) * | 2021-04-06 | 2021-08-06 | 北京世纪好未来教育科技有限公司 | 一种文本识别方法、电子设备及其存储介质 |
-
2021
- 2021-08-03 CN CN202110883338.6A patent/CN113344014B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232377A (zh) * | 2019-01-07 | 2019-09-13 | 广东爱贝佳科技有限公司 | 一种字帖练习书法的人工智能评分系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113344014A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113344014B (zh) | 文本识别方法和装置 | |
CN113283427B (zh) | 文本识别方法、装置、设备及介质 | |
CN113313022A (zh) | 文字识别模型的训练方法和识别图像中文字的方法 | |
CN113254654B (zh) | 模型训练、文本识别方法、装置、设备和介质 | |
CN113343958B (zh) | 一种文本识别方法、装置、设备及介质 | |
CN114022882B (zh) | 文本识别模型训练、文本识别方法、装置、设备及介质 | |
CN113963359B (zh) | 文本识别模型训练方法、文本识别方法、装置及电子设备 | |
CN112380566A (zh) | 用于对文档图像进行脱敏的方法、装置、电子设备及介质 | |
CN115690793B (zh) | 文字识别模型及其识别方法、装置、设备和介质 | |
CN113379627A (zh) | 图像增强模型的训练方法和对图像进行增强的方法 | |
CN114863437A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN114495102A (zh) | 文本识别方法、文本识别网络的训练方法及装置 | |
CN115862040A (zh) | 文本纠错方法、装置、计算机设备及可读存储介质 | |
CN114022887B (zh) | 文本识别模型训练及文本识别方法、装置、电子设备 | |
CN114973229A (zh) | 文本识别模型训练、文本识别方法、装置、设备及介质 | |
CN114639096A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN111126059B (zh) | 一种短文文本的生成方法、生成装置及可读存储介质 | |
CN110502236B (zh) | 基于多尺度特征解码的前端代码生成方法、系统及设备 | |
US20230153550A1 (en) | Machine Translation Method and Apparatus, Device and Storage Medium | |
CN113963358B (zh) | 文本识别模型训练方法、文本识别方法、装置及电子设备 | |
CN113127058B (zh) | 数据标注方法、相关装置及计算机程序产品 | |
CN115565186A (zh) | 文字识别模型的训练方法、装置、电子设备和存储介质 | |
CN114627464A (zh) | 文本识别方法、装置、电子设备和存储介质 | |
CN115101069A (zh) | 语音控制方法、装置、设备、存储介质以及程序产品 | |
CN111695350B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |