说明文档
模型卡片:Pix2Text-MFR
数学公式识别(MFR)模型,来自 Pix2Text (P2T)。
模型细节
此 MFR 模型使用了微软的 TrOCR 架构,以其为初始值并利用数学公式图片数据集进行了重新训练。 获得的 MFR 模型可用于把数学公式图片转换为 LaTeX 文本表示。更多细节请见:Pix2Text V1.0 新版发布:最好的开源公式识别模型 | Breezedeus.com。
使用和限制
- 用途:此模型为数学公式识别模型,它可以把输入的数学公式图片转换为 LaTeX 文本表示。
- 限制:由于模型是在数学公式图片数据上训练的,它在识别其他类型的图片时可能无法工作。
文档
- Pix2Text V1.0 新版发布:最好的开源公式识别模型 | Breezedeus.com ;
- Pix2Text (P2T) Github: breezedeus/pix2text ;
- Pix2Text 在线免费服务:p2t.breezedeus.com ;
- Pix2Text 在线文档:Docs ;
- 更多 Pix2Text:breezedeus.com/pix2text ;
- Pix2Text Discord 社区:https://discord.gg/GgD87WM8Tf
示例
印刷体公式图片

手写体公式图片

模型使用
方法一:直接使用模型
这种方法无需安装 pix2text,但只能识别纯公式图片。
#! pip install transformers>=4.37.0 pillow optimum[onnxruntime]
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
#! 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。
性能
测试数据对应的原始图片来源于 Pix2Text 网页版 用户上传的真实数据。首先选取一段时间内用户的真实数据,然后利用 Pix2Text 中数学公式检测模型(MFD)检测出这些图片中的数学公式并截取出对应的部分,再从中随机选取部分公式图片进行人工标注,就获得了用于测试的测试数据集了。下图是测试数据集中的部分样例图片。从中可以看出测试数据集中的图片比较多样,包括了各种不同长度和复杂度的数学公式,有单个字母的图片,也有公式组甚至矩阵图片。本测试数据集包括了 485 张图片。

以下是各个模型在此测试数据集上的 CER(字错误率,越小越好)。其中对真实标注结果,以及每个模型的输出都首先进行了标准化,以保证不会因为空格等无关因素影响测试结果。对 Texify 的识别结果会首先去掉公式的首尾符号 $ 或 $$。

由上图可见,Pix2Text V1.0 MFR 开源免费版模型已经大大优于之前版本的付费模型。而相比 V1.0 MFR 开源免费模型,Pix2Text V1.0 MFR 付费模型精度得到了进一步的提升。
Texify 更适用于识别标准排版的图片,它对包含单字母的图片识别较差。这也是 Texify 在此测试数据集上效果比 Latex-OCR 还差的主要原因。
反馈
关于模型的问题或意见反馈渠道。
欢迎联系作者 Breezedeus。
breezedeus/pix2text-mfr
作者 breezedeus
创建时间: 2024-02-11 16:01:39+00:00
更新时间: 2024-05-05 14:23:13+00:00
在 Hugging Face 上查看