扫描合同中的公司名称能否自动录入?产品截图里的按钮为什么无法点击?一张同时包含文字、表格和趋势图的报告,怎样转换成可查询的数据?
这些问题都以图像为输入,但并不属于同一种任务。有人把它们统称为OCR,也有人认为接入多模态大模型后就不再需要OCR。两种说法都忽略了一个关键区别:读取图像中的文字,与理解这些文字、图形和空间关系,并不是同一层能力。
对于正在研究文档自动化、内容处理和智能体应用的开发者来说,弄清这条边界,比单纯比较模型名称更重要。本文以OPC中国常见的小型AI应用为背景,系统说明OCR与多模态视觉模型的差异、组合方式和工程注意事项。
一、OCR解决的是“图像中的字符是什么”
OCR是Optical Character Recognition,即光学字符识别。它的基本目标,是将图片或扫描件中的字符转换为机器可处理的文本。
一条典型的OCR流水线通常包括:
- 图像预处理,例如旋转校正、去噪、裁边和对比度增强;
- 文本检测,找出文字所在的区域;
- 文本识别,将区域内的像素转换为字符;
- 版面分析,恢复段落、行列、表格或阅读顺序;
- 后处理,结合词典、格式规则或业务字段纠正结果。
如果输入是一张发票,OCR可以尝试输出“购买方名称”“金额”“开票日期”等文字及其坐标;如果输入是一页扫描书籍,它可以恢复连续文本;如果输入是表格,则还需要判断单元格边界以及内容属于哪一行、哪一列。
OCR的优势在于目标明确。对于批量文字提取、字段位置固定、结果需要逐字核对的任务,专用OCR通常更容易评估,也更容易与规则系统结合。
但OCR识别到“增长12%”,并不意味着它理解这是同比增长还是环比增长;识别到图例中的“华东”,也不一定知道它对应饼图的哪一块。字符正确只是文档理解的起点。
二、多模态大模型解决的是“这些视觉信息意味着什么”
多模态视觉模型能够同时接收图像和文本提示,并围绕图像内容进行描述、问答、推理或结构化提取。它不仅关注字符,还会综合对象、位置、颜色、布局以及上下文。
面对一张仪表盘截图,可以向模型提出:
- 哪项指标出现明显下降?
- 图表与右侧结论是否一致?
- 页面当前处于什么操作状态?
- 请把商品名称、图片特征和价格整理成JSON。
这些问题无法只靠字符识别完成。模型需要将文字与图表、控件、图片或空间关系联系起来。
阿里云百炼的视觉理解文档将图像分析、视频理解、OCR和结构化输出放在同一视觉能力体系中。文档也指出,视觉输入可以用于获取JSON形式的结构化结果。这说明工程入口虽然可以统一,底层任务仍然要按“读取字符”还是“理解语义”来设计。
三、两者的差异,不只是模型大小
可以从五个维度理解OCR与多模态大模型的区别。
| 对比维度 | OCR | 多模态视觉模型 |
| 核心目标 | 字符、位置和版面提取 | 图像内容理解、问答与推理 |
| 常见输出 | 文本、坐标、表格结构 | 描述、结论、字段或JSON |
| 擅长任务 | 批量录入、全文转写、固定字段抽取 | 图表解读、页面理解、跨区域关联 |
| 可验证性 | 可逐字符、逐字段比较 | 需要按任务设计语义评测 |
| 主要风险 | 漏字、错字、阅读顺序错误 | 误解关系、生成图中不存在的信息 |
这张表并不是要判定谁更先进。两类系统优化的目标不同:
- 要把数万页扫描资料变成可搜索文本,首先要关注识别准确率、版面还原与吞吐量;
- 要回答“这份报告中哪个风险最值得关注”,则需要综合标题、正文、图表和上下文;
- 要从固定模板中稳定抽取字段,OCR加规则可能已经足够;
- 要处理模板变化大、字段依赖上下文的材料,多模态模型更有适应性,但仍需要校验。
四、为什么多模态模型不能简单替代OCR
1. “看懂”不等于逐字无误
多模态模型可能正确概括一页报告,却在某个编号、小数点或日期上出现偏差。对内容摘要而言,这个偏差未必改变主旨;对合同编号、银行账号或金额而言,一个字符错误就可能使结果不可用。
因此,凡是要求精确转写的字段,都应该保留原图证据、坐标信息和明确的核对机制。
2. 成本与延迟模型不同
图像分辨率越高,需要处理的视觉信息越多。阿里云官方视觉理解文档明确提示,更高分辨率会消耗更多Token。若把每一页文档都以原始高分辨率交给通用视觉模型,成本与响应时间可能不符合批处理需求。
工程上可以先裁剪、压缩或筛选页面,只把需要语义判断的区域交给视觉模型,而不是默认处理整张大图。
3. 输出稳定性要求不同
OCR输出通常可以被约束为文本块、坐标和置信度。多模态模型的自然语言回答更灵活,但下游程序需要稳定字段。
即使模型支持结构化输出,也要验证字段类型、枚举范围、必填项和跨字段关系。所谓“返回了JSON”,只说明语法可能正确,不代表业务事实一定正确。
五、也不要让OCR承担它不擅长的理解任务
另一个常见误区,是先用OCR把所有文字提出来,再把纯文本交给大模型,认为这样就完成了视觉理解。
这一做法可能丢失重要信息:
- 标题与正文的层级关系;
- 表格单元格的行列归属;
- 图例、颜色与数据系列的对应关系;
- 图片与旁边说明文字的关系;
- 页面中的箭头、流程方向与空间分组。
例如,OCR能够读取流程图中所有节点文字,但如果文本被按错误顺序拼接,后续语言模型就很难还原真实流程。对复杂版面,空间本身就是信息。
阿里云百炼的知识库文档将“视觉理解(富文本文档)”用于包含复杂排版、图表和公式的材料,并强调保留原始版面信息。这类设计的意义,正是避免文档在纯文本化时损失视觉语义。
六、更稳妥的方案:OCR与多模态模型协同
实际项目中,更实用的架构通常不是二选一,而是按任务分层。
一条可控的文档处理流水线可以这样设计:
第一步:预处理与页面分类
先完成方向校正、清晰度检测、重复页判断,并区分纯文本页、表格页、图表页和混合页面。质量过低的图片应提前拦截,避免模型在不可读输入上继续猜测。
第二步:OCR提取基础证据
保存文字、坐标、页面编号、表格结构和识别置信度。这里的结果不是最终答案,而是一份可追溯的基础证据。
第三步:多模态模型完成语义任务
把原图、必要的OCR结果和明确问题一起交给视觉模型,例如:
- 判断字段在文档中的语义角色;
- 解释图表所表达的趋势;
- 关联图片、标题与说明;
- 将非固定模板映射到统一业务字段。
第四步:规则校验与交叉验证
将模型输出与OCR证据、业务规则和已有数据比较。日期是否有效,金额小计能否对上总额,必填字段是否齐全,引用内容是否能在原图中定位,都可以成为校验条件。
第五步:低置信度结果转人工
模糊图片、结果冲突、关键字段缺失或高风险材料不应静默进入下游。系统需要把原图、候选结果和失败原因一起展示给审核人员。
这一步并非自动化失败,而是可靠系统正常的一部分。
七、结构化输出之后,还要做业务校验
假设系统要从合同首页提取以下数据:
{
"party_a": "某某科技有限公司",
"party_b": "某某工作室",
"effective_date": "2026-07-31",
"amount": 50000,
"currency": "CNY"
}
应用层至少还应检查:
party_a与party_b是否同时存在;- 日期是否符合ISO格式且确实出现在原文;
- 金额是否为非负数;
- 币种是否属于允许集合;
- 金额与币种是否来自同一区域或同一条款;
- 关键字段是否能够回指到页码和坐标。
如果结果用于检索或辅助阅读,校验可以相对宽松;如果会触发付款、建档或对外回复,校验和人工确认必须更严格。技术方案应由错误后果决定,而不应只由模型能力决定。
八、模型选型前,先建立小型评测集
不要只用一张清晰截图判断方案是否可用。更合理的做法,是从真实业务中抽取一组经过脱敏的样本,覆盖:
- 清晰扫描件与手机倾斜拍摄;
- 单栏文字与复杂多栏排版;
- 普通表格与合并单元格;
- 印刷体与手写内容;
- 中文、英文、数字和特殊符号混排;
- 关键字段缺失、重复或相互冲突的异常样本。
评测指标也应按任务拆开:字符准确率、字段准确率、表格结构恢复率、问题回答正确率、拒答率、平均延迟与单页成本,不能混成一个模糊的“效果不错”。
阿里云百炼提供训练集与评测集的数据管理能力。无论是否使用平台评测功能,建立固定样本、固定答案和固定指标,都是模型升级或提示词调整后判断效果是否退化的基础。
九、适合一人开发者的最小实现路径
对于资源有限的个人开发者或一人公司,可以从一个非常窄的场景开始:
- 只选择一种文档,例如固定类型的报价单;
- 先定义5到10个真正需要的字段;
- 保存原图与识别位置,不只保存最终文本;
- 用规则检查日期、金额和必填项;
- 将异常样本进入人工复核队列;
- 累积一批真实错误后,再决定是否增加多模态理解。
这种路径的好处是,系统价值和错误边界都容易观察。与其一开始宣称“理解所有文档”,不如先把一种文档处理得稳定、可追溯。
结语
OCR把像素转换为字符,多模态大模型则尝试把字符、对象、布局和上下文转换为意义。前者强调精确读取,后者擅长综合理解;前者并没有过时,后者也不是无需校验的万能替代品。
在OPC中国相关的AI应用实践中,一套小而可靠的文档系统,通常会让OCR提供可定位的事实证据,让多模态模型处理难以规则化的视觉语义,再用结构校验和人工复核守住最终结果。
真正成熟的技术选型,不是追逐能力最宽的模型,而是先问清楚:系统究竟要读出什么、理解什么,以及一旦判断错误,应该在哪里停下来。