type
status
date
slug
summary
tags
category
icon
password
URL
Rating
 
[中文] | [English]
 
Pix2Text (P2T) 识别图片中文字和数学公式,输出对应的文本和 Latex 表达式;其目标是成为 Mathpix 的免费开源 Python 替代工具。Pix2Text V1.1 整合了版面分析和表格识别模型,可以识别图片中的版面、表格、图片、文字、数学公式等内容,并整合所有内容后以 Markdown 格式输出。P2T 也可以把一整个 PDF 文件(PDF 的内容可以是扫描图片或者其他任何格式)转换为 Markdown 格式。
 
Pix2Text V1.0 于 2024 年 2月发布,带来了精度更高的全新公式识别模型(MFR)。
 
Pix2Text V1.1 则带来了完整的版面恢复能力,它可以把扫描件的 PDF 直接转换成 Markdown 格式,利用外部工具(如 Pandoc)还可以把 Markdown 格式转换成 Word、Html 等其他格式。
V1.1 整合了以下模型:
  • 文字识别引擎:支持 80+ 种语言,如英文、简体中文、繁体中文、越南语等。其中,英文简体中文识别使用的是开源 OCR 工具 CnOCR ,其他语言的识别使用的是开源 OCR 工具 EasyOCR 。
  • 数学公式检测模型(MFD):来自 CnSTD 的数学公式检测模型(MFD)。
其中多个模型来自其他开源作者, 非常感谢他们的贡献。
 
notion image
 
具体说明请参考 可用模型
 
V1.1 的主要变更:
<ins/>

效果示例

识别 PDF 文件,返回其 Markdown 格式

对于 PDF 文件,可以使用函数 .recognize_pdf() 对整个文件或者指定页进行识别,并把结果输出为 Markdown 文件。如针对 PDF 文件 (examples/test-doc.pdf),
调用方式如下:
也可以使用命令行完成一样的功能,如下面命令使用了付费版模型(MFD + MFR + CnOCR 三个付费模型)进行识别:
识别结果见 output-md/output.md
📌
如果期望导出 Markdown 之外的其他格式,如 Word、HTML、PDF 等,推荐使用工具 Pandoc 对 Markdown 结果进行转换即可。

识别带有复杂排版的图片

可以使用函数 .recognize_page() 识别图片中的文字和数学公式。如针对以下图片 (examples/page2.png):
notion image
调用方式如下:
也可以使用命令行完成一样的功能,如下面命令使用了付费版模型(MFD + MFR + CnOCR 三个付费模型)进行识别:
识别结果和 output-md/output.md 类似。

识别既有公式又有文本的段落图片

notion image
对于既有公式又有文本的段落图片,识别时不需要使用版面分析模型。 可以使用函数 .recognize_text_formula() 识别图片中的文字和数学公式。如针对以下图片 (examples/en1.jpg):
notion image
调用方式如下:
返回结果 outs 是个 dict,其中 key position 表示Box位置信息,type 表示类别信息,而 text 表示识别的结果。具体说明见接口说明
也可以使用命令行完成一样的功能,如下面命令使用了付费版模型(MFD + MFR + CnOCR 三个付费模型)进行识别:
或者使用免费开源模型进行识别:

识别纯公式图片

notion image
对于只包含数学公式的图片,使用函数 .recognize_formula() 可以把数学公式识别为 LaTeX 表达式。如针对以下图片 (examples/math-formula-42.png):
notion image
调用方式如下:
返回结果为字符串,即对应的 LaTeX 表达式。具体说明见说明
也可以使用命令行完成一样的功能,如下面命令使用了付费版模型(MFR 一个付费模型)进行识别:
或者使用免费开源模型进行识别:

识别纯文字图片

notion image
对于只包含文字不包含数学公式的图片,使用函数 .recognize_text() 可以识别出图片中的文字。此时 Pix2Text 相当于一般的文字 OCR 引擎。如针对以下图片 (examples/general.jpg):
notion image
调用方式如下:
返回结果为字符串,即对应的文字序列。具体说明见接口说明
也可以使用命令行完成一样的功能,如下面命令使用了付费版模型(CnOCR 一个付费模型)进行识别:
或者使用免费开源模型进行识别:
<ins/>

P2T 在线文档

 

P2T 网页版

 
所有人都可以免费使用 P2T网页版,每人每天可以免费识别 10000 个字符,正常使用应该够用了。请不要批量调用接口,机器资源有限,批量调用会导致其他人无法使用服务。
 
受限于机器资源,网页版当前只支持简体中文和英文,要尝试其他语言上的效果,请使用以下的在线 Demo
 

在线 Demo

 
可以使用此 在线 Demo 尝试 P2T 在不同语言上的效果。但在线 Demo 使用的硬件配置较低,速度会较慢。如果是简体中文或者英文图片,建议使用 P2T网页版
📌
如果无法科学上网,可以访问此地址:https://hf.qhduan.com/spaces/breezedeus/Pix2Text-Demo

付费版模型购买

V1.1 兼容 V1.0 中的所有模型,如 MFD、MFR、CnOCR等。
 
购买链接和具体说明见:P2T详细资料 | Breezedeus.com
 

使用说明

首先,请确保你用开源的模型跑通了 Pix2Text,否则你下载完付费模型也跑不起来。详细安装和使用说明看 Pix2Text 项目文档就行。遇到问题可以在这里评论,或者加入群聊与我沟通,但请注意帮你跑通代码不在星主的服务范围之内(参考 星球说明)。
 
通过模型购买商店购买企业 Basic 版后,可以下载模型对应的 2 个压缩文件,其中以 p2t-mfd- 开头的文件为 MFD(数学公式检测)模型,以p2t-mfr- 开头的文件为 MFR(数学公式识别)模型。MFD 模型压缩文件解压后会看到一个名为 yolov7-model 的文件夹,里面的文件即为模型文件,比如叫 mfd-yolov7-20230613.pt 。假定文件 p2t-mfr-20230702.pth 的路径为 abc/def/yolov7-model/p2t-mfr-20230702.pth。MFR 模型压缩文件解压后会看到一个名为 mfr-pro-onnx 的文件夹,其中包含模型文件以及相关的配置文件。假定文件夹 mfr-pro-onnx 的路径为 abc/def/mfr-pro-onnx
 
那在初始化 Pix2Text 时应该如下传入参数。初始化后的使用方式和开源模型完全一样,检测和识别结果的结构也是一样的。
 
如果购买的是企业 Pro 订阅版,可以下载的模型文件会更多(当前是 5 个),除了包含 MFR 的 PyTorch 版本外,也会包含 CnOCR(文本 OCR)中的最新付费模型(ONNX 和 PyTorch 版本),它对中英文文本的识别效果比免费模型更好。可以使用如下方式传入对应的模型。
📌
注意:CnOCR 的文本模型只支持英文简体中文,如果要识别其他语言的文本,请勿使用 CnOCR 模型。只需把上面代码中的 text 对应的配置去掉即可。
<ins/>
Pix2Text V1.1.1 新版发布,带来更好的数学公式检测模型LLaMA 3 掀桌子三部曲(一):LLaMA 3 发布
Loading...