一种图像处理方法、装置、电子设备和存储介质与流程

allin2023-01-15  96



1.本公开涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备和存储介质。


背景技术:

2.目前,基于图像进行文本识别应用广泛,通常在进行文本识别之前,需要检测图像中包括的文本行数,随后基于每行文本进行识别。
3.但是,先检测再识别的方法,可能会存在漏识别或多识别的问题,且对于文本展现形式或背景较为复杂的图像,例如图像上存在直文本、倾斜文本和弯曲文,先检测再识别的方法可能会引入较多误差,识别速度比较慢,准确率也比较低。


技术实现要素:

4.为了解决上述技术问题,本公开提供了一种图像处理方法,能够准确的识别图像中的文本,识别速度快,准确率高。
5.第一方面,本公开实施例提供了一种图像处理方法,包括:
6.获取目标图像,目标图像包括多行文本,多行文本中每行文本包括至少一个字符;
7.通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,通过特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,通过输出层基于特征矩阵,得到目标图像对应的概率矩阵;
8.根据目标图像对应的概率矩阵,得到目标图像中字符的识别结果。
9.第二方面,本公开实施例提供了一种图像处理装置,包括:
10.获取单元,用于获取目标图像,目标图像包括多行文本,多行文本中每行文本包括至少一个字符;
11.第一识别单元,用于通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,通过特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,通过输出层基于特征矩阵,得到目标图像对应的概率矩阵;
12.第二识别单元,用于根据目标图像对应的概率矩阵,得到目标图像中字符的识别结果。
13.第三方面,本公开实施例提供了一种电子设备,包括:
14.处理器;以及
15.存储程序的存储器,
16.其中,程序包括指令,指令在由处理器执行时使处理器执行上述的图像处理方法。
17.第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的图像处理方法。
18.第五方面,一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现如上述的图像处理方法。
19.本公开提供的一种图像处理方法、装置、电子设备和存储介质。图像处理方法具体包括:获取目标图像,目标图像包括多行文本,多行文本中每行文本包括至少一个字符;通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,通过特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,通过输出层基于特征矩阵,得到目标图像对应的概率矩阵;根据目标图像对应的概率矩阵,得到目标图像中字符的识别结果,能够准确的识别图像中的文本,识别速度快,准确率高。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
21.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本公开实施例提供的一种应用场景的示意图;
23.图2为本公开实施例提供的一种文本识别模型训练方法的流程示意图;
24.图3为本公开实施例提供的一种文本识别模型的结构示意图;
25.图4为本公开实施例提供的一种图像处理方法的流程示意图;
26.图5为本公开实施例提供的一种图像处理方法的流程示意图;
27.图6为本公开实施例提供的一种图像处理装置的结构示意图;
28.图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
29.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
30.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
31.目前,自然场景下的文字识别是一项具有极大挑战性的课题,文字识别是在包括文字的图片中识别出字符序列的过程,也就是识别出图像中包括的所有字符的过程,自然场景下除了图片背景复杂,光照变化等因素外,识别输出空间的复杂性也是一大困难,由于文字由数量不固定的字母或者字组成,因此,自然场景文字识别需要从图片中识别长度不固定的序列。目前,通常包括一下两种识别方法,一种是基于自底向上的策略,将识别问题
拆分为字符检测、字符识别和字符组合,逐个解决,另一种是基于整体分析的策略,即序列到序列的方法,先将图像编码,然后进行序列解码直接得出整个字符串;但是上述两种方法存在如下问题:上述第一种方法虽然有效但是却需要字符级别的标注,即每个字符在输入图像上的位置、以及信息都需要人工去标注,需要耗费大量的人工,第二种方法虽然标注简单,只需转录字符串即可,但是其输出的识别结果可能存在多识别字符或漏识别字符的情况。
32.其次,一般的文本图像,可以根据其书写方向及走势大致分为三种,正常文本(直文本),带角度的倾斜文本和弯曲文本的等,正常文本通常是指从左往右书写,所有的字大致在一条直线上且这条直线和水平方向几乎重合,带角度的倾斜文本是指从左往右书写,所有的字大致在一条直线上且这条直线和水平方向有一定的夹角,也就是斜着的一行字,弯曲文本是指拱桥型,从左往右书写,但是字几乎都不在同一直线上,字的中心点连起来之后大致呈一条曲线;如上所述情况,常见的文本识别操作都是针对单行文本图像,因此一般需要文本检测操作作为前置步骤得到具体的单行文本,一般来说,对于比较常规的文本图像,例如正常文本,它的文本行分布可能比较标准,检测也能取得不错的效果,因此检测加识别的操作一般不会有太大误差,但是对于比较复杂的文本图像,可能有明显的层级结构,下述以图像中包括多个题目为例进行说明,图像由多个题共同组成了一个页面,题之间可以用检测框较好的检测区分,但是每个题又包含多个行,每行长短不一(有长有短),有的行长宽比较极端(长度远大于宽度),增加了检测难度,上述的检测和识别的方式可能会存在误差,识别结果不准确。
33.综上所述,文本识别有非常广泛的应用,上述两种方法都存在不同的问题,基于字符的方法标注成本高,基于序列的方法可能会有漏识别或多识别字符的问题,不同的文本图像上所表示的文本有直文本、倾斜文本和弯曲文本;大部分识别方法都是针对单行文本,需要以检测作为前置操作,但是对于版式较为复杂的图像,检测加识别的方式可能会引入较多误差,识别准确率比较低。
34.针对上述技术问题,本公开实施例提供了一种图像处理方法,具体的通过下述一个或多个实施例进行详细说明。
35.具体的,图像处理方法可以由终端或服务器来执行。具体的,终端或服务器可以通过文本识别模型对目标图像中的字符进行识别。文本识别模型的训练方法的执行主体和字符识别方法的执行主体可以相同,也可以不同。
36.例如,在一种应用场景中,如图1所示,服务器12对文本识别模型进行训练。终端11从服务器12获取训练完成的文本识别模型,终端11通过该训练完成的文本识别模型对目标图像中的字符进行识别。该目标图像可以是终端11拍摄获得的。或者,该目标图像是终端11从其他设备中获取的。再或者,该目标图像是终端11对预设图像进行图像处理后得到的图像,该预设图像可以是终端11拍摄获得的,或者该预设图像可以是终端11从其他设备中获取的。此处,并不对其他设备做具体限定。
37.在另一种应用场景中,服务器12对文本识别模型进行训练。进一步,服务器12通过训练完成的文本识别模型对目标图像中的字符进行识别。服务器12获取目标图像的方式可以类似于如上所述的终端11获取目标图像的方式,此处不再赘述。
38.在又一种应用场景中,终端11对文本识别模型进行训练。进一步,终端11通过训练
完成的文本识别模型对目标图像中的字符进行识别。
39.可以理解的是,本公开实施例提供的文本识别模型训练方法、图像处理方法并不限于如上所述的几种可能场景。由于训练完成的文本识别模型可应用在图像处理方法中,因此,在介绍图像处理方法之前,下面可以先介绍一下文本识别模型训练方法。
40.下面以服务器12训练文本识别模型为例,介绍一种文本识别模型训练方法,即文本识别模型的训练过程。可以理解的是,该文本识别模型训练方法同样适用于终端11训练文本识别模型的场景中。
41.图2为本公开实施例提供的一种文本识别模型训练方法的流程示意图,具体包括如图2所示的如下步骤s210至s230:
42.s210、获取样本图像以及样本图像中的字符。
43.可选的,上述s210中具体包括:获取样本图像,样本图像中包括多行文本;对多行文本中每行文本包括的字符进行标注,并确定样本图像中每行文本包括的字符,同属于一张样本图像中的多行文本之间通过预设字符隔开。
44.可理解的,获取多个样本图像,样本图像可以理解为待识别的文本图像,多个样本图像中每个样本图像包括多个文本行,文本行在样本图像中的表现形式可以是直文本、倾斜文本和弯曲文本等,例如任一样图像中包括多行弯曲文本。获得多个样本图像后,将多个样本图像缩放到同一个大小,随后标记多个样本图像中每个样本图像中包括的所有字符,标记样本图像中字符的过程中也能够确定样本图像中的字符,将该标记后的样本图像中的字符作为标准的字符,作为文本识别模型训练过程中输出的字符识别结果的参照,进而更新文本识别模型的网络参数。可理解的是,若样本图像中只包括单行文本,则直接对单行文本中的字符进行标记即可,若样本图像中包括多行文本,则同一张样本图像的多行文本之间标记的字符用预设字符隔开,预设字符可以是“\n”,用以将样本图像中的多行文本串联起来,例如,样本图像1包括2行文本,第一行文本中标记的字符为“aaa”,第二行文本中标记的字符为“bbbbb”,样本图像1中的字符序列记为“aaa\nbbbbb”。可理解的是,根据多个样本图像中标注的字符信息建立字典,字典中包括多个样本图像中的字符,若多个样本图像中包括的都是文字,那么建立的字典中就包括多个独立且不重复的文字,多个独立且不重复的文字可以通过将标注的字符序列进行单字符的集合与操作得到,建立的字典可以作为后续基于文本识别模型进行字符识别时的字符数据库,根据识别概率在字符识别库中确定具体的字符。
45.s220、将样本图像输入到构建的文本识别模型中,得到样本图像对应的预设字符。
46.可理解的,在上述s210的基础上,获取到样本图像以及样本图像中的字符后,将样本图像输入到构建的文本识别模型中,得到样本图像对应的预设字符,预设字符可以理解为文本识别模型识别出的样本图像中的字符,该预设字符可能不是准确的识别结果。
47.示例性的,参见图3,图3为本公开实施例提供的一种文本识别模型的结构示意图,构建的文本识别模型300包括特征映射层310、特征提取层320、自适应聚类层330和输出层340,特征映射层310中包括多个子特征映射层,且多个子特征映射层依次相连,特征提取层320具体可以是特征点提取算法组成的网络层,特征提取算法具体可以是尺度不变特征转换算法(scale-invariant feature transform,sift),自适应聚类层330包括编码器、第一卷积层和第二卷积层,输出层340可以是基于注意力机制(attention)的转录层。其中,文本
识别模型内部的数据流程包括:特征映射层310对样本图像进行特征映射,得到样本图像对应的映射信息,特征提取层320对样本图像进行特征提取,得到样本图像对应的特征信息,自适应聚类层330基于特征映射层310输出的映射信息和特征提取层320输出的特征信息,得到特征矩阵,最后输出层340基于自适应聚类层330输出的特征矩阵,计算特征矩阵中的每个字符和上述建立的字典中的字符的相似概率,得到样本图像对应的概率矩阵。文本识别模型输出概率矩阵后,根据概率矩阵确定最终的识别结果,具体的可以根据贪心算法或者集束搜索算法(beam search)得到最终识别结果,最终识别结果也就是预设字符,可以将概率矩阵中概率最大值对应的字符确定为预设字符。
48.s230、根据预设字符、样本图像中的字符和预设损失函数,更新文本识别模型的网络参数。
49.可理解的,在上述s220的基础上,样本图像输入到文本识别模型中后得到样本图像中包括的预设字符,根据预设字符、样本图像中的字符和预设损失函数,更新文本识别模型,例如,样本图像1中标注的字符为“鹏”,预设字符可能是“鹏”、“鸟”或“朋”,若识别结果是“鹏”,则说明文本识别模型识别出的结果准确,其中预设损失函数可以是多分类交叉熵损失函数,损失函数的类型不作限定,可以根据用户的实际使用需求自行确定。
50.本公开实施例提供的一种文本识别模型的训练方法,通过获取样本图像,对样本图像中的字符进行标记得到样本图像中的字符,将样本图像输入到构建的文本识别模型中,得到样本图像对应的预设字符,随后根据预设字符、样本图像中的字符和预设损失函数,更新文本识别模型的网络参数,得到文本识别模型,该种方法训练得到的文本识别模型识别的准确率高,且模型的训练周期短。
51.在上述实施例的基础上,图4为本公开实施例提供的一种图像处理方法的流程示意图,以终端根据文本识别模型识别目标图像中的字符为例进行说明,具体包括如图4所示的步骤s410至s430:
52.s410、获取目标图像,目标图像包括多行文本,多行文本中每行文本包括至少一个字符。
53.可理解的,终端得到文本识别模型之后,获取目标图像,目标图像中包括多行文本,多行文本可能包括多行直文本、斜文本和弯曲文本,每行文本都包括至少一个字符,也就是只有存在字符的行才称为文本行。
54.s420、通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,通过特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,通过输出层基于特征矩阵,得到目标图像对应的概率矩阵。
55.可理解的,将获得的目标图像输入到上述训练完成的文本识别模型中,文本识别模型是直接识别目标图像中多行文本中的字符,不需要检测多行文本确定每行文本并以一行文本作为基准进行字符识别,也就是说本公开提供的文本识别模型只需要执行识别这一个步骤即可,而通常的方法需要进行检测和识别等两个步骤,但是通常的方法在检测的时候会带来新的误差,例如多检测和漏检测等检测不完全的情况,进而影响后续的识别结果,另外,不在同一行的文本之间也会存在上下文的关系,只检测一行文本会影响到识别结果
的准确性,而本公开提供的文本识别模型是直接以包括多行文本的目标图像作为输入直接进行字符识别,不需要执行检测的步骤,在有效减少识别误差的同时也能充分利用多行文本的上下文信息,也可以在一定程度上减少弯曲文本的识别难度,提高识别结果的准确度。文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,文本识别模型内部的流程包括:特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,映射信息用于表征目标图像的全局特征信息,也就是提取出目标图像中字符的相关信息,去除背景信息,便于后续根据提取出的字符的特征信息进行字符识别,例如目标图像的大小为4h*4w,其中h表示高度,w表示宽度,h和w均大于1,输入到特征映射层之后,得到一组h*w*512的映射信息,512是指通道数;特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,特征提取层可以是sift特征提取算法对应的网络层,得到的特征信息是一系列特征点的坐标,特征信息具体可以包括在局部范围内较突出的特征点,根据用户需求可以保留预设数量个突出的特征点,预设数量可以自行设定,例如预设数量可以是1024,也就是在样本图像中提取到1024个特征点;得到特征信息和映射信息后,自适应聚类层基于映射信息和特征信息,得到特征矩阵,特征矩阵中包括字符对应的类别、坐标信息以及映射信息,字符对应的类别是指字符所在的目标文本行,坐标信息是指字符在目标文本行内的坐标,映射信息是上述特征映射层提取到的该字符的映射信息,映射信息也可以称为特征映射向量,特征矩阵可以是n*512大小,n表示一个图像对应的可能最大字符数量,n可以是一个设定的固定值,n的计算方式为行数与每行包括的字符数的乘积,例如,设定输入的目标图像中最多有20行,每行最多包括10个字符,此时得到的n就是20*10;得到特征矩阵后,输出层基于特征矩阵,得到目标图像对应的概率矩阵,概率矩阵可以理解为目标图像中包括的字符和字典内任一字符的相似概率所组成的矩阵,输出层具体可以是基于注意力机制的转录层。
56.s430、根据目标图像对应的概率矩阵,得到目标图像中字符的识别结果。
57.可理解的,在上述s420的基础上,确定目标图像对应的概率矩阵后,通过贪心算法或者beam search算法基于概率矩阵,得到最终的识别结果,也就是输出目标图像中包括的所有字符。
58.本公开实施例提供的一种图像处理方法,直接将包括多行文本的目标图像作为文本识别模型的输入进行字符识别的,不需要执行检测的步骤,也就是不需要将多行文本拆分成单行文本,直接识别多行文本,在有效减少识别误差的同时也能充分利用多行文本的上下文信息,在一定程度上也减少了弯曲文本的识别难度,适用于复杂的应用场景,提高了识别结果的准确率,能够准确的识别图像中的字符,识别速度快,且识别准确率高。
59.可选的,特征映射层包括多个子特征映射层,多个子特征映射层依次相连。
60.示例性的,参见图3,特征映射层310中包括4个子特征映射层,具体包括第一子特征映射层、第二子特征映射层、第三子特征映射层和第四子特征映射层,特征映射层310可以是残差网络层,具体的特征映射层310可以理解为一个resnet18网络层,子特征映射层可以理解为resnet18网络层中的block块,每个block块由若干卷积层组成,每个block块都会进行卷积操作,每一个block块的输出是后一个block块的输入,即每个block块依次连接,在特征映射层310中设置了每个block块对应的卷积层的步长。
61.可选的,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信
息,包括:通过第一子特征映射层对目标图像进行特征映射,得到第一映射信息,第一映射信息的大小与目标图像的大小相同;通过第二子特征映射层对第一映射信息进行特征映射,得到第二映射信息,第二映射信息的大小为第一映射信息的大小的二分之一;通过第三子特征映射层对第二映射信息进行特征映射,得到第三映射信息,第三映射信息的大小和第二映射信息的大小相同;通过第四子特征映射层对第三映射信息进行特征映射,得到第四映射信息,第四映射信息的大小为第三映射信息的大小的二分之一,第四映射信息为目标图像对应的映射信息。
62.可理解的,特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息的具体流程包括:第一子特征映射层对目标图像进行特征映射,得到第一映射信息,第一映射信息的大小与目标图像的大小相同,映射信息也可以理解为映射特征图,如上述目标图像的大小为4h*4w,第一子特征映射层中卷积的步长设置为1,此时得到的第一映射信息的大小为4h*4w*128,4h*4w*128可以理解为特征图的大小为4h*4w,通道数为128;第二子特征映射层对第一映射信息进行特征映射,得到第二映射信息,第二映射信息的大小为第一映射信息的大小的二分之一,第二子特征映射层中步长设置为2,第二映射信息的大小为2h*2w*256,也就是宽和高均减半,通道数增加一倍;通过第三子特征映射层对第二映射信息进行特征映射,得到第三映射信息,第三映射信息的大小和第二映射信息的大小相同,第三子特征映射层中卷积的步长设置为1,第三映射信息的大小也为2h*2w*256,也就是高、宽和通道数均不变;通过第四子特征映射层对第三映射信息进行特征映射,得到第四映射信息,第四映射信息的大小为第三映射信息的大小的二分之一,第四子特征映射层中卷积的步长设置为2,第四映射信息的大小为h*w*512,即特征映射层输出的目标图像对应的映射信息为第四映射信息,第四映射信息的高和宽相当于目标图像高和宽的1/4。构建的特征映射层包括多个层级,能够提取出目标图像的深度特征,且提取出的第四映射特征中最大限度的保留了目标图像中的字符信息,去除了目标图像中背景信息,可以应用在背景较为复杂的场景下,便于后续根据字符的特征信息识别字符,提高识别的准确率。
63.在上述实施例的基础上,图5为本公开实施例提供的一种图像处理方法的流程示意图,可选的,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,具体包括如图5所示的如下步骤s510至s540:
64.可选的,自适应聚类层包括编码器、第一卷积层和第二卷积层。
65.示例性的,参见图3,图3中自适应聚类层330中包括编码器、第一卷积层和第二卷积层,编码器具体可以是transformer结构的编码器,但是没有使用transformer结构中的位置编码器,不采用位置编码是因为输入到编码器中的特征信息中有明确的特征点坐标信息,相当于做了一次特征变换,其次编码器输出的也是一个向量,例如输入的是1024*512,输出也是1024*512,输入的1024*512是根据特征信息中包括的1024个特征点的坐标信息以及映射信息(第四映射信息)中包括的h*w*512信息组成的。
66.s510、通过编码器基于映射信息和缩放后的特征信息,得到第一向量。
67.可理解的,自适应聚类层接收到特征映射层的映射信息和特征提取层的特征信息后,编码器基于映射信息和缩放后的特征信息,得到第一向量,缩放后的特征信息是指将特征信息缩小1/4之后的信息,由于映射信息相较于目标图像的高和宽缩小了1/4,根据目标图像得到的特征信息也需要相应的缩小1/4,保持数据的统一性,避免出现误差,最后输出
的第一向量的大小可以是1024*512。
68.s520、通过第一卷积层对第一向量进行特征变换,得到第二向量,第二向量包括多个特征点。
69.可理解的,在上述s510的基础上,通过编码器得到第一向量后,利用第一卷积层进行特征变换,得到第二向量,第一卷积层可以是1*1的卷积层,第一卷积层可以理解为压缩通道数量,也就是压缩通道512的数量,第二向量的大小可以是1024*10,也就是第一向量中512个通道数被压缩为10个通道数。
70.s530、通过第二卷积层对第二向量中多个特征点中每个特征点进行分类,确定特征点的类别,特征点的类别为特征点在多行文本中的目标行。
71.可理解的,在上述s520的基础上,得到第二向量后,利用第二卷积层对第二向量中包括的多个特征点中每个特征点进行分类,得到特征点的类别,第二卷积层可以是1*1的卷积层。可理解为的是,一个特征点相当于目标图像中的一个字符,也可能是多个特征点为一个字符,对特征点进行分类也就是对字符进行分类,类别是指文本行数,特征点的类别也就是特征点在多行文本中的目标行,也就是确定特征点对应的字符属于哪一文本行,上述设定的一个图像中最大的行数为20行,那么类别数量就为20,例如,目标图像中包括10行,字符a在目标图像中的第二行,那么第二卷积层识别出的字符a对应的特征点的类别就是第二行,以次类推,确定每个特征点的类别,也就是确定每个字符所在的文本行。还可以根据特征点的类别确定样本图像中的文本行数,也就是识别出特征点有5个类别,就可以确定样本图像中包括5行文本。
72.s540、根据特征点的类别、映射信息和缩放后的特征信息,得到特征矩阵。
73.可理解的,在上述s530的基础上,根据第二卷积层得到的每个特征点的类别、以及特征映射层输出的映射信息以及缩放后的特征信息,组成一个n*512的特征矩阵。
74.可选的,上述s540具体包括:将多个特征点中类别相同的目标特征点划分为一个分组,每个分组之间通过预设字符隔开;在缩放后的特征信息中确定每个分组内目标特征点的位置,并根据目标特征点的位置在映射信息中确定目标特征点的向量;根据目标特征点的位置和目标特征点的向量组成特征矩阵。
75.可选的,上述根据目标特征点的位置在映射信息中确定目标特征点的向量,具体包括:在每个分组内根据目标特征点的位置进行排序;根据排序后的目标特征点的位置,在映射信息中确定目标特征点的向量。
76.可理解的,将多个特征点中类别相同的目标特征点划分为一个分组,也就是将在同一个文本行的所有字符归为一组,且每个分组之间通过预设字符隔开,预设字符可以是\n,根据上述设定的最大文本行数,可以划分为20类,若样本图像中只包括5个文本行,特征点的类别也只会为5类,其余15类可以自动填充空字符。随后,确定每个组内每个特征点的位置信息以及特征映射向量,具体的,在同一组内,在缩放后的特征信息中确定所有特征点的位置信息,并在组内根据位置信息对特征点进行排序,随后根据目标特征点(当前特征点)的位置信息,在映射信息中确定该目标特征点对应的特征映射向量,随后确定同组内下一个特征点对应的特征映射向量,上述设置的每行最大字符数为10,若同组内(一行内)没有10个字符,则自动填充空字符直至达到最大字符数10。直到划分的所有组内的每个特征点对应的特征映射向量均确定后,根据所有特征点的类别、位置信息以及特征映射向量组
成一个n*512的特征矩阵。
77.本公开实施例提供的一种图像处理方法,能够直接识别出多行文本中包括的所有字符对应的特征点的信息,通过编码器确定第一向量后,基于第一卷积层继续进行特征变换,减少通道数,随后根据第二卷积层确定每个特征点的类别,只有直接识别多行文本才会涉及到确定特征点类别的操作,来明确特征点对应的每个字符所在的文本行,随后确定每个特征点的特征映射向量,得到特征矩阵,该种方法可以有效减少误差积累,提升识别效果以及识别精度。
78.图6为本公开实施例提供的图像处理装置的结构示意图。本公开实施例提供的图像处理装置可以执行图像处理方法实施例提供的处理流程,如图6所示,图像处理装置600包括:
79.获取单元610,用于获取目标图像,目标图像包括多行文本,多行文本中每行文本包括至少一个字符;
80.第一识别单元620,用于通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,通过特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,通过输出层基于特征矩阵,得到目标图像对应的概率矩阵;
81.第二识别单元630,用于根据目标图像对应的概率矩阵,得到目标图像中字符的识别结果。
82.可选的,第一识别单元620中特征映射层包括多个子特征映射层,多个子特征映射层依次相连。
83.可选的,第一识别单元620中通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,具体用于:
84.通过第一子特征映射层对目标图像进行特征映射,得到第一映射信息,第一映射信息的大小与目标图像的大小相同;
85.通过第二子特征映射层对第一映射信息进行特征映射,得到第二映射信息,第二映射信息的大小为第一映射信息的大小的二分之一;
86.通过第三子特征映射层对第二映射信息进行特征映射,得到第三映射信息,第三映射信息的大小和第二映射信息的大小相同;
87.通过第四子特征映射层对第三映射信息进行特征映射,得到第四映射信息,第四映射信息的大小为第三映射信息的大小的二分之一,第四映射信息为目标图像对应的映射信息。
88.可选的,第一识别单元620中自适应聚类层包括编码器、第一卷积层和第二卷积层。
89.可选的,第一识别单元620中通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,具体用于:
90.通过编码器基于映射信息和缩放后的特征信息,得到第一向量;
91.通过第一卷积层对第一向量进行特征变换,得到第二向量,第二向量包括多个特征点;
92.通过第二卷积层对第二向量中多个特征点中每个特征点进行分类,确定特征点的类别,特征点的类别为特征点在多行文本中的目标行;
93.根据特征点的类别、映射信息和缩放后的特征信息,得到特征矩阵。
94.可选的,第一识别单元620中根据特征点的类别、映射信息和缩放后的特征信息,得到特征矩阵,具体用于:
95.将多个特征点中类别相同的目标特征点划分为一个分组,每个分组之间通过预设字符隔开;
96.在缩放后的特征信息中确定每个分组内目标特征点的位置,并根据目标特征点的位置在映射信息中确定目标特征点的向量;
97.根据目标特征点的位置和目标特征点的向量组成特征矩阵。
98.可选的,第一识别单元620中根据目标特征点的位置在映射信息中确定目标特征点的向量,具体用于:
99.在每个分组内根据目标特征点的位置进行排序;
100.根据排序后的目标特征点的位置,在映射信息中确定目标特征点的向量。
101.可选的,第一识别单元620中通过输出层基于特征矩阵,得到目标图像对应的概率矩阵,具体用于:
102.通过输出层基于特征矩阵和预设字典,得到目标图像对应的概率矩阵,预设字典包括多个字符。
103.可选的,装置600中还包括训练单元,训练单元具体用于:
104.获取样本图像以及样本图像中的字符;
105.将样本图像输入到构建的文本识别模型中,得到样本图像对应的预设字符;
106.根据预设字符、样本图像中的字符和预设损失函数,更新文本识别模型的网络参数。
107.可选的,训练单元中获取样本图像以及样本图像中的字符,具体用于:
108.获取样本图像,样本图像中包括多行文本;
109.对多行文本中每行文本包括的字符进行标注,并确定样本图像中每行文本包括的字符,同属于一张样本图像中的多行文本之间通过预设字符隔开。
110.图6所示实施例的图像处理装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
111.本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行根据本公开实施例的方法。
112.本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
113.本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本公开实施例的方法。
114.参考图7,现将描述可以作为本公开的服务器或客户端的电子设备700的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数
字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
115.如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
116.电子设备700中的多个部件连接至i/o接口705,包括:输入单元706、输出单元707、存储单元708以及通信单元709。输入单元706可以是能向电子设备700输入信息的任何类型的设备,输入单元706可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元707可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元704可以包括但不限于磁盘、光盘。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
117.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理。例如,在一些实施例中,图像处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到电子设备700上。在一些实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像处理方法。
118.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
119.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或
上述内容的任何合适组合。
120.如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
121.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
122.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
123.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

技术特征:
1.一种图像处理方法,其特征在于,包括:获取目标图像,所述目标图像包括多行文本,所述多行文本中每行文本包括至少一个字符;通过预先训练的文本识别模型对所述目标图像中的字符进行识别,所述文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过所述特征映射层对所述目标图像进行特征映射,得到所述目标图像对应的映射信息,通过所述特征提取层对所述目标图像进行特征提取,得到所述目标图像对应的特征信息,通过所述自适应聚类层基于所述映射信息和所述特征信息,得到特征矩阵,通过所述输出层基于所述特征矩阵,得到所述目标图像对应的概率矩阵;根据所述目标图像对应的概率矩阵,得到所述目标图像中所述字符的识别结果。2.根据权利要求1所述的方法,其特征在于,所述特征映射层包括多个子特征映射层,所述多个子特征映射层依次相连;所述通过所述特征映射层对所述目标图像进行特征映射,得到所述目标图像对应的映射信息,包括:通过第一子特征映射层对所述目标图像进行特征映射,得到第一映射信息,所述第一映射信息的大小与所述目标图像的大小相同;通过第二子特征映射层对所述第一映射信息进行特征映射,得到第二映射信息,所述第二映射信息的大小为所述第一映射信息的大小的二分之一;通过第三子特征映射层对所述第二映射信息进行特征映射,得到第三映射信息,所述第三映射信息的大小和所述第二映射信息的大小相同;通过第四子特征映射层对所述第三映射信息进行特征映射,得到第四映射信息,所述第四映射信息的大小为所述第三映射信息的大小的二分之一,所述第四映射信息为所述目标图像对应的映射信息。3.根据权利要求1所述的方法,其特征在于,所述自适应聚类层包括编码器、第一卷积层和第二卷积层;所述通过所述自适应聚类层基于所述映射信息和所述特征信息,得到特征矩阵,包括:通过所述编码器基于所述映射信息和缩放后的所述特征信息,得到第一向量;通过所述第一卷积层对所述第一向量进行特征变换,得到第二向量,所述第二向量包括多个特征点;通过所述第二卷积层对所述第二向量中多个特征点中每个特征点进行分类,确定所述特征点的类别,所述特征点的类别为所述特征点在所述多行文本中的目标行;根据所述特征点的类别、所述映射信息和所述缩放后的特征信息,得到特征矩阵。4.根据权利要求3所述的方法,其特征在于,所述根据所述特征点的类别、所述映射信息和所述缩放后的特征信息,得到特征矩阵,包括:将所述多个特征点中类别相同的目标特征点划分为一个分组,每个分组之间通过预设字符隔开;在所述缩放后的特征信息中确定每个分组内目标特征点的位置,并根据所述目标特征点的位置在所述映射信息中确定所述目标特征点的向量;根据所述目标特征点的位置和所述目标特征点的向量组成特征矩阵。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标特征点的位置在所述映射信息中确定所述目标特征点的向量,包括:在每个分组内根据所述目标特征点的位置进行排序;根据排序后的所述目标特征点的位置,在所述映射信息中确定所述目标特征点的向量。6.根据权利要求1所述的方法,其特征在于,所述通过所述输出层基于所述特征矩阵,得到所述目标图像对应的概率矩阵,包括:通过所述输出层基于所述特征矩阵和预设字典,得到所述目标图像对应的概率矩阵,所述预设字典包括多个字符。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取样本图像以及所述样本图像中的字符;将所述样本图像输入到构建的文本识别模型中,得到所述样本图像对应的预设字符;根据所述预设字符、所述样本图像中的字符和预设损失函数,更新所述文本识别模型的网络参数。8.根据权利要求7所述的方法,其特征在于,所述获取样本图像以及所述样本图像中的字符,包括:获取样本图像,所述样本图像中包括多行文本;对所述多行文本中每行文本包括的字符进行标注,并确定所述样本图像中每行文本包括的字符,同属于一张样本图像中的多行文本之间通过预设字符隔开。9.一种图像处理装置,其特征在于,包括:获取单元,用于获取目标图像,所述目标图像包括多行文本,所述多行文本中每行文本包括至少一个字符;第一识别单元,用于通过预先训练的文本识别模型对所述目标图像中的字符进行识别,所述文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过所述特征映射层对所述目标图像进行特征映射,得到所述目标图像对应的映射信息,通过所述特征提取层对所述目标图像进行特征提取,得到所述目标图像对应的特征信息,通过所述自适应聚类层基于所述映射信息和所述特征信息,得到特征矩阵,通过所述输出层基于所述特征矩阵,得到所述目标图像对应的概率矩阵;第二识别单元,用于根据所述目标图像对应的概率矩阵,得到所述目标图像中所述字符的识别结果。10.一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-8中任一项所述的方法。11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。

技术总结
本公开涉及一种图像处理方法、装置、电子设备和存储介质。获取目标图像,目标图像包括多行文本,多行文本中每行文本包括至少一个字符;通过预先训练的文本识别模型对目标图像中的字符进行识别,文本识别模型包括特征映射层、特征提取层、自适应聚类层和输出层,其中,通过特征映射层对目标图像进行特征映射,得到目标图像对应的映射信息,通过特征提取层对目标图像进行特征提取,得到目标图像对应的特征信息,通过自适应聚类层基于映射信息和特征信息,得到特征矩阵,通过输出层基于特征矩阵,得到目标图像对应的概率矩阵;根据目标图像对应的概率矩阵,得到目标图像中字符的识别结果,能够准确的识别图像中的文本,识别速度快,准确率高。确率高。确率高。


技术研发人员:秦勇
受保护的技术使用者:深圳市星桐科技有限公司
技术研发日:2022.04.11
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-4866.html

最新回复(0)