欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > UniMERNet:一个强大的数学表达式识别网络

UniMERNet:一个强大的数学表达式识别网络

2025/2/12 2:29:49 来源:https://blog.csdn.net/u013454780/article/details/144276890  浏览:    关键词:UniMERNet:一个强大的数学表达式识别网络

UniMERNet:一个强大的数学表达式识别网络

UniMERNet 是一款专为数学公式识别设计的深度学习模型。它不仅能识别各种数学公式,还能将其转换为 LaTeX 代码,方便在不同的应用中进行渲染。本文将详细介绍如何在 Windows 10 上安装并运行 UniMERNet。

# 1. 创建 Conda 环境
conda create -n unimernet python=3.10
conda activate unimernet# 2. 克隆 UniMERNet 仓库
git clone https://github.com/opendatalab/UniMERNet.git# 3. 安装 Git LFS
git lfs install# 4. 下载预训练模型
# 先进入到cd UniMERNet/models
cd UniMERNet/models
# 从 Hugging Face
git clone https://huggingface.co/wanderkid/unimernet_base
git clone https://huggingface.co/wanderkid/unimernet_small
git clone https://huggingface.co/wanderkid/unimernet_tiny# 或从 ModelScope
git clone https://www.modelscope.cn/wanderkid/unimernet_base.git(我用的这个命令,下载的这个模型)
git clone https://www.modelscope.cn/wanderkid/unimernet_small.git
git clone https://www.modelscope.cn/wanderkid/unimernet_tiny.git# 5. 安装 UniMERNet 所需依赖
pip install -U "unimernet[full]"# 6. 启动 Streamlit GUI(交互式体验)
unimernet_gui# 7. 使用命令行进行公式预测
python demo.py# 8. 启动 Jupyter Notebook 进行公式识别和渲染
jupyter-lab ./demo.ipynb

一、UniMERNet简介

UniMERNet 是一个深度学习模型,专注于数学公式的识别。它可以从手写或打印的数学公式图像中提取出精确的数学表达式,并将其转换为 LaTeX 代码。LaTeX 是广泛应用于数学、科学和技术领域的排版系统,因此,能够将数学公式转换为 LaTeX 代码对于公式的展示和编辑至关重要。

主要特点:

  • 高精度识别:支持手写和打印数学公式的高精度识别。
  • 实时渲染:通过 Streamlit 和 LaTeX 渲染,您可以实时查看公式识别结果。
  • 多平台支持:UniMERNet 可以在 Windows、Linux 和 macOS 等操作系统上运行。

二、系统要求

要在 Windows 10 上成功运行 UniMERNet,您的系统应满足以下要求:

  • Python 3.10 或更高版本
  • Conda 环境管理器
  • Git:用于克隆仓库
  • Git LFS:用于下载大文件

三、安装 UniMERNet

1. 创建 Conda 环境

首先,创建一个新的 Conda 环境,以避免与其他项目中的依赖发生冲突。运行以下命令来创建并激活环境:

conda create -n unimernet python=3.10
conda activate unimernet
(base) C:\Users\Again>conda create -n unimernet python=3.10
Channels:- defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done## Package Plan ##environment location: D:\anaconda3\envs\unimernetadded / updated specs:- python=3.10The following NEW packages will be INSTALLED:bzip2              pkgs/main/win-64::bzip2-1.0.8-h2bbff1b_6ca-certificates    pkgs/main/win-64::ca-certificates-2024.11.26-haa95532_0libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_1openssl            pkgs/main/win-64::openssl-3.0.15-h827c3e9_0pip                pkgs/main/win-64::pip-24.2-py310haa95532_0python             pkgs/main/win-64::python-3.10.15-h4607a30_1setuptools         pkgs/main/win-64::setuptools-75.1.0-py310haa95532_0sqlite             pkgs/main/win-64::sqlite-3.45.3-h2bbff1b_0tk                 pkgs/main/win-64::tk-8.6.14-h0416ee5_0tzdata             pkgs/main/noarch::tzdata-2024b-h04d1e81_0vc                 pkgs/main/win-64::vc-14.40-haa95532_2vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.42.34433-h9531ae6_2wheel              pkgs/main/win-64::wheel-0.44.0-py310haa95532_0xz                 pkgs/main/win-64::xz-5.4.6-h8cc25b3_1zlib               pkgs/main/win-64::zlib-1.2.13-h8cc25b3_1Proceed ([y]/n)? yDownloading and Extracting Packages:Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate unimernet
#
# To deactivate an active environment, use
#
#     $ conda deactivate(base) C:\Users\Again>conda activate unimernet

2. 克隆 UniMERNet 仓库

接下来,从 GitHub 克隆 UniMERNet 仓库:

git clone https://github.com/opendatalab/UniMERNet.git

3. 下载预训练模型

进入模型存放目录:

cd UniMERNet/models

UniMERNet 依赖于预训练模型来执行公式识别。由于模型文件较大,推荐使用 Git LFS 来下载模型文件。

首先,安装 Git LFS

git lfs install

然后,选择以下其中一个来源下载模型:

从 Hugging Face 下载:
git clone https://huggingface.co/wanderkid/unimernet_base  # 1.3GB
git clone https://huggingface.co/wanderkid/unimernet_small  # 773MB
git clone https://huggingface.co/wanderkid/unimernet_tiny  # 441MB
或者从 ModelScope 下载:
git clone https://www.modelscope.cn/wanderkid/unimernet_base.git
git clone https://www.modelscope.cn/wanderkid/unimernet_small.git
git clone https://www.modelscope.cn/wanderkid/unimernet_tiny.git

在这里插入图片描述

4. 安装依赖

为了安装 UniMERNet 所需的所有依赖,您可以通过 pip 安装:

pip install -U "unimernet[full]"

如果您是开发人员,或者需要本地安装,可以使用下面的命令:

pip install -e ."[full]"

5. 运行 UniMERNet

使用 Streamlit GUI 进行交互式体验

安装并下载完模型后,您可以通过以下命令启动 Streamlit GUI,以便进行交互式体验:

unimernet_gui

这将启动一个 Web 应用程序,您可以在其中上传数学公式图像,并实时查看公式识别的结果。确保您使用最新版本的 UniMERNet:

pip install --upgrade unimernet
pip install "unimernet[full]"

在这里插入图片描述
我喜欢把Latex代码 复制到Axmath里面做进一步处理(这里复制到到AxMarh并不是一模一样的,我自己处理了一下,才是下面图片的效果。)

\begin{array} { r l r } { \lefteqn { \{ \mathbf { X } ^ { i } , \mathbf { R } _ { l } , \mathbf { t } _ { l } | i \in \mathcal { P } _ { L } , l \in \mathcal { K } _ { L } \} = \underset { \mathbf { X } ^ { i } , \mathbf { R } _ { l } , \mathbf { t } _ { l } } { \mathrm { a r g m i n } } } \quad \sum _ { k \in \mathcal { K } _ { L } \cup \mathcal { K } _ { F } } \sum _ { j \in \mathcal { K } _ { k } } \rho \left( E _ { k j } \right) } \\ & { } & { E _ { k j } = \left\| \mathbf { x } _ { ( \cdot ) } ^ { j } - \pi _ { ( \cdot ) } \left( \mathbf { R } _ { k } \mathbf { X } ^ { j } + \mathbf { t } _ { k } \right) \right\| _ { \Sigma } ^ { 2 } } \end{array}
使用命令行进行公式预测

在这里插入图片描述

如果您更喜欢使用命令行进行操作,可以运行以下命令,从图像中预测 LaTeX 代码:

python demo.py

在这里插入图片描述

使用 Jupyter Notebook 进行公式识别和渲染

如果您习惯使用 Jupyter Notebook,您可以使用以下命令启动 Notebook,进行公式识别和渲染:

jupyter-lab ./demo.ipynb

在这里插入图片描述

四、常见问题与解决方案

1. 安装依赖时遇到问题

如果在安装依赖过程中遇到问题,您可以尝试升级 pip,然后重新安装:

pip install --upgrade pip
pip install -U "unimernet[full]"

2. 模型文件下载失败

如果在下载模型时遇到问题,可以尝试切换网络环境或使用代理。有时,大文件需要较长的下载时间,请耐心等待。

3. 无法启动 GUI

如果启动 unimernet_gui 时出现问题,请检查是否缺少某些依赖项(是否下载了模型),或者尝试通过更新 UniMERNet 来解决:

pip install --upgrade unimernet

五、总结

UniMERNet 是一款强大的数学表达式识别工具,能够将数学公式图像转化为 LaTeX 代码。通过本文提供的安装和使用步骤,您可以在 Windows 10 环境下轻松运行 UniMERNet。无论是进行实时公式识别,还是使用命令行批量处理图像,UniMERNet 都能帮助您高效完成任务。

通过 Streamlit 提供的图形界面,您可以快速查看公式的识别结果,并进行进一步的编辑和应用。希望本篇博客能帮助您顺利入门 UniMERNet,提升您的数学公式处理能力。


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com