技术领域
本发明涉及数学公式识别技术领域,特别涉及一种融合双通道的三层架构数学公式识别方法、系统和存储设备。
背景技术
数学公式在很多科学领域都有着相当广泛的使用,在阐述理论知识,描述科学问题等方面有着必不可少的作用。我们通常可以通过使用数学工具来输入数学公式,但是这种方式通常是输入数学标记语言Latex来生成对应的数学公式,这需要用户一定的语法基础,而手写输入能够很好的解决输入的问题,用户能够更加便捷的输入数学公式。
相对于印刷体数学公式的识别,由于手写符号的模糊性,手写风格的多样性以及符号之间大量的粘连使得手写体数学公式识别的难度要远远高于印刷体数学公式识别。
通常数学公式识别流程可以分成三个阶段:符号分割阶段,符号识别阶段,结构分析阶段。针对实现三个阶段的方式不同,目前主流的识别方案可以分成两种:多阶段识别和单阶段识别。
多阶段的解决方案,首先要先对数学公式中的符号进行分割,然后对分割的符号进行识别,最后根据识别结果以及符号位置进行结构分析,这种方案虽然能够实现识别流程的模块化,但是存着一个非常严重的问题:错误继承。前一个阶段的误差会被传递到下一个阶段造成错误累加,从而影响整个识别流程的识别精度,这种方案在识别手写体数学公式的劣势更加突出,因为手写符号会存在大量的粘连很难准确的分割,同时分割出的手写符号由于丢失上下的信息从而加大了符号识别难度。
单阶段的解决方案,使用深度神经网络实现端到端的识别网络,一次性完成公式识别的三个阶段。识别网络通常采用编码解码结构,首先使用编码器对输入的数学公式图片提取特征并进行编码,然后由带有注意力机制的解码器对编码器提取的特征进行扫描,用最相关的区域描述分割的符号,输出数学公式对应的数学标记语言Latex。
在编码器部分,由于不同数学公式的符号尺寸不一致,为了更加有效地利用图片中的视觉特征,研究者通过在编码器中同时提取多个不同粒度的特征输出来解决符号尺度不一致的问题。然而在编码层提取多个不同粒度的特征,虽然都够解决符号尺寸问题,但是提取特征的表征力不足,没有充分利用符号的上下文信息,引入了大量的无关特征。
在解码器的注意力机制中,根据当前时刻的注意力特征图对编码器的输出特征图加权求和得到一个向量用来表示当前识别字符最相关的区域。然后对序列化后向量解码输出。只使用当前时刻的注意力,在识别结果中会出现符号重复和符号缺失的现象。
由于循环神经网络在模型训练的初期,预测能力很差,现有技术会用真实标签作为循环网络中神经单元的输入,从而防止某个神经元的发生了较大了偏差而影响这个循环神经网络的训练效果。虽然使用真实标签代替预测结果的输入让模型在训练阶段有较好的识别效果,但是由于在测试过程中缺少真实标签的指导反而会使得识别精度变低。
发明内容
为此,需要提供一种融合双通道的三层架构数学公式识别方法,用以解决现有单阶段公式识别技术精度低的问题。具体技术方案如下:
一种融合双通道的三层架构数学公式识别方法,包括步骤:
通过编码层对输入图片进行特征提取,所述特征包括:区域视觉信息;
通过注意力层捕获区域视觉信息的上下文,生成context向量;
通过解码层对所述context向量进行解码,生成公式对应的数学标记语言文件。
进一步的,所述“通过编码层对输入图片进行特征提取”,还包括步骤:
使用DenseNet作为编码器;
通过使用Dense网络作为主干网络对输入图片进行视觉信息提取;
在所述编码器中融合有空间注意力模块和通道注意力模块。
进一步的,所述“通过编码层对输入图片进行特征提取”前,还包括步骤:
在所述输入图片数据中添加mask掩码信息,对填充的部分额外增加一个通道,所述通道用来记录填充的信息。
进一步的,所述“通过编码层对输入图片进行特征提取”,还包括步骤:
所述空间注意力模块分别对输入特征图进行平均池化和最大池化得到两个维度相同的特征图,对所述两个维度相同的特征图按照通道进行拼接后通过sigmoid函数得到一个空间注意力矩阵,所述空间注意力矩阵与所述输入特征图相乘得空间注意力特征图;
所述通道注意力模块分别对输入特征图进行全局平均池化和全局最大池化得到两个特征图,输入所述两个特征图至共享的多层感知机中得两个向量,并将所述两个向量相加再和所述输入特征图相乘得到通道注意力特征图。
进一步的,所述注意力层设置有coverage向量,所述coverage向量用于表示过往时刻的所有注意力机制的累加和;
所述注意力计算公式为:
exp
z
其中f
进一步的,所述解码层采用GRU循环神经网络进行解码。
进一步的,所述“生成公式对应的数学标记语言文件”,还包括步骤:
对编码层的输出使用集束搜索算法选取输出得分最高的序列作为最终的输出序列。
为解决上述技术问题,还提供了一种融合双通道的三层架构数学公式识别系统,具体技术方案如下:
一种融合双通道的三层架构数学公式识别系统,包括:编码层、注意力层和解码层;
所述编码层用于:对输入图片进行特征提取,所述特征包括:区域视觉信息;
所述注意力层用于:捕获区域视觉信息的上下文,生成context向量;
所述解码层用于:对所述context向量进行解码,生成公式对应的数学标记语言文件。
进一步的,使用DenseNet作为编码器;
通过使用Dense网络作为主干网络对输入图片进行视觉信息提取;
在所述编码器中融合有空间注意力模块和通道注意力模块;
所述空间注意力模块分别对输入特征图进行平均池化和最大池化得到两个维度相同的特征图,对所述两个维度相同的特征图按照通道进行拼接后通过sigmoid函数得到一个空间注意力矩阵,所述空间注意力矩阵与所述输入特征图相乘得空间注意力特征图;
所述通道注意力模块分别对输入特征图进行全局平均池化和全局最大池化得到两个特征图,输入所述两个特征图至共享的多层感知机中得两个向量,并将所述两个向量相加再和所述输入特征图相乘得到通道注意力特征图。
为解决上述技术问题,还提供了一种存储设备,具体技术方案如下:
一种存储设备,其中存储有指令集,所述指令集用于执行:上述提及的任意一个权利要求的步骤。
本发明的有益效果是:1、通过编码层对输入图片进行特征提取,所述特征包括:区域视觉信息;通过注意力层捕获区域视觉信息的上下文,生成context向量;通过解码层对所述context向量进行解码,生成公式对应的数学标记语言文件。通过编码层、注意力层和解码层三个层的上述操作,可获得精准度更高的数学公式。
2、通过在编码器中融合有空间注意力模块和通道注意力模块。可以让编码器在通道和空间轴上学习注意什么和注意哪里,从而提高兴趣区域的表达,使得编码器提取的特征更具有表征力,能够有效提高识别率。
3、在所述“通过编码层对输入图片进行特征提取”前,还包括步骤:在所述输入图片数据中添加mask掩码信息,对填充的部分额外增加一个通道,所述通道用来记录填充的信息。通过加入掩码信息可以减少图片填充过程的信息冗余。
4、在所述注意力层设置有coverage向量,所述coverage向量用于表示过往时刻的所有注意力机制的累加和,其告诉模型,encoder的输入中哪些部分是已经被注意力关注过的,哪些没有。为了使得模型不过多地关注已经关注过的区域,所以将coverge向量作为下一步的注意力的构成部分,这样下一步生成的注意力分布就会有意识地减少已经关注过的区域的概率,从而有效地减少公式识别出现的符号缺失和符号重复的现象。
附图说明
图1为具体实施方式所述一种融合双通道的三层架构数学公式识别方法的流程图;
图2为具体实施方式所述一种融合双通道的三层架构数学公式识别方法的示意图;
图3为具体实施方式所述一种融合双通道的三层架构数学公式识别系统的模块示意图;
图4为具体实施方式所述一种存储设备的模块示意图。
附图标记说明:
300、一种融合双通道的三层架构数学公式识别系统,
301、编码层,
302、注意力层,
303、解码层,
400、存储设备。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1至图2,在本实施方式中,一种融合双通道的三层架构数学公式识别方法可应用在存储设备上,所述存储设备包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端等。具体实施如下:
步骤S101:通过编码层对输入图片进行特征提取,所述特征包括:区域视觉信息。
步骤S102:通过注意力层捕获区域视觉信息的上下文,生成context向量。
步骤S103:通过解码层对所述context向量进行解码,生成公式对应的数学标记语言文件。
通过编码层对输入图片进行特征提取,所述特征包括:区域视觉信息;通过注意力层捕获区域视觉信息的上下文,生成context向量;通过解码层对所述context向量进行解码,生成公式对应的数学标记语言文件。通过编码层、注意力层和解码层三个层的上述操作,可获得精准度更高的数学公式。
其中步骤S101在本实施方式中还包括步骤:使用DenseNet作为编码器;通过使用Dense网络作为主干网络对输入图片进行视觉信息提取;在所述编码器中融合有空间注意力模块和通道注意力模块。通过在编码器中融合有空间注意力模块和通道注意力模块。可以让编码器在通道和空间轴上学习注意什么和注意哪里,从而提高兴趣区域的表达,使得编码器提取的特征更具有表征力,能够有效提高识别率。
为了减少图片填充过程的信息冗余,在本实施方式中,所述“通过编码层对输入图片进行特征提取”前,还包括步骤:在所述输入图片数据中添加mask掩码信息,对填充的部分额外增加一个通道,所述通道用来记录填充的信息。
以下对空间注意力模块和通道注意力模块的工作机制具体进行说明:
所述空间注意力模块分别对输入特征图进行平均池化和最大池化得到两个维度相同的特征图,对所述两个维度相同的特征图按照通道进行拼接后通过sigmoid函数得到一个空间注意力矩阵,所述空间注意力矩阵与所述输入特征图相乘得空间注意力特征图;
所述通道注意力模块分别对输入特征图进行全局平均池化和全局最大池化得到两个特征图,输入所述两个特征图至共享的多层感知机中得两个向量,并将所述两个向量相加再和所述输入特征图相乘得到通道注意力特征图。
需要说明的是,在本实施方式中,DenseNet网络结构主要由DenseBlock和Transition组成,在DenseBlock和Transition之间依次加入通道注意力模块和空间注意力模块。
在本实施方式中,所述注意力层设置有coverage向量,所述coverage向量用于表示过往时刻的所有注意力机制的累加和;
所述注意力计算公式为:
exp
z
其中f
所述coverage向量用于表示过往时刻的所有注意力机制的累加和,其告诉模型,encoder的输入中哪些部分是已经被注意力关注过的,哪些没有。为了使得模型不过多地关注已经关注过的区域,所以将coverge向量作为下一步的注意力的构成部分,这样下一步生成的注意力分布就会有意识地减少已经关注过的区域的概率,从而有效地减少公式识别出现的符号缺失和符号重复的现象。
在本实施方式中,所述解码层采用GRU循环神经网络进行解码。减轻了循环神经网络梯度爆炸和梯度消失的问题。在训练过程中选定一个概率值去选择使用当前标签还是前一个单元的输出作为当前单元的输入,最终编码层输出每个符号对应的one-hot编码集合。如图2所示。通过随机选择真实标签和预测输出作为编码层循环神经网络的输入,可增强识别系统在不同识别场景下的识别能力。
优选地,所述“生成公式对应的数学标记语言文件”,还包括步骤:对编码层的输出使用集束搜索算法选取输出得分最高的序列作为最终的输出序列。
请参阅图3,在本实施方式中,一种融合双通道的三层架构数学公式识别系统300的具体实施方式如下:
一种融合双通道的三层架构数学公式识别系统300,包括:编码层301、注意力层302和解码层303;所述编码层301用于:对输入图片进行特征提取,所述特征包括:区域视觉信息;所述注意力层302用于:捕获区域视觉信息的上下文,生成context向量;所述解码层303用于:对所述context向量进行解码,生成公式对应的数学标记语言文件。
通过编码层301对输入图片进行特征提取,所述特征包括:区域视觉信息;通过注意力层302捕获区域视觉信息的上下文,生成context向量;通过解码层303对所述context向量进行解码,生成公式对应的数学标记语言文件。通过编码层301、注意力层302和解码层303三个层的上述操作,可获得精准度更高的数学公式。
在编码层301中,使用DenseNet作为编码器;通过使用Dense网络作为主干网络对输入图片进行视觉信息提取;在所述编码器中融合有空间注意力模块和通道注意力模块。通过在编码器中融合有空间注意力模块和通道注意力模块。可以让编码器在通道和空间轴上学习注意什么和注意哪里,从而提高兴趣区域的表达,使得编码器提取的特征更具有表征力,能够有效提高识别率。
以下对空间注意力模块和通道注意力模块的工作机制具体进行说明:
所述空间注意力模块分别对输入特征图进行平均池化和最大池化得到两个维度相同的特征图,对所述两个维度相同的特征图按照通道进行拼接后通过sigmoid函数得到一个空间注意力矩阵,所述空间注意力矩阵与所述输入特征图相乘得空间注意力特征图;
所述通道注意力模块分别对输入特征图进行全局平均池化和全局最大池化得到两个特征图,输入所述两个特征图至共享的多层感知机中得两个向量,并将所述两个向量相加再和所述输入特征图相乘得到通道注意力特征图。
需要说明的是,在本实施方式中,DenseNet网络结构主要由DenseBlock和Transition组成,在DenseBlock和Transition之间依次加入通道注意力模块和空间注意力模块。
在本实施方式中,所述注意力层302设置有coverage向量,所述coverage向量用于表示过往时刻的所有注意力机制的累加和;
所述注意力计算公式为:
exp
z
其中f
所述coverage向量用于表示过往时刻的所有注意力机制的累加和,其告诉模型,encoder的输入中哪些部分是已经被注意力关注过的,哪些没有。为了使得模型不过多地关注已经关注过的区域,所以将coverge向量作为下一步的注意力的构成部分,这样下一步生成的注意力分布就会有意识地减少已经关注过的区域的概率,从而有效地减少公式识别出现的符号缺失和符号重复的现象。
在本实施方式中,所述解码层303采用GRU循环神经网络进行解码。减轻了循环神经网络梯度爆炸和梯度消失的问题。在训练过程中选定一个概率值去选择使用当前标签还是前一个单元的输出作为当前单元的输入,最终编码层301输出每个符号对应的one-hot编码集合。如图2所示。通过随机选择真实标签和预测输出作为编码层301循环神经网络的输入,可增强识别系统在不同识别场景下的识别能力。对编码层301的输出使用集束搜索算法选取输出得分最高的序列作为最终的输出序列。
请参阅图4,在本实施方式中,一种存储设备400的具体实施方式如下:所述存储设备400可用于执行上述提及的一种融合双通道的三层架构数学公式识别方法的任意步骤,在此不做重复说明。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
机译: 数学公式识别装置和数学公式识别方法
机译: 自然场景图像中手写数学公式的结构分析与识别方法
机译: 自然景物图像中手写数学公式的结构分析与识别方法