LaTeX_OCR_PRO

LaTeX_OCR_PRO

基于深度学习的多语言数学公式识别系统

LaTeX_OCR_PRO是一个开源的数学公式识别项目,结合Seq2Seq、Attention和Beam Search技术,实现了对标准、中文及手写数学公式的高精度识别。项目提供完整的环境配置、数据处理、模型训练和评估流程,在多项性能指标上达到业界领先水平。此外,LaTeX_OCR_PRO还支持训练过程和注意力机制的可视化,为相关研究和应用开发提供了有力支持。

LaTeX_OCR_PRO数学公式识别Seq2SeqAttention机器学习Github开源项目

LaTeX_OCR_PRO

数学公式识别,增强:中文公式、手写公式

序列到序列 + 注意力机制 + 集束搜索。结构如下:

1. 搭建环境

  1. python3.5 + tensorflow1.12.2
  2. [可选] latex (latex 转 pdf)
  3. [可选] ghostscript (图片处理)
  4. [可选] magick (pdf 转 png)

如果你想直接训练,不想自己构建数据集:

  1. [可选] 新开一个虚拟环境
    virtualenv env35 --python=python3.5 source env35/bin/activate
  2. 安装依赖
    pip install -r requirements.txt // cpu 版 pip install -r requirements-gpu.txt // gpu 版
  3. 下载数据集
    git submodule init git submodule update

    如果 git 速度太慢,您也可以手动下载数据集,放到 data 目录下。数据集仓库在 https://github.com/LinXueyuanStdio/Data-for-LaTeX_OCR 数据仓库同时托管到 huggingface (linxy/LaTeX_OCR),欢迎使用!

如果你想自己构建数据集,然后再训练:

<details> <summary>Linux</summary>

一键安装

make install-linux

  1. 安装本项目依赖
virtualenv env35 --python=python3.5 source env35/bin/activate pip install -r requirements.txt
  1. 安装 latex (latex 转 pdf)
sudo apt-get install texlive-latex-base sudo apt-get install texlive-latex-extra
  1. 安装 ghostscript
sudo apt-get update sudo apt-get install ghostscript sudo apt-get install libgs-dev
  1. 安装magick (pdf 转 png)
wget http://www.imagemagick.org/download/ImageMagick.tar.gz tar -xvf ImageMagick.tar.gz cd ImageMagick-7.*; \ ./configure --with-gslib=yes; \ make; \ sudo make install; \ sudo ldconfig /usr/local/lib rm ImageMagick.tar.gz rm -r ImageMagick-7.*
</details> <details> <summary>Mac</summary>

一键安装

make install-mac

  1. 安装本项目依赖
sudo pip install -r requirements.txt
  1. LaTeX

我们需要 pdflatex,可以傻瓜式一键安装:http://www.tug.org/mactex/mactex-download.html

  1. 安装magick (pdf 转 png)
wget http://www.imagemagick.org/download/ImageMagick.tar.gz tar -xvf ImageMagick.tar.gz cd ImageMagick-7.*; \ ./configure --with-gslib=yes; \ make;\ sudo make install; \ rm ImageMagick.tar.gz rm -r ImageMagick-7.*
</details>

2. 开始训练

<details> <summary>生成小数据集、训练、评价</summary>

提供了样本量为 100 的小数据集,方便测试。只需 2 分钟就可以根据 ./data/small.formulas/ 下的公式生成用于训练的图片。

注意:样本量很小,是无法有效训练模型的。这个小数据集仅用于确认代码有没有 bug。如果用于预测,那结果极差,因为数据不够。

一步训练

make small

  1. 生成数据集

    用 LaTeX 公式生成图片,同时保存公式-图片映射文件,生成字典 只用运行一次

    # 默认 python build.py # 或者 python build.py --data=configs/data_small.json --vocab=configs/vocab_small.json
  2. 训练

    # 默认
    python train.py
    # 或者
    python train.py --data=configs/data_small.json --vocab=configs/vocab_small.json --training=configs/training_small.json --model=configs/model.json --output=results/small/
    
  3. 评价预测的公式

    # 默认
    python evaluate_txt.py
    # 或者
    python evaluate_txt.py --results=results/small/
    
  4. 评价数学公式图片

    # 默认
    python evaluate_img.py
    # 或者
    python evaluate_img.py --results=results/small/
    
</details> <details> <summary>生成完整数据集、训练、评价</summary>

根据公式生成 70,000+ 数学公式图片需要 2-3 个小时

一步训练

make full

  1. 生成数据集

    用 LaTeX 公式生成图片,同时保存公式-图片映射文件,生成字典 只用运行一次

    python build.py --data=configs/data.json --vocab=configs/vocab.json
    
  2. 训练

    python train.py --data=configs/data.json --vocab=configs/vocab.json --training=configs/training.json --model=configs/model.json --output=results/full/
    
  3. 评价预测的公式

    python evaluate_txt.py --results=results/full/
    
  4. 评价数学公式图片

    python evaluate_img.py --results=results/full/
    
</details>

3. 可视化

<details> <summary>可视化训练过程</summary>

用 tensorboard 可视化训练过程

小数据集

cd results/small
tensorboard --logdir ./

完整数据集

cd results/full
tensorboard --logdir ./
</details> <details> <summary>可视化预测过程</summary>

打开 visualize_attention.ipynb,逐步观察模型是如何预测 LaTeX 公式的。

或者运行

# 默认 python visualize_attention.py # 或者 python visualize_attention.py --image=data/images_test/6.png --vocab=configs/vocab.json --model=configs/model.json --output=results/full/

将在 --output 下生成预测过程的注意力图。

</details>

4. 部署

<details> <summary>部署为 Django 应用</summary>
  1. 安装部署所需环境
    pip install django
  2. 启动服务
    python manage.py runserver 0.0.0.0:8010
  3. 启动图片服务
    cd data/images_train python -m SimpleHTTPServer 8020
  4. 使用方法 在输入框中依次输入 0.png1.png 等,即可看到结果
</details>

5. 评价

指标训练分数测试分数
perplexity1.121.13
EditDistance94.1693.36
BLEU-491.0390.47
ExactMatchScore49.3046.22

perplexity 越接近1越好,其余3个指标越大越好。

其中 EditDistance 和 BLEU-4 已达到业内领先水平。

将 perplexity 训练到 1.03 左右,ExactMatchScore 还可以进一步提升,应该可以达到 70 以上。

由于机器性能限制,训练耗时较长。

6. 更多细节

  1. 模型实现细节

    包括数据获取、数据处理、模型架构、训练细节

  2. 解决方案

    包括 "如何可视化 Attention 层"、"在 win10 上使用 GPU 加速训练" 等

7. 致谢

衷心感谢 Harvard 以及 Guillaume Genthial、Kelvin Xu 等人提供的宝贵基础。

论文:

  1. Show, Attend and Tell(Kelvin Xu...)
  2. Harvard's paper and dataset
  3. Seq2Seq for LaTeX generation.

8. 相关项目

LaTeX_OCR 的 PyTorch 版: https://github.com/qs956/Latex_OCR_Pytorch@qs956 开发

9. 引用

BibTeX

@misc{lin2024latex_ocr_pro,
  title={LaTeX_OCR_PRO},
  author={Xueyuan Lin},
  year={2024},
  publisher={GitHub},
  howpublished={\url{https://github.com/LinXueyuanStdio/LaTeX_OCR_PRO}},
}

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多