OCR(光学字符识别)
OCR把图片里的字读出来
亦作、亦称:光学字符识别 · Optical Character Recognition
OCR(光学字符识别,Optical Character Recognition)是从扫描件、照片或自然场景图像中自动检测并提取文字的计算机视觉基础技术。它是文档数字化、发票理解、多模态大模型等众多 AI 应用的核心底层能力,也是连接物理世界文字信息与数字化处理的关键桥梁。
概述
OCR 将「图像中的文字」转换为机器可读文本,是文档智能与人机交互的关键入口。
- 核心任务:输入为含文字的图像(扫描件、照片、截图),输出对应的 Unicode 文本字符串及位置坐标。
- 两大子任务:文本检测(定位文字区域,返回包围框或多边形)与文字识别(解读字符内容),现代方案通常端到端完成。
- 版面分析:复杂文档还需理解页面结构(标题、段落、表格、图注),再分区识别,称为版面理解(Document Layout Analysis)。
- 重要性:OCR 输出质量直接决定下游文档问答、信息抽取、RAG 召回等任务的效果上限。
工作原理
现代 OCR 流水线由检测、识别、后处理三阶段串联,或由端到端网络一次性完成。
- 文本检测:主流方法包括 EAST(高效文本检测器,2017)和 DBNet(可微分二值化,2020),输出文字区域的包围框或任意形状多边形。
- 文字识别:对检测到的文字块逐行识别;经典架构是 CRNN(卷积层提取特征列 → 双向 LSTM 建模序列 → CTC 解码),现代方案也有基于 Transformer 的注意力解码。
- 端到端方案:PaddleOCR(百度)、TrOCR(微软,2021)等将检测与识别合并为统一网络,减少级联误差。
- 版面理解:LayoutLM 系列(微软,2020)将文字内容与版面坐标联合预训练,支持结构化文档抽取。
- 后处理:语言模型纠错、阅读顺序排序、表格行列重建,提升输出可用性。
类型与变体
OCR 场景多样,不同场景对应不同技术路线与评测基准。
- 印刷体 OCR:字体规整、背景干净,商业系统准确率可超 99%,Tesseract(HP 开发、Google 开源)是代表性开源引擎。
- 手写体识别(HTR):笔迹个性化程度高,需大规模手写数据训练,准确率仍显著低于印刷体。
- 场景文字识别(STR):自然场景字体多变、光照复杂,代表基准数据集有 IIIT-5K、CUTE80、ICDAR 系列。
- 表格识别:除字符外还需还原行列结构,代表方法有 TableMaster、LGPMA,评测用 TEDS 指标。
- 公式 OCR:数学公式需输出 LaTeX 等结构化格式,专用模型有 Pix2Tex(LaTeX-OCR)等,难度远高于普通文字识别。
应用场景
OCR 是众多行业数字化流程的基础组件,应用场景持续向多模态 AI 延伸。
- 金融与行政:发票、合同、银行流水自动提取结构化信息,大幅减少人工录入错误。
- 档案数字化:图书馆和政府机构将历史文献扫描后转为可全文检索的数字资产。
- 移动端拍照应用:拍照翻译、搜题、名片扫描等功能的底层驱动能力。
- 车牌与证件识别:停车场、海关实时识别车牌、护照、身份证号码。
- 多模态 RAG:PDF 和图片文档须经 OCR 前处理才能进入向量检索,是 RAG 流水线的必要环节。
- Computer Use:AI Agent 操作屏幕时依赖 OCR 或多模态模型理解界面文字,是自动化的基础感知层。
发展脉络
OCR 历史超过半个世纪,深度学习驱动了近年质的飞跃。
- 1914 年:物理学家 Emanuel Goldberg 发明可读取字符并转为电报码的机器,是 OCR 的早期雏形。
- 1929 年:Gustav Tauschek 在德国获得「阅读机器」专利,被视为最早的 OCR 装置。
- 1950 年代:IBM 等公司推出商业 OCR 设备,并在 1959 年正式确立「Optical Character Recognition」术语。
- 1974 年:Ray Kurzweil 开发出首个能识别任意正常字体(全字体 OCR)的系统。
- 1985 年:Tesseract 由 HP 实验室研发,2006 年由 Google 接手并开源,成为最具影响力的开源引擎之一。
- 2015 年:CRNN + CTC 方案发表,深度学习首次在不规则场景文字识别上大幅超越传统方法。
- 2017 年:EAST 检测器发布,奠定现代两阶段 OCR 流水线基础。
- 2020 年:微软提出 LayoutLM,将 OCR 文字与版面坐标融入预训练,推动文档理解进入大模型时代。
- 2022 年至今:PaddleOCR(百度)、TrOCR(微软)等工业级开源方案成熟;多模态大模型内置文字感知能力,OCR 逐渐成为多模态 AI 基础设施的标配。
与相邻概念的区别
OCR 常与文档理解、多模态模型等概念混淆,需明确边界。
- OCR vs 文档理解:OCR 输出原始文字序列,文档理解还需在此基础上提取语义结构(键值对、表格内容、章节层级),OCR 是文档理解的必要子任务而非全部。
- OCR vs 场景文字识别(STR):STR 是 OCR 的子集,专指自然场景(非文档)图像中的文字识别,背景复杂、字体多变,难度更高。
- OCR vs 多模态大模型:GPT-4V、Qwen-VL 等能理解图像整体语义,但在密集小字、复杂表格的精度和稳定性上仍不及专用 OCR 引擎,二者互补而非替代。
- OCR vs 图像分类:图像分类输出离散类别标签,OCR 输出连续字符序列,任务形式与技术路线均不同。
局限与误区
OCR 在若干场景下准确率显著下降,也存在常见认知误区。
- 低质量图像:模糊、强反光、严重倾斜时识别率大幅降低,通常需图像预处理(去噪、矫正、超分辨率)作为前置步骤。
- 手写与艺术字体:高度风格化或潦草的笔迹对现有模型仍是挑战,错误率远高于印刷体。
- 多语言混排:中英文夹杂时字符边界判断困难,小语种因训练数据稀缺准确率参差不齐。
- 误区——「识别率高等于结构理解好」:字符识别正确不代表表格行列关系、阅读顺序等结构信息也正确,结构化抽取需额外后处理或专用模型。
- 误区——「多模态大模型已取代专用 OCR」:通用视觉语言模型对超长文档、密集文字处理仍不稳定,工业场景下专用 OCR 引擎依然不可或缺。
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「把图片里的字读出来」
- 「扫描件转文字」
- 「多模态读屏基础能力」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 中级场景查看详解 →
如何用 AI 做票据 / 证件的 OCR 信息提取?
OCR 或多模态大模型读图拿文本,再用 LLM 按 schema 抽字段并校验,模糊手写需置信度和人工复核。
- 高级概念查看详解 →
OCR-Free 的文档理解模型如何工作?
OCR-Free 模型(Donut/Pix2Struct)直接从文档像素端到端生成结构化文本,省去独立 OCR 管线。
- 中级概念查看详解 →
什么是 N 元语法?对语言建模有何贡献?
n-gram 是连续 n 个 token 的片段。n-gram [语言模型](/glossary/language-model) 用马尔可夫假设 $P(w_t|w_{1:t-1})\approx P(w_t|w_{t-n+1:t-1})$ 估计下一个词概率,是统计 LM 基础;配合平滑(Kneser-Ney)可算 [困
- 中级概念查看详解 →
计算机视觉系统包含哪些关键组件?
完整 CV 系统含:**传感采集**(相机标定)→ **预处理**(去噪、resize)→ **模型推理**([CNN](/glossary/cnn)/检测器)→ **后处理**(NMS、跟踪、融合)→ **业务逻辑**(告警、可视化)→ **部署监控**(TensorRT、延迟、漂移)。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
外部参考
维基百科:查看「OCR」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
