3 步搞定公式图片转 LaTeX:LaTeX-OCR(pix2tex)快速上手
【免费下载链接】LaTeX-OCRpix2tex: Using a ViT to convert images of equations into LaTeX code.项目地址: https://gitcode.com/GitHub_Trending/la/LaTeX-OCR
写论文时对着 PDF 里的公式逐个手敲 LaTeX,最磨人。LaTeX-OCR(包名 pix2tex)就是干这个的:公式图片转 LaTeX,给它一张截图,它还你一段代码。
公式识别的底层:一个会"写代码"的视觉 Transformer
它的思路很直白:前端用一个视觉 Transformer(ViT)编码器看图,ViT 前面挂着 ResNet 做特征提取,输出端接一个 Transformer 解码器,逐个 token 地把 LaTeX 代码"写"出来。代码结构可以看 pix2tex/models/ 和 pix2tex/model/settings/config.yaml。
官方测试集上的成绩是 BLEU 0.88、token 准确率 0.60——常用公式基本能直接拿来用,复杂公式仍要过目一遍。
pix2tex 一条命令安装,模型自动下载
前提是 Python 3.7+,并按 PyTorch 官方说明装好对应版本。然后:
pip install "pix2tex[gui]"带[gui]是为了顺便装上图形界面的依赖;如果你只要命令行或 API,可以换对应的 extras 标签。📦 模型 checkpoint(约 200MB)会在首次运行时自动下载,不用手动搬。
不想污染本机环境、或者想直接把识别能力作为服务提供出去,就用官方 Docker 镜像:拉取后把 8502 端口映射到本机,API 即开即用。更多细节见官方文档 docs/installation.md。
按真实场景上手:截图、批量、嵌代码
日常随手:截图转 LaTeX 就开 GUI
装完后跑一下latexocr,一个窗口弹出来:用鼠标框选屏幕上的公式 → MathJax 实时渲染出识别效果 → 结果同时复制进剪贴板,切回 Overleaf 直接粘贴。⚡ 从截图到粘贴,几秒的事。
Linux 用户留意一点:GUI 截图依赖系统工具,GNOME 下默认走 gnome-screenshot,wlroots 系 Wayland 用 grim + slurp,KDE Plasma 用 spectacle。如果默认选择和你桌面不兼容,把环境变量SCREENSHOT_TOOL指到正确的工具上即可。
磁盘图片和批量公式识别:命令行更省事
图片已经在磁盘上时,终端里一条命令搞定:
pix2tex formula.png加--clipboard则直接读剪贴板里的图片。一次可以传多个文件,也支持通配符,模型只加载一遍,逐个输出结果——处理一整个文件夹的公式截图很方便。
需要网络请求做批量工作流的话,装[api]依赖后启动内置服务,它监听 8502 端口,脚本里发 HTTP 请求即可(入口在 pix2tex/api/)。
把识别能力嵌进自己的 Python 代码
在脚本里from pix2tex.cli import LatexOCR,实例化后直接调用:传入一张 PIL 图片,返回 LaTeX 字符串;结果同样会自动进剪贴板。不传新图时它会复用上一张,方便对同一张图反复试(实现见 pix2tex/cli.py)。
识别不准时怎么调:分辨率、temperature 和重试
先说分辨率。模型内置了一个辅助小网络,专门预测输入图的最佳分辨率并自动缩放,所以"图越大越准"是错觉:屏幕拉满放大后再截的图,反而可能不如正常缩放。🔍 截图时放大到"看清为准"的程度即可。
再说结果飘。生成过程是随机采样,同一张图两次识别可能不一样——第一次不理想时直接重试同一张图常常就对了。想要输出更稳定,把 temperature 调低:GUI 里有滑杆,CLI 交互模式下输入t=0.XX随时改。值越低,结果越收敛。
最后,永远人工核对一遍。token 准确率只有 0.60,分式、上下标、容易混淆的希腊字母是最常翻车的地方,贴进文档前扫一眼不亏。
对经常和论文、课件里的公式打交道的人来说,LaTeX-OCR 的价值很具体:把"看图手敲"压缩成"截图、粘贴"两步,剩下的核对工作只花几秒钟。
【免费下载链接】LaTeX-OCRpix2tex: Using a ViT to convert images of equations into LaTeX code.项目地址: https://gitcode.com/GitHub_Trending/la/LaTeX-OCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考