🚀 模型卡片: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 ,提出關於模型的問題或建議。