一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本识别方法、装置、计算机设备和存储介质与流程

2022-02-24 10:51:51 来源:中国专利 TAG:


1.本发明涉及图像识别技术领域,具体涉及一种文本识别方法、装置、计算机设备和存储介质。


背景技术:

2.目前,基于图像中的文本行书写方向,对图像的文本识别包括竖排文本和横排文本的识别。
3.鉴于书写方向的不同,现有的横排及竖排文本识别方法主要可以分为两大类,第一大类是基于字符检测的方法,第二大类是基于文本行的整体识别。
4.对于基于文本行整体识别的方法,可以将竖排文本逆时针方向旋转90度,和横排文本混在一起训练模型,在训练完成后,以该模型识别横竖排的文本,但是在该方案中,模型需要学习每个字符的正立和侧倒两个模式下的特征,所以模型的规模和训练难度会较大,且竖排文本一般比横排文本的样本数量低,不利于保证模型的文本识别准确度。


技术实现要素:

5.本发明实施例提供一种文本识别方法、装置、计算机设备和存储介质,横、竖排文本可以共用特征提取方案,有利于简化模型规模和训练难度,避免横、竖排文本数量不均的问题,有利于提升文本识别准确度。
6.本发明实施例提供一种文本识别方法,该文本识别方法包括:
7.获取待识别文本行图像;
8.获取所述待识别文本行图像的书写方向,其中,所述书写方向的类型包括横向书写方向和纵向书写方向;
9.基于已训练完成的文本识别模型提取所述待识别文本行图像的特征图;
10.通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
11.通过所述文本识别模型对所述二维矩阵进行分析,确定所述待识别文本行图像中的文本。
12.另一方面,本技术还提供一种文本识别装置,该文本识别装置,包括:
13.第一获取单元,用于获取待识别文本行图像;
14.第二获取单元,用于获取所述待识别文本行图像的书写方向,其中,所述书写方向的类型包括横向书写方向和纵向书写方向;
15.特征获取单元,用于基于已训练完成的文本识别模型提取所述待识别文本行图像的特征图;
16.转换单元,用于通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
17.分析单元,用于通过所述文本识别模型对所述二维矩阵进行分析,确定所述待识别文本行图像中的文本。
18.另一方面,本技术还提供一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上所述的文本识别方法的步骤。
19.另一方面,本技术还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上所述的文本识别方法的步骤。
20.本实施例公开了一种文本识别方法、装置、计算机设备和存储介质,可以获取待识别文本行图像;获取待识别文本行图像的书写方向,其中,书写方向的类型包括横向书写方向和纵向书写方向;基于已训练完成的文本识别模型提取待识别文本行图像的特征图;本实施例中横向文本行和纵向文本行都采用的是一个特征提取方案提取特征图,所以模型中的特征提取能力较强,模型的规模也可以得以控制,特征图提取后,通过文本识别模型对特征图进行特定维度变换处理,将特征图转换为二维矩阵,特定维度处理与书写方向对应,其中,若书写方向为横向书写方向,二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若书写方向为纵向书写方向,二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;通过文本识别模型对二维矩阵进行分析,确定待识别文本行图像中的文本,本实施例中模型对横向文本行和纵向文本行的特征提取能力强,有利于提升文本识别准确率。
附图说明
21.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明实施例提供的一种文本识别方法的流程示意图;
23.图2a是本发明实施例提供的文本识别模型的训练方法的流程示意图;
24.图2b是本发明实施例提供的横排文本行图像和竖排文本行图像的示意图;
25.图2c是本发明实施例提供的不带rnn层的文本识别模型对横竖排文本行图像识别的示意图;
26.图2d是本发明实施例提供的文本识别模型的训练方法的原理示意图;
27.图3是本发明实施例提供的文本识别装置的结构示意图;
28.图4是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
31.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
32.本实施例公开了一种文本识别方法、装置、存储介质以及计算机设备,以下分别进行详细说明。
33.首先,本发明实施例提供了一种文本识别方法,该文本识别方法包括:获取待识别文本行图像;获取所述待识别文本行图像的书写方向,其中,所述书写方向的类型包括横向书写方向和纵向书写方向;基于已训练完成的文本识别模型提取所述待识别文本行图像的特征图;通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;通过所述文本识别模型对所述二维矩阵进行分析,确定所述待识别文本行图像中的文本。
34.本实施例提供适用于计算机设备的文本识别方法。该计算机设备可以为终端等设备,例如可以为手机、平板电脑、笔记本电脑、台式电脑等。其中,该计算机设备还可以为服务器等设备,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
35.比如,文本识别方法可以集成在终端或服务器中。
36.如图1所示,为本发明实施例中文本识别方法中一个实施例流程示意图,该文本识别方法应用于文本识别装置,该文本识别装置可以集成于计算机设备中,例如,集成于终端
或服务器,本实施例对此没有限制。参考图1,该文本识别方法可以包括:
37.101、获取待识别文本行图像;
38.对于需要文本识别的图像,其可能包括(纵向书写或横向书写的)一行或多行文本,若待识别图像中包含一行文本,则该待识别图像为待识别文本行图像,若该待识别图像中包含多行文本,则需要通过处理得到文本行图像。
39.在一个可选的实施例中,步骤“获取待识别文本行图像”,可以包括:
40.获取待识别图像;
41.若待识别图像中的文本并未按行分布,对待识别图像进行预处理,使得待识别图像中的文字按行分布;
42.若按行分布的待识别图像包括多行文本,则对预处理后的待识别图像进行行切分,得到至少一张文本行图像;
43.从文本行图像中选择待识别文本行图像。
44.其中,当待识别图像中的文本未按行分布时,预处理可以包括:利用多边形框对待识别图像中的文本区域进行框选,将多边行框中的文本扭正为线性的行文本。
45.对于文本按行分布的待识别图像,可以对待识别图像进行行切分,得到至少一张文本行图像。例如,具体的,先利用四边形框框住待识别图像的文本行,然后对文本行进行行切割,得到文本行图像。
46.102、获取待识别文本行图像的书写方向,其中,书写方向的类型包括横向书写方向和纵向书写方向;
47.本实施例中,待识别文本行图像的书写方向可以为横线书写方向,也可以为纵向书写方向,若是无法确定待识别文本行图像的书写方向是横线书写方向和纵向书写方向中的哪一种,则可以假设待识别文本行图像的书写方向同时包括横向书写方向和纵向书写方向,后续对该待识别文本行图像按照横向书写方向和纵向书写方向均进行一次文本识别,然后从识别结果中选择正确的文本识别结果。
48.本实施例中,为了文本识别模型可以确定待识别文本行图像的书写方向,可以在步骤102之后,对待识别文本行图像标注其书写方向,例如对待识别文本行图像设置标签,标签中记录该待识别文本行图像的书写方向标识,其中,书写方向标识可以用任意形式表示,例如定义书写方向标识为参数v,参数v具有两种取值,false和ture,v=false,表示横向书写方向,v=ture,表示纵向书写方向。
49.可选的,步骤“获取待识别文本行图像的书写方向”,可以包括:
50.判断待识别文本行图像的横向长度和纵向长度之间的实际长度关系,是否与横向书写方向或纵向书写方向对应的预设长度关系匹配;
51.基于判断结果,确定待识别文本行图像的书写方向。
52.其中,长度关系可以是文本行图像的横向长度和纵向长度的比值。
53.例如,可以令待识别文本行图像iu的横向长度(宽度)和纵向长度(高度)分别为wu和hu,横向书写方向对应的预设长度关系为o1,纵向书写方向对应的预设长度关系为o2。
54.其中,
55.若满足o1,则待识别文本行图像为横向书写的文本(也即横排文本),若满足o2,则
待识别文本行图像为纵向书写的文本(也即竖排文本)。当然,可以理解的是,上述预设对应关系中的比值“2”是可以根据需要设置为其他数值的,例如1.5,1.8,3等任意数值。
56.本实施例中,在通过文本识别模型对待识别文本行图像进行识别前,还可以对待识别文本行图像进行尺寸变换处理,使得输入文本识别模型中的横向书写方向的待识别文本行图像的高,与纵向书写方向的待识别文本行图像的宽相等,其中,横向书写方向的待识别文本行图像的高,与纵向书写方向的待识别文本行图像的宽的具体值,可以根据文本识别模型的输入要求决定,本实施例对此没有限制,该尺寸变换处理,可以使得横纵书写方向的文本行图像的尺寸满足文本识别模型的要求。
57.例如定义以下的操作,
58.o1:令v=false,等比例缩放iu使图片高为32
59.o2:令v=true,等比例缩放iu使图片宽为32。
60.当然可以理解的是,上述的取值“32”也可以根据实际情况,例如待识别文本行图像中的文字的大小等来确定。
61.103、基于已训练完成的文本识别模型提取待识别文本行图像的特征图;
62.为了便于理解,在此先对文本识别模型的训练过程进行示例说明。
63.在步骤101之前,可以先采用图2a所示的模型训练方法,对文本识别模型进行训练。参考图2a,文本识别模型的训练方法包括:
64.201、获取训练样本,训练样本包括横排文本样本和竖排文本样本,训练样本的样本标签包括样本中文本的书写方向,以及文本中的字符对应的字符标识;
65.本实施例中步骤201包括数据准备和数据处理两阶段。
66.在数据准备阶段,先获取原始数据,原始数据包括横排文本行图像和竖排文本行图像,即横向或纵向写有一行文字的图像,其中,文字区域占有图片的绝大部分,如图2b所示。
67.在数据处理阶段,可以对原始数据进行处理,处理后获得的结果为一组处理后的增广图像和一组对应的标注数据。数据的标记方式可以为使用字符串记录下图像中的文本内容,并另用一个数值标注文本的书写方向,例如,用0表示横排文本,用1表示竖排文本。
68.具体的,数据处理阶段可以包括三个部分:标记映射、输入归一化和数据增广。
69.可选的,对原始数据的处理包括:
70.标记映射步骤:基于字符和字符标识的预设映射关系,获取原始数据的图像中的文本中的字符对应的字符标识;
71.输入归一化步骤:对原始数据中的图像进行缩放处理,使得横排文本行图像的高度与竖排文本行图像的宽度相同;
72.数据增广步骤:对缩放处理后的图像进行数据增广处理,得到增广后的图像;
73.以增广后的图像作为训练样本,对训练样本打上样本标签,样本标签包括图像对应的字符标识,以及书写方向。
74.其中,缩放处理后,横排文本行图像的高度与竖排文本行图像的宽度可以统一为相同数量的像素,例如32个像素。
75.本实施例中,可以设置字符和字符标识的对应关系,例如设置汉字和字符标识的对应关系,其中,字符标识可以用数值表示,例如用1、2、3、

,n的正整数数值表示。
76.通过标记映射,可以将图像中文本对应的字符串转换为可以输入文本识别模型的数值序列,即建立一个长度为t的字表vob,将字符串中的每个字符映射为在字表中的序号,取值范围为[0,t-1],不在字表中的字符,称为表外字符或未知字符,可以统一映射为t。
[0077]
进行输入归一化时,可以采用插值方法等比例缩放图像,使得横排文本行图像的高度,和竖排文本行图像的宽度统一为32个像素。
[0078]
数据增广扩充数据的手段,通过数据增广,可以提高模型的泛化能力,从一定程度上提高模型预测的准确度。本实施例中使用的数据增广手段包括但不吸纳与:透视变换、高斯模糊、加噪和hsv(hue,saturation,value,色调,饱和度,明度)通道颜色变换这四种方式,进一步的,可以通过随机选取和组合数据增广手段,获得原始数据量的十倍的数据。
[0079]
202、获取待训练的文本识别模型;
[0080]
本实施例中,文本识别模型可以根据训练样本建立,文本识别模型可以包括:特征提取层、数据变换层、矩阵处理层、分类层和损失计算层。
[0081]
其中,矩阵处理层可以基于rnn(recurrent neural network循环神经网络)实现,损失计算层可以是ctc(connectionist temporal classification连接主义时间分类)层。
[0082]
203、基于文本识别模型对训练样本提取特征图;
[0083]
本实施例可以基于特征提取层提取训练样本的特征图。
[0084]
其中,文本识别模型的输入是归一化后的图片i(设它的尺寸是h*w*c,h、w分别为高度和宽度,c为图片通道数,灰度图通常为1,彩色图通常为3)和图片标注label(字符标识,即图像的文本中的字符串中字符在字表中序号组成的序列)以及一个标注它上面的文本是横排还是竖排的布尔型参数v:
[0085][0086]
本实施例中的特征提取层可以卷积神经网络,该卷积神经网络可以由卷积层、池化层、批归一化层等通过邻层连接或跳跃连接组成。
[0087]
在一个示例中,特征提取层可以对输入的训练样本在高度和宽度方向均进行8倍(也可以是其他倍数)的下采样得到特征图f。即特征提取层的输入为训练样本图片i,输出是一个三个维度的特征图f,其形状为[hf,wf,cf]1(hf=h/8,wf=w/8,cf为特征通道数)。其中,hf可以理解为特征图的原始图片纵向维度,wf可以理解为特征图的原始图片横向维度,cf可以理解为特征图的原始图片通道维度。
[0088]
由前述,v=false时hf=4;v=true时wf=4。
[0089]
本实施例中类似[w1,w2,w3]这种形式的记号表示的是一个矩阵的形状,例如此处的[w1,w2,w3]这个矩阵的维度为3,每个维度的长度分别为w1,w2,w3。这里的w1,w2,w3是代数记号,代表一个整数值。类似记号可以类推。
[0090]
上述特征提取层由横排文本样本和竖排文本样本共享。
[0091]
204、通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述训练样本的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二
图片通道维度;
[0092]
本实施例的特定维度变换处理由数据变换层实现。
[0093]
本实施例的特定维度变换处理,是对三维的特征图进行维度处理,将三维的特征图转变为二维矩阵,其中,特定维度变换处理与所述训练样本的书写方向对应,指的是,若书写方向不同,特定维度变换处理的过程中合并的图片维度不同,合并得到的二维矩阵的维度不同,具体的维度变换处理方案参考下述描述。
[0094]
可选的,步骤“通过文本识别模型对特征图进行特定维度变换处理,将特征图转换为二维矩阵”,可以包括:
[0095]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述特征图的原始图片纵向维度和原始图片通道维度合并得到第一图片通道维度,并将所述原始图片横向维度作为第一图片横向维度,得到包括所述第一图片横向维度和第一图片通道维度的第一二维矩阵;
[0096]
若所述书写方向为纵向书写,通过所述文本识别模型将所述特征图的原始图片横向维度和原始图片通道维度合并得到第二图片通道维度,并将所述原始图片纵向维度作为第二图片纵向维度,得到包括所述第二图片纵向维度和第二图片通道维度的第二二维矩阵。
[0097]
其中,特征图的维度的顺序为原始图片纵向维度、原始图片横向维度,原始图片通道维度,若要合并原始图片纵向维度和原始图片通道维度,可以先对特征图的原始图片纵向维度和原始图片横向进行维度交换,再进行原始图片纵向维度和原始图片通道维度的合并。
[0098]
可选的,数据变换层的数据处理包括维度交换和维度合并。数据变换层的输入是特征提取层输出的特征图f以及参数v,输出为一个二维的矩阵m。数据变换层的数据处理不改变特征图中总的数值个数(总数值个数为hf*wf*cf),只会改变矩阵的形状和内部数值排列顺序。
[0099]
其中,维度交换改变排列顺序,不改变总的维度数,例如将一个2*3的矩阵[[1,2,3],[4,5,6]]的两个维度进行交换就变成了3*2的矩阵[[1,4],[2,5],[3,6]]。
[0100]
维度合并不改变排列顺序,会合并相邻维度为一个维度,例如将矩阵3*2的矩阵[[1,4],[2,5],[3,6]]的两个维度合并就变为了[1,4,2,5,3,6]。从形状角度来看其变换规则如下:
[0101][0102]
205、通过文本识别模型基于二维矩阵进行分析,确定训练样本中的文本对应的预测字符标识;
[0103]
本实例中,文本识别模型的结构中可以包括矩阵处理层,也可以不包括矩阵处理层,本实施例对此没有限制。
[0104]
对于文本识别模型包含矩阵处理层的方案,步骤“通过文本识别模型基于二维矩阵进行分析,确定训练样本中的文本对应的预测字符标识”,可以包括:
[0105]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述第一二维矩阵按
照所述第一图片横向维度进行展开,得到第一列向量;若所述书写方向为纵向书写方向,通过所述文本识别模型将所述第二二维矩阵按照所述第二图片纵向维度进行展开,得到第一列向量;
[0106]
以第一列向量作为时序向量,通过文本识别模型学习(的矩阵处理层)第一列向量的时序特征,得到第二列向量;
[0107]
(通过分类层)对第二列向量进行分类,基于分类结果确定训练样本中文本行对应的预测字符标识。
[0108]
本实施例中的预测字符标识,指的是文本识别模型对于训练样本中各字符预测出的字符标识,可以理解的是,在分类结果中,训练样本中的一个字符如“文”,文本识别模型预测出的字符标识可能有多个,分类结果中还包括每个字符标识的预测概率。
[0109]
对于文本识别模型不含矩阵处理层的方案,步骤“通过文本识别模型基于二维矩阵进行分析,确定训练样本中的文本对应的预测字符标识”,可以包括:
[0110]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述第一二维矩阵按照所述第一图片横向维度进行展开,得到第一列向量;若所述书写方向为纵向书写方向,通过所述文本识别模型将所述第二二维矩阵按照所述第二图片纵向维度进行展开,得到第一列向量;
[0111]
(通过分类层)对第一列向量进行分类,基于分类结果确定训练样本中文本行对应的预测字符标识。
[0112]
其中,矩阵处理层可以是rnn网络层,输入为(数据变换层输出的)二维的矩阵m,按其第一维度(对于横向书写方向的图像,二维矩阵的第一维度为第一图片横向维度,对于纵向书写方向,二维矩阵的第一维度为第二图片纵向维度)展开成的维度为ct的向量序列(第一列向量),将这个序列看做rnn层中输入的时序序列,每一时刻rnn网络输出一个维度为cr的向量,最终得到新的一列向量r(第二列向量),列长为wf(横排文本行时)或hf(竖排文本行时)。
[0113]
参考图2c所示的不带rnn层的横竖排文本行图像识别示意图。本实施例的分类层可以是全连接层(参考图2c中的fc层),输入维度为cr(使用矩阵处理层)或ct(不使用矩阵处理层),输出维度为t 2,分别对应分类为字表中字符(数量为t,对应类别序号范围为[0,t-1])、未知字符(对应类别序号t)以及空白或非字符(记为ctc_blank,对应类别序号t 1)的情况。将r(若不使用rnn层,就将矩阵m按它的第一维度展开得到的一列向量作为r)中的每个向量经过分类层,得到一列维度为t 2的分类向量p。
[0114]
206、基于训练样本的预测字符标识和样本标签中的字符标识,计算文本识别模型的总损失;
[0115]
本实施例中,步骤206可以由损失计算层实现,损失计算层可以是ctc(connectionist temporal classification,连接主义时间分类)层,计算ctc损失。它的输入是分类层得到的一列分类向量p和训练样本的样本标签,即本实施例的标注label,输出是一个数值ctc_loss(connectionist temporal classification loss,连接主义时间分类损失),表示ctc损失。本实施例可以通过ctc_loss对模型各变量求导,优化模型参数。
[0116]
考虑到横排文本样本和竖排文本样本的数量,本实施例中,还可以通过两个处理模块分别计算横竖排文本样本对应的损失。
[0117]
可选的,本实施例中步骤“基于训练样本的预测字符标识和样本标签中的字符标识,计算文本识别模型的总损失”,可以包括:
[0118]
通过第一处理模块,基于训练样本中横排文本样本的字符标识和预测字符标识,计算横排文本样本对应的第一损失;
[0119]
通过第二处理模块,基于训练样本中的竖排文本样本的字符标识和预测字符标识,计算竖排文本样本对应的第二损失,其中,参与计算第一损失的横排文本样本的数量,与参与计算第二损失的竖排文本样本的数量相同;
[0120]
对第一损失和第二损失求和,得到文本识别模型的总损失。
[0121]
其中,第一处理模块和第二处理模块由不同的gpu(graphics processing unit,图形处理器)实现。
[0122]
例如,参考图2d所示的模型训练原理示意图。gpu1和gpu2分别用来计算横排文本样本和竖排文本样本,输入文本识别模型得出预测结果后与标签中的字符标识的ctc_loss,将两个ctc_loss即图2d中的ctc_loss1和ctc_loss2加在一起作为总的loss来更新文本识别模型。其中,参与计算第一损失的横排文本样本的数量,与参与计算第二损失的竖排文本样本的数量相同。
[0123]
基于这种方式,每次的loss来自横排和竖排的样本数量是一样的,同时两块gpu上执行不同的计算图,节省了条件判断消耗的时间和存储空间。
[0124]
207、基于总损失调整文本识别模型的参数,直到文本识别模型训练完成。
[0125]
本实施例中,文本识别模型训练完成的条件可以是训练次数不低于预设训练次数阈值,也可以是总损失小于预设损失阈值,还可以是第一损失小于第一损失阈值且第二损失小于第二损失阈值。本实施例对此没有限制。
[0126]
104、通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
[0127]
可选的,本实施例的特征图的维度包括原始图片纵向维度、原始图片横向维度,原始图片通道维度,步骤“通过文本识别模型对特征图进行特定维度变换处理,将特征图转换为二维矩阵”,可以包括:
[0128]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述特征图的原始图片纵向维度和原始图片通道维度合并得到第一图片通道维度,并将所述原始图片横向维度作为第一图片横向维度,得到包括所述第一图片横向维度和第一图片通道维度的第一二维矩阵
[0129]
若所述书写方向为纵向书写方向,通过所述文本识别模型将所述特征图的原始图片横向维度和原始图片通道维度合并得到第二图片通道维度,并将所述原始图片纵向维度作为第二图片纵向维度,得到包括所述第二图片纵向维度和第二图片通道维度的第二二维矩阵。
[0130]
本实施例中的维度变换处理的具体过程,可以参考上述训练过程中描述的维度变换处理,在此不再赘述。
[0131]
105、通过文本识别模型对二维矩阵进行分析,确定待识别文本行图像中的文本。
[0132]
本实施例中,对二维矩阵的分析方案包括至少两种。
[0133]
可选的,在一个示例中,步骤“通过文本识别模型对二维矩阵进行分析,确定待识别文本行图像中的文本”,可以包括:
[0134]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述第一二维矩阵按照所述第一图片横向维度进行展开,得到第一列向量;若所述书写方向为纵向书写方向,通过所述文本识别模型将所述第二二维矩阵按照所述第二图片纵向维度进行展开,得到第一列向量;
[0135]
以所述第一列向量作为时序向量,通过所述文本识别模型学习所述第一列向量的时序特征,得到第二列向量;
[0136]
对所述第二列向量进行分类,基于分类结果确定所述待识别文本行图像中文本行对应的文本。
[0137]
其中,步骤“对第二列向量进行分类,基于分类结果确定待识别文本行图像中文本行对应的文本”,可以包括:
[0138]
通过文本识别模型对第二列向量进行分类,得到待识别文本行图像的文本对应的字符标识;
[0139]
基于字符标识和字符的预设映射关系,得到待识别文本行图像对应的文本。
[0140]
可选的,在另一个示例中,步骤“通过文本识别模型基于二维矩阵进行分析,确定待识别文本行图像中的文本”,可以包括:
[0141]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述第一二维矩阵按照所述第一图片横向维度进行展开,得到第一列向量;若所述书写方向为纵向书写方向,通过所述文本识别模型将所述第二二维矩阵按照所述第二图片纵向维度进行展开,得到第一列向量;
[0142]
对第一列向量进行分类,基于分类结果确定待识别文本行图像中文本行对应的文本。
[0143]
其中,步骤“对第一列向量进行分类,基于分类结果确定待识别文本行图像中文本行对应的文本”,可以包括:
[0144]
通过文本识别模型对第一列向量进行分类,得到待识别文本行图像的文本对应的字符标识;
[0145]
基于字符标识和字符的预设映射关系,得到待识别文本行图像对应的文本。
[0146]
其中,文本识别模型基于二维矩阵得到待识别文本行图像的文本对应的字符标识的过程,可以参考上述模型训练的过程,在此不再赘述。
[0147]
本实施例中,在实际识别文本时,基于上述横向书写方向以及纵向书写方向对应的预设长度关系,可能不能确定待识别文本行图像的书写方向,此时,可以假设待识别文本行图像的书写方向同时包括横向书写方向和纵向书写方向,基于文本识别模型得到待识别文本行图像的两个分类结果,然后进行正确文本的选择。
[0148]
可选的,一个示例中,步骤“基于判断结果,确定待识别文本行图像的书写方向”,可以包括:
[0149]
若所述实际长度关系,与横向书写方向对应的预设长度关系匹配,确定所述待识
别文本行图像的书写方向为横向书写方向;
[0150]
若所述实际长度关系,与纵向书写方向对应的预设长度关系匹配,确定所述待识别文本行图像的书写方向为纵向书写方向;
[0151]
若所述实际长度关系,与横向书写方向以及纵向书写方向对应的预设长度关系均不匹配,设置所述待识别文本行图像的书写方向同时包括横向书写方向和纵向书写方向。
[0152]
对应的,步骤“通过文本识别模型对二维矩阵进行分析,确定待识别文本行图像中的文本”之后,还可以包括:
[0153]
若所述待识别文本行图像的书写方向同时包括横向书写方向和纵向书写方向,从以横向书写方向作为所述待识别文本行图像的书写方向的场景下所述文本识别模型识别出的文本,以及以纵向书写方向作为所述待识别文本行图像的书写方向的场景下所述文本识别模型识别出的文本中,确定所述待识别文本行图像的正确文本。
[0154]
其中,为了选择正确文本,可以在基于二维矩阵得到待识别文本行图像的文本对应的字符标识后,获取两个识别结果中字符标识的置信度,将置信度大的字符标识对应的文本,确定为正确文本。
[0155]
或者,可以在基于二维矩阵得到待识别文本行图像的文本对应的字符标识后,将字符标识按照位置映射为一行文本,基于文本的语义确定正确文本。
[0156]
采用本实施例,不用对竖排文本行图像进行旋转,在横排上训练的特征提取层也可以应用在竖排上,这样只需要较少的竖排文本行图像进行训练就可以达到较好效果。降低了对训练样本的要求,还有利于控制模型的规模。相关技术中,对于每个字符模型分类器需要学习它的正立和侧倒两个模式,模型训练难度加大,会降低模型分类准确率;并且有些字符如“一”等,它侧倒后容易和字符“1”的正立模式混淆,出错概率极大。而本实施例提出的方法避免了这样的弊端,有利于提升识别精度。
[0157]
为了更好地实施以上方法,相应的,本发明实施例还提供另一种文本识别装置,参考图3,该文本识别装置包括:
[0158]
第一获取单元301,用于获取待识别文本行图像;
[0159]
第二获取单元302,用于获取所述待识别文本行图像的书写方向,其中,所述书写方向的类型包括横向书写方向和纵向书写方向;
[0160]
特征获取单元303,用于基于已训练完成的文本识别模型提取待识别文本行图像的特征图;
[0161]
转换单元304,用于通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
[0162]
分析单元305,用于通过文本识别模型对二维矩阵进行分析,确定待识别文本行图像中的文本。
[0163]
在一些示例中,转换单元,用于:
[0164]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述特征图的原始图片纵向维度和原始图片通道维度合并成得到第一图片通道维度,并将所述原始图片横向维
度作为第一图片横向维度,得到包括所述第一图片横向维度和第一图片通道维度的第一二维矩阵;
[0165]
若所述书写方向为纵向书写方向,通过所述文本识别模型将所述特征图的原始图片横向维度和原始图片通道维度合并成第二图片通道维度,并将所述原始图片纵向维度作为第二图片纵向维度,得到包括所述第二图片纵向维度和第二图片通道维度的第二二维矩阵。
[0166]
在一些示例中,分析单元,用于:
[0167]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述第一二维矩阵按照所述第一图片横向维度进行展开,得到第一列向量,若所述书写方向为纵向书写方向,通过所述文本识别模型将所述第二二维矩阵按照所述第二图片纵向维度进行展开,得到第一列向量;
[0168]
以第一列向量作为时序向量,通过文本识别模型学习第一列向量的时序特征,得到第二列向量;
[0169]
对第二列向量进行分类,基于分类结果确定待识别文本行图像中文本行对应的文本。
[0170]
在一些示例中,分析单元,用于:
[0171]
若所述书写方向为横向书写方向,通过所述文本识别模型将所述二维矩阵按照所述第一图片横向维度进行展开,得到第一列向量,若所述书写方向为纵向书写方向,通过所述文本识别模型将所述第二二维矩阵按照所述第二图片纵向维度进行展开,得到第一列向量;
[0172]
对第一列向量进行分类,基于分类结果确定待识别文本行图像中文本行对应的文本。
[0173]
在一些示例中,第二获取单元,用于:
[0174]
判断待识别文本行图像的横向长度和纵向长度之间的实际长度关系,是否与横向书写方向或纵向书写方向对应的预设长度关系匹配;
[0175]
基于判断结果,确定待识别文本行图像的书写方向。
[0176]
在一些示例中,第二获取单元,用于:
[0177]
若所述实际长度关系,与横向书写方向对应的预设长度关系匹配,确定所述待识别文本行图像的书写方向为横向书写方向;
[0178]
若所述实际长度关系,与纵向书写方向对应的预设长度关系匹配,确定所述待识别文本行图像的书写方向为纵向书写方向;
[0179]
若所述实际长度关系,与横向书写方向以及纵向书写方向对应的预设长度关系均不匹配,设置所述待识别文本行图像的书写方向同时包括横向书写方向和纵向书写方向;
[0180]
本实施例的装置还包括:选择单元,用于在通过文本识别模型对二维矩阵进行分析,确定待识别文本行图像中的文本之后,若所述待识别文本行图像的书写方向同时包括横向书写方向和纵向书写方向,从以横向书写方向作为所述待识别文本行图像的书写方向的场景下所述文本识别模型识别出的文本,以及以纵向书写方向作为所述待识别文本行图像的书写方向的场景下所述文本识别模型识别出的文本中,确定所述待识别文本行图像的正确文本。
[0181]
在一些示例中,文本识别装置还包括训练单元,用于:
[0182]
获取待训练的文本识别模型;
[0183]
基于所述文本识别模型对所述训练样本提取特征图;
[0184]
通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述训练样本的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
[0185]
通过所述文本识别模型基于所述二维矩阵进行分析,确定所述训练样本中的文本对应的预测字符标识;
[0186]
基于训练样本的预测字符标识和样本标签中的字符标识,计算所述文本识别模型的总损失;
[0187]
基于所述总损失调整所述文本识别模型的参数,直到所述文本识别模型训练完成。
[0188]
在一些示例中,训练单元,用于:
[0189]
通过第一处理模块,基于训练样本中横排文本样本的字符标识和预测字符标识,计算横排文本样本对应的第一损失;
[0190]
通过第二处理模块,基于训练样本中的竖排文本样本的字符标识和预测字符标识,计算竖排文本样本对应的第二损失;
[0191]
对第一损失和第二损失求和,得到文本识别模型的总损失。
[0192]
可选的,参与计算第一损失的横排文本样本的数量,与参与计算第二损失的竖排文本样本的数量相同。
[0193]
采用本实施例,不用对竖排文本行图像进行旋转,在横排上训练的特征提取层也可以应用在竖排上,这样只需要较少的竖排文本行图像进行训练就可以达到较好效果。降低了对训练样本的要求,还有利于控制模型的规模。相关技术中,对于每个字符模型分类器需要学习它的正立和侧倒两个模式,模型训练难度加大,会降低模型分类准确率;并且有些字符如“一”等,它侧倒后容易和字符“1”的正立模式混淆,出错概率极大。而本实施例提出的方法避免了这样的弊端,有利于提升识别精度。
[0194]
本发明实施例还提供一种计算机设备,其集成了本发明实施例所提供的任一种文本识别装置,计算机设备包括:
[0195]
一个或多个处理器;
[0196]
存储器;以及
[0197]
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述文本识别方法实施例中任一实施例中的文本识别方法中的步骤。
[0198]
本发明实施例还提供一种计算机设备,其集成了本发明实施例所提供的任一种文本识别装置。如图4所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
[0199]
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以
理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0200]
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
[0201]
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及文本识别。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
[0202]
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0203]
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0204]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能。
[0205]
例如,若计算机设备为上述的文本识别装置,则计算机设备中的应用程序被执行时,实现如下的步骤:
[0206]
获取待识别文本行图像;
[0207]
获取所述待识别文本行图像的书写方向,其中,所述书写方向的类型包括横向书写方向和纵向书写方向;
[0208]
基于已训练完成的文本识别模型提取所述待识别文本行图像的特征图;
[0209]
通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
[0210]
通过所述文本识别模型对所述二维矩阵进行分析,确定所述待识别文本行图像中
的文本。
[0211]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0212]
为此,本发明实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种文本识别方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
[0213]
获取待识别文本行图像;
[0214]
获取所述待识别文本行图像的书写方向,其中,所述书写方向的类型包括横向书写方向和纵向书写方向;
[0215]
基于已训练完成的文本识别模型提取所述待识别文本行图像的特征图;
[0216]
通过所述文本识别模型对所述特征图进行特定维度变换处理,将所述特征图转换为二维矩阵,所述特定维度变换处理与所述待识别文本行图像的书写方向对应,其中,若所述书写方向为横向书写方向,所述二维矩阵的维度包括第一图片横向维度和第一图片通道维度,若所述书写方向为纵向书写方向,所述二维矩阵的维度包括第二图片纵向维度和第二图片通道维度;
[0217]
通过所述文本识别模型对所述二维矩阵进行分析,确定所述待识别文本行图像中的文本。
[0218]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0219]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0220]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0221]
以上对本发明实施例所提供的一种文本识别方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献