公式图片转 LaTeX 怎么自动完成:pix2tex 从安装到调参的完整指南
【免费下载链接】LaTeX-OCRpix2tex: Using a ViT to convert images of equations into LaTeX code.项目地址: https://gitcode.com/GitHub_Trending/la/LaTeX-OCR
把论文里的公式截下来,再手动敲回编辑器,这种重复劳动很磨人。开源项目 LaTeX-OCR(发布包名 pix2tex)干的就是这件事:你给它一张公式图片,它直接吐出一段 LaTeX 代码,背后是 ViT 编码器加 Transformer 解码器组成的视觉模型。下面按"装 → 用 → 调"的顺序带你走一遍。
谁该用它 📥
- 写论文时反复从参考文献的 PDF 里搬公式,想省掉手打;
- 手里有一批课程笔记或扫描件,里面的数学表达式需要变成可编辑的 LaTeX;
- 你自己在做图片处理流程,想把"公式图 → 代码"这一步接进自动化里。
快速上手:pix2tex 怎么装最快 🚀
前提只有两条:Python 3.7 以上,以及装好了 PyTorch。然后跑这一条命令,带上 GUI 相关的依赖:
pip install "pix2tex[gui]"装完后第一次运行任何入口(命令行、GUI 或 API),程序会自动把模型权重下载到本地,首次等待属正常现象,之后再启动就是秒级加载。
不想装 Python 环境的话,拉官方 Docker 镜像跑 API 服务也可以,下面两条命令拉取镜像并把端口 8502 映射到本机:
docker pull lukasblecher/pix2tex:api docker run --rm -p 8502:8502 lukasblecher/pix2tex:api实战演练:一次任务从输入到输出 🧪
任务一:识别一张本地公式图片
任务:把formula.png里的公式变成代码。输入是这个文件路径,输出直接打印到终端,同时自动写进剪贴板。
pix2tex path/to/formula.png如果截图已经在剪贴板里(比如刚从 PDF 里框选复制),不传参数进入交互式模式后直接回车即可识别:
pix2tex进入交互模式后,终端里还能敲几个词改变行为:输入h看完整帮助,输入t=0.5调整采样温度,输入show或katex切换"本地渲染预览 / 浏览器渲染预览"。
任务二:用界面截屏,识别结果自动进剪贴板
任务:随手框一块屏幕区域,拿到公式的 LaTeX。输入是你框选的范围,输出是渲染预览加剪贴板内容。
latexocr弹出窗口里框选后,界面会用 MathJax 把预测出的代码渲染出来给你核对,代码同时已复制到剪贴板,可直接粘贴。在 Linux 上如果框选没反应,多半是截图工具和你桌面环境不匹配,处理办法见下面"调参与避坑"。
任务三:在自己的代码里调用,或起一个服务批量识别
任务:批量处理一堆公式图,把结果接进自己的脚本。输入是图片文件或字节流,输出是每张图片对应的 LaTeX 字符串。
先在自己的 Python 代码里跑通最小调用,这里加载模型后对一张图片做预测:
from PIL import Image from pix2tex.cli import LatexOCR img = Image.open('formula.png') ocr = LatexOCR() print(ocr(img))如果要服务化,先装 API 依赖再启动服务,它基于 FastAPI 监听在 8502 端口:
pip install -U "pix2tex[api]" python -m pix2tex.api.run服务起来后,用一条 curl 把本地文件 POST 给/predict/接口,终端就会返回识别出的 LaTeX 代码:
curl -F "file=@formula.png" http://localhost:8502/predict/API 的实现在 pix2tex/api/,Docker 构建文件见 docker/api.dockerfile,接口定义可以直接对照阅读。
调参与避坑:识别不准时先调什么 🔧
同一张图跑几次,结果不一样?原因:采样过程带随机性。处理:把温度调到 0,比如命令行加-t 0,或交互模式里输入t=0,输出就固定了。注意命令行默认温度是 0.333,Python 类里默认 0.25,两边略有差异。
截图范围很大,识别质量反而下降?原因:模型主要在小分辨率图片上训练,过大的输入未必更准。处理:截屏时就框住公式主体,留一点边距即可,别把整页截下来再指望模型自己挑;如果结果不理想,换个缩放比例重新截一张再试。
Linux 上 GUI 打不开,或框选截图没反应?原因:默认优先调用 gnome-screenshot,它和 wlroots 系、KDE 等桌面不兼容。处理:设置环境变量SCREENSHOT_TOOL,wlroots 系合成器填grim,KDE Plasma 填spectacle,也可以填gnome-screenshot或pil。
第一次运行卡住很久?原因:程序在后台下载模型权重。处理:保持网络通畅等它跑完即可,权重落地后后续启动都很快。
识别出来的代码能不能直接信?别全信。官方在标准测试集上的 token 准确率约为 0.60(BLEU 0.88、归一化编辑距离 0.10,见 README.md),复杂公式仍会出错,交稿前逐条核对一下。
下一步就一句话:在终端跑pix2tex your_formula.png,看它把哪段 LaTeX 写进你的剪贴板。想深入细节,官方文档入口在 docs/index.rst,安装说明在 docs/installation.md,模型超参数模板在 pix2tex/model/settings/config.yaml。
【免费下载链接】LaTeX-OCRpix2tex: Using a ViT to convert images of equations into LaTeX code.项目地址: https://gitcode.com/GitHub_Trending/la/LaTeX-OCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考