1.本发明涉及信息技术领域,尤其涉及一种文本识别方法、文本识别网络的训练方法、装置、电子设备及存储介质。
背景技术:
2.文本识别是利用计算机对文本图像进行处理、分析和理解,以识别文本图像的文本内容,是应用深度学习算法的一种实践应用。文本识别技术现如今得到快速发展,并广泛应用于各种行业。
3.相关技术中,文本识别技术通常是先检测出文本在图像中的位置,然后对文本区域进行裁剪、对齐,最后对裁剪后的文本区域进行识别;或是通过神经网络模型获取图像中的文本区域,然后再提取并识别该文本区域的特征,以获的文本图像的文本内容。但上述方案,需要先检测出文本区域,然后再对文本区域进行识别,一方面识别效率低,并且也无法识别不规则文本。
技术实现要素:
4.本发明实施例提供一种文本识别方法、文本识别网络的训练方法、装置、电子设备及存储介质。
5.本发明实施例的技术方案是这样实现的:
6.第一方面,本发明实施例提供一种文本识别方法,包括:
7.将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;
8.根据所述字符位置及所述文本区域信息,确定所述字符所在的文本区域;
9.按照所述字符位置,组合位于同一个文本区域内的字符,得到所述文本区域内所包含的文本内容。
10.可选地,所述将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,包括:
11.将待识别的图像输入至所述文本识别网络中;
12.通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图;
13.通过所述文本识别网络中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类,得到所述字符信息;
14.通过所述文本识别网络中位于所述卷积层输出端的文本分割网络对所述特征图进行文本分割,得到所述文本区域信息。
15.可选地,所述通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图,包括:
16.通过所述卷积层对所述图像进行特征提取,得到多个不同尺寸的初始特征图;
17.融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
18.可选地,所述融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图,包括:
19.通过特征金字塔网络(feature pyramid networks,fpn)融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
20.可选地,所述通过所述文本识别网中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类得到所述字符信息,包括:
21.基于第一卷积核,对所述特征图进行包含字符的边框回归处理,得到所述图像内的字符位置;
22.基于第二卷积核,对所述特征图进行字符分类,得到所述图像内包含的字符。
23.第二方面,本发明实施例提供一种文本识别网络的训练方法,包括:
24.获取图像的训练样本集和所述训练样本集的标注信息;所述标注信息至少包括字符、字符位置和文本区域信息;
25.将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;其中,所述字符预测信息,至少指示所述初始网络预测的所述图像内所包含字符和所述字符的字符位置;所述文本区域预测信息,至少指示所述初始网络预测所述图像内所述文本所在的文本区域;
26.根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;
27.根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。
28.可选地,所述根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值,包括:
29.根据所述字符预测信息中包含的字符和所述标注信息中的字符,计算第一损失函数值;
30.根据所述字符预测信息中的字符位置和所述标注信息中的字符位置,计算第二损失函数值;
31.根据所述文本区域预测信息和所述标注信息中的文本区域信息,计算第三损失函数值;
32.根据所述第一损失函数值、第二损失函数值和第三损失函数值计算所述初始网络的损失函数值。
33.可选地,所述初始网络包括:
34.至少一个卷积层,用于基于输入的图像输出特征图;
35.字符检测分类网络,位于所述卷积层的输出端,用于根据所述特征图输出字符预测信息;
36.文本分割网络,位于所述卷积层的输出端,用于根据所述特征图输出文本区域预测信息。
37.第三方面,本发明实施例提供一种一种文本识别装置,所述装置包括:
38.文本识别模块,将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;
39.字符合并模块,用于根据所述字符位置及所述文本区域信息,确定所述字符所在的文本区域;按照所述字符位置,组合位于同一个文本区域内的字符,得到所述文本区域内所包含的文本内容。
40.可选地,所述文本识别模块包括:
41.图像预处理模块,用于将待识别的图像输入至所述文本识别网络中;通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图;
42.字符检测分类模块,用于通过所述文本识别网络中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类,得到所述字符信息;
43.文本分割模块,用于通过所述文本识别网络中位于所述卷积层输出端的文本分割网络对所述特征图文本分割,得到所述文本区域信息。
44.可选地,所述图像预处理模块包括:
45.特征提取模块,用于通过所述卷积层对所述图像进行特征提取,得到多个不同尺寸的初始特征图;
46.特征融合模块,用于融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
47.可选地,所述特征融合模块还用于:
48.通过fpn融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
49.可选地,所述字符检测分类模块还用于:
50.基于第一卷积核,对所述特征图进行包含字符的边框回归处理,得到所述图像内的字符位置;
51.基于第二卷积核,对所述特征图进行字符分类,得到所述图像内包含的字符。
52.第四方面,本发明实施例提供一种文本识别网络的训练装置,所述训练装置包括:
53.样本集获取模块,用于获取图像的训练样本集和所述训练样本集的标注信息;所述标注信息包括字符、字符位置和文本区域信息;
54.文本识别网络获取模块,用于:
55.将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;其中,所述字符预测信息,至少指示所述初始网络预测的所述图像内所包含字符和所述字符的字符位置;所述文本区域预测信息,至少指示所述初始网络预测所述图像内所述文本所在的文本区域;
56.根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;
57.根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。
58.可选地,所述文本识别网络获取模块,包括:
59.第一计算模块,用于根据所述字符预测信息中包含的字符和所述标注信息中的字符,计算第一损失函数值;
60.第二计算模块,用于根据所述字符预测信息中的字符位置和所述标注信息中的字符位置,计算第二损失函数值;
61.第三计算模块,用于根据所述文本区域预测信息和所述标注信息中的文本区域信息,计算第三损失函数值;
62.损失函数计算模块,用于根据所述第一损失函数值、第二损失函数值和第三损失函数值计算所述初始文本识别网络模型的损失函数值。
63.第五方面,本发明实施例提供一种电子设备,包括:
64.存储器,用于存储可执行指令;
65.处理器,用于执行所述存储器中存储的可执行指令时,实现如前述一个或多个技术方案提供的文本识别方法。
66.第六方面,本发明实施例提供一种电子设备,包括:
67.存储器,用于存储可执行指令;
68.处理器,用于执行所述存储器中存储的可执行指令时,实现如前述一个或多个技术方案提供的文本识别网络的训练方法。
69.第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现前述一个或多个技术方案提供的文本识别方法。
70.第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现前述一个或多个技术方案提供的文本识别网络的训练方法。
71.本发明实施例提供的文本识别方法、文本识别网络的训练方法、装置、电子设备及存储介质,通过将待识别的图像输入至文本识别网络,得到文本识别网络输出的用于指示所述图像内所包含字符和所述字符的字符位置的字符信息和用于指示图像内文本所在文本区域的文本区域信息,并根据字符信息和文本区域信息,确定字符所在的文本区域,进而按照字符位置,将同一个文本区域内的字符进行组合,得到文本区域内包含的文本内容。
72.第一方面,本发明不需要对图像的文本区域进行先检测、后识别的过程,直接通过文本识别网络输出用于指示所述图像内所包含的字符和所述字符的字符信息,经过单次检测即可获得对图像内字符信息的识别,提高了识别效率;
73.第二方面,本发明通过文本识别网络输出用于指示图像内文本所在文本区域的文本区域信息,通过文本区域信息和字符信息,确定各文本区域内的字符,以及文本区域内包含的文本内容;不需要对图像进行区域裁剪或对齐操作,能够识别不规则文本。
附图说明
74.图1是本发明实施例提供的一种文本识别方法的流程示意图;
75.图2是图1对应实施例中步骤101的细节流程示意图;
76.图3是本发明实施例提供的一种文本识别网络的训练方法的流程示意图;
77.图4是图3对应实施例中步骤303的细节流程示意图;
78.图5是本发明实施例提供的一种文本识别装置的结构示意图;
79.图6是本发明实施例提供的一种文本识别网络的训练装置的结构示意图;
80.图7为本发明实施例提供的一种单阶段端到端的文本识别方法的流程示意图;
81.图8是本发明实施例提供一种文本识别网络架构示意图;
82.图9是本发明实施例提供的文本分割网络的结构示意图;
83.图10是本发明实施例提供的字符检测分类网络的结构示意图;
84.图11是本发明实施例提供的一种单阶段端到端文本识别的结构示意图;
85.图12是本发明实施例提供的电子设备的结构示意图。
具体实施方式
86.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
87.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
88.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
89.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
90.文本识别方法主要有以下三种:
91.(1)通过文本检测网络模型从图片中获取文本位置,将文本从图片中截取对齐后,输入序列识别网络模型中获得文本内容。这种先检测再识别的串行方式识别效率较低,并且特征对齐操作无法对齐不规则文本,从而影响后续的识别。
92.(2)将文本检测网络与序列识别网络共享部分特征合并成一个神经网络,网络的检测分支得到文本位置后,从共享的特征图中截取文本特征,将这些特征对齐后送入识别分支进行内容识别。这种方式强行将差异较大的文本检测网络和序列识别网络共享特征,网络模型的训练难度较大,序列识别网络识别准确率不如单独的识别模型。
93.(3)使用区域推荐网络获取文本框大致位置,将该位置的特征图裁剪对齐后送入分割网络中,得到精确的文本边框位置,并送入序列识别网络得到文本内容。这种先通过区域推荐网络生成候选区域后,再分别进行序列识别的方式效率较低;并且基于锚框的区域推荐网络无法处理超长文本,导致无法识别长文本。
94.本发明实施例提供一种文本识别方法,图1是本发明实施例提供的一种文本识别方法的流程示意图,如图1所示,包括以下步骤:
95.步骤101,将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息;其中,所述字符信息,至少指示所述图像内所包含字符和所述字符
的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;
96.步骤102,根据所述字符位置及所述文本区域信息,确定所述字符所在的文本区域;
97.步骤103,按照所述字符位置,组合位于同一个文本区域内的字符,得到所述文本区域内所包含的文本内容。
98.本发明实施例中所涉及的文本识别方法可以应用于电子设备。这里,电子设备包括移动终端和固定终端。其中,移动终端包括:手机、平板电脑、笔记本电脑等;固定终端包括:个人计算机。在其他可选的实施例中,该数据处理方法也可以运行于网络侧设备,其中,网络侧设备包括:服务器、处理中心等。
99.在实际应用中,从所述图像中识别的文本内容,可以进一步进行文本翻译、文本内容编辑、存储等。本发明实施例提供的文本识别方法可应用于任意场景下的文本识别任务,实现图像中文字内容的识别,例如自然场景文字图片、广告图片、身份证、驾驶证、名片、车牌中的文字识别等。
100.在本发明实施例中,待识别的图像可以是实时获取的,例如通过电子设备的摄像头实时采集的图像;也可以是其他终端发送给识别设备的图像;还可以是预先存储的图像。所述待识别图像可为一幅图片,也可为多幅图片,这里就不具体限定了。
101.需要说明的是,多幅待识别图像的文本识别过程和单幅待识别图像中文本识别过程一致,因此,为了便于描述,本发明实施例以单幅待识别图像来进行说明。
102.在步骤101中,将待识别的图像输入到文本识别网络,输出字符信息和文本区域信息;其中,文本识别网络是预先训练得到的。
103.需要说明的是,待识别图像中至少对应一个文本区域,每个文本区域至少存在一个字符,这里,字符包括但不限于汉字字符、数字字符、英文字符和/或标点符号等。字符位置是指字符在图像中的位置,例如,以字符边框的四个顶点坐标作为字符位置;在本发明实施例中,由于文本可能具有字符不规则或文本排列不规则的情况,因此,文本区域可以为矩形区域或多边形区域,这里就不具体限制了。
104.在一些实施例中,所述字符位置可以由外接该字符的矩形的四个顶点的坐标表示。例如,将包含规则字符“cn”的待识别的图像输入至文本识别网络中,输出字符“c”,“n”,字符“c”的角点坐标(x3,y3)、(x3,y4)、(x4,y3)、(x4,y4),“n”的角点坐标(x5,y5)、(x5,y6)、(x6,y5)、(x6,y6),和矩形文本区域的角点坐标(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2)。
105.在另一些实施例中,所述字符位置可以由外接该字符的矩形的中心点的坐标及该矩形的长和宽表示。
106.在一些实施例中,可将待识别的图像输入至文本识别网络中,通过对待识别的图像进行特征提取得到特征图;并对所述特征图进行文本分割,得到所述图像的文本区域信息。
107.例如,可通过对dbnet网络模型对特征图进行文本分割;将所述特征图输入至dbnet网络模型中,获得图像中的文本区域概率矩阵、文本区域阈值矩阵和文本区域中心点概率矩阵;获取所述文本区域阈值矩阵对应的文本区域边框二值图和文本区域中心点概率图对应的文本区域中心点二值矩阵;对文本区域中心点二值矩阵进行连通域检测,根据文本检测结果确定文本区域的聚类中心;根据文本区域边框二值矩阵中文本区域边框的像素
点与聚类中心的相似度,确定各个像素点对应的聚类中心,从而确定每个聚类中心对应的文本区域边框中的像素点,通过计算每个文本区域边框的外接多边形,确定图像中各个文本区域的位置。这里,文本区域概率矩阵为图像中各个像素属于文本的概率矩阵;文本区域阈值矩阵为图像中的文本区域边框的概率矩阵;文本区域中心点概率矩阵为图像中中心点位置像素所构成的概率矩阵。
108.在实际实施时,将待识别的图像输入至预先训练好的文本识别网络中,得到文本识别网络输出的用于指示图像内所包含字符和所述字符的字符位置的字符信息,以及用于指示图像内所述文本所在文本区域内的文本区域信息。
109.在步骤102中,根据文本识别网络输出的字符位置和文本区域信息,确定各个字符对应的文本区域。
110.在本发明实施例中,文本识别网络输出的字符信息是用于指示所述字符在所述图像中的位置;所述文本区域信息是用于指示文本行对应的文本区域在所述图像中的位置。根据字符信息和文本区域信息,确定各个字符所属的文本区域。
111.例如,将图像输入至文本识别网络中,输出图像中包含的两个互不重叠的文本框的文本区域信息和字符信息;其中,文本框区域a的四个角点的坐标,分别为(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2),文本框区域b的四个角点的坐标,分别为(x5,x5)、(x5,x6)、(x6,x5)、(x6,x6)。而字符c的字符坐标,即字符边框的四个角点的坐标,分别为(x3,y3)、(x3,y4)、(x4,y3)、(x4,y4)。其中x1《x3《x4《x2,y1《y3《y4《y2;则该字符c为所述文本框a内字符。
112.在步骤103中,按照字符位置,将同一个文本区域内的所有字符进行排列组合,得到该文本区域内所包含的文本内容。
113.在本发明实施例中,根据文本识别网络输出的字符位置和文本区域信息,确定各个字符对应的文本区域。然后按照字符位置,将同一个文本区域内的字符进行组合,得到文本区域内所包含的文本内容。
114.在实际实施时,按照字符位置,对同一个文本区域内的字符进行组合时,除了结合字符位置,还需要结合特定的组合顺序。例如,按照字符位置,先从左到右、再从上到下对字符进行组合、或先从上到下,再从左到右等;得到多个不同组合顺序组合后的备选文本。通过识别备选文本的表达内容,根据表达内容,确定最终的文本内容。这里,组合顺序决定最终输出的文本内容是否正确。例如,组合顺序错了,组合后的文本内容可能为没有含义或者含义混乱的文本,而造成文本识别网络输出的最终识别结果有误。例如,将所述备选文本输入到另一个深度学习模型,由该深度学习模型输出最终确定的文本内容。
115.在另一些实施例中,还可以预先设定组合顺序,在对同一文本区域内的字符进行组合时,根据字符位置和预先设定的组合顺序,对字符进行组合,得到组合后的文本内容,即为最终输出的文本内容。
116.示例性地,对同一个文本区域内包含两个字符,其中,字符1的字符位置分别为(x3,y3)、(x3,y4)、(x4,y3)、(x4,y4);字符2的字符位置分别为(x5,y5)、(x5,y6)、(x6,y5)、(x6,y6);x3《x4《x5《x6,y3=y5,y4=y6,则可以确定字符1与字符2是并列的两个字符,且字符1在字符2前面,如此,根据字符位置,将同一个文本区域内的字符进行组合,得到文本区域内所包含的文本内容。
117.如此,直接通过文本识别网络对待识别图像进行文本分割和字符检测、分类的并
行处理,输出字符信息和文本区域信息,经过单次检测即可获得对图像内字符信息的识别,提高了识别效率;并根据文本区域信息和字符信息,确定各文本区域内的字符,以及文本区域内包含的文本内容;不需要对图像进行区域裁剪或对齐操作,能够识别不规则文本。
118.可选地,如图2所示,图2是图1对应实施例中步骤101的细节流程示意图。步骤101包括:
119.在步骤1011中,将待识别的图像输入至所述文本识别网络中;
120.在步骤1012中,通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图;
121.在步骤1013中,通过所述文本识别网络中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类,得到所述字符信息;
122.在步骤1014中,通过所述文本识别网络中位于所述卷积层输出端的文本分割网络对所述特征图进行文本分割,得到所述文本区域信息。
123.在本发明实施例中,卷积层是卷积神经网络中的基础结构,其由若干卷积单元组成,每个卷积单元的参数可通过反向传播算法最佳化得到的。卷积运算的目的是提取输入参数的不同特征;卷积神经网络由一个或多个卷积层和顶层的全连接层组成。
124.在步骤1012中,通过一个或多个卷积层对图像进行特征提取,得到相应的特征图。
125.示例性地,以文本识别的特征提取网络为vgg16卷积神经网络为例,vgg16卷积神经网络包含有13个卷积层;将待识别的图像输入指vgg16卷积申请网络后,首先通过两个结构相同的卷积层进行两次卷积,进行第一次池化;然后再通过两个结构相同的卷积层进行两次卷积,进行第二次池化;之后通过两个结构相同的卷积层进行两次卷积,进行第三次池化,最后通过全连接层经过全连接,输出待识别的图像的特征图。这里,各卷积层包含的卷积核数量不同。
126.在本发明实施例中,通过卷积层对图像进行特征提取后,将输出的特征图分别输入至字符检测分类网络和文本分割网络,字符检测分类网络接收到特征图后,从特征图中提取字符信息;文本分割网络接收到特征图后,能够从接收的特征图中提取包含文字信息的文本框区域信息。
127.具体地,所述文本框区域信息可用坐标的形式来表示;例如,文本框区域的坐标为{x1,y1,x2,y2},其中,x1,x2表示文本框区域四个角点的横坐标,y1,y2表示文本框区域四个焦点的纵坐标,通过将横坐标和纵坐标两两组合可以得到文本框区域的四个角点的坐标,分别(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2)。
128.在实际应用中,所述字符检测分类网络是指能够基于特征图,确定出图像中的字符和字符位置的神经网络;例如,区域提取网络模型(region proposal network,rpn)。所述文本分割网络是指能够基于特征图确定出图像的文本区域的位置的神经网络。例如,mask-rcnn网络模型或dbnet网络模型等。
129.示例性地,可通过rpn网络对特征图进行字符检测和分类;所述rpn模型可包括卷积层、池化层、激活函数以及全连接层;先以特征图中的每一像素为中心,生成锚点,基于锚点生成不同长宽比和面积大小的候选框,覆盖全部的特征图;然后使用两个滤波器对各个候选框分别进行卷积,其中,所述两个滤波器的卷积核不同。将其中一个滤波器的输出结果输入到激活函数(如softmax函数)中进行预分类,并预分类结果和另一个滤波器的输出结
果进行整合,使用全连接层和激活函数(如relu函数)进行分类与回归,得到图像中字符候选框的位置和所述字符候选框内字符对应类别的分类结果,从而确定图像中字符和字符的位置。
130.这里,两个滤波器的卷积核和卷积层可根据候选框的大小来确定,所述候选框的长宽比通常设置为0.5、1、2,相应的面积比通常设置为4、8、16。如此,通过字符检测分类网络和文本分割网络,分别对特征图进行字符检测、分类和文本分割,一步实现字符检测、分类和文本分割,提高了识别效率。根据文本分割输出的文本区域信息和字符检测分类输出的字符信息,确定图像包含的文本内容。不需要对图像进行区域裁剪或对齐操作,可以识别不规则文本。
131.可选地,步骤1012包括:
132.通过所述卷积层对所述图像进行特征提取,得到多个不同尺寸的初始特征图;
133.融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
134.需要说明的是,初始特征图实质上是一个矩阵,该矩阵中的矩阵元素即为卷积层提取出的特征。初始特征图的尺寸指的是矩阵的大小,例如,若初始特征图是一个u*v的矩阵,那么初始特征图的尺寸即为u*v。
135.在本发明实施例中,卷积层内包含的不同尺寸、不同步长的卷积核,通过所述卷积层对输入的图像进行特征提取,能够得到不同尺寸的初始特征图。
136.这里,文本识别的特征提取网络可以为残差网络resnet、sknet网络等,此处就不具体限定了。
137.示例性地,文本识别网络的结构可以为一个50层深的resnet网络结构,而resnet由一个个的残差块构成,每个残差块均包括三个卷积层。通过设定不同步长stride的值,由残差块获取{stride4,stride8,stride16,stride32,stride64}处的不同尺寸的特征;图像经过的残差块越多,提取出图像的特征信息越详细,网络模型在之后的测试结果会更好。
138.在实际应用中,可通过将文本识别网络中卷积层输出的多个不同尺寸的特征图按顺序逐层进行上采样,并将经过上采样后特征图进行融合,从而得到融合后的特征图。例如,以最大尺寸的特征图所包含的像素值作为其他特征图上采样后所包含的像素值,将上采样后形成的一张或多张特征图,与最大尺寸的特征图进行逐像素融合,得到融合后的特征图。
139.示例性地,以文本识别的特征提取网络为vgg16卷积神经网络为例,vgg16卷积神经网络包含有13个卷积层;其中,各卷积层包含的卷积核数量不同。将卷积层输出的多个不同尺度的特征图按照从小到大的顺序排列,并逐层进行上采样,得到多个相同尺度的特征图;将得到的多个相同尺度的特征图进行融合,以得到融合后的特征图。
140.在一些实施例中,所述融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的特征图包括:
141.通过fpn融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的特征图。
142.在本发明实施例中,通过fpn对卷积层输出的不同尺寸的初始特征图进行融合,从而得到融合有各个层级特征的融合特征图。
143.可以理解的是,通过fpn可以对较大尺寸的初始特征图和较小尺寸的初始特征图进行融合处理,得到融合特征图,由于尺寸较大的特征图中包含有较多的位置信息,而尺寸较小的特征图中包含有较多的特征信息,因此,通过对不同尺寸的初始特征图进行融合处理后得到的融合特征图既包含较多的位置信息,又包含有较多的特征信息。
144.如此,通过fpn可以对卷积层输出的多个不同尺寸的初始特征图进行融合,从而得到融合有各个层级特征的融合特征图。
145.可选地,步骤1013包括:
146.基于第一卷积核,对所述特征图进行包含字符的边框回归处理,得到所述图像内的字符位置;
147.基于第二卷积核,对所述特征图进行字符分类,得到所述图像内包含的字符。
148.在本发明实施例中,对多个特征图中的每一个特征图都进行如下处理,使用卷积核大小为1*1的卷积对特征图进行滑窗处理,即以特征图中的每一个像素为中心,生成锚点,从而生成不同长宽比和不同面积的锚框,覆盖全部的特征图。
149.在实际实施时,第一卷积核的数量根据锚框的类别数量n_anchor确定;第二卷积核的数量根据锚框的类别数量n_anchor和字符类别数量n_class确定。其中,n_anchor是由预先设定的锚框的长宽比数量确定;这里,所述锚框的长宽比可根据字符的宽高比进行设置,例如,字符的宽高比一般在0.5到2之间,将锚框的长宽比设置为{0.5,1,1.5,2},则n_anchor为4。而n_class是预先设定的字典内的字符数量,例如,字典内包含了4000个常用文字,则n_class为4000。在一些实施例中,字符的宽和高可根据图像的像素大小及图像的尺寸确定。在另一些实施例中,字符的宽和高可为预先设置的经验值。
150.在一些实施例中,所述第一卷积核的数量为n_anchor
×
4;所述第二卷积核的数量为n_anchor
×
(n_class+1)。
151.示例性地,考虑到字符的宽高比一般在0.5到2之间,将锚框的大小比设置为{0.5,1,2},面积设置为{16*16,32*32,64*64,128*128,256*256},第一卷积核的数量为12,第二卷积核的数量为12003。
152.在本发明实施例中,通过第一卷积核基于特征图进行字符边框回归处理,输出图像中包含的每个字符的字符位置。
153.具体地,所述字符位置可用坐标的形式表示,例如,字符边框的坐标为{x3,y3,x4,y4},其中,x3,x4表示字符边框四个角点的横坐标,y3,y4表示字符边框四个焦点的纵坐标,通过将横坐标和纵坐标两两组合可以得字符边框的四个角点的坐标,分别(x3,y3)、(x3,y4)、(x4,y3)、(x4,y4)。
154.在本发明实施例中通过第二卷积核对特征图进行卷积计算,提取字符序列特征,进而基于字符特征序列进行字符分类,输出每个字符识别结果。例如,假设字典中包含4000个常用文字,则基于字符特征序列分类后输出的字符属于字典中每个文字的概率,则字典中概率最大的文字就是该字符的分类结果,由此,对于图像中的多个字符,可以输出每个字符的识别结果,得到图像中所包含的字符。
155.如此,通过第一卷积核对特征图进行包含字符的边框回归处理,提高边框的准确度以便更加贴近字符边缘,提高字符位置的准确度。同时,通过第二卷积核对特征图进行字符分类,提高字符识别的准确度;进而提高文本识别的准确性。
156.下面,本发明实施例提供一种文本识别网络的训练方法,如图3所示,图3是本发明实施例提供的一种文本识别网络的训练方法的流程示意图。所述方法包括:
157.在步骤301中,获取图像的训练样本集和所述训练样本集的标注信息;所述标注信息至少包括字符、字符位置和文本区域信息;
158.在步骤302中,将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;
159.在步骤303中,根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;
160.在步骤304中,根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。
161.在本发明实施例中,所述字符预测信息和文本区域预测信息是初始网络基于所述训练图像输出的字符信息和文本区域信息。
162.这里,所述字符预测信息,至少指示所述初始网络预测的所述图像内所包含字符和所述字符的字符位置;所述文本区域预测信息,至少指示所述初始网络预测所述图像内所述文本所在的文本区域;
163.在步骤301中,获取大量图像,形成训练样本集;并对训练样本集中每一幅图像中包含的字符、字符位置、文本区域位置进行标注,得到该图像的标注信息。
164.在实际应用中,训练样本集是用于调整初始网络中待训练参数的数据,所述训练样本集中每个训练图像均包含标注信息,标注信息至少包括字符、字符位置和文本区域信息。在步骤304中,根据计算的损失函数值,更新所述初始网络的待训练参数。
165.在实际实施时,需要预先设置初始网络的待训练参数;所述待训练参数包括以下参数中的一个或多个:迭代次数、批大小、图像大小、学习率和学习率衰减值。
166.这里,迭代次数是指训练样本集中所有训练的图像的训练次数,一般根据训练图像的数量和初始网络大小来决定。批大小表示网络一次前向传播载入的图像数量。图像大小是指图像在训练前需要调整到适当的大小,根据预先定义的长宽来改变图像的大小。学习率表示控制模型的学习速率,若设置的学习率太小,会造成训练的网络模型收敛过慢;若设置的学习率太大,会导致损失函数振荡。因而,在训练过程中为了避免学习率设置不合理,通常采用动态调节学习率的方式,通过设置学习率衰减值,使训练过程中学习率随着训练轮数不断按指数级下降,收敛梯度下降的学习步长。
167.在本发明实施例中,通过将训练样本集中的图像输入至初始网络,得到输出的字符预测信息和文本区域预测信息。并根据字符预测信息、文本区域预测信息和标注信息,基于预设的初始网络的损失函数计算损失函数值,根据损失函数值计算反向传播梯度,更新初始网络中待训练参数。然后重复上述步骤,直至损失函数收敛,即使得最终获得的文本识别网络更优。
168.示例性地,在对初始网络进行训练时,将任一训练图像输入至初始网络后,通过初始网络包含的一个或多个卷积层对训练图像进行特征提取,得到相应的特征图,并分别将特征图输入至卷积层输出端的字符检测分类网络、文本分割网络,分别得到字符检测分类网络输出的字符预测信息和文本分割网络输出的文本区域预测信息。将输出的字符预测信息和文本区域预测信息,以及该训练图像的标注信息中的字符信息和文本区域信息输入至
初始网络的损失函数中,计算初始网络的损失函数值。根据损失函数值判断初始网络是否满足要求,例如,判断损失函数值是否大于预设的损失阈值。当初始网络不满足要求时,采用预设的优化函数对初始网络进行优化,调整初始网络的参数,然后再重复上述操作,直至计算得到的损失函数值满足要求,即可得到文本识别网络。
169.如此,通过初始网络输出的字符预测信息、文本区域预测信息,与训练样本集的标注信息,计算损失函数,基于损失函数训练初始网络,以便获得性能更优的文本识别网络。
170.可选地,如图4所示,图4为图3对应实施例中步骤303的细节流程示意图,步骤303包括:
171.步骤3031,根据所述字符预测信息中包含的字符和所述标注信息中的字符,计算第一损失函数值;
172.步骤3032,根据所述字符预测信息中的字符位置和所述标注信息中的字符位置,计算第二损失函数值;
173.步骤3033,根据所述文本区域预测信息和所述标注信息中的文本区域信息,计算第三损失函数值;
174.步骤3034,根据所述第一损失函数值、第二损失函数值和第三损失函数值计算所述初始网络的损失函数值。
175.在实际应用中,所述训练过程中使用的初始网络的损失函数为:
176.loss=αloss
clc
+βloss
regress
+γloss
segment
;
177.其中,loss为总损失函数;loss
cls
为第一损失函数值;loss
regress
为第二损失函数值;loss
segment
为第三损失函数值;α、β、γ为权重系数。
178.这里,第一损失函数值是字符分类的损失;第二损失函数值是关于字符边框回归的损失;第三损失函数值是根据文本区域边框回归的损失。
179.在实际应用中,可以采用focal loss作为第一损失函数,以避免样本类别不均衡而导致的准确率较低的问题,可以采用平滑l1损失函数smooth l1作为第二损失函数,既使得函数收敛更快,并且对于离群点、异常值不敏感,梯度变化相对更小,鲁棒性好。而第三损失函数的确定可以根据文本分割网络采用的网络确定,这里就不具体限定了。
180.其中,focal loss函数表达式:fl(p
t
)=-α
t
(1-p
t
)
γ
log(p
t
);
181.这里,fl(p
t
)为损失函数值;p
t
是不同类别的分类概率;参数α
t
和γ都是固定值,其中,参数α
t
为[0,1]间的小数,是为了解决正负样本的不平衡;参数γ为大于0的值,是为了解决难易样本的不平衡。
[0182]
需要说明的是,focal loss是在标准交叉熵损失的基础上修改得到的,是用于解决分类问题中类别不平衡、分类难度差异大的损失函数。
[0183]
smooth l1的函数表达式:
[0184]
其中,smoothl1(x)为损失函数值;x=f(xi)-yi为预测值与标注的真实值之间的差值,f(xi)为初始网络输出的第i个训练图像的预测字符位置,yi为第i个训练图像的标注信息中的字符位置。
[0185]
可选地,所述初始网络包括:
[0186]
至少一个卷积层,用于基于输入的图像输出特征图;
[0187]
字符检测分类网络,位于所述卷积层的输出端,用于根据所述特征图输出字符预测信息;
[0188]
文本分割网络,位于所述卷积层的输出端,用于根据所述特征图输出文本区域预测信息。
[0189]
在本发明实施例中,通过在初始网络中卷积层后分别设置字符检测分类网络和文本分割网络,用于对卷积层输出的特征图分别进行字符检测、分类和文本分割,通过这种网络模型结构一步实现对图像的文本分割和字符检测、分类,提高识别效率。
[0190]
下面,本发明实施例提供一种文本识别装置50,如图5所示,图5是本发明实施例提供的一种文本识别装置的结构示意图。所述装置包括:
[0191]
文本识别模块51,将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;
[0192]
字符合并模块52,用于根据所述字符位置及所述文本区域信息,确定所述字符所在的所述文本区域;按照所述字符位置,组合位于同一个所述文本区域内的字符,得到所述文本区域内所包含为文本内容。
[0193]
可选地,所述文本识别模块51包括:
[0194]
图像预处理模块511,用于将待识别的图像输入至所述文本识别网络中;通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图;
[0195]
字符检测分类模块512,用于通过所述文本识别网络中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类,得到所述字符信息;
[0196]
文本分割模块513,用于通过所述文本识别网络中位于所述卷积层输出端的文本分割网络对所述特征图文本分割,得到所述文本区域信息。
[0197]
可选地,所述图像预处理模块511包括:
[0198]
特征提取模块5111,用于通过所述卷积层对所述图像进行特征提取,得到多个不同尺寸的初始特征图;
[0199]
特征融合模块5112,用于融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
[0200]
在本发明实施例中,
[0201]
可选地,所述特征融合模块还用于:
[0202]
通过fpn融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。
[0203]
可选地,所述字符检测分类模块512还用于:
[0204]
基于第一卷积核,对所述特征图进行包含字符的边框回归处理,得到所述图像内的字符位置;
[0205]
基于第二卷积核,对所述特征图进行字符分类,得到所述图像内包含的字符。
[0206]
如此,通过文本识别装置对待识别图像进行文本分割和字符检测、分类的并行处理,输出字符信息和文本区域信息,经过单次检测即可获得对图像内字符信息的识别,提高了识别效率;根据文本区域信息和字符信息,确定各文本区域内的字符,以及文本区域内包
含的文本内容;不需要对图像进行区域裁剪或对齐操作,能够识别不规则文本。
[0207]
下面,本发明实施例提供一种文本识别网络的训练装置60,如图6所示,图6是本发明实施例提供的一种文本识别网络的训练装置的结构示意图。所述装置包括:
[0208]
样本集获取模块61,用于获取图像的训练样本集和所述训练样本集的标注信息;所述标注信息包括字符、字符位置和文本区域信息;
[0209]
文本识别网络获取模块62,用于:
[0210]
将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;其中,所述字符预测信息,至少指示所述初始网络预测的所述图像内所包含字符和所述字符的字符位置;所述文本区域预测信息,至少指示所述初始网络预测所述图像内所述文本所在的文本区域;
[0211]
根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;
[0212]
根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。
[0213]
可选地,所述文本识别网络获取模块62,包括:
[0214]
第一计算模块621,用于根据所述字符预测信息中包含的字符和所述标注信息中的字符,计算第一损失函数值;
[0215]
第二计算模块622,用于根据所述字符预测信息中的字符位置和所述标注信息中的字符位置,计算第二损失函数值;
[0216]
第三计算模块623,用于根据所述文本区域预测信息和所述标注信息中的文本区域信息,计算第三损失函数值;
[0217]
损失函数计算模块624,用于根据所述第一损失函数值、第二损失函数值和第三损失函数值计算所述初始文本识别网络模型的损失函数值。
[0218]
如此,通过输出的字符预测信息、文本区域预测信息,与训练样本集的标注信息,计算损失函数,基于损失函数训练初始网络,以便获得性能更优的文本识别网络。
[0219]
结合本发明上述实施例,下面将说明本发明实施例在一个实际的应用场景中的示例性应用。
[0220]
本示例提供了一种单阶段端到端的文本识别方法,如图7所示,图7为本发明实施例提供的一种单阶段端到端的文本识别方法的流程示意图。
[0221]
步骤701,批注数据准备;
[0222]
获取大量图像,形成训练样本集;并对训练样本集中的每一幅图像进行标注,标注图像中包含的字符和字符位置,标注每个文本行的位置。
[0223]
步骤702,初始网络搭建;
[0224]
如图8所示,图8是本发明实施例提供一种文本识别网络架构示意图。具体地:
[0225]
在初始网络的起始部分设置堆叠卷积神经网络,这里,卷积神经网络包括但不限于resnet,sknet等网络。
[0226]
在通过所述卷积神经网络抽取{stride4,stride8,stride16,stride32,stride64,stride128}处的特征,得到多个不同尺寸的初始特征图;通过fpn融合不同尺寸的初始特征图,得到融合特征图。
[0227]
通过初始网络中位于卷积神经网络输出端的文本分割网络,对所述特征图进行文本分割,得到文本区域信息。
[0228]
具体地,如图9所示,图9是本发明实施例提供的文本分割网络的结构示意图。将fpn输出的{stride4,stride8,stride16,stride32}处的特征图输入至文本分割网络,这里文本分割网络可以为dbnet网络或其他文本分割网络。
[0229]
通过初始网络中位于卷积神经网络输出端的字符检测分类网络,对所述特征图进行字符检测及分类,得到字符信息。
[0230]
具体地,如图10所示,图10是本发明实施例提供的字符检测分类网络的结构示意图。将fpn输出的{stride4,stride8,stride16,stride32,stride64,stride128}处的特征图输入字符检测分类网络。考虑到字符的宽高比一般在0.5到2之间,在各个不同尺寸的特征图上依次设置面积为{16*16,32*32,64*64,128*128,256*256,512*512}的锚框,在各个不同尺寸的特征图后接n_anchor
×
4个1*1的第一卷积核用于字符边框回归,并在各个不同尺寸的特征图后接n_anchor
×
(n_class+1)个1*1的第二卷积核用于字符分类。
[0231]
如此,通过卷积神经网络、fpn、文本分割网络以及字符检测分类网络共同构成初始网络。
[0232]
步骤703,损失函数设计;
[0233]
训练过程中使用的初始网络的损失函数为:
[0234]
loss=αloss
clc
+βloss
regress
+γloss
segment
;
[0235]
其中,loss为总损失函数;loss
cls
为第一损失函数值;loss
regress
为第二损失函数值;loss
segment
为第三损失函数值;α、β、γ为权重系数。
[0236]
这里,第一损失函数值是字符分类的损失,可以采用focal loss损失函数。第二损失函数值是关于字符边框回归的损失,可以采用smooth l1损失函数。第三损失函数值是根据文本区域边框回归的损失,需要根据初始网络中使用的文本分割网络确定损失函数,例如,当初始网络中使用的文本分割网络采用的dbnet,则采用dbnet对应的损失函数。
[0237]
步骤704,网络训练;
[0238]
将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。
[0239]
具体地,将获取的训练样本集输入指初始网络中,通过前向计算得到网络输出的字符预测信息和文本区域预测信息。根据字符预测信息、文本区域预测信息,以及标注信息,计算初始网络的损失函数值。并根据算函数值计算反向传播梯度,进而更新初始网络参数直至损失函数收敛,保存网络的参数。
[0240]
步骤705,文本识别;
[0241]
如图11所示,图11是本发明实施例提供的一种单阶段端到端文本识别的结构示意图。将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息;根据所述字符位置及所述文本区域信息,确定所述字符所在的所述文本区域;按照所述字符位置,组合位于同一个所述文本区域内的字符,得到所述文本区域内所包含的文本内容。
[0242]
具体地,通过在初始网络中加载训练好的参数,得到文本识别网络。将待识别的图像输入文本识别网络,通过前向计算后分别输出字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域。根据字符位置和文本区域信息,确定字符所在的文本区域,然后根据字符位置,按照从左到右、从上到下的优先级把文本区域内的字符组合,得到该文本区域的文本内容,最后输出文本区域的位置坐标及文本内容。
[0243]
如此,在一个网络模型中实现了文本检测和识别,通过使用单阶段网络,一步实现检测和识别,识别效率更高。并且,没有使用区域裁剪或对齐操作,不会破坏输入文字的形态,可以识别不规则文本。
[0244]
本发明实施例还提供一种电子设备,所述电子设备包括:
[0245]
存储器,用于存储可执行指令;
[0246]
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的一种文本识别方法。
[0247]
本发明实施例还提供一种电子设备,所述电子设备包括:
[0248]
存储器,用于存储可执行指令;
[0249]
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的一种文本识别网络的训练方法。
[0250]
下面对本发明实施例提供的一种文本识别方法的电子设备的电子设备的硬件结构做详细说明,电子设备包括但不限于服务器或终端。参见图12,图12是本发明实施例提供的电子设备的结构示意图,该文本识别设备70包括:至少一个处理器701、存储器70,可选的,文本识别设备70可进一步包括至少一个通信接口703,文本识别设备70中的各个组件通过总线系统704耦合在一起,可理解,总线系统704用于实现这些组件之间的连接通信。总线系统x4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线系统704。
[0251]
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接
动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器x2旨在包括但不限于这些和任意其它适合类型的存储器。
[0252]
本发明实施例中的存储器702用于存储各种类型的数据以支持文本识别装置50的操作。这些数据的示例包括:用于在文本识别装置50上操作的任何计算机程序,如存储的样本数据、预测模型等,实现本发明实施例方法的程序可以包含在存储器702中。
[0253]
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
[0254]
在示例性实施例中,文本识别设备70可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或其他电子元件实现,用于执行上述方法。
[0255]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0256]
本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行后,并执行前述一个或多个技术方案提供的文本识别方法,例如,可执行如图1所示的方法。
[0257]
本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行后,并执行前述一个或多个技术方案提供的文本识别网络的训练方法,例如,可执行如图3所示的方法。
[0258]
本发明实施例提供的计算机存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。可选为,所述计算机存储介质可为非瞬间存储介质。这里的非瞬间存储介质又可以称为非易失性存储介质。
[0259]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
[0260]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0261]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertext markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0262]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0263]
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
技术特征:
1.一种文本识别方法,其特征在于,包括:将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;根据所述字符位置及所述文本区域信息,确定所述字符所在的文本区域;按照所述字符位置,组合位于同一个文本区域内的字符,得到所述文本区域内所包含的文本内容。2.根据权利要求1所述的方法,其特征在于,所述将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,包括:将待识别的图像输入至所述文本识别网络中;通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图;通过所述文本识别网络中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类,得到所述字符信息;通过所述文本识别网络中位于所述卷积层输出端的文本分割网络对所述特征图进行文本分割,得到所述文本区域信息。3.根据权利要求2所述的方法,其特征在于,所述通过所述文本识别网络中一个或多个卷积层对所述图像进行特征提取,得到特征图,包括:通过所述卷积层对所述图像进行特征提取,得到多个不同尺寸的初始特征图;融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。4.根据权利要求3所述的方法,其特征在于,所述融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图,包括:通过特征金字塔网络fpn融合不同尺寸的所述初始特征图,得到用于得到所述字符信息和所述文本区域信息的的特征图。5.根据权利要求2所述的方法,其特征在于,所述通过所述文本识别网中位于所述卷积层输出端的字符检测分类网络对所述特征图进行字符检测及分类得到所述字符信息,包括:基于第一卷积核,对所述特征图进行包含字符的边框回归处理,得到所述图像内的字符位置;基于第二卷积核,对所述特征图进行字符分类,得到所述图像内包含的字符。6.一种文本识别网络的训练方法,其特征在于,所述方法包括:获取图像的训练样本集和所述训练样本集的标注信息;所述标注信息至少包括字符、字符位置和文本区域信息;将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;其中,所述字符预测信息,至少指示所述初始网络预测的所述图像内所包含字符和所述字符的字符位置;所述文本区域预测信息,至少指示所述初始网络预测所述图像内所述文本所在的文本区域;根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;
根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。7.根据权利要求6所述的训练方法,其特征在于,所述根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值,包括:根据所述字符预测信息中包含的字符和所述标注信息中的字符,计算第一损失函数值;根据所述字符预测信息中的字符位置和所述标注信息中的字符位置,计算第二损失函数值;根据所述文本区域预测信息和所述标注信息中的文本区域信息,计算第三损失函数值;根据所述第一损失函数值、第二损失函数值和第三损失函数值计算所述初始网络的损失函数值。8.根据权利要求6所述的训练方法,其特征在于,所述初始网络包括:至少一个卷积层,用于基于输入的图像输出特征图;字符检测分类网络,位于所述卷积层的输出端,用于根据所述特征图输出字符预测信息;文本分割网络,位于所述卷积层的输出端,用于根据所述特征图输出文本区域预测信息。9.一种文本识别装置,其特征在于,所述装置包括:文本识别模块,将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;字符合并模块,用于根据所述字符位置及所述文本区域信息,确定所述字符所在的所述文本区域;按照所述字符位置,组合位于同一个所述文本区域内的字符,得到所述文本区域内所包含为文本内容。10.一种文本识别网络的训练装置,其特征在于,所述训练装置包括:样本集获取模块,用于获取图像的训练样本集和所述训练样本集的标注信息;所述标注信息包括字符、字符位置和文本区域信息;文本识别网络获取模块,用于:将所述训练样本集输入至初始网络,得到所述初始网络输出的字符预测信息和文本区域预测信息;其中,所述字符预测信息,至少指示所述初始网络预测的所述图像内所包含字符和所述字符的字符位置;所述文本区域预测信息,至少指示所述初始网络预测所述图像内所述文本所在的文本区域;根据所述字符预测信息、所述文本区域预测信息和所述标注信息,确定所述初始网络的损失函数值;根据所述损失函数值,对所述初始网络的待训练参数进行调整,得到文本识别网络。11.一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1-5任一项所述的文本识别方法。
12.一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求6-8任一项所述的文本识别网络的训练方法。13.一种计算机存储介质,其特征在于,存储有可执行指令,所述可执行指令被处理器执行时,实现如权利要求1-5任一项所述的文本识别方法。14.一种计算机存储介质,其特征在于,存储有可执行指令,所述可执行指令被处理器执行时,实现如权利要求6-8任一项所述的文本识别网络的训练方法。
技术总结
本发明提供了一种文本识别方法、文本识别网络的训练方法及装置。该方法包括:将待识别的图像输入到文本识别网络,得到所述文本识别网络输出的字符信息和文本区域信息,其中,所述字符信息,至少指示所述图像内所包含字符和所述字符的字符位置;所述文本区域信息,至少指示所述图像内所述文本所在的文本区域;根据所述字符位置及所述文本区域信息,确定所述字符所在的文本区域;按照所述字符位置,组合位于同一个文本区域内的字符,得到所述文本区域内所包含的文本内容。内所包含的文本内容。内所包含的文本内容。
技术研发人员:周华健
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2020.11.05
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-24430.html