从截图到LaTeX:MonkeyOCRv2公式识别实战,手写公式CDM达到90.9
【免费下载链接】MonkeyOCRv2MonkeyOCRv2 Vision Encoder — A Document-Native Visual Backbone项目地址https://gitcode.com/gh_mirrors/mo/MonkeyOCRv2点击查看免费下载MonkeyOCRv2 是一个文档原生的视觉-文本基础模型其 formula 子模块专门用于公式识别Formula Recognition输入一张公式图片截图、扫描件、手写照片直接输出可编译的 LaTeX 代码。本文带你快速上手 MonkeyOCRv2 公式识别理解 CDM 评测指标并看懂它在 MathWriting、OmniDocBench 等基准上达到90.9 Overall CDM的原因。一、先认识 MonkeyOCRv2 公式识别模块MonkeyOCRv2 整体是一个文档原生的视觉编码器体系除了公式识别还覆盖文本检测、文档解析、文档篡改检测等任务。其中公式识别模块位于formula/目录核心思路很直接把 UniMERNet-T 的 Swin 视觉编码器替换为文档原生的MonkeyOCRv2-SViT-S28M 参数MBart 解码器保持不变中间用一个可学习线性层把 384 维视觉 token 投影到 512 维与解码器对齐。最终发布的完整模型仅110M 参数却同时刷新了三个基准的 Overall 成绩。模型结构、训练与评测的完整说明见 formula/README.md。下面这张图就是官方提供的公式识别输入样例images_test/formula.png一篇包含积分、分式、多行推导的公式截图MonkeyOCRv2 会将整页内容还原为 LaTeX。二、快速上手从截图到LaTeX只需3步 1️⃣ 一键安装cd formula conda create -n monkeyocrv2_formula python3.10 pip conda activate monkeyocrv2_formula pip install -r requirements.txt pip install -r cdm_local/requirements.txt # CDM 评测才需要 pip install -e .CDM 评测额外依赖 LaTeX 工具链TeX Live 2025、ImageMagick 和 Node.js详见 formula/cdm_local/README.md。2️⃣ 下载模型权重bash run/download_models.sh脚本会把发布权重拉到model_weight/monkeyocrv2_s_formula.pth推理时自动加载无需手动指定。3️⃣ 一行命令跑推理python scripts/infer.py --images ../images_test/formula.png # 或批量处理整个目录 python scripts/infer.py --image-dir /path/to/formula_images \ --output eval_results/demo_predictions.jsonl推理脚本 formula/scripts/infer.py 支持--images单图/多图、--image-dir整目录、--outputJSONL 落盘等参数无 GPU 时会自动回退 CPU。评测配置默认指向 formula/configs/eval/monkeyocrv2_s.yaml。三、为什么用 CDM 评测公式识别传统的 BLEU、Edit Distance 都是在文本层面比对 LaTeX 字符串但同一个公式可以有多种等价写法比如\dfracvs\frac这会让评测不公平。CDMCharacter Detection Matching字符检测匹配的思路是以图比图把预测 LaTeX 和标准答案 LaTeX 各自渲染成公式图片再做字符级定位匹配兼顾视觉形态与空间位置。官方对比效果一目了然 CDM 的完整算法分四步元素定位把 LaTeX 规范化为 token各 token 染不同颜色渲染提取每个字符的 bbox区域匹配用匈牙利算法在预测与真值的每个元素对之间找最优匹配无效匹配剔除Token 一致性 位置关系一致性双重校验指标计算基于 TP/FP/FN 求 F-score即 CDM 分数。配套代码在 formula/cdm_local/其中 evaluation.py 是评测入口。四、基准成绩Overall CDM 90.9 是什么水平三个基准OmniDocBench 1.6、MathWriting、UniMER-Test的完整成绩如下MonkeyOCRv2 版本全部加粗为第一模型参数量Overall CDMOmniDocBench CDMMathWriting CDM手写Pix2tex25.5M53.869.40.4Texify312M67.376.526.6UniMERNet-B325M89.590.463.8UniMERNet-S202M89.890.165.9UniMERNet-T (Swin)107M89.489.965.6UniMERNet-T (MonkeyOCRv2-S)110M90.990.870.8几个值得注意的点手写公式MathWritingCDM 从 Swin 基线的 65.6 提升到70.8ExpRate表达式级完全渲染率从 12.9 提升到 16.2改进幅度最大参数量克制110M 参数击败了 325M 的 UniMERNet-B部署成本更低完整明细CPE/HWE/SCE/SPE 四个子集见 formula/README.md。五、想复现训练与评测脚本都备好了 所有流程都封装在 formula/run/ 目录常见操作一句话搞定bash run/train_stage1.sh # 阶段1冻结视觉编码器训练50k迭代 bash run/train_stage2.sh # 阶段2解冻全部参数训练250k迭代 bash run/eval_all.sh # 一次跑完三个基准的评测两个阶段训练策略对应 configs/train/ 下的配置文件。评测时可以用环境变量覆盖检查点和批大小CHECKPOINTmodel_weight/monkeyocrv2_s_formula.pth BATCH_SIZE128 POOLS64 bash run/eval_mathwriting.sh 提示CDM 分数对渲染环境敏感官方复现要求使用 TeX Live 2025 和原版 CDM 色彩渲染复现数字前先阅读 formula/README.md 的 Reproducing Table Metrics 一节。模型核心实现位于 formula/unimernet/数据加载、处理器与训练任务均在unimernet/datasets、unimernet/processors等子目录中方便二次开发。六、常见问题 FAQQ1没有 GPU 能跑吗可以。infer.py 检测到 CUDA 不可用会自动切换到 CPU只是速度较慢适合小批量体验。Q2输出的 LaTeX 能直接编译吗能。输出遵循 UniMERNet 的 LaTeX 子集规范标准工具链即可渲染CDM 评测本身也是先渲染再打分。Q3能只识别手写公式吗模型对打印和手写公式统一建模MathWriting纯手写上 CDM 达 70.8混合场景可先裁出公式区域再送入scripts/infer.py。写在最后MonkeyOCRv2 的公式识别模块用一个 110M 的小模型把截图 → LaTeX这件事做到了当前开源第一梯队Overall CDM 90.9、手写 MathWriting CDM 70.8且训练、推理、评测脚本开箱即用。如果你是文档数字化、论文处理或题库结构化方向的开发者这个模块值得直接搬进你的流水线。赞分享【免费下载链接】MonkeyOCRv2MonkeyOCRv2 Vision Encoder — A Document-Native Visual Backbone项目地址https://gitcode.com/gh_mirrors/mo/MonkeyOCRv2点击查看免费下载相关推荐从性能瓶颈到架构优化MCP服务器深度性能分析与调优实战从性能瓶颈到架构优化MCP服务器深度性能分析与调优实战 Model Context ProtocolMCP作为AI应用开发的核心协议其服务器性能直接决定教程文档人工智能pix2tex手写公式支持手写体数学公式识别的探索pix2tex手写公式支持手写体数学公式识别的探索 手写公式识别的痛点与解决方案 你是否曾在以下场景中感到困扰科研论文撰写时需手动输入复杂数学公式在线教育人工智能计算机视觉OCRNLP预训练PaddleOCR 公式识别产线实战指南PP-FormulaNet 与 UniMERNet 端到端 LaTeX 公式识别PaddleOCR 公式识别产线实战指南PP FormulaNet 与 UniMERNet 端到端 LaTeX 公式识别 导读 公式识别Formula Re人工智能计算机视觉OCR深度学习大模型RAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考