LaTeX OCR - 数学公式识别系统

文章目录


一、关于 LaTeX OCR

1、项目概览

基于 Seq2Seq + Attention + Beam Search 架构的数学公式识别系统,可将数学公式图片转换为 LaTeX 代码。


架构图


2、相关链接资源


3、功能特性

1、多平台支持

  • 支持 Linux/Mac/Windows 系统
  • 提供一键安装脚本

2、可视化训练

  • 集成 TensorBoard 训练过程可视化
  • 支持注意力机制可视化

3、评估指标

  • 支持 perplexity/EditDistance/BLEU-4/ExactMatchScore 四种评估指标

二、安装配置

基础环境要求

  1. Python 3.5 + TensorFlow 1.12.2
  2. LaTeX (latex 转 pdf)
  3. Ghostscript (图片处理)
  4. ImageMagick (pdf 转 png)

Linux 安装

一键安装

shell 复制代码
make install-linux

或分步安装

bash 复制代码
# 创建环境 
virtualenv env35 --python=python3.5
source env35/bin/activate
pip install -r requirements.txt

# 安装 latex (latex 转 pdf)
sudo apt-get install texlive-latex-base texlive-latex-extra

# 安装 ghostscript
sudo apt-get update && sudo apt-get install ghostscript libgs-dev

# 安装 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.*

Mac 安装

一键安装

shell 复制代码
make install-mac

分步安装

bash 复制代码
sudo pip install -r requirements.txt
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.*

三、使用指南

1、快速训练(小数据集)

一键训练(约2分钟)

shell 复制代码
make small

分步执行

bash 复制代码
python build.py --data=configs/data_small.json --vocab=configs/vocab_small.json
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/
python evaluate_txt.py --results=results/small/
python evaluate_img.py --results=results/small/

2、完整训练(大数据集)

一键训练(2-3小时)

shell 复制代码
make full

分步执行

bash 复制代码
python build.py --data=configs/data.json --vocab=configs/vocab.json
python train.py --data=configs/data.json --vocab=configs/vocab.json --training=configs/training.json --model=configs/model.json --output=results/full/
python evaluate_txt.py --results=results/full/
python evaluate_img.py --results=results/full/

四、可视化功能

训练过程可视化

bash 复制代码
# 小数据集
cd results/small
tensorboard --logdir ./

# 大数据集
cd results/full
tensorboard --logdir ./

预测过程可视化

bash 复制代码
python visualize_attention.py --image=data/images_test/6.png --vocab=configs/vocab.json --model=configs/model.json --output=results/full/

五、模型评估

指标 训练分数 测试分数
perplexity 1.39 1.44
EditDistance 81.68 80.45
BLEU-4 78.21 75.42
ExactMatchScore 13.93 12.44

六、技术细节

数据处理流程

  1. 获取 LaTeX 公式数据
  2. 公式规范化处理
  3. 生成图片数据集
  4. 构建字典和映射文件

模型架构

  • Encoder: CNN
  • Decoder: LSTM/GRU
  • 注意力机制层
  • Beam Search/Greedy 输出策略

伊织 xAI 2025-05-18(日)

相关推荐
IvanCodes5 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
Patrick在香港6 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
Web3&Basketball6 小时前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
AIFQuant7 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
GPU实战笔记9 小时前
云端 Python 开发:JupyterLab 还是 VS Code Remote-SSH?
python·vs code·jupyterlab·remote-ssh·远程开发
狗狗狗狗狗乐啊9 小时前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)
python·react.js·ai编程
白猫不黑10 小时前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
kuuailetianzi10 小时前
Python初识:定位、优势与发展历程
python
赛博仓鼠10 小时前
秋叶ComfyUI 3.2整合包实测:Python 3.13+Torch 2.13全栈升级,一键跑通MiniMax H3(附完整部署)
ai·ai作画·aigc·音视频
guoran_shini11 小时前
LLM微调-训练垂类问答模型
python·lora·sft