技术领域
本发明涉及自然场景文字识别技术领域,尤其涉及一种基于视觉语言建模网络的场景文字识别方法。
背景技术
自然场景文字识别是一种通用的文字识别技术,已成为近年来计算机视觉与文档分析领域的热点研究方向,并且被广泛应用于自动驾驶,车牌识别,帮助视障人士等领域。该任务的目标是将图像中的文字内容转换成可编辑的文字。
由于自然场景中的文字具有分辨率低下、背景复杂、易受噪声干扰等特点,导致传统的文字识别技术无法应用到自然场景中。因此,自然场景中的文字识别技术具有重大的研究意义。
随着近年来深度学习技术在计算机视觉领域的发展,近期的场景文字识别方法达到了比较好的效果。这些方法都使用了额外的语言模型捕捉语言信息,通过将独立的视觉和语言信息融合的方式来提升文字图像的识别精度(例如分辨率低、背景复杂、受噪声干扰的图像)。但是这些方法存在两个问题:1)因为另外地引入了语言模型结构,导致大量的额外计算开销。2)由于在两个分开的模块中分别建模视觉信息和语言信息,导致网络很难充分考虑和有效融合两个独立的信息实现准确的文字识别。因此目前场景文字识别的速度和精度还有待提升。
发明内容
本发明的目的是提供一种基于视觉语言建模网络的场景文字识别方法,可以提升场景文字识别的速度和精度。
本发明的目的是通过以下技术方案实现的:
一种基于视觉语言建模网络的场景文字识别方法,包括:
构建包含主干网络、位置感知掩码生成模块及视觉语义推理模块的视觉模型,通过训练引导视觉模型根据视觉上下文信息推理出被遮挡的字符信息,从而赋予视觉模型语言能力;
训练过程包括:主干网络输出的视觉特征、以及随机生成的场景文字中的字符索引作为位置感知掩码生成模块的输入,字符索引对应的字符信息作为被遮挡的字符信息,采用弱监督互补学习的方式,学习被遮挡的字符信息、以及被遮挡后的字符信息,从而来指导被遮挡的字符信息的字符级掩码图的生成;基于被遮挡的字符信息字符级掩码图与视觉特征生成被遮挡字符信息后的特征图作为视觉语义推理模块的输入,视觉语义推理模块通过视觉上下文信息推理出被遮挡的字符信息,最终输出词级预测结果;根据词级预测结果与实际结果的损失、以及学习被遮挡的字符信息和被遮挡后的字符信息与相应的实际信息的损失构建损失函数,从而训练所述视觉模型;
训练完毕后,主干网络对输入的包含场景文字的测试图像进行视觉特征提取,再通过视觉语义推理模块,获得词级识别结果。
由上述本发明提供的技术方案可以看出,训练过程中,通过使视觉模型直接在被遮挡的文字图像特征中识别完整的词级结果,引导视觉模型根据视觉上下文信息推理出被遮挡的文字内容,从而赋予视觉模型语言能力;因此,在不需要引入额外语言模型结构的情况下,视觉模型自适应地在视觉上下文中捕捉语言信息来增强视觉特征,从而提升识别能力。并且,用于遮挡视觉特征的字符级掩码的生成过程只需要原有的词级标注,不需要引入额外的标注信息;测试过程中只使用了主干网络和视觉语义推理模块进行识别,因此位置感知的掩码生成模块只在训练过程中使用,在测试过程中不引入额外的计算开销。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于视觉语言建模网络的场景文字识别方法的框架图;
图2为本发明实施例提供的位置感知掩码生成模块的原理图;
图3为本发明实施例提供的视觉语义推理模块的原理图;
图4为本发明实施例提供的视觉语义推理层通过从视觉上下文中提取语言信息来增强视觉特征的示意图;
图5为本发明实施例提供的视觉语义推理模块通过学习语言信息提升识别性能的示意图;
图6为本发明实施例提供的传统方案与本发明的区别示意图;
图7为本发明实施例提供的OST数据集生成示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种基于视觉语言建模网络的场景文字识别方法,如图1所示,主要包括:
构建包含主干网络、位置感知掩码生成模块及视觉语义推理模块的视觉模型,通过使用位置感知掩码生成模块在训练中引导视觉语义推理模块根据视觉上下文信息推理出被遮挡的字符信息,从而赋予视觉模型语言能力;
训练过程包括:主干网络输出的视觉特征、以及随机生成的场景文字中的字符索引作为位置感知掩码生成模块的输入,字符索引对应的字符信息作为被遮挡的字符信息,采用弱监督互补学习的方式,学习被遮挡的字符信息、以及被遮挡后的字符信息,从而来指导被遮挡的字符信息字符级掩码图的生成;基于被遮挡的字符信息字符级掩码图与视觉特征生成被遮挡字符信息后的特征图作为视觉语义推理模块的输入,视觉语义推理模块通过视觉上下文信息推理出被遮挡的字符信息,最终输出词级预测结果;根据词级预测结果与实际结果的损失、以及学习被遮挡的字符信息和被遮挡后的字符信息与相应的实际信息的损失构建损失函数,从而训练所述视觉模型;
训练完毕后,主干网络对输入的包含场景文字的测试图像进行视觉特征提取,再通过视觉语义推理模块,获得词级识别结果。
图1所示的框架中,下半部分是训练阶段所涉及的操作,即位置感知的掩码生成模块只在训练过程中使用,测试过程中只使用了主干网络和视觉语义推理模块进行识别。
下面结合视觉模型的组成对整个识别过程做详细的介绍。
一、主干网络。
本发明实施例中,主干网络可以采用ResNet45结构;示例性的,可以在第2,3,4stage设置步长为2,输入图片尺寸为256×64,输出大小为32×8的特征图V。
二、位置感知的掩码生成模块。
如图2所示,位置感知的掩码生成模块以主干网络提取的特征V和随机生成的字符索引P作为输入,输出对应位置的字符级掩码图。同时,提出了一种弱监督互补学习策略,通过两个平行的分支(即第二个分支与第三个分支)分别去学习被遮挡的字符信息和被遮挡后的字符信息来指导遮挡字符掩码的生成。
如图2所示,所述位置感知掩码生成模块包含三个分支。
第一个分支将视觉特征V与编码后的字符索引(即字符索引通过embedding映射层后的输出)级联,再通过Transformer模型后,经Sigmoid层生成[0,1]的掩码图Mask
第二个分支通过掩码图Mask
预测层的计算公式为:
Att
其中,P
如图1左侧输入的图像为例,字符信息为“concubines”,随机生成的字符索引 P=6,第二个分支与第三个分支中,都使用了掩码图Mask
三、视觉语义推理模块。
如图1所示,通过使用1-Mask
如图3所示,所述视觉语义推理模块包括:视觉语义推理层和并行预测层;视觉语义推理层对视觉特征V
所述视觉语义推理层使用多层Transformer模型对被遮挡字符信息视觉特征V
如图3所示,输入特征经过线性变换和注意力层得到并行注意力图(所有时间步的注意力图同时得到),通过注意力图和输入特征的点乘操作之后,输入全链接层分类得到最终的预测结果。本发明实施例中,第二、第三支路中的预测层与并行预测层结构是相同的,但是监督信息不同,并行预测层的监督是完整的词级字符串。并行预测层采用与前述预测层相同的计算公式,得到词级预测结果:
Att
上式中,P
以上为视觉模型各部分的原理介绍,训练阶段采用了随机梯度下降法(SGD)对网络进行端到端的训练。网络训练的整体损失函数为:
L=L
其中,log(p
在实验中β
训练与测试阶段与训练阶段的主要区别在于,测试阶段无需位置感知的掩码生成模块参与。
图5展示了本发明上述方案的识别性能,主要体现在视觉语义推理模块通过学习语言信息提升识别性能,通过主动学习语言信息,本发明提出的方法有效的提高了对遮挡,分辨率低,模糊等图像的识别精度。图5所示的12幅图像中,每一幅图像右侧为识别结果,第一行为没有在训练过程中引入遮挡特征的识别结果,第二行为本发明提出方法的识别结果。
本发明实施例上述方案,主要获得如下两个方面的有益效果:
一、降低计算损耗,提升识别效率。
如图6所示,直观的展示了传统方案与本发明的区别,本发明在网络中只使用了视觉模型的结构,通过直接赋予视觉模型语言能力,消除了网络中语言建模的计算损耗。
二、提升了识别精度。
实验中,使用了如下数据集:
SynthText(ST):该数据集包含80k幅合成图像。使用文字框标注从图像中裁剪出文字图像块来训练视觉模型。
SynthText90K(90K):该数据集是另一个合成数据集,它包含900万张图片。本发明将该数据集和SynthText融合后训练视觉模型。
ICDAR2013(IC13):该数据集包含1095幅测试图像。将包含少于3个字符或包含非字母数字字符的图像丢弃。
ICDAR2015(IC15):该识别任务提供500幅场景图像。通过过滤一些极其扭曲的图像,1811幅裁剪的文字图像块最终得到保留。
IIIT5K-Words(IIIT5K):该数据集包含3000幅从网站上收集的图像,所有图像都用于测试。
StreetViewText(SVT):该数据集通过从250张谷歌街景的图像中根据词级标注裁剪得到647幅文字图像块。
StreetViewText-Perspective(SVTP):该数据集包含639幅图像,也是从谷歌街景图像中裁剪得到的。其中许多图像都严重失真。
CUTE80(CT):该数据集用于评估模型识别弯曲文字的性能。它包含288张裁剪的文字图像块。
OcclusionSceneText(OST):该数据集是本发明提出的一个新的数据集。OST数据集总共包含4832幅图像,通过人工从6个公开数据集(IC13,IC15,IIIT5K,SVT, SVTPandCT)中筛选得到。本发明手动地对图像中字符进行了两种不同程度的遮挡:轻微程度和严重程度。轻微程度和严重程度表示分别使用一条或者两条线对文字图像的字符视觉内容进行遮挡,从而模拟视觉信息缺失的情况来验证模型使用语言信息提升识别精度的能力。对每张图像仅使用一种程度来遮挡一个字符,如图7所示,左侧上下两幅图都是原始图像;右侧为遮挡图像,其中,上方为轻微程度遮挡、下方为严重程度遮挡。
实验阶段,使用ST和90K数据集结合前文介绍的方案来训练视觉模型,训练之后进行测试。
实验结果表明,本发明提出的方法在场景文字识别任务中达到了最先进的性能,在 IIIT5K,IC13,SVT,IC15,SVTP,CT和OST数据集中精度分别为95.8%,95.7%, 91.7%,83.7%,86.0%,88.5%和60.3%。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
机译: 一种基于语义处理和动态场景建模改进图像形成的方法
机译: 基于残差卷积和递归神经网络的中文场景文本行识别方法
机译: 基于多输入深度神经网络的长途语音识别的声音建模与语音识别方法