标签 光学字符识别 下的文章

Mistral 近日发布了其光学字符识别(optical character recognition,OCR)模型的最新版本,Mistral OCR 3,该版本专注于在多种文档类型上实现更高的精度,包括手写笔记、表单、低质量扫描件以及结构复杂的表格。

 

据 Mistral 表示,OCR 3 相较于前一代产品是一次重大的飞跃。在基于真实客户文档工作流的内部评估中,新模型在整体表现上以 74%的胜率超越了 Mistral OCR 2,尤其在表单、手写内容和含大量表格的文档上优势更为显著。这些基准测试采用模糊匹配(fuzzy-match)指标与人工标注的真实结果进行比对,旨在反映实际业务场景,而非理想化的合成数据。

图片来源:Mistral 博客

 

从技术角度看,Mistral OCR 3 不仅能够提取文本,还能识别并保留嵌入的图像,同时完整保留原始文档的结构信息。它的输出格式为 Markdown,其中表格通过 HTML 标签(如 rowspan 和 colspan)重建,使下游系统不仅能获取纯文本,还能保留布局语义。这一特性使其非常适合需要结构化 JSON、可搜索档案的管道,或集成到智能体(agentic)和检索增强系统(RAG)中。

 

在以往通常依赖人工复核的场景中,该模型也展现出显著的进步。它能够高效处理手写内容,包括连笔的笔记和批注。在表单解析方面,对标签、复选框及混合输入项的识别更加准确。此外,OCR 3 对扫描档案中常见的倾斜、压缩伪影、低分辨率以及背景噪点等问题具备更强的健壮性。

 

早期用户特别强调了其性能提升和多语言方面的支持能力。ICT 安全负责人兼 AI 安全专家 Patrick Jacobs评论说:

在速度方面,真的令人印象深刻,而且它处理荷兰语毫无压力。

 

得益于准确率的大幅提升,Mistral OCR 3 的生产部署正在快速扩展。Techseria 创始人兼首席顾问 Niraj Bhatt分享了其实际应用的变化:

我们一直在生产环境中使用 Mistral OCR 处理销售和采购发票,实现 ERP 系统的零人工数据录入。现在 v3 在表单和手写内容上准确率提升了 74%,终于让我们能够将覆盖范围扩展到送货单、水电账单以及过去只能靠人工处理的遗留档案。

 

在定价方面,Mistral OCR 3 的标准费率为每 1000 页 2 美元;若使用 Batch API,成本可降至每 1000 页 1 美元,使其成为许多企业级 OCR 系统的高性价比替代方案。开发者可通过 API 直接集成模型(标识符为 mistral-ocr-2512),非技术用户则可通过拖放式的 Document AI Playground 界面轻松使用。

 

对于具有严格数据治理要求的组织,Mistral 提供了私有化的部署选项,确保 OCR 工作负载完全运行在客户可控的基础设施内。

 

如今,Mistral OCR 3 已经可以使用了,并完全向后兼容 OCR 2。

 

原文链接:

Mistral Releases OCR 3 With Improved Accuracy on Handwritten and Structured Documents

前言

前阵子看到paddle发布SOTA的OCR模型,预览效果很nb,但看很少人去尝试使用。刚好公司有一些书籍类型的pdf(含公式,图片,表格等),内容双栏显示。使用场景够复杂了吧,也是日常会遇到的情况。于是就开始折腾部署PaddleOCR-VL模型。

配置

  • RTX6000(46G显存)
  • Windows11(配置wsl,Ubuntu-22.04)
  • python==3.12
  • 确保wsl内的CUDA 版本必须大于或等于 12.6(nvidia-smi查看)

开始操作

所有流程都在wsl中操作,包括python虚拟环境创建包安装等。我使用非Docker的方式安装
1.创建虚拟环境
conda create -n paddleocr python==3.12
2.安装paddle包

# 以下命令安装 CUDA 12.6 版本的 PaddlePaddle,对于其他 CUDA 版本以及 CPU 版本,请参考 https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html
python -m pip install paddlepaddle-gpu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/

连续使用以下命令即可

python -m pip install -U "paddleocr[doc-parser]"
python -m pip install https://paddle-whl.bj.bcebos.com/nightly/cu126/safetensors/safetensors-0.6.2.dev0-cp38-abi3-linux_x86_64.whl

3.python代码(单个pdf文档)

from pathlib import Path
from paddleocr import PaddleOCRVL

input_file = "./your_pdf_file.pdf"
output_path = Path("./output")

pipeline = PaddleOCRVL()
output = pipeline.predict(input=input_file)

markdown_list = []
markdown_images = []

for res in output:
    md_info = res.markdown
    markdown_list.append(md_info)
    markdown_images.append(md_info.get("markdown_images", {}))

markdown_texts = pipeline.concatenate_markdown_pages(markdown_list)

mkd_file_path = output_path / f"{Path(input_file).stem}.md"
mkd_file_path.parent.mkdir(parents=True, exist_ok=True)

with open(mkd_file_path, "w", encoding="utf-8") as f:
    f.write(markdown_texts)

for item in markdown_images:
    if item:
        for path, image in item.items():
            file_path = output_path / path
            file_path.parent.mkdir(parents=True, exist_ok=True)
            image.save(file_path)

4.完成到这部就可以运行了,第一次使用会下载模型比较慢。可能之前安装依赖中断过几次的原因,运行代码报错缺失系统依赖,错误日志丢ai解决即可。
我使用的文档是书中截取的三页内容,并非全书。消耗显存5.9G左右

效果

效果图
可以看到即使两栏内容,paddleocr也能很好的识别连接,公式使用latex,图表这里不知道为什么没识别成表格(官方演示效果)但还是完整保留下来了。有部分公式格式异常,导致公式没有正常渲染。后面写了脚本把二十多个pdf都进行ocr,占用显存44.5G。

结论

目前看效果已经非常好了,个人还没有做多模态检索,所以图片数据不是很重要,但确实已经很好的保留书籍的完整结构。这种文档结构识别再进行ocr的架构(类似于工作流)应该是未来OCR的方向了。

参考连接:使用教程 - PaddleOCR 文档