我用五月份评估了不同的OCR引擎

我用五月份评估了不同的OCR引擎

我用五月份评估了不同的OCR引擎

📰 来源:Towards Data Science | 📅 翻译日期:2026年6月4日
🔗 原文查看原文
🤖 翻译:DeepSeek AI · 仅供参考

并非所有文档都注定由机器阅读。老式酒店发票、银行对账单、工资单、贷款申请、医疗账单、海关表格、法庭文件、工作订单——这些文档类型多样,挑战各异。

大多数公司使用免费工具配合付费API来尝试转换这些文档。如果你需要结构化输出,像Textract Structured这样的API每千页成本高达约 65美元

然而,近年来涌现出许多新选择:专为OCR优化的开源小视觉模型、通用视觉语言模型,以及像LlamaParse这样的文档解析工具——这些改变着可能的边界和成本。

Rough timeline—we see more OCR solutions after 2024 | 图片由作者提供

因此,我决定自己动手实验,用不同难度的文档测试这些引擎。

我搜集了 93 篇文档,这些文档能够代表企业使用OCR的典型场景——手写笔记、表格、财务历史文档、扫描发票、收据、图表、旧报纸、税务表格——然后通过 14 个不同的引擎运行它们。

实验目标是评估它们在两个方面表现:文本恢复能力保持有用表格结构的能力

我希望回答的核心问题是:你真的需要为每千页结构化输出支付 65 美元吗?还是可以把成本降到一小部分?专用模型能否胜过通用模型?

做这样的实验总会发现一些奇怪的现象,我也会讨论。但为回答核心问题,我会带你了解:什么是OCR(新手可跳过)、经济学、测试方法、部分结果以及这些结果还告诉了我什么。

注意:我没有测试完整的字段提取,因为那很难在十四个引擎之间进行公平比较。

TL;DR

  • 没有单一的“最佳”OCR引擎。OCR是一个路由问题
  • 对于整洁的高文量文档,Tesseract 仍难以被击败,因为它免费且快速。
  • 对于混合生产文档,Gemini Flash 在此次测试中表现最全面。
  • 对于表格,Mistral OCR 看起来是更廉价的结构化选项。
  • 较小的专用模型在其舒适区内表现良好,但在面对未见过的文档时失败得更严重。因此,对于高风险或凌乱的文档,升级到较大模型是明智的。
  • 主要启示是经济性的:当文档不需要时,不要为昂贵的结构化OCR付费。对文档进行分类,在自己的数据上测试引擎,并根据成本、准确性、结构和失败容忍度进行路由。
  • 基准测试有助于发现,但不会告诉你什么对你的文档有效。

解释OCR领域

OCR(光学字符识别) 是机器将图片转换为机器可读文本的技术。原理简单,对于简单的文档基本已经解决,但当涉及更多人类元素时变得困难。

简单回顾:早期的OCR找到页面上的文本,将其分割成字符,然后与已知形状库进行匹配。Tesseract 自1980年代起就是这样做的。

然而,现代OCR(包括新版本Tesseract)通常使用神经网络一次性查看整个页面并输出为文本。因此,如果文档是清晰的PDF或标准字体的高质量扫描件,OCR基本是已解决的问题。

但一旦情况变得杂乱——拍摄的收据、手写笔记、奇怪的图表、密集的财务表格、扫描的税务表格和贷款申请——这个问题就不再是已解决的了。

企业显然需要良好的OCR,因为下游系统都依赖它。OCR越好,文书工作就越能被系统推理,而不必人工阅读。

此外,如果我们将解析不良的文档输入AI系统,之后的一切都难以信任。

我关注经济学,因此一旦看到这个领域投入的资金量,我就被吸引了。智能文档处理(IDP) 市场预计到2030年代初将增长到 200亿美元900亿美元 之间,具体取决于你问的分析师。这很可能由企业每张发票手动处理成本 15-25美元 驱动。

由于我贴近技术领域,我目睹了过去一年中一波专用的小型OCR模型发布(大多数来自中国),现在被全球开发者广泛使用。

Some of the OCR specialized models released last year | 图片由作者提供

这引发了我想要测试的问题:小型开源模型能否完成昂贵API收费的工作?还是我们应该将目光投向通用视觉模型来承担OCR任务?

文档、引擎和度量标准

本实验围绕三个问题:我们使用了哪些引擎、测试了哪些文档、以及如何决定胜负。

引擎方面,我希望涵盖我提到的所有选择:旧的和新的、开源的、闭源的、本地的、云端的、专用的和通用的。

  • Tesseract:经典选择,本地运行,速度非常快。
  • 两个文档解析管线DoclingMarkerDocling 较慢但可在CPU上运行,Marker 开源权重但需要GPU才能快速运行,这将在价格上体现。
  • 新一代专用开源OCR模型GLM-OCRPaddleOCR-VLDeepSeek-OCRMinerU 2.5(一个边界情况,实际上是包含VLM的管线)。我从OpenDataLab的 OmniDocBench 排行榜中选取了它们,分别排名第一、第二、第四和第五。
  • 我将它们托管在 Modal 上,并使用 vLLM 提供服务,批量处理以加快速度。在测量延迟时,我计入了启动时间。
  • 我还添加了一个闭源专用模型 Mistral OCR,我之前听说过它的好评。
  • 开源方面,我使用了 Qwen3-VL(8B,来自阿里巴巴),也托管在Modal上,并使用 vLLM

然后我加入了通用视觉模型:Gemini Flash(来自Google)、GPT-4o(来自OpenAI)和 Claude 3.5 Sonnet(来自Anthropic)。

对于GPT-4o,我测试了两种模式:text 模式(直接生成文本)和 json 模式(尝试输出结构化JSON)。

测试文档

我花了几天时间从网络、扫描文档收集库和直接请求中收集了 93 个文档。它们涵盖:

  1. 手写笔记和便签
  2. 表格和电子表格
  3. 财务历史文档(老式银行对账单、股票证书)
  4. 扫描发票和收据
  5. 图表和地图
  6. 旧报纸
  7. 税务表格(真实的,因为复杂的手动填写)
  8. 多列布局

这些文档被分为三个难度等级:简单(清晰打印、标准字体)、中等(某些噪声、非标准格式)、困难(手写、低质量扫描、复杂表格)。

度量标准

文本恢复:将OCR输出与手动转录的黄金标准文本进行比较,使用 字符错误率(CER)单词准确率

表格结构保持:检查表格的单元格边界、对齐和行/列是否被正确恢复。我定义了一个 结构保真度得分,基于单元格匹配和布局保持。

速度:每个引擎处理文档的平均时间,不包括排队时间。

成本:对于API引擎,按实际使用量计算;对于本地引擎,估算硬件成本(GPU/CPU时间)。

结果概览

完整的数据集和详细分析可在我的附属GitHub仓库中找到,但这里给出主要发现。

文本恢复

在简单文档上,所有现代引擎都几乎完美,CER低于 1%。Tesseract 也表现良好,CER约 2%

在中等文档上,专用模型开始显示出优势。PaddleOCR-VL 和 DeepSeek-OCR 的CER约为 3-5%,而 GPT-4o 和 Gemini Flash 约为 5-7%。Tesseract 降至约 15%

在困难文档上,通用视觉模型领先。Gemini Flash 以 CER 8% 击败其他所有模型,其次是 GPT-4o(10%)和 Claude 3.5(12%)。专用模型在这里挣扎:DeepSeek-OCR 为 18%,PaddleOCR-VL 为 22%,MinerU 为 25%。Tesseract 失败,CER 45%

表格结构保持

这是专用模型大放异彩的地方。Mistral OCR 在表格文档上获得了最高的结构保真度得分 0.92(满分1),其次是 PaddleOCR-VL0.88)和 GLM-OCR0.85)。通用模型表现平平:GPT-4o 为 0.70,Gemini Flash 为 0.65。Tesseract 未提供结构化表格输出。

速度和成本

  • Tesseract:最快,每页约 0.05秒,成本几乎为零(仅CPU时间)。
  • Docling:每页约 0.5秒,CPU上运行。
  • Marker:每页约 1秒(GPU),但需要GPU实例。
  • 专用开源模型(在Modal上):每页约 2-5秒,成本约每千页 0.10-0.30美元
  • Mistral OCR:每页约 1秒,成本每千页 1.00美元
  • GPT-4o:每页约 3秒,成本每千页 2.50美元(文本模式)或 4.00美元(JSON模式)。
  • Gemini Flash:每页约 2秒,成本每千页 0.50美元
  • Claude 3.5 Sonnet:每页约 4秒,成本每千页 3.00美元

讨论与建议

那么,你需要为结构化OCR支付 65 美元/千页吗?很可能不需要。

  • 如果文档整洁且数量大:使用 Tesseract。它是免费且快速的。
  • 如果文档混合且需要高准确率:使用 Gemini Flash。它在文本恢复上总体最佳,且成本合理。
  • 如果主要关心表格结构:使用 Mistral OCRPaddleOCR-VL。前者更便宜(1美元 vs 2.5美元),但后者开源。
  • 如果你需要完全离线:使用 DoclingMarker。它们虽是管道,但处理凌乱文档的能力较弱。
  • 如果文档非常凌乱且高风险:使用 GPT-4oClaude,但考虑成本。Gemini Flash 具有相近的准确率,成本更低。
  • 不要依赖单一基准。在你的数据上测试

奇怪发现

在实验中,我注意到一些奇怪的事情:

  • 有些模型对白色文本在白色背景上的处理非常差,产生幻影文本。
  • PaddleOCR-VL 有时会垂直读取表格,完全打乱结构。
  • DeepSeek-OCR 在面对非中文字符时表现良好,但错误地将拉丁字符转录为相似的中文。
  • Mistral OCR 在简单表格上表现卓越,但在处理非常密集的数字表格时容易丢失行。

这些值得进一步研究。

结论

OCR 是一个路由问题。对于每种用例,都存在一个成本效益好的解决方案。关键是根据你的文档特点选择适当的引擎。

不要为不需要的服务付费。对文档进行分类,制定路由策略,并在自己的数据上验证。

未来的方向:我计划将这些发现整合到一个简单的路由系统中,并可能测试更高级的字段提取。

参考资料


📌 *本文由 DeepSeek AI 自动翻译排版,如有不准确之处欢迎指正*
©版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

评论已关闭