ONNX 模型库
返回模型

说明文档

模型卡片:Pix2Text-MFR

数学公式识别(MFR)模型,来自 Pix2Text (P2T)

模型细节

此 MFR 模型使用了微软的 TrOCR 架构,以其为初始值并利用数学公式图片数据集进行了重新训练。 获得的 MFR 模型可用于把数学公式图片转换为 LaTeX 文本表示。更多细节请见:Pix2Text V1.0 新版发布:最好的开源公式识别模型 | Breezedeus.com

使用和限制

  • 用途:此模型为数学公式识别模型,它可以把输入的数学公式图片转换为 LaTeX 文本表示。
  • 限制:由于模型是在数学公式图片数据上训练的,它在识别其他类型的图片时可能无法工作。

文档

示例

印刷体公式图片

印刷体公式示例

手写体公式图片

手写体公式示例

模型使用

方法一:直接使用模型

这种方法无需安装 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 的识别结果会首先去掉公式的首尾符号 $$$

不同 MFR 模型的 CER 对比

由上图可见,Pix2Text V1.0 MFR 开源免费版模型已经大大优于之前版本的付费模型。而相比 V1.0 MFR 开源免费模型,Pix2Text V1.0 MFR 付费模型精度得到了进一步的提升。

Texify 更适用于识别标准排版的图片,它对包含单字母的图片识别较差。这也是 Texify 在此测试数据集上效果比 Latex-OCR 还差的主要原因。

反馈

关于模型的问题或意见反馈渠道。

欢迎联系作者 Breezedeus

breezedeus/pix2text-mfr

作者 breezedeus

image-to-text transformers
↓ 341.2K ♥ 53

创建时间: 2024-02-11 16:01:39+00:00

更新时间: 2024-05-05 14:23:13+00:00

在 Hugging Face 上查看

文件 (10)

.gitattributes
README.md
config.json
decoder_model.onnx ONNX
encoder_model.onnx ONNX
generation_config.json
preprocessor_config.json
special_tokens_map.json
tokenizer.json
tokenizer_config.json