🚀 模型卡:Pix2Text-MFR
Pix2Text-MFR 是一款数学公式识别模型,它基于 Pix2Text (P2T) 开发,能够将数学公式图像精准转换为 LaTeX 文本表示,为处理数学公式图像提供了高效解决方案。
🚀 快速开始
本模型可通过不同方式使用,下面为你详细介绍:
方法一:直接使用模型
此方法无需安装 pix2text
,但仅能识别纯公式图片。
from PIL import Image
from transformers import TrOCRProcessor
from optimum.onnxruntime import ORTModelForVision2Seq
processor = TrOCRProcessor.from_pretrained('breezedeus/pix2text-mfr')
model = ORTModelForVision2Seq.from_pretrained('breezedeus/pix2text-mfr', use_cache=False)
image_fps = [
'examples/example.jpg',
'examples/42.png',
'examples/0000186.png',
]
images = [Image.open(fp).convert('RGB') for fp in image_fps]
pixel_values = processor(images=images, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values)
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)
print(f'generated_ids: {generated_ids}, \ngenerated text: {generated_text}')
方法二:使用 Pix2Text
该方法需安装 pix2text
,借助其中的数学公式检测模型(MFD),不仅能识别纯公式图片,还可识别包含文本的混合图片。
$ pip install pix2text>=1.1
from pix2text import Pix2Text, merge_line_texts
image_fps = [
'examples/example.jpg',
'examples/42.png',
'examples/0000186.png',
]
p2t = Pix2Text.from_config()
outs = p2t.recognize_formula(image_fps)
outs2 = p2t.recognize('examples/mixed.jpg', file_type='text_formula', return_text=True, save_analysis_res='mixed-out.jpg')
print(outs2)
方法三:使用 Notebook
你可以通过此 Notebook 体验 Pix2Text:https://github.com/breezedeus/Pix2Text/blob/main/pix2text_v1_1.ipynb。
✨ 主要特性
- 精准识别:能够准确将数学公式图片转换为 LaTeX 文本表示。
- 多方式使用:支持直接使用模型、借助 Pix2Text 以及通过 Notebook 等多种使用方式。
- 适用场景广泛:不仅能处理纯公式图片,还能识别包含文本的混合图片。
📦 安装指南
根据使用方法的不同,安装要求如下:
直接使用模型
pip install transformers>=4.37.0 pillow optimum[onnxruntime]
使用 Pix2Text
pip install pix2text>=1.1
💻 使用示例
基础用法
印刷体公式图片

手写体公式图片

高级用法
上述使用示例中的代码展示了模型在不同场景下的使用,如直接使用模型和借助 Pix2Text 进行识别,可根据实际需求灵活运用。
📚 详细文档
🔧 技术细节
此 MFR 模型采用了微软开发的 TrOCR 架构,以其初始值为基础,并利用数学公式图片数据集进行重新训练。通过这种方式,模型能够学习到数学公式图像的特征,从而实现将数学公式图片转换为 LaTeX 文本表示的功能。更多细节请见:Pix2Text V1.0 新版发布:最好的开源公式识别模型 | Breezedeus.com。
测试数据对应的原始图片来源于 Pix2Text 网页版 用户上传的真实数据。具体步骤为:首先选取一段时间内用户的真实数据,然后利用 Pix2Text 中数学公式检测模型(MFD)检测出这些图片中的数学公式并截取出对应的部分,再从中随机选取部分公式图片进行人工标注,最终得到用于测试的测试数据集。该测试数据集包含 485
张图片,图片类型多样,涵盖了各种不同长度和复杂度的数学公式,有单个字母的图片,也有公式组甚至矩阵图片。
以下是各个模型在此测试数据集上的 CER(字错误率,越小越好)。为保证测试结果不受空格等无关因素影响,对真实标注结果以及每个模型的输出都首先进行了标准化处理。对于 Texify 的识别结果,会首先去掉公式的首尾符号 $
或 $$
。

由上图可见,Pix2Text V1.0 MFR 开源免费版模型已经大大优于之前版本的付费模型。而相比 V1.0 MFR 开源免费模型,Pix2Text V1.0 MFR 付费模型精度得到了进一步的提升。
⚠️ 重要提示
Texify 更适用于识别标准排版的图片,它对包含单字母的图片识别较差。这也是 Texify 在此测试数据集上效果比 Latex-OCR 还差的主要原因。
📄 许可证
本项目采用 MIT 许可证。
📬 反馈
欢迎就模型相关问题或建议联系作者 Breezedeus。