本文简要介绍被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 数学表达式建模为位置森林结构。其构建遵循以下三条规则:
- 这些子结构按从左到右的顺序进行编码;
- 每个子结构根据符号之间的相对位置编码成树,其主体为根节点,上部为左节点,下部为右节点;
- 根据子结构的关系,这些编码的树按顺序或嵌套排列形成位置森林结构。
然后依照上面的规则,我们的编码过程如图3所示,每个符号在森林中被分配一个位置标识符以表示其相对空间位置。对于给定的一个公式图像
X
∈
R
H
×
W
\mathbf{X}\in \mathbb{R}^{H \times W}
X∈RH×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} Qemb∈RT×C 和主干网络提取的视觉特征 V v i s ∈ R H ′ × W ′ × C \mathbf{V}_{\rm vis} \in \mathbb{R}^{H' \times W' \times C} Vvis∈RH′×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} F∈RT×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={qk(i)∣qk(i)∈{M,L,R}}i=1ηk,
η
k
\eta_{k}
ηk为标识符长度,可以很容易地确定其嵌套层级为
η
k
−
1
\eta_{k}-1
ηk−1,相对位置为
q
k
(
η
k
)
q_{k}^{(\eta_{k})}
qk(ηk)。例如,在分析标识符MLLR
时,可以推断该符号位于包含三个嵌套级别的子结构中,其相对位置位于最后一个嵌套子结构的下部R
。
基于此,
嵌套层级的ground truth被构造:
Y n = { y n ( t ) = η t − 1 ∣ y n ( t ) ∈ { 0 , 1 , ⋯ , U } } t = 1 T \mathcal{Y}_{n}=\big\{y_{n}^{(t)}=\eta_{t}-1|y_{n}^{(t)} \in \{0,1,\cdots,U\}\big\}_{t=1}^{T} Yn={yn(t)=ηt−1∣yn(t)∈{0,1,⋯,U}}t=1T
U U U表示嵌套级别的最大数量。相对位置的ground truth被构造:
Y r = { y r ( t ) = q t ( η t ) ∣ y r ( t ) ∈ { M , L , R } } t = 1 T \mathcal{Y}_{r}=\big\{y_{r}^{(t)}=q_{t}^{(\eta_{t})}|y_{r}^{(t)} \in \{M, L, R\}\big\}_{t=1}^{T} Yr={yr(t)=qt(ηt)∣yr(t)∈{M,L,R}}t=1T
最终,在解码步骤
t
∈
{
1
,
2
,
3
,
.
.
,
T
}
t\in \{1,2,3,..,T\}
t∈{1,2,3,..,T},取
F
t
∈
R
C
\mathbf{F}_{t} \in \mathbb{R}^{C}
Ft∈RC,预测当前步骤嵌套层级和相对位置为:
{
p
(
y
n
(
t
)
)
=
s
o
f
t
m
a
x
(
W
n
F
t
+
b
n
)
y
n
(
t
)
∼
p
(
y
n
(
t
)
)
,
\begin{equation} \left\{ \begin{aligned} p(y_{n}^{(t)}) &= \mathrm{softmax}(\mathbf{W}_{n}\mathbf{F}_{t} + b_{n})\\ y_{n}^{(t)} &\sim p(y_{n}^{(t)}), \end{aligned} \right. \end{equation}
{p(yn(t))yn(t)=softmax(WnFt+bn)∼p(yn(t)),
{
p
(
y
r
(
t
)
)
=
s
o
f
t
m
a
x
(
W
r
F
t
+
b
r
)
y
r
(
t
)
∼
p
(
y
r
(
t
)
)
,
\begin{equation} \left\{ \begin{aligned} p(y_{r}^{(t)}) &= \mathrm{softmax}(\mathbf{W}_{r}\mathbf{F}_{t} + b_{r})\\ y_{r}^{(t)} &\sim p(y_{r}^{(t)}), \end{aligned} \right. \end{equation}
{p(yr(t))yr(t)=softmax(WrFt+br)∼p(yr(t)),
2.2 Implicit Attention Correction
如图4所示, 我们将一些LaTeX 符号定义为结构符号
:
在图像中没有实体,用于描述实体符号之间的位置和层次关系。
在解码结构符号时,覆盖问题(即过度解析和欠解析)限制了识别能力。为了解决这些问题,CoMER[6] 通过减去所有前一步的注意力来细化当前解码步骤的注意力权重。然而,在解码一些结构符号时,我们观察到模型将注意力分配到尚未解析的区域,甚至是整个图像。在减法操作之后,这种机制会导致依赖于过去对齐信息的后续解码步骤中校正注意力的不准确性。为此,我们提出了一种简单而有效的校正解决方案,通过引入零注意力作为我们的校正项。具体来说,当一个实体符号被解码时,我们将与前面的结构符号相关的注意力权重重置为零。
这很容易解释:当我们鼓励模型对解码实体符号产生精确的注意力时,只要从已经解析的实体符号中减去这些注意力权重就可以了,因为数学表达式图像上只存在实体符号。因此,注意力校正过程如下:
设
E
k
∈
R
T
×
H
′
×
W
′
\mathbf{E}_{k}\in \mathbb{R}^{T \times H' \times W'}
Ek∈RT×H′×W′ 为第
k
k
k 层解码器产生的注意权重(实验中为
k
∈
{
2
,
3
}
k \in \{2,3\}
k∈{2,3}),
Ω
\Omega
Ω 表示这些结构符号的集合,
我们提出一个指示函数
I
Ω
I_{\Omega}
IΩ 来引入相应的修正项
A
k
∈
R
T
×
H
′
×
W
′
\mathbf{A}_{k}\in \mathbb{R}^{T \times H' \times W'}
Ak∈RT×H′×W′,
I
Ω
(
y
)
=
{
1
,
if
y
∉
Ω
,
0
,
if
y
∈
Ω
,
\begin{equation} I_{\Omega}(y)=\left\{ \begin{array}{ll} \mathbf{1} &, \texttt{if} \ y \notin \Omega, \\ \mathbf{0} &, \texttt{if} \ y \in \Omega, \end{array} \right. \end{equation}
IΩ(y)={10,if y∈/Ω,,if y∈Ω,
E
~
k
=
s
o
f
t
m
a
x
(
E
k
)
,
\begin{equation} \mathbf{\tilde{E}}_{k} = \mathrm{softmax}(\mathbf{E}_{k}), \end{equation}
E~k=softmax(Ek),
A
k
(
t
)
=
∑
i
=
1
t
−
1
(
E
~
k
(
i
)
⊙
I
Ω
(
y
c
(
i
)
)
)
,
\begin{equation} \mathbf{A}_{k}^{(t)} = \sum_{i=1}^{t-1} \big(\mathbf{\tilde{E}}_{k}^{(i)} \odot I_{\Omega}(y_{c}^{(i)})\big), \end{equation}
Ak(t)=i=1∑t−1(E~k(i)⊙IΩ(yc(i))),
A
k
=
[
A
k
(
1
)
;
A
k
(
2
)
;
⋯
;
A
k
(
T
)
]
\begin{equation} \mathbf{A}_{k} = [\mathbf{A}_{k}^{(1)}; \mathbf{A}_{k}^{(2)}; \cdots; \mathbf{A}_{k}^{(T)}] \end{equation}
Ak=[Ak(1);Ak(2);⋯;Ak(T)]
⊙
\odot
⊙表示Hadamard积,
[
⋅
]
[\cdot]
[⋅]表示沿通道的拼接操作。
2.3 Loss Function
最终模型在多任务设置下进行端到端训练,其目标是:
L
r
e
c
=
−
1
T
∑
t
=
1
T
y
c
(
t
)
log
p
(
y
c
(
t
)
)
,
\begin{equation} \texttt{L}_{\rm rec} = -\frac{1}{T}\sum_{t=1}^{T} y_{c}^{(t)} \log p(y_{c}^{(t)}), \end{equation}
Lrec=−T1t=1∑Tyc(t)logp(yc(t)),
L p o s = − 1 T ∑ t = 1 T ( y n ( t ) log p ( y n ( t ) ) + y r ( t ) log p ( y r ( t ) ) ) , \begin{equation} \texttt{L}_{\rm pos} = -\frac{1}{T}\sum_{t=1}^{T} \big(y_{n}^{(t)} \log p(y_{n}^{(t)}) + y_{r}^{(t)} \log p(y_{r}^{(t)})\big), \end{equation} Lpos=−T1t=1∑T(yn(t)logp(yn(t))+yr(t)logp(yr(t))),
其中
Y
c
=
{
y
c
(
t
)
}
t
=
1
T
\mathcal{Y}_{c}=\{y_{c}^{(t)}\}_{t=1}^{T}
Yc={yc(t)}t=1T表示groundtruth LaTeX序列,
Y
n
=
{
y
n
(
t
)
}
t
=
1
T
\mathcal{Y}_{n}=\{y_{n}^{(t)}\}_{t=1}^{T}
Yn={yn(t)}t=1T为groundtruth嵌套层级,
Y
r
=
{
y
r
(
t
)
}
t
=
1
T
\mathcal{Y}_{r}=\{y_{r}^{(t)}\}_{t=1}^{T}
Yr={yr(t)}t=1T表示groundtruth相对位置。
p
(
y
c
(
t
)
)
p(y_{c}^{(t)})
p(yc(t)),
p
(
y
n
(
t
)
)
p(y_{n}^{(t)})
p(yn(t)),
p
(
y
r
(
t
)
)
p(y_{r}^{(t)})
p(yr(t))分别表示三个任务的预测分布。最后,整体的训练损失总结为:
KaTeX parse error: Undefined control sequence: \label at position 20: …in{equation} \̲l̲a̲b̲e̲l̲{eq:3} \beg…
λ
1
\lambda_{1}
λ1和
λ
2
\lambda_{2}
λ2是损失系数,默认设置为1。
3. Experimental Results
首先,我们在单行数据集CROHME
上进行实验。具体来说,为了公平比较,我们提供了 PosFormer 有和没有数据增强的性能结果。我们强调,一些先前的先进方法使用的数据增强方法没有开源,因此我们只在都没有数据增强的情况下与这些方法进行对比。
其次,我们还在大规模单行数据集HME100k
上进行了实验,这里的对比都没有使用数据增强。
与单行数据集相比,多行手写数学表达式数据集M2E
包含更多的复杂结构和长序列图像。为了证明我们模型的有效性和鲁棒性,我们在该数据集上与之前的最先进方法进行了比较。
我们进行消融实验,展示了PosFormer 的两个组件——位置森林(PF)和隐式注意力校正(IAC)带来的性能提升。
位置森林(PF)可以很容易地封装成一个插件组件。为了证明其鲁棒性和通用性,我们将其扩展到基于 RNN 的方法进行了对比实验。
为了与先前的位置增强工作比较,我们在CROHME上与robustscanner[7]进行了比较。另外,引入语言模型是进一步提高性能的方向,一些 HMER 方法(例如,RLFN[8])的视觉输出被输入到语言模型[9]中,以利用语言上下文实现识别校正。尽管 PosFormer 是一种不依赖语言的模型,但它仍然实现了 6.25% 的提升。
另外,我们还构建了一个多层嵌套数据集MNE
,来测试PosFormer在识别复杂嵌套表达式的能力。N1、N2和N3分别表示嵌套层数为1、2和3的子测试集。
最后,本文展示了隐式注意力校正的可视化例子:
4. Conclusions
相比主流的基于树和基于序列的方法,PosFormer提出了一种全新的角度来考虑手写数学表达式中的位置信息和嵌套关系。本文提出了一种有效的位置森林变换器用于手写数学表达式识别,为基于序列的方法增加了位置理解组件。该方法将每个数学表达式编码为森林结构而无需额外的标注,然后解析其在森林中的嵌套层次和相对位置。通过优化位置识别任务来辅助表达式识别,PosFormer 在复杂和嵌套的数学表达式中显式地实现了位置感知的符号级特征表示学习。大量实验验证了 PosFormer 的性能优越性,同时在推理过程中不会引入额外的延迟或计算成本。这凸显了在基于序列的方法中显式建模表达式位置关系的重要性,希望能带来更深远的意义和更深刻的启发。
5. References
- Anderson, R.H. Syntax-directed recognition of hand-printed two-dimensional mathematics. In: Symposium on interactive systems for experimental applied mathematics: Proceedings of the Association for Computing Machinery Inc. Symposium. pp. 436–459
- Yuan, Y., Liu, X., Dikubab, W., Liu, H., Ji, Z., Wu, Z., Bai, X.: Syntax-aware network for handwritten mathematical expression recognition. In: CVPR. pp. 4553-4562.
- Zhong, S., Song, S., Li, G., Chan, S.H.G.: A tree-based structure-aware transformer decoder for image-to-markup generation. In: ACM MM. p. 5751–576
- Li, B., Yuan, Y., Liang, D., Liu, X., Ji, Z., Bai, J., Liu, W., Bai, X.: When counting meets hmer: counting-aware network for handwritten mathematical expression recognition. In: ECCV. pp. 197–214
- Huang, G., Liu, Z., Van Der Maaten, L., Weinberger, K.Q.: Densely connected convolutional networks. In: CVPR. pp. 4700–4708
- Zhao, W., Gao, L.: Comer: Modeling coverage for transformer-based handwritten mathematical expression recognition. In: ECCV. pp. 392–408
- Yue, X., Kuang, Z., Lin, C., Sun, H., Zhang, W.: Robustscanner: Dynamically enhancing positional clues for robust text recognition. In: ECCV. pp. 135–151
- Chen, Z., Han, J., Yang, C., Zhou, Y.: Language model is suitable for correction of handwritten mathematical expressions recognition. In: Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing. pp. 4057–4068
- Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L., Stoyanov, V.: Roberta: A robustly optimized bert pretraining approach. arXiv preprint arXiv:1907.11692