🚀 模型卡片: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,借助 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。
✨ 主要特性
- 基于微软的 TrOCR 架构,以其为初始值并利用数学公式图片数据集进行了重新训练。
- 能够将数学公式图片转换为 LaTeX 文本表示。
- 支持两种使用方式,可根据需求选择直接使用模型或借助 Pix2Text 进行识别。
📦 安装指南
方法一所需依赖
pip install transformers>=4.37.0 pillow optimum[onnxruntime]
方法二所需依赖
pip install pix2text>=1.1
💻 使用示例
基础用法
上述方法一和方法二的代码示例展示了如何使用该模型进行数学公式图片的识别。
高级用法
可以通过调整模型的参数或结合其他工具,进一步优化识别效果。例如,在使用 Pix2Text
时,可以根据具体需求调整 recognize
方法的参数。
📚 详细文档
🔧 技术细节
此 MFR 模型使用了微软的 TrOCR 架构,以其为初始值并利用数学公式图片数据集进行了重新训练。获得的 MFR 模型可用于把数学公式图片转换为 LaTeX 文本表示。更多细节请见:Pix2Text V1.0 新版发布:最好的开源公式识别模型 | Breezedeus.com。
📄 许可证
本项目采用 MIT 许可证。
🔍 模型使用示例图片
印刷体公式图片

手写体公式图片

📊 性能表现
测试数据对应的原始图片来源于 Pix2Text 网页版 用户上传的真实数据。经过处理后得到的测试数据集包括了 485
张图片,这些图片包含了各种不同长度和复杂度的数学公式。
以下是各个模型在此测试数据集上的 CER(字错误率,越小越好)。对真实标注结果,以及每个模型的输出都首先进行了标准化,以保证不会因为空格等无关因素影响测试结果。对 Texify 的识别结果会首先去掉公式的首尾符号$或$$。

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