如何用开源模型优化OCR识别效果?

摘要:我们在这篇文章中新增了 Chandra 和 OlmOCR-2,并附上了它们在 OlmOCR 基准上的得分 🫡 摘要: 强大的视觉语言模型 (Vision-Language Models, VLMs) 的崛起,
我们在这篇文章中新增了 Chandra 和 OlmOCR-2,并附上了它们在 OlmOCR 基准上的得分 🫡 摘要: 强大的视觉语言模型 (Vision-Language Models, VLMs) 的崛起,正在彻底改变文档智能 (Document AI) 的格局。每种模型都有其独特的优势,因此选择合适的模型变得棘手。相比闭源模型,开源权重的模型在成本效率和隐私保护上更具优势。为了帮助你快速上手,我们整理了这份指南。 在本指南中,你将了解到: 当前 OCR 模型的整体格局及其能力 何时需要微调模型,何时可直接使用 为你的场景选择合适模型时应考虑的关键因素 如何超越传统 OCR,探索多模态检索与文档问答 读完之后,你将知道如何选择合适的 OCR 模型、开始构建应用,并对文档 AI 有更深入的理解。让我们开始吧! 现代 OCR 简介 光学字符识别 (Optical Character Recognition,简称 OCR) 是计算机视觉领域最早、也是持续时间最长的研究方向之一。AI 的许多早期实际应用都集中在“将印刷文字转化为可编辑的数字文本”上。 随着 视觉语言模型 (Vision-Language Models, VLMs) 的兴起,OCR 的能力迎来了飞跃式提升。如今,许多 OCR 模型都是在现有 VLM 的基础上进行微调得到的。但现代模型的能力已远超传统 OCR —— 你不仅可以识别文字,还能基于内容检索文档,甚至直接进行问答。 得益于更强大的视觉理解能力,这些模型能处理低质量扫描件、理解复杂元素 (如表格、图表、图片等) ,并将文本与视觉内容融合,以回答跨文档的开放式问题。 模型能力 文本识别 最新的模型能够将图像中的文字转录为机器可读格式。输入内容可能包括: 手写文字 各类文字体系 (如拉丁文、阿拉伯文、日文等) 数学公式 化学方程式 图片、版面或页码标签 OCR 模型会将这些内容转换为机器可读的文本,输出格式多种多样,比如 HTML、Markdown 等。 处理文档中的复杂组件 除了文字,某些模型还能识别: 图片 图表 表格 部分模型能识别文档中图片的精确位置,提取其坐标,并在输出中将图片嵌入对应位置。 另一些模型还能为图片生成说明文字 (caption) ,并在适当位置插入。这对于后续将机器可读输出传入 LLM (大型语言模型) 尤为有用。 例如, OlmOCR (AllenAI 出品) 和 PaddleOCR-VL (PaddlePaddle 出品) 就是代表。 不同模型使用不同的输出格式,例如 DocTags、HTML、Markdown (后文输出格式一节有详细说明) 。 模型处理表格与图表的方式通常取决于所采用的输出格式: 有些模型将图表当作图片直接保留; 有些模型则会将其转换为可解析的结构化格式,如 Markdown 表格或 JSON。 例如,下图展示了一个柱状图如何被转换成机器可读的形式: 同样地,表格中的单元格也会被解析为机器可读格式,并保留列名与标题的上下文关系: 输出格式 不同 OCR 模型采用的输出格式不同,以下是几种主流格式的简介: DocTag: 一种类似 XML 的文档标记格式,可表达位置信息、文本样式、组件层级等。下图展示了一篇论文如何被解析为 DocTags。该格式由开源的 Docling 模型使用。 HTML: 是最常见的文档解析格式之一,能较好地表达结构与层级信息。 Markdown: 人类可读性最强,格式简洁,但表达能力有限 (如无法准确表示多列表格) 。 JSON: 通常用于表示表格或图表中的结构化信息,而非完整文档。 选择合适的模型,取决于你对输出结果的用途: 目标场景 推荐格式 数字化重建 (重现原始文档版式) 使用保留布局的格式,如 DocTags 或 HTML LLM 输入或问答场景 使用输出 Markdown 和图像说明的模型 (更接近自然语言) 程序化处理 (如数据分析) 选择能输出结构化 JSON 的模型 OCR 的位置感知 文档常常结构复杂,比如多栏文本、浮动图片、脚注等。早期的 OCR 模型通常先识别文字,再通过后处理手动推断页面布局,以恢复阅读顺序——这种方式既脆弱又易错。 现代 OCR 模型则会在输出中直接包含版面布局信息 (称为 “锚点”或 “grounding”) ,如文字的边界框 (bounding box) 。 这种“锚定”机制能有效保持阅读顺序与语义连贯性,同时减少“幻觉式识别” (即错误生成内容) 。
阅读全文