ECCV2024 识别复杂手写数学表达式的位置森林变换器

本文简要介绍被ECCV 2024录用的论文《PosFormer: Recognizing Complex Handwritten Mathematical Expressions with Position Forest Transformer》。相比主流的基于树和基于序列的方法,PosFormer提出了一种有效的位置森林变换器用于手写数学表达式识别,为基于序列的方法增加了位置理解组件。该方法将每个数学表达式编码为森林结构而无需额外的标注,然后解析其在森林中的嵌套层次和相对位置。通过优化位置识别任务来辅助表达式识别,PosFormer 在复杂和嵌套的数学表达式中显式地实现了位置感知的符号级特征表示学习。此外,该论文提出了一种隐式注意力校正模块,以在基于序列的解码器架构中准确捕获数学表达式的注意力。实验表明,PosFormer在多个基准数据集上均表现出色,显著优于现有方法,且没有额外的延迟或计算成本。

论文地址:
https://arxiv.org/abs/2407.07764

代码地址:
https://github.com/SJTU-DeepVisionLab/PosFormer

1. Introduction

手写数学表达式作为语言和符号之间的桥梁,在数学、物理和化学等领域中很常见。相应的任务,即手写数学表达式识别(HMER),旨在准确地将表达式图像转换为 LaTeX 序列。这个任务在在线教育、手稿数字化和自动评分等人机交互场景中有广泛应用。近期,我们注意到多模态大语言模型在文本图像领域具有泛化性高的性能,但是大多数大模型在手写数学表达式识别上还不够理想参考MultimodalOCR,如下图红框所示:

这说明当前识别手写数学表达式仍比较困难,具体地,其主要面临着两大挑战:符号间关系的复杂性[1]和手写输入的多样性。

传统方法通常涉及两步流程:识别单个符号并随后根据语法规则进行校正。近年来,随着深度学习的发展,开发了两种主流方法以提高识别性能:基于树的方法和基于序列的方法。具体来说,基于树的方法遵循 LaTeX 的语法规则,将每个数学表达式建模为树结构[2][3],然后输出基于语法树的完整三元组(父节点、子节点、父子关系)的序列,并将其解码为 LaTeX 序列。这些方法由于表达式中树结构的多样性不足,表现出较低的准确性和较差的泛化能力。基于序列的方法将 HMER 建模为端到端的图像到序列任务[4]。它们将数学表达式视为 LaTeX 序列,采用基于注意力的编码器-解码器架构以自回归方式预测每个符号。然而,这些方法仅隐式地学习符号之间的结构关系,在处理复杂和嵌套的数学表达式时显得不足。

2. Methodology

如图1所示,位置森林变换器(PosFormer)由 DenseNet[5]、位置森林和表达式识别头组成。首先,DenseNet从输入图像中提取二维视觉特征。这些特征随后被送入基于注意力的Transformer解码器以获取具有辨别力的符号特征。然后使用并行线性头来识别 LaTeX 表达式。为了促进位置感知的符号级特征表示学习,在表达式识别的同时引入位置森林进行联合优化。具体来说,这个过程首先将数学表达式的序列编码为标识符集,每个标识符是一个表示其位置信息的字符串。然后使用两个位置森林头分别解析其嵌套层次和相对位置。

2.1 Position Forest

根据 LaTeX 的语法规则,表达式可以分为多个独立或嵌套的子结构,如图2所示,包括上标-下标结构、分数结构、根式结构和特殊运算符结构。在每个子结构内,符号的相对位置关系根据其在图像中的空间位置分为三类:。利用这一先验知识,我们将 LaTeX 数学表达式建模为位置森林结构。其构建遵循以下三条规则:

  1. 这些子结构按从左到右的顺序进行编码;
  2. 每个子结构根据符号之间的相对位置编码成树,其主体为根节点,上部为左节点,下部为右节点;
  3. 根据子结构的关系,这些编码的树按顺序或嵌套排列形成位置森林结构。

然后依照上面的规则,我们的编码过程如图3所示,每个符号在森林中被分配一个位置标识符以表示其相对空间位置。对于给定的一个公式图像 X ∈ R H × W \mathbf{X}\in \mathbb{R}^{H \times W} XRH×W,其对应的标识符集合被定义为 I = { I t } t = 1 T \mathcal{I}=\{\mathbf{I}_{t}\}_{t=1}^{T} I={ It}t=1T。H、W、T分别为图像高度、图像宽度、序列长度。例如图3中的“2”对应的标识符为: I 25 = “ M L L R ” \mathbf{I}_{25}=“MLLR” I25=MLLR
考虑到这些标识符的长度不同,我们将标识符填充组织成矩阵,其中每个向量通过非线性层转换为标识符嵌入,最后将符号顺序的绝对位置编码添加到标识符嵌入中。生成公式如下:

Q e m b = [ ξ ( Q 1 ) ; ξ ( Q 2 ) ; ⋯   ; ξ ( Q L ) ] + Q p o s \mathbf{Q}_{\rm emb} = [\xi(\mathbf{Q}_{1});\xi(\mathbf{Q}_{2});\cdots;\xi(\mathbf{Q}_{L})] + \mathbf{Q}_{\rm pos} Qemb=[ξ(Q1);ξ(Q2);;ξ(QL)]+Qpos

这些嵌入向量 Q e m b ∈ R T × C \mathbf{Q}_{\rm emb} \in \mathbb{R}^{T \times C} QembRT×C 和主干网络提取的视觉特征 V v i s ∈ R H ′ × W ′ × C \mathbf{V}_{\rm vis} \in \mathbb{R}^{H' \times W' \times C} VvisRH×W×C(其中 H ′ H = W ′ W = 1 / 16 \frac{H'}{H}=\frac{W'}{W}=1/16 HH=WW=1/16)被输入到基于 Transformer 的三层解码器块中。这些块主要由多头注意力(MHA)、隐式注意力校正(IAC,稍后介绍)和前馈网络(FFN)组成,处理这些输入以产生输出特征 F ∈ R T × C \mathbf{F} \in \mathbb{R}^{T \times C} FRT×C,用于预测表达式识别(常规分支)和位置识别(我们设计的分支)。

接着,我们将位置识别任务分为两个子任务:嵌套层级预测任务相对位置预测任务。首先,给定标识符集合 I = { I t } t = 1 T \mathcal{I}=\{\mathbf{I}_{t}\}_{t=1}^{T} I={ It}t=1T,我们需要构造其嵌套层级和相对位置的ground truth。

对于第 k k k个标识符 I k = { q k ( i ) ∣ q k ( i ) ∈ { M , L , R } } i = 1 η k \mathbf{I}_{k} = \big\{q_{k}^{(i)}| q_{k}^{(i)} \in \{M, L, R\}\big\}_{i=1}^{\eta_{k}} Ik={ q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值