Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【测试】Umi-OCR 支持数学公式识别啦 #254

Open
hiroi-sora opened this issue Nov 30, 2023 · 27 comments
Open

【测试】Umi-OCR 支持数学公式识别啦 #254

hiroi-sora opened this issue Nov 30, 2023 · 27 comments

Comments

@hiroi-sora
Copy link
Owner

hiroi-sora commented Nov 30, 2023

预览截图:

image

预览输出:

gradients in at least two (significantly) different orientations are the easiest to localiz, as shown schematically in Figure 7.4a.
These intuitions can be formalized by looking at the simplest possible matching criterion for comparing two image patches, i., their (weighted) summed square difference,

$E_{\mathrm{W S S D}} ( {\bf u} )=\sum_{i} w ( {\bf x}_{i} ) [ I_{1} ( {\bf x}_{i}+{\bf u} )-I_{0} ( {\bf x}_{i} ) ]^{2},$ (7.1)

where $I_{0}$ and $I_{1}$ are the two images being compared, ${\mathbf u}=( u, v )$ is the displacement vector, $w ( {\bf x} )$ is a spatially varying weighting (or window) function, and the summation i is over all the pixels in the patch. Note that this is the same formulation we later use to estimate motion between complete images (Section 9.1).
When performing feature detection, we do not know which other image locations the feature will end up being matched against. Therefore, we can only compute how stable this


前言

Pix2Text 是一个开源OCR项目,能够识别既包含文字又包含数学公式的混合图片。

我将其封装为插件,可导入 Umi-OCR v2 任意版本使用。支持 win7 x64 及以上的系统。

Pix2Text插件的用法与Paddle、Rapid插件相同,支持截图OCR和批量OCR。你可以同时导入这些插件,但不能同时启用。你需要在软件中切换它们。

P2T插件 当前为测试阶段,可能不稳定或有bug。遇到任何相关问题,可以在本贴反馈。

请注意:下载插件后,第一次执行OCR时,P2T插件需要大量时间(10~60s)进行初始化、构建缓存,请耐心等待。后续OCR速度将恢复正常。

P2T是离线的,无需网络即可使用。

如何导入插件

  1. 前往 https://github.com/hiroi-sora/Umi-OCR_plugins/releases
  2. 下载 win7_x64_Pix2Text.v1.0.7z (注意版本号,建议选择最新版本)
  3. 解压,放入 UmiOCR-data/plugins
  4. 打开 Umi-OCR ,全局设置→文字识别→接口改为Pix2Text→点击应用修改

务必点击 应用修改

  1. 然后,回到截图/批量标签页,像往常一样使用Umi即可。

image

P2T的特色

与 Paddle、Rapid相比,P2T插件有以下优点

  1. 支持中+英+公式混合识别。
  2. 中英场景下,不会出现空格丢失现象。
  3. 中英场景下,识别速度较快。

P2T插件也存在这些不足

  1. 初始化时间较长。首次OCR任务,可能需10~60s时间加载。
  2. 体积较大。极限压缩下约350MB,部署时约1.6GB。
  3. 对于复杂排版的图片,可能文本框检测的精度略低于别的OCR插件。
@LanRenLan
Copy link

非常感谢,这个精度算是可以用了

@oyyuyu
Copy link

oyyuyu commented Dec 5, 2023

增加数学公式的支持太需要了,可惜p2t识别公式精度有点低,不知道是不是跟个人电脑配置有关?有个叫simpletex的公式混合效果特别好,是否可以参考下。另外nougat的公式识别精度很高,这个应该是开源的,遗憾的是好像不支持中文。

@hiroi-sora
Copy link
Owner Author

hiroi-sora commented Dec 5, 2023

@oyyuyu 感谢建议。

p2t有闭源收费的模型,据说效果更好。
https://www.breezedeus.com/article/p2t-mfd-20230702
https://www.breezedeus.com/pix2text_cn

simpletex 我了解过,闭源,只支持在线。个人用它家软件是免费的,可惜API只有1000次免费调用额度。

nougat 有点意思,不过似乎只支持PDF,不知道有没有图像的接口。以后有空看看。

@whxzyf
Copy link

whxzyf commented Dec 7, 2023

这个识别非常好,但是改版2.0后,觉得界面太复杂了,而且占面积过大,希望能回复以前的极简页面;还有非常期待数学公式的识别,表格的识别。数学公式识别建议接入微软的识别接口。非常感谢原作的辛苦付出!
刚试了一下公式识别,非常好,够用了。如果能增加一个功能,直接复制到word,不需要通过mathtype那就更好了

@oyyuyu
Copy link

oyyuyu commented Dec 9, 2023

@oyyuyu 感谢建议。

p2t有闭源收费的模型,据说效果更好。 https://www.breezedeus.com/article/p2t-mfd-20230702 https://www.breezedeus.com/pix2text_cn

simpletex 我了解过,闭源,只支持在线。个人用它家软件是免费的,可惜API只有1000次免费调用额度。

nougat 有点意思,不过似乎只支持PDF,不知道有没有图像的接口。以后有空看看。

nougat应该有图像接口,网络上见过把nougat做成本地截图版本的实例,另外GitHub里有个[RapidLatexOCR]公式识别好像也还行(试了下demo网站),不知是不是可以做个参考?

@906051999
Copy link

厉害,马克一下

@hiroi-sora
Copy link
Owner Author

@oyyuyu 实际上,RapidLatexOCR与P2T的模型都来自 LaTeX-OCR 这个项目,所以它们的识别精度理应是没有差距的。Rapid在性能上优化更好。

总之就公式识别部分而言,P2T与Rapid的差距并不大;而P2T额外具有文字+公式混合图片的识别能力。所以暂时Rapid没有更多优势,让我有动力去适配。

@oyyuyu
Copy link

oyyuyu commented Dec 10, 2023

@oyyuyu 实际上,RapidLatexOCR与P2T的模型都来自 LaTeX-OCR 这个项目,所以它们的识别精度理应是没有差距的。Rapid在性能上优化更好。

总之就公式识别部分而言,P2T与Rapid的差距并不大;而P2T额外具有文字+公式混合图片的识别能力。所以暂时Rapid没有更多优势,让我有动力去适配。

我也安装了一下RapidLatexOCR,实测本地效果离demo网站的效果有不小差距。谢谢你的解释,愿你的软件越来越好。

@2054248312
Copy link

屏幕截图 2023-12-16 162815 w's为什么导入了文件选择不了

@2054248312
Copy link

只有一个选项

@hiroi-sora
Copy link
Owner Author

hiroi-sora commented Dec 17, 2023

@2054248312

你应该是导入的步骤不正确。请确保解压后放置的文件结构如下:

Umi-OCR\UmiOCR-data\plugins\win7_x64_Pix2Text\ (插件文件,如__init__.py)

你可能解压后创建了两层 win7_x64_Pix2Text 文件夹(如下所示),这是不正确的,请删掉一层。(将插件文件剪贴到上一层文件夹)

Umi-OCR\UmiOCR-data\plugins\win7_x64_Pix2Text\win7_x64_Pix2Text\ (插件文件)

@breezedeus
Copy link

感谢作者对 Pix2Text 的适配,辛苦👍

@hiroi-sora
Copy link
Owner Author

hiroi-sora commented Dec 21, 2023

@breezedeus 哈哈,也希望大佬开源更多的高精度库啦~

@LingyvKong
Copy link

LingyvKong commented Dec 21, 2023

@oyyuyu @breezedeus 可关注下Vary效果展示和原理介绍,功能参考nougat,支持中英文 有demo。我是作者之一,欢迎反馈

@oyyuyu
Copy link

oyyuyu commented Dec 23, 2023

@oyyuyu @breezedeus 可关注下Vary效果展示和原理介绍,功能参考nougat,支持中英文 有demo。我是作者之一,欢迎反馈

测试了一下demo,很强啊,感谢大佬。

@breezedeus
Copy link

@oyyuyu @breezedeus 可关注下Vary效果展示和原理介绍,功能参考nougat,支持中英文 有demo。我是作者之一,欢迎反馈

👍 应该是这个方向最大的模型了。求个下载链接: breezedeus AT gmail DOT com 🙏

@RarityBrown
Copy link

VikParuchuri/texify: OCR model for math that outputs LaTeX and markdown

Benchmarks provided by @VikParuchuri:

Benchmarks

@realDGD
Copy link

realDGD commented Feb 29, 2024

辛苦开发者开发这个插件了,实在是好用。
Pix2Text 已经更新到V1.0了,望开发者进行更新。
十分感激。

@hiroi-sora
Copy link
Owner Author

Pix2Text 已经更新到V1.0了

看了看更新日志,精度提升幅度确实很诱人!我会尽快着手对V1.0的适配。

@breezedeus
Copy link

@hiroi-sora 辛苦辛苦,非常感谢🙏

@realDGD
Copy link

realDGD commented Mar 1, 2024

Pix2Text 已经更新到V1.0了

看了看更新日志,精度提升幅度确实很诱人!我会尽快着手对V1.0的适配。

感谢开发者的回应和热情适配,我这还有一个不情之请:希望该插件有个类似于 SimpleTex 的实时预览功能,因为每次识别之后都无法第一时间检验 OCR 的正确性。即:#323

@hiroi-sora
Copy link
Owner Author

@realDGD 我更新了 #323 实时预览功能的一些调查结论。你可以看一下。

@hiroi-sora
Copy link
Owner Author

Umi-OCR Pix2Text 插件已同步更新到原项目的 v1.0 版本!

  • 公式识别精度显著进步。
  • 中英文的识别速度显著进步。部分情景能达到 Paddle mkldnn 引擎的性能。
  • 插件现已支持更多识别模式选项:
    • 只开启 启用数学公式 :将整个图像当成单个公式来识别,精度较高,不支持混排。
    • 只开启 启用文字识别 :只识别文字,不处理公式。支持中英文。
    • 同时开启两者:能识别文字+公式的混合排版图像,但精度可能比单模式略有下降。

image

您可以在 Umi-OCR 插件仓库 下载最新版P2T插件。

未来展望

预计在未来,Umi-OCR将具有独立的公式识别标签页,该标签页内提供Latex实时预览 等功能。

@breezedeus
Copy link

Umi-OCR Pix2Text 插件已同步更新到原项目的 v1.0 版本!

  • 公式识别精度显著进步。

  • 中英文的识别速度显著进步。部分情景能达到 Paddle mkldnn 引擎的性能。

  • 插件现已支持更多识别模式选项:

    • 只开启 启用数学公式 :将整个图像当成单个公式来识别,精度较高,不支持混排。
    • 只开启 启用文字识别 :只识别文字,不处理公式。支持中英文。
    • 同时开启两者:能识别文字+公式的混合排版图像,但精度可能比单模式略有下降。

image

您可以在 Umi-OCR 插件仓库 下载最新版P2T插件。

未来展望

预计在未来,Umi-OCR将具有独立的公式识别标签页,该标签页内提供Latex实时预览 等功能。

赞效率 👍

@ligb929
Copy link

ligb929 commented May 6, 2024

有一张图片使用P2T插件识别时出错(仅启用文字识别),JPG和PNG都试了,同样是203异常状态码
异常状态码:203
异常信息:p2t recognize error: OpenCV(4.9.0) 👎 error: (-5:Bad argument) in function 'cvtColor'

Overload resolution failed:

  • src data type = <U56 is not supported
  • Expected Ptrcv::UMat for argument 'src'
    P31_页面_066

@willre
Copy link

willre commented Sep 29, 2024

01
对同一个公式 截图识别两次后,都不能稳定得到正确的结果

@hiroi-sora
Copy link
Owner Author

对同一个公式 截图识别两次后,都不能稳定得到正确的结果

你图中是软件将公式当成普通文本来识别了。建议使用纯数学公式模式,即只勾选启用数学公式,不勾选启用文字识别

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests