首页 / 文本识别方法和装置

文本识别方法和装置实质审查 发明

技术领域

[0001] 本申请涉及图像处理技术领域,尤其涉及一种文本识别方法和装置。

相关背景技术

[0002] 随着图像处理技术的不断发展,对图像进行文本识别的应用场景日益增多。如,图像的文本识别技术可以应用于车牌识别、街道标志识别、文献检索、工业自动化中的零件识别以及自动驾驶中的导航匹配等等诸多领域。
[0003] 但是,自然场景中存在的图像普遍存在分辨率低,且图像中包含的文本通常在布局、字体以及大小等方面有所不同,很容易出现文本识别错误,导致文本识别的准确率不高。

具体实施方式

[0056] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0057] 如图1所示,其示出了本申请实施例提供的文本识别方法一个实施例的流程示意图,本申请的方案可以应用于任意具备图像处理能力的计算机设备,如个人计算机或者服务器等,对此不加限制。
[0058] 本实施例的方法可以包括:
[0059] S101,获得文本图像。
[0060] 其中,文本图像为包含文本信息的图像,也是本申请中需要识别出文本的图像。
[0061] 一般情况下,该文本图像的分辨率普遍较低,使得对文本图像进行文本识别的准确率较低。
[0062] S102,对该文本图像进行特征提取,得到该文本图像的浅层文本特征。
[0063] 其中,浅层文本特征可以是图像的形式,因此,浅层文本特征也可以称为浅层文本特征图。
[0064] 浅层文本特征能够反映文本图像中文本的细节信息的特征,浅层文本特征的感受野相对较小。
[0065] 如,可以采用常规的浅层特征提取方式,提取文本图像的浅层特征,得到文本图像的浅层文本特征。
[0066] 在一种可能的实现方式中,可以利用浅层特征提取模型,提取该文本图像的浅层文本特征。如,浅层特征提取模型可以为由一个卷积核大小为9的卷积层构成的卷积神经网络,相应的,通过该浅层提取模型能够将文本图像的图像通道变为64,并在文本图像的每个像素点周围填充4个像素点,以完成特征提取,得到浅层文本特征。
[0067] S103,对该浅层文本特征进行移位卷积处理,得到该文本图像的第一中间文本特征。
[0068] 其中,移位卷积(shift‑conv)是按照输入的浅层文本特征的图像通道数,将浅层文本特征平均分成五组,将其中前四组特征沿不同的空间维度移动,空间维度移动包括:上、下、左和右四种平移,同时,保持最后一组特征不移动,然后,通过卷积层(如1*1的卷积层)将移动后的前四组特征以及未移动的最后一组特征的邻近像素信息进行融合。
[0069] 为了便于区分,本申请将对浅层文本特征进行移位卷积处理后得到的特征称为第一中间文本特征。
[0070] 在本申请中,根据实际需要的不同,对浅层文本特征的移位卷积操作的次数可以为一次,也可以为多次。在一种可选方式中,为了能够更好地融合多个像素之间的关系,扩大感受野,能够让局部像素学习到全局像素的信息,本申请中,可以对浅层文本特征进行多次卷积移位操作。
[0071] S104,利用逐组多窗口自注意力模块对该第一中间文本特征进行多组不同窗口尺寸的自注意力计算,将计算得到的多组自注意力特征进行融合,得到该文本图像的第二中间文本特征。
[0072] 其中,逐组多窗口自注意力(Group‑wise Multi‑scale Self‑Attention,GMSA)模块可以预先训练得到,对此不加限制。
[0073] 其中,GMSA模块对该第一中间文本特征进行多组不同窗口尺寸的自注意力计算可以为:先按照第一文本特征的图像通道,将输入的第一中间文本特征分为多组,得到划分出的多组文本特征;对于不同组文本特征,采用不同的窗口尺寸大小进行自注意力计算。其中,将输入的第一中间文本特征进行分组的数量可以根据应用场景的不同有所不同。
[0074] 如,GSMA模块可以将第一中间文本特征分成三组,得到第一组文本特征、第二组文本特征和第三组文本特征。对于第一组文本特征,采用4像素的窗口计算第一组文本特征的自注意力;对于第二组文本特征,采用8像素的窗口计算该第二组文本特征的自注意力;对于第三组文本特征,采用12像素的窗口计算该第三组文本特征的自注意力。在此基础上,将这三种窗口计算出的自注意特征通过1*1的卷积神经网络进行特征融合。其中,基于卷积神经网络进行特征融合可以通过圆滚操作完成,对此不加限制。
[0075] 可以理解的是,通过对文本图像的第一中间文本特征进行逐组多窗口计算自注意力,不仅能够实现在多个尺度深度挖掘出文本图像的特征信息;而且由于GMSA模块的高效性,利用GMSA深度挖掘文本特征,还能够节省挖掘深层次文本特征的计算开销。
[0076] 为了便于区分,本申请将经过GMSA模块处理后得到的文本特征称为第二中间文本特征。
[0077] S105,将该浅层文本特征与第二中间文本特征进行残差连接,得到该文本图像的深层文本特征。
[0078] 如,可以利用训练出的残差网络将浅层文本特征与第二中间文本特征进行残差连接。
[0079] 可以理解的是,通过残差连接可以减少梯度消失,进一步使得得到的深度文本特征能够更为真实且准确地反映文本图像深层次的特征。
[0080] S106,基于该浅层文本特征和深层文本特征,识别该文本图像中的文本。
[0081] 可以理解的是,本申请在对文本图像进行常规的特征提取,得到文本图像的浅层文本特征的前提下,又在浅层文本特征的基础上,进一步提取出文本图像的深层文本特征,以更为全面且准确地反映出文本图像中文本特征,从而有利于提高文本识别的准确性。
[0082] 其中,基于浅层文本特征和深层文本特征识别文本的过程可以有多种可能,本申请对此不加限制。
[0083] 在一种可能的实现方式中,本申请可以先基于浅层文本特征和深层文本特征,构建文本图像的超分辨率文本图像。在此基础上,识别超分辨率文本图像中的文本,从而确定出该文本图像中包含的文本。
[0084] 可见,本申请实施例在提取出文本图像的浅层文本特征后,会对浅层文本特征进行移位卷积处理,以实现不同通道之间的特征融合。在此基础上,本申请还会利用逐组多窗口自注意力模块对移位卷积处理后的文本特征进行多组不同窗口尺寸的自注意力计算,并将计算得到的多组自注意力特征进行融合,使得融合出的第二中间文本特征能够更深层次且从全局上挖掘出文本图像的文本特征。由此可知,将浅层文本特征与该第二中间文本特征进行残差连接,能够减少梯度消失而影响到文本特征的准确性和信息全面性,从而最终得到更为准确反映全局特征的深度文本特征,因此,通过浅层文本特征和深层文本特征能够更为准确且全面地体现出文本图像的局部细节特征以及全局的文本特征,自然也就可以提高文本识别的准确性。
[0085] 另外,本申请在提取深度文本特征的过程中,采用移位卷积操作对浅层文本特征进行特征提取,而未采用传统的循环神经网络RNN进行特征提取,从而可以减少由于采用RNN提取特征而导致的耗时以及计算开销。而且,本申请采用GMSA模块对移位卷积操作后的特征进一步深度挖掘,重复利用了GMSA模块具有的高性能以及低开销的特征,有利于较为高效的挖掘出文本图像的深层文本特征,并降低计算开销。
[0086] 可以理解的是,为了减少文本图像存在文本扭曲以及其他形变而影响到文本识别,以进一步提高文本识别的准确性,本申请在提取文本图像的浅层文本特征之前,对文本图像进行文本矫正。如,利用训练出的空间变形网络(Spatial Transformer Networks,STN)模型,对文本图像进行图像矫正,以矫正文本图像中的文本。
[0087] 进一步的,为了提高文本矫正效果,本申请还可以利用激活函数对文本矫正后的文本图像进行激活处理。如,该激活函数可以为参数修正线性单元(Parametric Rectified Linear Unit,PReLU)。
[0088] 在本申请中,为了能够进一步提高文本识别的准确性,可以先基于文本图像的浅层文本特征和深层文本特征构建该文本图像的超分辨率文本图像,然后,再对超分辨率文本图像进行文本识别。
[0089] 其中,基于浅层文本特征和深层文本特征构建超分辨率文本图像的具体实现也可以有多种。
[0090] 在一种可能的实现方式中,本申请可以先对浅层文本特征和申请文本特征进行融合处理,得到文本图像的融合文本特征,然后,对融合文本特征进行像素重组,而重组后的文本特征实际上就是具有高分辨率的文本图像。
[0091] 但是像素重组过程中可能会存在一些缺陷,基于此,为了减少像素重组过程中存在的缺陷,进一步丰富图像中像素的局部信息,本申请还可以利用利用像素级注意力模块(Pixel‑Wise Attention Module,PAM)对重组后的文本图像进行上采样,得到该文本图像的超分辨率文本图像。PAM模块也称为逐像素自注意力模块。
[0092] 如图2所示,其示出了本申请实施例的文本识别方法的一种实现原理框架示意图。
[0093] 结合图2可知,采用本申请的方案,会先提取低分辨率的文本图像的浅层文本特征,然后在浅层文本特征的基础上,提取出该文本图像的深层文本特征。在此基础上,本申请对浅层文本特征和深层文本特征进行特征融合,然后利用像素重组模块对融合得到的融合文本特征进行像素重组,得到重组后的文本图像。最后,利用PAM模块对重组后的文本图像进行逐像素注意力计算,以实现上采样,得到超分辨率文本图像。相应的,通过对超分辨率文本图像进行文本识别,可以识别出该文本图像中包含的文本。
[0094] 其中,PAM对重组后的文本图像进行上采样本质就是:对于重组后的文本图像中每个像素点,基于注意力机制为该像素点的邻居节点分配权重,将该各像素点的各邻居节点对应特征的权重和与该像素点的特征相加,就构建出一个新的像素点的特征,将新像素点的特征插入到该文本图像中该像素点的周围。
[0095] 通过PAM模块进行图像的上采样具有效率高,且显存占用少的特征,从而可以提高文本识别的性能;而且PAM模块在上采样过程中同时兼顾了图像中像素的局部信息,从而可以提升超分辨率文本图像中文本信息的丰富度。
[0096] 在本申请中为了使得PAM模块能够更好地融合体重组后的文本图像中各像素的特征,在本申请中PAM模块包含了对像素点的特征进行全连接层转变的模块。
[0097] 如,在本申请中PAM模块对需要上采样的图像fl转换处理得到的一个新图像fl+1的转换公式可以表示为如下公式一:
[0098]
[0099] 其中,Ni表示图像fl任意一个像素i的k个近邻像素的集合,i∈n,n属于图像的像素集合,ω()为特征变换函数,R为转换像素的关系矩阵,如像素i和像素j之间的关系矩阵。
[0100] 在本申请中,关系矩阵可以表示为如下公式二:
[0101]
[0102] 其中,softmax表示归一化函数。θ()和φ()分别表示不同的全连接层转换。fil表l l l l示图像f中像素i的特征,fj表示图像f中像素j的特征。C是图像f的通道数。
[0103] 其中,图像fl可以表示输入PAM模块的文本图像,如重组后的文本图像;也可以是PAM模块转换出的任意一层的文本图像,对此不加限制。
[0104] 可以理解的是,为了能够更准确表示出文本图像中的特征,本申请对浅层文本图像进行移位卷积处理可以包括多次移位卷积操作。下面结合移位卷积处理的一种可能情况对本申请的文本识别方法进行介绍。
[0105] 如图3所示,其示出了本申请提供的文本识别方法又一个实施例的流程示意图,本实施例的方法可以包括:
[0106] S301,获得待识别的文本图像,对该文本图像进行文本矫正。
[0107] 如,采用STN模型对文本图像进行文本矫正。STN模型允许神经网络学习如何对输入图像执行空间变换,以增强模型的几何不变性,从而提高图像矫正效果。
[0108] S302,利用激活函数对文本矫正后的文本图像进行激活处理。
[0109] 如,可以利用PReLU模块对文本图像进行激活处理。该激活函数的目的是增加了神经网络各层之间的非线性关系,PReLU可以自适应地学习矫正线性单元ReLu的参数,并且能够在可忽略额外计算成本的前提下,提高模型准确率,从而进一步提高文本图像的矫正效果。
[0110] S303,对经过矫正和激活后的文本图像进行特征提取,得到该文本图像的浅层文本特征。
[0111] 如,利用训练出的浅层特征提取模块提取文本图像的特征,得到浅层文本特征。
[0112] S304,对浅层文本特征进行第一移位卷积处理,得到该文本图像的第一文本特征。
[0113] 为了便于区分,本申请将第一次移位卷积处理称为第一移位卷积处理,并将经过第一次移位卷积处理得到的图像特征称为第一文本特征,而将后续第二次移位卷积处理称为第二移位卷积处理,将会经过第二次移位卷积处理后得到的文本特征称为第二文本特征。
[0114] 其中,第一次移位卷积和第二次移位卷积均可以为利用不同的移位卷积模块进行处理,具体可以参见前面关于移位卷积shift‑conv的介绍,对此不再赘述。
[0115] 可以理解的是,第一文本特征和第二文本特征都均可以为特征图的形式,对此不加限制。
[0116] S305,利用激活函数对该第一文本特征进行激活处理。
[0117] 其中,该步骤S305与步骤S302中采用的激活函数可以为相同类型的截获函数,也可以为不同类型的激活函数。在本申请中为了便于区分,可以基于这两个激活函数的出现顺序,依次将这两个激活函数分别称为第一函数,以及第二激活函数。
[0118] 如,在步骤S305中激活函数可以为修正线性单元(Rectified Linear Unit,ReLU)。
[0119] 在卷积移位后增加激活函数可以增强实现卷积移位的各网络层之间的非线性关系,有利于更好地表达出文本图像中的特征。
[0120] S306,对激活处理后的第一文本特征进行第二移位卷积处理,得到该文本图像的第二文本特征。
[0121] S307,基于该第二文本特征,确定文本图像的第一中间文本特征。
[0122] 如,可以将第二文本特征确定为第一中间文本特征。
[0123] 在一种可选方式中,本申请可以将第二文本特征与前面得到的浅层文本特征进行残差连接,得到文本图像的第一中间文本特征。如,利用训练出的第一残差网络对第二文本特征和浅层文本特征进行残差连接。
[0124] S308,利用GMSA模块对该第一中间文本特征进行多组不同窗口尺寸的自注意力计算,将计算得到的多组自注意力特征进行融合,得到该文本图像的第二中间文本特征。
[0125] 该步骤可以参见前面实施例的相关介绍,在此不再赘述。
[0126] S309,将该浅层文本特征与第二中间文本特征进行残差连接,得到该文本图像的深层文本特征。
[0127] 如,利用训练出的第二残差网络对浅层文本特征与第二中间文本特征进行残差连接,将残差连接得到的特征确定为深层文本特征。
[0128] 可以理解的是,深层文本特征同样可以为特征图的形式,对此不加限制。
[0129] S310,对浅层文本特征和深层文本特征进行融合处理,得到文本图像的融合文本特征。
[0130] 其中,对浅层文本特征和深层文本特征进行融合的目的是实现浅层文本特征与深层文本特征之间主像素相加,具体融合方式可以有多种,对此不加限制。
[0131] S311,对该融合文本特征进行像素重组,得到重组后的文本图像。
[0132] 可以理解的是,融合文本特征本质上就是一幅特征图。
[0133] 而像素重组((PixelShuffle))本质是对图像进行像素重排,通过像素重组可以将低分辨率的图像中的像素重新排列,从而生成高分辨的图像。像素重组本身也是一种上采样。基于此,相对步骤S301获得文本图像,重组后的文本图像也是一种高分辨率的文本图像。
[0134] S312,利用PAM模块对重组后的文本图像进行上采样,得到文本图像的超分辨率文本图像。
[0135] 该步骤S312可以参见前面的介绍,在此不再赘述。
[0136] S313,对超分辨率文本图像进行文本识别,得到识别出的文本。
[0137] 可以理解的是,步骤S310到S313是以基于浅层文本特征和深层文本特征进行文本识别的一种实现方式为例说明,对于前面提到的其他实现方式也同样适用于本实施例,对此不加限制。
[0138] 可以理解的是,在本申请的文本识别方法所涉及到各模型(如网络模型或者函数模块等)都需要预先经过训练得到,为了能够达到更好的文本识别效果,本申请中可以结合将梯度剖面损失函数作为训练模型的目标函数。
[0139] 为了便于理解,下面以一种可能情况为例对本申请中训练得到以上实施例中涉及到的各个模型的过程进行介绍。
[0140] 首先,可以获得多个标注有高分辨率图像的文本图像样本。
[0141] 如,可以先获得分辨率满足要求的多个高分辨率图像,将高分辨率图像下采样得到图像作为文本图像样本,而得到该文本图像样本的高分辨率图像就是该文本图像样本标注的高分辨率图像。
[0142] 当然,获得文本图像样本的方式还可以有多种可能,对此不加限制。
[0143] 其次,对于每个文本图像样本,基于本申请的方案,构建出该文本图像样本的超文本分辨率图像。
[0144] 采用本申请的方案构建出文本图像样本的过程可以参见前面图2以及图3的相关介绍。
[0145] 如,利用STN网络对文本图像样本进行矫正,将矫正后的文本图像样本输入到PReLu单元进行激活,将激活后的文本图像样本输入到浅层特征提取模块。然后,将浅层特征提取模块输出浅层文本特征依次经过第一卷积移位模块、ReLu模块、第二卷积移位模块处理后,将第二卷积移位模块输出的特征图与浅层文本特征输入到残差网络进行残差连接,将残差连接后的特征图输入到GMSA模块,将GMSA模块输出的特征图与浅层文本特征输入到另一残差网络进行残差连接,得到深层文本特征。然后,将深层文本特征和浅层文本特征融合后依次经过像素重组模块和PAM模块处理,得到文本图像样本的超分辨率图像。
[0146] 再次,基于每个文本图像样本的第一梯度以及每个文本图像样本对应的超分辨图像的第二梯度,以及设定的损失函数,计算损失函数值。
[0147] 其中,为了便于区分,将文本图像样本的梯度称为第一梯度,而将文本图像样本的超分辨率图像的梯度称为第二梯度。
[0148] 如,针对每个文本图像样本,可以文本图像样本的第一梯度与该文本图像样本的超分辨率图像的第二梯度之间的梯度差。在此基础上,结合各文本图像样本对应的梯度差,利用均方误差函数(Mean Squared Error,MSE),计算各文本图像样本的梯度差的均方误差值,将该均方误差值确定为损失函数值。
[0149] 当然,此处仅仅是一种计算损失函数值的方式为例,对于结合文本图像样本与其对应的超分辨率图像之间的梯度差采用其他方式计算损失函数值的方式也适用于本实施例,对此不加限制。
[0150] 最后,如果损失函数值未收敛,调整以上各模型的参数,并针对每个文本图像样本重新构建超分辨率图像,直至损失函数收敛,结束模型训练。
[0151] 对应本申请的一种文本识别方法,本申请还提供了一种文本识别装置。
[0152] 如图4所示,其示出了本申请实施例提供的文本识别装置的一种组成结构示意图。本实施例的装置可以包括:
[0153] 图像获得单元401,用于获得文本图像;
[0154] 特征提取单元402,用于对所述文本图像进行特征提取,得到所述文本图像的浅层文本特征;
[0155] 移位卷积单元403,用于对所述浅层文本特征进行移位卷积处理,得到所述文本图像的第一中间文本特征;
[0156] 注意力计算单元404,用于利用逐组多窗口自注意力模块对所述第一中间文本特征进行多组不同窗口尺寸的自注意力计算,将计算得到的多组自注意力特征进行融合,得到所述文本图像的第二中间文本特征;
[0157] 特征连接单元405,用于将所述浅层文本特征与第二中间文本特征进行残差连接,得到所述文本图像的深层文本特征;
[0158] 文本识别单元406,用于基于所述浅层文本特征和深层文本特征,识别所述文本图像中的文本。
[0159] 在一种可能的实现方式中,该文本识别单元可以包括:
[0160] 图像构建子单元,用于基于所述浅层文本特征和深层文本特征,构建所述文本图像的超分辨率文本图像;
[0161] 文本识别子单元,用于识别所述超分辨率文本图像中的文本。
[0162] 进一步的,该图像构建子单元,包括:
[0163] 特征融合子单元,用于对所述浅层文本特征和深层文本特征进行融合处理,得到所述文本图像的融合文本特征;
[0164] 像素重组单元,用于对所述融合文本特征进行像素重组,得到重组后的文本图像;
[0165] 像素级处理单元,用于利用像素级注意力模块对重组后的文本图像进行上采样,得到所述文本图像的超分辨率文本图像。
[0166] 在一种可能的实现方式中,该移位卷积单元,包括:
[0167] 第一移位卷积单元,用于对所述浅层文本特征进行第一移位卷积处理,得到所述文本图像的第一文本特征;
[0168] 第一激活单元,用于利用第一激活函数对所述第一文本特征进行激活处理;
[0169] 第二移位卷积单元,用于对激活处理后的第一文本特征进行第二移位卷积处理,得到所述文本图像的第二文本特征;
[0170] 特征确定单元,用于基于所述第二文本特征,确定所述文本图像的第一中间文本特征。
[0171] 在又一种可能的实现方式中,该特征确定单元,包括:
[0172] 特征确定子单元,用于将所述第二文本特征与所述浅层文本特征进行残差连接,得到所述文本图像的第一中间文本特征。
[0173] 在又一种可能的实现方式中,该装置还包括:
[0174] 图像矫正单元,用于在特征提取单元提取所述文本图像的浅层特征之前,对所述文本图像进行文本矫正;
[0175] 第二激活单元,用于利用第二激活函数对文本矫正后的文本图像进行激活处理。
[0176] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0177] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0178] 对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0179] 以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页 第1页 第2页 第3页