1. 数学表达式识别的技术挑战与现状
数学表达式识别(Mathematical Expression Recognition, MER)是文档分析领域最具挑战性的任务之一。与普通文本识别不同,数学公式具有复杂的二维空间结构关系,包含上标、下标、分数、根号等多种特殊符号排列方式。这种结构性特征使得传统OCR技术在处理数学表达式时表现不佳。
当前主流解决方案主要面临三个核心难题:
-
空间结构建模 :数学公式中的符号不仅存在左右关系,还存在上下嵌套等复杂布局。例如在表达式
K_\alpha^M中,\alpha位于K的下标位置,而M又位于上标位置。 -
多尺度符号处理 :同一公式中可能同时存在不同尺寸的符号。比如积分符号
\int通常比周围的变量大很多,而上下标又比主体符号小。 -
语法规则约束 :LaTeX语法具有严格的嵌套规则,错误的符号顺序会导致编译失败。例如
\frac{a}{b}必须保持\frac{分子}{分母}的结构。
传统方法采用两阶段处理流程:先进行字符分割与分类,再进行结构分析。但随着深度学习发展,基于Encoder-Decoder的序列到序列(Seq2seq)架构展现出显著优势。这类方法将数学表达式识别视为图像到LaTeX序列的翻译问题,通过端到端训练实现直接转换。
2. 混合视觉Transformer的架构设计
2.1 整体框架概述
我们提出的混合视觉Transformer(Hybrid Vision Transformer, HVT)架构包含三个关键组件:
- 特征提取模块 :采用改进的ResNet作为CNN backbone,专门优化用于处理数学符号的局部特征
- 上下文建模模块 :结合2D位置编码的ViT块,捕获全局空间关系
- 预测模块 :基于覆盖注意力的LSTM解码器,生成LaTeX序列
模型工作流程如下图所示(图示描述):
- 输入图像经过ResNet backbone生成特征图
- 特征图通过2D位置编码后送入ViT块
- ViT输出的[CLS]标记作为解码器初始状态
- 解码器逐步生成LaTeX token,同时更新覆盖向量
2.2 改进的ResNet特征提取器
针对数学表达式的特点,我们对标准ResNet进行了三项关键改进:
-
步长调整 :将第三池化层和第六卷积层的步长从(2,2)改为(1,2),保留更多水平方向信息。这是因为数学符号通常在水平方向有更紧密的关联。
-
深度优化 :采用32层结构,包含4个残差块。在ImageNet预训练基础上,使用以下配置微调:
class ResNetBlock(nn.Module): def __init__(self, in_channels, out_channels, stride=1): super().__init__() self.co
701



被折叠的 条评论
为什么被折叠?



