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\unimernet

  added / updated specs:
    - python=3.10


The following NEW packages will be INSTALLED:

  bzip2              pkgs/main/win-64::bzip2-1.0.8-h2bbff1b_6
  ca-certificates    pkgs/main/win-64::ca-certificates-2024.11.26-haa95532_0
  libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_1
  openssl            pkgs/main/win-64::openssl-3.0.15-h827c3e9_0
  pip                pkgs/main/win-64::pip-24.2-py310haa95532_0
  python             pkgs/main/win-64::python-3.10.15-h4607a30_1
  setuptools         pkgs/main/win-64::setuptools-75.1.0-py310haa95532_0
  sqlite             pkgs/main/win-64::sqlite-3.45.3-h2bbff1b_0
  tk                 pkgs/main/win-64::tk-8.6.14-h0416ee5_0
  tzdata             pkgs/main/noarch::tzdata-2024b-h04d1e81_0
  vc                 pkgs/main/win-64::vc-14.40-haa95532_2
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.42.34433-h9531ae6_2
  wheel              pkgs/main/win-64::wheel-0.44.0-py310haa95532_0
  xz                 pkgs/main/win-64::xz-5.4.6-h8cc25b3_1
  zlib               pkgs/main/win-64::zlib-1.2.13-h8cc25b3_1


Proceed ([y]/n)? y


Downloading 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,提升您的数学公式处理能力。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楚歌again

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值