CN115512378A - 一种基于Transformer的中文环境数学公式提取及识别方法 - Google Patents
一种基于Transformer的中文环境数学公式提取及识别方法 Download PDFInfo
- Publication number
- CN115512378A CN115512378A CN202210772362.7A CN202210772362A CN115512378A CN 115512378 A CN115512378 A CN 115512378A CN 202210772362 A CN202210772362 A CN 202210772362A CN 115512378 A CN115512378 A CN 115512378A
- Authority
- CN
- China
- Prior art keywords
- mathematical formula
- input
- formula
- picture
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/15—Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于Transformer的中文环境数学公式提取以及识别方法。该方法包括在中文环境下将含有数学公式的图片输入数学公式掩模提取模块,提取获得含有数学公式的掩模,在该掩模中仅保留了数学公式部分而剔除了其他位置的文字部分;再输入进入数学公式图片提取模块,该模块通过形态学方法对掩模中的数学公式位置进行进一步的修补以及完善,根据修复后的掩模生成数学公式图片;再输入进入转换展示模块,经过该模块处理得到该公式的Latex,并通过Katex再生成数学公式图片进行展示和对比。本发明方法基于Transformer技术提高了公式提取以及公式识别的准确率。不同于现有技术,本发明可以自动对输入图片的公式区域进行推断,使用起来更加方便。
Description
技术领域
本发明涉及计算机视觉领域和自然语言处理领域,尤其涉及一种基于Transformer的中文环境数学公式提取及识别方法,是一种计算机视觉结合自然语言处理中的Transformer的方法,把网络结构与Transformer相结合。提高公式提取和识别的准确率,并通过可视化界面对提取内容以及结果可视化。
背景技术
随着互联网技术的不断推进发展,人们的办公需求也在不断的提升。网上办公更是成为了人们的常态,在网络办公中使用最广泛的可以说就是PDF文档了。PDF是Adobe公司开发的用于发布和存储电子信息的、全球通用的一种文档格式。它能使得使用者无论在哪种打印机上都可以保证精确和准确的打印效果。为了实现这个效果PDF文档中包涵了大量的渲染信息。这也使得原本的内容因为PDF格式的原因保存形式出现差异,就比如一份公式在PDF文档中可能是由文本形式存储,也很有可能作为图片形式保存。这样的保存形式方便了我们打印,但在我们的学习生活中总会遇到想把PDF中的一些公式进行重用的时候,比如把文档中的公式保存下来写进笔记或者把文档中的公式保存下来写进论文。这个时候公式在PDF中的保存形式会使得重用非常的困难,使得人们往往只能手动再打一遍。
因为人们的需求,当下也有很多优秀的开发者开发出了很多公式提取的软件以及网站,就比如“公式王”网站,以及mathpix软件。他们都能达到不错的识别效果,但是同样的需要使用者人为手动去分割出公式区域而且分割一定要准确,一旦公式区域存在文字会对识别的结果造成很大的影响。现有的技术提供了图片到Latex的转换,但是没有完成对图片中公式的自动提取。本发明实现了中文环境的数学公式自动提取,以及图片到Latex的转换。在本发明中,输入可以是一整张包含数学公式的图片,数学公式提取模型会自动滤去文字信息,并给出公式位置,使用者只需要微调区域就可以得到该区域的数学公式Latex字符。
发明内容
本发明针对现有技术提供了一种基于Transformer的中文环境数学公式提取及识别方法。通过该方法,输入一整张包含数学公式的图片,数学公式提取模型会自动滤去文字信息并给出数学公式位置,经过人为微调就可以输入进识别模型最终得到Latex字符。和以往识别软件相比,本发明并不用手动精确框选,软件会自己给出公式区域,使用者只需要微调就可以,这样更能方便大家使用。
本发明采用的技术方案为:
一种基于Transformer的中文环境数学公式提取及识别方法,包括以下步骤:
1)在中文环境下将含有数学公式的图片输入数学公式掩模提取模块,经过该模块的提取获得含有数学公式的掩模,在该掩模中仅保留了数学公式部分而剔除了其他位置的文字部分;
2)经过步骤1)处理后得到的含有数学公式的掩模输入进入数学公式图片提取模块,该模块通过形态学方法对掩模中的数学公式位置进行进一步的修补以及完善,最后再根据修复后的掩模生成数学公式图片;
3)将步骤2)处理后的数学公式图片输入进入转换展示模块,经过该模块处理得到该公式的Latex,并通过Katex再生成数学公式图片进行展示和对比。
进一步的,所述的步骤1)为:
1.1)将一组含有数学公式的中文环境图片X作为输入,经过数据强化保证每个图片的大小是512×512,并且是灰度图像,输入的通道数是1;
1.2)构建数学公式提取模型,模型结构分成两部分,一部分是卷积下采样的部分,通过下采样提取出图片的高维特征,另一部分是以提取出的高维特征为基础进行上采样对图片进行重建;经过损失函数的向导,该模型能够滤去文字信息,但又保留公式;
1.3)下采样把输入图像X输入进若干个卷积层,每一个卷积层是由卷积计算、激活函数、BatchNormaliztion归一化三步骤组成,每通过一次卷积层得到的特征图,是能代表图片特征的高维特征向量,经过一个个卷积层最后得到大小 1×1的特征图,通道数n;
1.4)对1.3)得到的高维特征向量转换为二维矩阵,维度H×W×C转换成(H×W)×C,即得到1×n的矩阵,将这n个通道值看做一个长为n的序列,并把这个序列输入进入自然语言处理模型Transformer中进行编码,进一步提取特征;
1.5)Transformer对输入的序列先进行位置编码,得到的数据再进行多头注意力机制计算,以多个注意力进行单独计算,然后将各个注意力机制获取的结果进行拼接处理,得到结果;再对多头注意力机制的输入和输出进行相加和 LayerNorm的归一化处理,然后输入进前馈神经网络,得到结果再与前馈神经网络的输入相加并进行LayerNorm的归一化处理;
1.6)1.5)的操作是Transformer编码器中的一个Block模块,依次经过多个Block模块,对特征进行进一步提取得到1×n的特征矩阵,再将该特征矩阵再转换为高维特征向量,即1×1×n大小;
1.7)进行上采样重建,把从1.6)得到的高维特征数据以及下采样时各个卷积层得到的特征图都输入反卷积层中,反卷积层的数量与卷积层一样并且层层对应,结构是由转置卷积、激活函数、BatchNormaliztion归一化组成;在输入每个反卷积层之前,通过跳连接把该反卷积层对应的卷积层所得到的下采样特征图进行拼接并输入,最终通过上采样把特征矩阵1×1×n恢复成512×512的灰度图像;
1.8)经过1.1)到1.7)模型的计算,需要得到含有数学公式位置的mask,采用由Tversky Loss及改进focal loss两部分构成的损失函数
其中TP指的是模型判断正确并且预测的位置中是真实数学公式的像素点数量,FN指的是模型判断错误但是预测的位置是真实数学公式的像素点数量, FP指的是模型判断错误但是预测的位置也不是真实数学公式的像素点数量,IOU 指的是模型预测的数学公式面积和真实数学公式面积的交集除以并集;α、β、γ为超参数;
1.9)根据1.8)的损失函数训练过模型后,在输入含有数学公式的中文图片后,通过模型计算可以得到一张大小与原图一样的掩模,该掩模中仅保留了数学公式部分而剔除了其他位置的文字部分。
进一步的,所述的步骤2)为:
2.1)经步骤1)得到图像的含数学公式的掩模后,通过opencv算法从掩模中提取出各个公式用于识别模块输入,首先对得到的掩模图像先进行形态学的侵蚀计算,让掩模连通区域之间贯通;
2.2)经过形态学处理后的图像,把其中的像素向垂直方向做投影,设置阈值Vε,当连续的投影之间的距离小于Vε,则认为这是同一个公式的一部分,进行投影之间的合并,当投影之间的距离大于Vε,则认为这是不同的公式,把投影的距离即图像垂直像素段存入数组Vproj;
2.3)得到垂直像素段数组Vproj后,对图像进行垂直方向的分割。根据每个垂直像素段把图像分隔为size(Vproj)个图像,然后把每个垂直分割后的图像再进行水平方向的投影,设置阈值Hε,当连续的投影之间的距离小于Hε,则认为这是同一个公式的一部分,进行投影之间的合并,当投影之间的距离大于Hε,则认为是不同的公式,把投影的距离即图像水平像素段存入数组Hproj,根据水平像素段可以在垂直分割后的基础上再次分割,得到每个公式的图像,并储存。
进一步的,所述的步骤3)为:
3.1)构建转换展示模型,转换为Latex的深度学习模型主要是由两部分组成,分别是编码器和解码器,编码器采用骨干网络是ResnetV2的Vision Transformer组成,解码器由Transformer解码器进行解码最后得到Latex。;
3.3)把经过3.2)得到的特征图转换成二维矩阵即一个的矩阵,将特征图看作是长度为的序列,其中每个词的Embedding是一个256的向量,并把这个序列输入进入自然语言处理模型Transformer中进行编码,进一步提取特征;
3.4)对输入的序列进行位置编码,得到的数据再进行多头注意力机制计算,以多个注意力进行单独计算,然后将各个注意力机制获取的结果进行拼接处理,得到结果,再对多头注意力机制的输入和输出进行相加和LayerNorm的归一化处理,然后输入进前馈神经网络,得到结果再与前馈神经网络的输入相加并进行 LayerNorm的归一化处理;
3.6)从3.2)~3.5)为编码阶段,之后对特征值进行解码,解码器由 Transformer的解码器组成,把公式字段的seq序列,以及上下文全局矩阵Enc输入进Transformer的解码器,解码器同样先对输入的序列进行位置编码,输入 masked多头注意力层,然后把masked多头注意力层的输入和输出相加再进行 LayerNorm归一化,在masked多头注意力层计算之后再把数据输入进多头注意力层,但在这层中注意力机制的K矩阵与V矩阵的输入都使用上下文全局矩阵 Enc代替,然后再把多头注意力层的输入和输出相加再进行LayerNorm归一化,再输入进前馈神经网络,把前馈神经网络的输入和输出相加并进行LayerNorm 归一化得到最终值;
3.7)3.6)为Transformer解码器的一个block模块,完成解码需要多个block 模块相接;经过计算最后得到了seq_len×num_tokens大小的矩阵Dec,其中seq_len指的是输入进模型的字段长度,num_tokens是个可以设定的超参数,指的是最大可能的词数;
3.8)损失函数为
L=CE(Decoder(x=seq[:,:-1],context=Encoder(img))T,seq[:,1:])
其中img代表输入的公式图片,Encoder代表骨干网络是ResNetV2的VisionTransformer,seq指的是公式Latex的对应token序列,Decoder指的是Transformer 的解码器,CE指的是交叉熵公式;在损失函数中把输入的公式字段seq分为两部分,把seq[:,:-1]除却最后一个字符作为输入,seq[:,1:]除却第一个字符作为输出目标;
3.9)通过3.8)的损失函数对模型进行训练后,把图片输入,4输出根据图片预测所得到的Latex;
3.10)把所生成的Latex再通过Nodejs中的Katex模块,把Latex公式转换成图片进行可视化展示。
本发明的有益效果是:
本发明通过构建数学公式掩模提取模型,经大量包含中文环境数学公式图片作为训练集训练,当包含中文环境的数学公式图片输入进数学公式掩模提取模型时,该模型能够完成对文字信息的过滤,并保留公式信息,得到一个和原图一样大小的掩模;掩模经过处理后输入进数学公式图片提取模块,在该模块中通过 Opencv算法以及掩模提供的信息可以把公式区域从原图中截取出来并保存于本地。根据大量的数学公式图片和Latex字符信息,训练获得转换展示模型。当截取的公式图片输入进该模型时,模型会自动的推断出Latex字符。本发明结合了自然语言处理中的Transformer技术,能够有效实现中文环境下的数学公式准确提取以及识别。相对于现有技术而言,本发明可以自动对输入图片的公式区域进行推断和识别,使用起来更加方便。
附图说明
图1是本发明流程示意图。
图2是本发明的数学公式掩模提取模型图。
图3是本发明的数学公式图片提取模块流程图。
图4是本发明的转换展示模型图。
图5是本发明的数学公式掩模提取模块实例截图。
图6是本发明的数学公式图片提取模块实例截图。
图7是本发明的交互模块实例截图。
图8是本发明的转换展示模块实例截图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1可以看到本发明中各个模块之间的流程示意图。
一种基于Transformer的中文环境数学公式提取及识别方法,包括以下步骤:
1)数学公式掩模提取:通过建立分割模型和标注数据集的训练,在中文环境下含有数学公式的图片输入进模型时,经过模型的提取可以获得含有数学公式的位置掩模并剔除其他的文字;
2)数学公式图片提取:经过步骤1)处理后得到的数学公式掩模输入进入该模块,该模块通过形态学方法对掩模中的数学公式位置进行进一步的修补以及完善,最后再根据修复后的掩模分别选生成数学公式图片。
3)转换展示:通过建立识别模型和标注数据集的训练,使得数学公式图片输入进入模型时,经过模型的计算可以得到该公式的Latex。并通过Katex可以再生成数学公式图片进行展示和对比。
具体的,参照图2~8,结合实例对其说明:
一种基于Transformer的中文环境数学公式提取及识别方法,其中的数学公式掩模提取模块可以滤去文字信息只保留公式,模型结构如图2所示。所述的步骤1)具体为:
首先获取中文环境下的数学公式图片,通过opencv函数库完成对训练样本的读取,首先把图片进行黑白的反转,并把图片缩小为原图片的1/4,与此同时把图片进行形态学的膨胀处理。并把若干张原图1/4的图片进行堆砌,再经过裁剪得到512×512大小的图片。因为神经网络的计算无法承载大图片,这样的数据增强的方法可以使得训练样本含有的信息更加丰富,形态学的膨胀处理也防止一些纤细的公式在训练时被忽略,被数据增强后的在输入进入模型中。模型图如图2所示。
1.1)输入进一组含有数学公式的中文环境图片X,经过数据强化保证每个图片的大小是512×512,并且是灰度图像,输入的通道数是1。
1.2)对输入图像X做一次,卷积核为4×4大小,填充为1,步长为2,输出通道为n的卷积,经过这次卷积,图像的大小正好缩小一半变成256×256,通道数n。其中n值是一个超参数可以自己指定,这步被称为编码器1。
1.3)对1.2)输入数据进行一次参数为0.2的LeakyReLU激活,再做一次4×4 大小,填充为1,步长为2,输出通道为2n的卷积,在进行一次BatchNormaliztion 归一化。特征图大小变成128×128,通道数2n,这步被称为编码器2。
1.4)对1.3)输入数据进行一次参数为0.2的LeakyReLU激活,再做一次4×4 大小,填充为1,步长为2,输出通道为2n的卷积,在进行一次BatchNormaliztion 归一化。特征图变成64×64,通道数2n,这步被称为编码器3。
1.5)重复1.3)于1.4)的步骤,对图片进行更深层的卷积,但是输出的通道数变为4n,依次进行编码器4得到的特征图大小为32×32,通道数4n。以及编码器5得到16×16,通道数4n;
1.6)重复1.3)于1.4)的步骤,对图片进行更深层的卷积,但是输出的通道数变为8n,依次进行编码器6得到的特征图大小为8×8,通道数8n。以及编码器7得到特征图4×4,通道数8n;
1.7)重复1.3)于1.4)的步骤,对图片进行更深层的卷积,但是输出的通道数变为16n,依次得到编码器8得到的特征图大小为2×2,通道数16n。以及编码器9得到特征图1×1,通道数16n;
1.8)对1.7)得到的数据H×W×C转换成一个(H×W)×C的二维矩阵即得到1×16n的矩阵,我们把这16n个通道值看做一个长为16n的序列,并把这个序列输入进入自然语言处理模型Transformer中进行编码,进一步提取特征。
1.9)Transformer对输入的序列先进行位置编码,得到的数据再进行多头注意力机制计算,以多个注意力进行单独计算,然后将各个注意力机制获取的结果进行拼接处理,得到结果。再对多头注意力机制的输入和输出进行相加和 LayerNorm的归一化处理,然后输入进前馈神经网络,得到结果再与前馈神经网络的输入相加并进行LayerNorm的归一化处理。
1.10)1.9)的操作是Transformer编码器中的一个Block。最后一层编码器层由多个Transformer编码器Block组成。经过Transform计算之后得到的数据再通过Reshape转换成输入进Transformer之前的矩阵形状,即1×1×16n大小。
1.11)接下里完成编码器工作就要进行解码器的工作了,把从1.10)得到的数据,输入进relu激活函数,再输入进2×2大小,步长为2的转置卷积。在输入进BatchNormaliztion做归一化。这步被称为解码器8
1.12)在解码后,我们通过网络的skip connection把解码器与编码器的特征图像相连接,这样有助于重建图像。在解码器7计算之前,我们把解码器8得到的数据与编码器8得到计算结果进行拼接,得到的特征图一起输入进入解码器7,解码器7再进行与1.11)同样的解码步骤。
1.13)重复1.11)与1.12)步骤不断的融合特征以及上采样,最后得到和原图一样的大小512×512的灰度图像,通道数是1;
1.14)1.1)到1.13)为模型的内容,经过模型的计算。需要得到含有数学公式位置的mask。因此根据损失函数
损失函数中TP指的是,模型判断正确并且预测的位置中是真实数学公式的像素点数量,FN指的是模型判断错误但是预测的位置是真实数学公式的像素点数量,FP指的是模型判断错误但是预测的位置也不是是真实数学公式的像素点数量。IOU指的是模型预测的数学公式面积和真实数学公式面积的交集除以并集。本发明中缩小损失函数,loss越小效果越好,该损失函数分为两部分组成,前半部分是Tversky Loss可以通过α,β调整假阳性样本和假阴性样本在loss函数中的比重从而可以达到更好的效果。后半部分是改进过后的focal loss,把IOU值看做一个样本识别的准确率,通过(1-IOU)2可以调节每个样本的信息量,当IOU 比较高的样本信息量会被大大缩小,IOU比较低的样本信息量基本不变。从而使得模型训练更加集中在难样本上。
1.15)在根据1.14)的损失函数训练过模型后,在输入含有数学公式的中文图片后,通过模型计算可以得到一张大小与原图一样的掩模。结果如图6所示。
在得到掩模后,通过opencv的算法可以从掩模中提取出各个公式。流程图如图3所示。
所述的步骤2)具体为:
2.1)从1.15)得到图像数学公式的掩模后,根据原图的1/4大小,分别截取原本堆砌的mask,把每张mask相叠加取平均后,接下来就是得到的掩模图像先进行形态学的侵蚀计算,让掩模连通区域之间贯通。在通过形态学计算每个连通的面积并去除小面积连通区域。经过形态学处理后,以这张mask为基础,在原图上保留mask上白色区域的像素,mask上的黑色区域在原图上去除。最后得到只包含公式的图像。
2.2)得到公式图像后,把其中的像素向垂直方向做投影,因为公式与公式之间一半都存在文字相隔,在文字都处理掉之后。只要设置阈值Vε,当连续的投影之间的距离小于Vε,那就认为这是同一个公式的一部分,进行投影之间的合并。当投影之间的距离大于Vε,那就认为这是不同的公式,把投影的距离即图像垂直像素段存入数组Vproj。
2.3)得到垂直像素段数组后Vproj,对图像进行垂直方向的分割。根据每个垂直像素段把图像分隔为size(Vproj)个图像,然后把每个垂直分割后的图像在进行水平方向的投影,设置阈值Hε,当连续的投影之间的距离小于Hε,就认为这是同一个公式的一部分,进行投影之间的合并。当投影之间的距离大于Hε,认为这是不同的公式,把投影的距离即图像水平像素段存入数组Hproj。根据水平像素段可以在垂直分割后的基础上再次分割,得到每个公式的图像,并储存。实例效果图如图7所示。
其中垂直分割的阈值Vε可以设置偏小,在本发明中可设置为20。水平分割的阈值Hε考虑的情况比较多,可先设定为40,因为水平分割情况的复杂性,在该步骤之后可以进行人为调整这一步,以对生成的数学公式图片进行人为修改、删除、增添等操作。
转换展示模块中可以把图片转换成Latex字符并显示,还可以再把Latex转换成公式图片与原图进行对比,其中公式识别的模型结构如图5所示。所述的步骤3)具体为:
3.1)经过人为的调整后,接下来可以把图片转换成Latex。转换为Latex的深度学习模型主要是由两部分组成,分别是编码器和解码器,编码器采用 backbone是ResnetV2的Vision Transformer组成,解码器由普通的Transformer 解码器进行解码最后得到Latex。
3.2)输入进一组含有数学公式图片X,图片的宽度W设定在96和672之间,图片的高度设定H在32和192之间。首先把这些图片输入进作为backbone的 ResnetV2中经过backbone的处理可以把图片分成16×16份,所以经过backbone 之后我们所要得到图片大小应该为
3.3)用于Vision Transformer的ResnetV2由3部分组成首先第一部分是,在该模块中输入的图片X先进行了一次通道数为64,卷积核为7×7,步长为2 的,卷积方式为SAME的卷积运算,SAME方式的卷积,使得会根据卷积核大小,按照图像上扩充填充,保证卷积后的图像大小变为原来一半。得到特征图像为大小,通道数为64。再把得到的特征图进行GroupNormaliztion归一化,然后再进行模式为SAME的卷积核3×3,步长为2,膨胀为1的最大池化计算,使得得到的特征图变成大小,通道数为64。
3.4)经过3.3)之后接下来进行ResnetV2的残差计算了,该部分是可以设置超参数的,在本发明中我们设置为[3,4,9]。即残差模块由3个小的残差组组成,每个残差组中分别有3个、4个和9个残差块。设置第一个残差组不做下采样,第二个和第三个残差块都做一次缩小的下采样。最后得到通道数为1024 的特征图;
3.5)经过3.4)的处理之后,接下来得到的特征图进行归一化。再进行自适应池化保证特征图大小不变,最后通过在对特征图进行卷积核为1,步长为1的卷积,输出的通道数是可以设定的超参数,在这里设定为256。得到的特征图。
3.6)把经过backbone处理后的特征图得到的数据H×W×C转换成一个 (H×W)×C的二维矩阵即得到的矩阵,把特征图看作是长度为的序列,其中每个词的Embedding是一个256的向量,并把这个序列输入进入自然语言处理模型Transformer中进行编码,进一步提取特征。
3.7)对输入的序列进行位置编码,得到的数据再进行多头注意力机制计算,以多个注意力进行单独计算,然后将各个注意力机制获取的结果进行拼接处理,得到结果。再对多头注意力机制的输入和输出进行相加和LayerNorm的归一化处理,然后输入进前馈神经网络,得到结果再与前馈神经网络的输入相加并进行 LayerNorm的归一化处理。
3.8)3.7)的操作在Transformer编码中是一个Block。一个Transformer由多个Block,经过多个编码的Transformer Block最后输出同样大小的的上下文全局矩阵Enc。到这里编码阶段完成。
3.9)从3.2)~3.8)为编码阶段,接下来要对特征值进行解码,解码器由Transformer的解码器组成。把公式字段的seq序列,以及上下文矩阵Enc输入进Transformer的解码器。解码器同样先对输入的序列进行位置编码,但是输入进 masked多头注意力层,不同于普通的多头注意力层,mask会把未来的信息遮掩掉。即解码时候i位置的字符yi,只有前i-1个字符才会对yi的有影响,然后解码器把注意力层的输入和输出相加再进行LayerNorm归一化,在masked多头注意力层计算之后再把数据输入进一个普通的多头注意力层,但在这层中注意力机制的Q矩阵输入还是为一般输入,K矩阵与V矩阵的输入都用带有上下文信息 Enc代替,然后再把注意力层的输入和输出相加再进行LayerNorm归一化,再输入进前馈神经网络,再把前馈神经网络的输入和输出相加并进行LayerNorm归一化得到最终值。
3.10)3.9)被称作为Transformer解码器的一个block,完成解码需要多个 block相接。经过计算最后得到了seq_len×num_tokens大小的矩阵Dec,其中 seq_len指的是输入进模型的字段长度,num_tokens是个可以设定的超参数,指的是最大可能的词数。
3.11)损失函数为
L=CE(Decoder(x=seq[:,:-1],context=Encoder(img))T,seq[:,1:])
其中img代表输入的公式图片,Encoder代表backbone是ResNetV2的VisionTransformer。seq指的是公式Latex的对应token序列,Decoder指的是Transformer 的解码器,CE指的是交叉熵公式。在损失函数中把输入的公式字段seq分为两部分,把seq[:,:-1]除却最后一个字符作为输入,seq[:,1:]除却第一个字符作为输出目标。把3.10)得到的解码矩阵进行转置变成num_tokens×(seq_len-1)矩阵与目标seq[:,1]进行交叉熵计算,该计算结果作为其损失函数。相当于在已知某个窗口为(0,seq_len-1)的序列去预测该窗口下一个位置的序列(1,seq_len)。
3.12)通过3.11)的损失函数对模型进行训练后,把图片输入,seq先设定为内容只有一个1的数组,其中1代表开始符号2代表结束符号,即[1]代表开始生成。模型输出的矩阵只取最后一项即长度有num_tokens的最新一个字符预测,这一项代表了在现有seq和图片输入的基础上对下一个Latex字符的预测,保留最高概率的几项tokens的值,并把其余的值全部设定为-inf,再把这个 1×num_tokens大小的矩阵进行softmax归一化得到每一个字符的概率。再通过随机取值完成对下一项的预测。
3.13)完成这一次预测后把seq加长,变成[1,p1],再以这个为seq输入再次输入进模型中重复3.12)操作。直到出现结束符号2或者达到最大长度。程序预测结束。输出根据图片预测所得到的Latex。
3.14)把所生成的Latex再通过Nodejs中的Katex模块将Latex公式转换成图片进行可视化展示,可以通过生成公式图和原公式图的直接对比来判断生成的 Latex到底是否正确。实例图如图8所示。
采用本发明的方法能够实现中文环境下数学公式的准确自动提取,能够供使用者无需操作或只需要微调区域就可以得到该区域的数学公式Latex字符,使得使用更为方便。
Claims (6)
1.一种基于Transformer的中文环境数学公式提取及识别方法,其特征在于,包括以下步骤:
1)在中文环境下将含有数学公式的图片输入数学公式掩模提取模块,经过该模块的提取获得含有数学公式的掩模,在该掩模中仅保留了数学公式部分而剔除了其他位置的文字部分;
2)经过步骤1)处理后得到的含有数学公式的掩模输入进入数学公式图片提取模块,该模块通过形态学方法对掩模中的数学公式位置进行进一步的修补以及完善,最后再根据修复后的掩模生成数学公式图片;
3)将步骤2)处理后的数学公式图片输入进入转换展示模块,经过该模块处理得到该公式的Latex,并通过Katex再生成数学公式图片进行展示和对比。
2.根据权利要求1所述的一种基于Transformer的中文环境数学公式提取及识别方法,其特征在于,所述的步骤1)为:
1.1)将一组含有数学公式的中文环境图片X作为输入,经过数据强化保证每个图片的大小是512×512,并且是灰度图像,输入的通道数是1;
1.2)构建数学公式提取模型,模型结构分成两部分,一部分是卷积下采样的部分,通过下采样提取出图片的高维特征,另一部分是以提取出的高维特征为基础进行上采样对图片进行重建;经过损失函数的向导,该模型能够滤去文字信息,但又保留公式;
1.3)下采样把输入图像X输入进若干个卷积层,每一个卷积层是由卷积计算、激活函数、BatchNormaliztion归一化三步骤组成,每通过一次卷积层得到的特征图,是能代表图片特征的高维特征向量,经过一个个卷积层最后得到大小1×1的特征图,通道数n;
1.4)对1.3)得到的高维特征向量转换为二维矩阵,维度H×W×C转换成(H×W)×C,即得到1×n的矩阵,将这n个通道值看做一个长为n的序列,并把这个序列输入进入自然语言处理模型Transformer中进行编码,进一步提取特征;
1.5)Transformer对输入的序列先进行位置编码,得到的数据再进行多头注意力机制计算,以多个注意力进行单独计算,然后将各个注意力机制获取的结果进行拼接处理,得到结果;再对多头注意力机制的输入和输出进行相加和LayerNorm的归一化处理,然后输入进前馈神经网络,得到结果再与前馈神经网络的输入相加并进行LayerNorm的归一化处理;
1.6)1.5)的操作是Transformer编码器中的一个Block模块,依次经过多个Block模块,对特征进行进一步提取得到1×n的特征矩阵,再将该特征矩阵再转换为高维特征向量,即1×1×n大小;
1.7)进行上采样重建,把从1.6)得到的高维特征数据以及下采样时各个卷积层得到的特征图都输入反卷积层中,反卷积层的数量与卷积层一样并且层层对应,结构是由转置卷积、激活函数、BatchNormaliztion归一化组成;在输入每个反卷积层之前,通过跳连接把该反卷积层对应的卷积层所得到的下采样特征图进行拼接并输入,最终通过上采样把特征矩阵1×1×n恢复成512×512的灰度图像;
1.8)经过1.1)到1.7)模型的计算,需要得到含有数学公式位置的mask,采用由TverskyLoss及改进focal loss两部分构成的损失函数
其中TP指的是模型判断正确并且预测的位置中是真实数学公式的像素点数量,FN指的是模型判断错误但是预测的位置是真实数学公式的像素点数量,FP指的是模型判断错误但是预测的位置也不是真实数学公式的像素点数量,IOU指的是模型预测的数学公式面积和真实数学公式面积的交集除以并集;α、β、γ为超参数;
1.9)根据1.8)的损失函数训练过模型后,在输入含有数学公式的中文图片后,通过模型计算可以得到一张大小与原图一样的掩模,该掩模中仅保留了数学公式部分而剔除了其他位置的文字部分。
3.根据权利要求1所述的一种基于Transformer的中文环境数学公式提取及识别方法,其特征在于,所述的步骤2)为:
2.1)经步骤1)得到图像的含数学公式的掩模后,通过opencv算法从掩模中提取出各个公式用于识别模块输入,首先对得到的掩模图像先进行形态学的侵蚀计算,让掩模连通区域之间贯通;
2.2)经过形态学处理后的图像,把其中的像素向垂直方向做投影,设置阈值Vε,当连续的投影之间的距离小于Vε,则认为这是同一个公式的一部分,进行投影之间的合并,当投影之间的距离大于Vε,则认为这是不同的公式,把投影的距离即图像垂直像素段存入数组Vproj;
2.3)得到垂直像素段数组Vproj后,对图像进行垂直方向的分割。根据每个垂直像素段把图像分隔为size(Vproj)个图像,然后把每个垂直分割后的图像再进行水平方向的投影,设置阈值Hε,当连续的投影之间的距离小于Hε,则认为这是同一个公式的一部分,进行投影之间的合并,当投影之间的距离大于Hε,则认为是不同的公式,把投影的距离即图像水平像素段存入数组Hproj,根据水平像素段可以在垂直分割后的基础上再次分割,得到每个公式的图像,并储存。
4.根据权利要求1所述的一种基于Transformer的中文环境数学公式提取及识别方法,其特征在于,所述的步骤3)为:
3.1)构建转换展示模型,转换为Latex的深度学习模型主要是由两部分组成,分别是编码器和解码器,编码器采用骨干网络是ResnetV2的Vision Transformer组成,解码器由Transformer解码器进行解码最后得到Latex。;
3.3)把经过3.2)得到的特征图转换成二维矩阵即一个的矩阵,将特征图看作是长度为的序列,其中每个词的Embedding是一个256的向量,并把这个序列输入进入自然语言处理模型Transformer中进行编码,进一步提取特征;
3.4)对输入的序列进行位置编码,得到的数据再进行多头注意力机制计算,以多个注意力进行单独计算,然后将各个注意力机制获取的结果进行拼接处理,得到结果,再对多头注意力机制的输入和输出进行相加和LayerNorm的归一化处理,然后输入进前馈神经网络,得到结果再与前馈神经网络的输入相加并进行LayerNorm的归一化处理;
3.6)从3.2)~3.5)为编码阶段,之后对特征值进行解码,解码器由Transformer的解码器组成,把公式字段的seq序列,以及上下文全局矩阵Enc输入进Transformer的解码器,解码器同样先对输入的序列进行位置编码,输入masked多头注意力层,然后把masked多头注意力层的输入和输出相加再进行LayerNorm归一化,在masked多头注意力层计算之后再把数据输入进多头注意力层,但在这层中注意力机制的K矩阵与V矩阵的输入都使用上下文全局矩阵Enc代替,然后再把多头注意力层的输入和输出相加再进行LayerNorm归一化,再输入进前馈神经网络,把前馈神经网络的输入和输出相加并进行LayerNorm归一化得到最终值;
3.7)3.6)为Transformer解码器的一个block模块,完成解码需要多个block模块相接;经过计算最后得到了seq_len×num_tokens大小的矩阵Dec,其中seq_len指的是输入进模型的字段长度,num_tokens是个可以设定的超参数,指的是最大可能的词数;
3.8)损失函数为
L=CE(Decoder(x=seq[:,:-1],context=Encoder(img))T,seq[:,1:])
其中img代表输入的公式图片,Encoder代表骨干网络是ResNetV2的VisionTransformer,seq指的是公式Latex的对应token序列,Decoder指的是Transformer的解码器,CE指的是交叉熵公式;在损失函数中把输入的公式字段seq分为两部分,把seq[:,:-1]除却最后一个字符作为输入,seq[:,1:]除却第一个字符作为输出目标;
3.9)通过3.8)的损失函数对模型进行训练后,把图片输入,输出根据图片预测所得到的Latex;
3.10)把所生成的Latex再通过Nodejs中的Katex模块,把Latex公式转换成图片进行可视化展示。
5.一种基于Transformer的中文环境数学公式提取及识别系统,其特征在于,包括:
数学公式掩模提取模块,用于将中文环境下含有数学公式的图片进行提取保留数学公式的位置掩模并剔除其他的文字信息;
数学公式图片提取模块,用于将数学公式掩模提取模块的输出进行形态学处理,对掩模中的数学公式位置进行进一步的修补以及完善,生成数学公式图片;
转换展示模块,用于将数学公式图片提取模块的输出进行计算得到该公式的Latex,并通过Katex再生成数学公式图片进行展示和对比。
6.根据权利要求5所述的一种基于Transformer的中文环境数学公式提取及识别系统,其特征在于,还包括交互模块,用于将数学公式图片提取模块生成的数学公式图片进行可视化,并根据用户的设置可以对公式图片进行修改、增添或者删除的调整,完成操作后替换之前的数学公式图片输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210772362.7A CN115512378A (zh) | 2022-06-30 | 2022-06-30 | 一种基于Transformer的中文环境数学公式提取及识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210772362.7A CN115512378A (zh) | 2022-06-30 | 2022-06-30 | 一种基于Transformer的中文环境数学公式提取及识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115512378A true CN115512378A (zh) | 2022-12-23 |
Family
ID=84502883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210772362.7A Pending CN115512378A (zh) | 2022-06-30 | 2022-06-30 | 一种基于Transformer的中文环境数学公式提取及识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115512378A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310863A (zh) * | 2023-02-18 | 2023-06-23 | 广东技术师范大学 | 一种多尺度差分特征增强的遥感图像变化检测方法和装置 |
CN118070155A (zh) * | 2024-04-19 | 2024-05-24 | 华南师范大学 | 一种分布不平衡的机器人动作识别方法 |
-
2022
- 2022-06-30 CN CN202210772362.7A patent/CN115512378A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310863A (zh) * | 2023-02-18 | 2023-06-23 | 广东技术师范大学 | 一种多尺度差分特征增强的遥感图像变化检测方法和装置 |
CN118070155A (zh) * | 2024-04-19 | 2024-05-24 | 华南师范大学 | 一种分布不平衡的机器人动作识别方法 |
CN118070155B (zh) * | 2024-04-19 | 2024-08-09 | 华南师范大学 | 一种分布不平衡的机器人动作识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11881038B2 (en) | Multi-directional scene text recognition method and system based on multi-element attention mechanism | |
CN109933756B (zh) | 基于ocr的图像转档方法、装置、设备及可读存储介质 | |
US11715014B2 (en) | System and method of character recognition using fully convolutional neural networks with attention | |
CN111160343B (zh) | 一种基于Self-Attention的离线数学公式符号识别方法 | |
CN115512378A (zh) | 一种基于Transformer的中文环境数学公式提取及识别方法 | |
CN112232149A (zh) | 一种文档多模信息和关系提取方法及系统 | |
CN110178139B (zh) | 使用具有注意力机制的全卷积神经网络的字符识别的系统和方法 | |
CN111401099B (zh) | 文本识别方法、装置以及存储介质 | |
CN113961736B (zh) | 文本生成图像的方法、装置、计算机设备和存储介质 | |
CN113221879A (zh) | 文本识别及模型训练方法、装置、设备及存储介质 | |
CN112926344B (zh) | 基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质 | |
CN111553350A (zh) | 一种基于深度学习的注意力机制文本识别方法 | |
CN116030454B (zh) | 一种基于胶囊网络和多语言模型的文字识别方法及系统 | |
CN115063799B (zh) | 一种印刷体数学公式识别方法、装置及存储介质 | |
CN116434252A (zh) | 图像识别模型的训练及图像识别方法、装置、介质、设备 | |
Valy et al. | Data augmentation and text recognition on Khmer historical manuscripts | |
CN111126059B (zh) | 一种短文文本的生成方法、生成装置及可读存储介质 | |
CN113065561A (zh) | 基于精细字符分割的场景文本识别方法 | |
CN116778497A (zh) | 一种人手井编号识别方法、装置、计算机设备和存储介质 | |
CN112926373B (zh) | 字符的视觉感知编码 | |
CN115496134A (zh) | 基于多模态特征融合的交通场景视频描述生成方法和装置 | |
CN113762241A (zh) | 场景文字识别模型的训练方法与识别方法及装置 | |
CN116311275B (zh) | 一种基于seq2seq语言模型的文字识别方法及系统 | |
CN117612151A (zh) | 一种基于结构增强注意力的英文艺术文字识别方法 | |
CN118333908A (zh) | 一种基于冷扩散模型的碑文文字修复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |