跳转到内容

公式识别(MFR)与表格结构识别(TSR)

公式识别(MFR)与表格结构识别(TSR)

学习目标

读完本章后,你将能够:

  • 理解数学公式识别(MFR)的技术原理与模型选型
  • 掌握表格结构识别(TSR)的两阶段流程
  • 处理学术论文中复杂的公式和表格场景
  • 配置公式与表格的启用/禁用策略

前置知识


1. 数学公式识别(MFR)

1.1 公式类型分类

MinerU 将文档中的公式分为三类:

公式类型说明输出格式
行内公式(Inline)嵌入在文本行中的公式$...$
行间公式(Interline)独立成行的公式$$...$$
公式编号公式右侧的编号(1)

1.2 MFR 模型架构

MinerU 提供两套公式识别模型:

UniMERNet(小模型)

  • 编码器:UnimerSwin(基于 Swin Transformer 的图像编码)
  • 解码器:UnimerMBART(基于 MBART 的序列生成)
  • 特点:体积小,速度快,适合绝大多数场景

pp_formulanet_plus_m(增强版)

  • 特点:更高的公式识别精度,适合复杂公式
  • 适用场景:学术论文、数学文献

1.3 公式识别流程

公式检测(MFD)

  • 在布局检测阶段已经标记了公式区域(interline_equation、equation)
  • 行内公式需要在 OCR 文本行中检测 $...$ 标记

2. 表格结构识别(TSR)

2.1 TSR 的两阶段流程

MinerU 的表格结构识别采用两阶段架构:

第一阶段:表格分类

  • 使用 Paddle Table Cls 模型判断表格朝向(横向/纵向)
  • 根据表格复杂度选择识别模型

第二阶段:表格结构识别

  • UnetStructure:基于 UNet 的语义分割方法,适合简单表格
    • 检测表格线 → 识别行列结构 → 生成 HTML
  • SlanetPlus:端到端的表格识别方法,适合复杂表格
    • 直接生成表格结构,支持合并单元格

2.2 表格输出格式

表格类型输出格式示例
简单表格Markdown 表格| 姓名 | 年龄 |
复杂表格HTML 表格<table><tr><td rowspan="2">...</td>
表格内图片HTML + 图片引用<table>...<img src="...">...</table>
表格内公式HTML + LaTeX<table>...$E=mc^2$...</table>

2.3 跨页表格合并

学术论文中常见跨页表格,MinerU 的合并策略:

  1. 检测:识别表格在页面边缘被截断
  2. 匹配:通过列数和表头匹配判断是否为同一表格
  3. 合并:将续表的行数据追加到主表格
  4. 标注:在输出中标注跨页信息

3. 表格内特殊元素

3.1 表格内公式

表格单元格中的公式需要特殊处理:

3.2 表格内图片

部分论文表格中包含示意图,MinerU 支持:

  • 检测表格单元格中的图片区域
  • 裁剪并保存为独立图片
  • 在 HTML 表格中用 <img> 引用

4. 配置与调优

4.1 启用/禁用配置

通过配置文件或环境变量控制:

{
"formula_enable": true,
"table_enable": true
}
配置效果适用场景
formula_enable: true启用公式识别学术论文、数学文献
formula_enable: false跳过公式识别普通办公文档,提速
table_enable: true启用表格识别含数据表格的文档
table_enable: false跳过表格识别无表格文档,提速

4.2 模型选择

通过配置文件选择公式识别模型:

{
"mfr_model": "unimernet_small" // 或 "pp_formulanet_plus_m"
}

5. 陷阱与对策

陷阱对策
公式识别产生错误 LaTeX检查公式区域裁剪是否完整;切换增强版模型
复杂表格结构还原错误使用 SlanetPlus 而非 UnetStructure
表格内公式丢失确保开启公式识别,并检查表格内公式检测
跨页表格未合并检查表格续页检测配置
公式/表格识别大幅增加耗时对不含公式表格的文档关闭对应功能

6. 设计权衡

UniMERNet vs pp_formulanet_plus_m

维度UniMERNet 小模型pp_formulanet_plus_m
模型大小较小较大
推理速度
公式精度高(常见公式)更高(复杂公式)
显存占用

取舍:默认使用 UniMERNet 小模型,满足绝大多数场景。对公式精度要求极高的场景(如数学论文),可切换到 pp_formulanet_plus_m。

UnetStructure vs SlanetPlus

维度UnetStructureSlanetPlus
方法语义分割 + 规则恢复端到端识别
适合简单表格(无合并单元格)复杂表格(合并单元格)
速度较快较慢
精度中等

取舍:通过表格分类器自动选择,简单表格用 UnetStructure(快),复杂表格用 SlanetPlus(准)。


参考来源