OCR vs VLM:为什么你需要两者(以及混合方法如何取胜)

发布: (2026年3月20日 GMT+8 05:39)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的完整文本内容,我将为您翻译成简体中文并保留原有的格式、Markdown 语法以及技术术语。谢谢!

Source:

文档处理:OCR + 视觉语言模型

多年来,文档处理一直停留在二元选择上:使用 传统 OCR 以获得速度和可靠性,或使用 AI 视觉模型 以实现理解。业界将两者视为竞争的方案,但这种框架是错误的。

如今最好的文档处理系统 同时结合两者

  • 传统 OCR 负责它擅长的工作:以高准确率、低计算成本提取原始文本。
  • 视觉语言模型(VLM) 负责 OCR 做不到的工作:理解版面、检测样式、重建文档结构。

这不是竞争,而是堆叠。

1. 传统 OCR

光学字符识别自 1950 年代就已出现。像 Tesseract 或基于云的 API 这样的现代 OCR 引擎在一个特定任务上表现卓越:将像素转换为字符。

当你把扫描文档交给传统 OCR 引擎时,它会执行以下几个步骤:

  1. 二值化 – 将图像转换为黑白,以分离文本。
  2. 版面分析 – 区分文本区域和图像区域。
  3. 行与词分割 – 将文本切分为可处理的单元。
  4. 字符识别 – 使用训练好的模型将字形匹配为字符。
  5. 后处理 – 应用语言模型修正识别错误。

输出是一串文本(有时带有边界框和基本的格式提示)。

典型 OCR 输出结构

ocr_result = {
    "text": "Invoice #12345\nDate: 2024-01-15\nTotal: $1,250.00",
    "confidence": 0.94,
    "blocks": [
        {"text": "Invoice #12345", "bbox": [100, 50, 300, 80]},
        {"text": "Date: 2024-01-15", "bbox": [100, 90, 280, 120]},
        {"text": "Total: $1,250.00", "bbox": [100, 130, 280, 160]}
    ]
}

这在处理直接的文档时效果良好:扫描清晰、版面简单、文本密集。

OCR 的根本盲点

OCR 失去的内容为什么重要
排版与样式 – 例如,“Introduction” 是公司蓝色的 24 pt 粗体标题。没有视觉样式信息。
空间关系 – 多列排版常被弄乱。阅读顺序错误。
表格 – 单元格被展平成线性文本。结构需要猜测,往往错误。
页眉页脚 – 重复的页眉会变成重复内容。提取的文本中出现噪声。
图片与图形 – 被忽略或缺少上下文(位置、说明)。缺失视觉信息。
章节层级 – 无法区分章节标题与子标题。大纲信息丢失。

结果是一个 平面文本文件,所有文档语义都被剥离。对于简单的搜索索引可能已经足够,但对于文档重建则毫无用处。

2. 视觉语言模型(VLM)

VLM 采用根本不同的方式。它们不是把文本当作字符序列处理,而是把 整页作为图像 来处理,并基于视觉理解生成结构化输出。

VLM “看到” 文档的方式类似于人类:

  • 识别出顶部的大号粗体文字是 标题
  • 理解带边框的网格是 表格
  • 注意到页脚的页码 不应 成为正文的一部分。

VLM 风格的结构化输出

vlm_result = {
    "title": "Q4 Financial Report",
    "sections": [
        {
            "heading": "Executive Summary",
            "level": 1,
            "content": "Revenue increased by 23% year-over-year..."
        },
        {
            "heading": "Regional Breakdown",
            "level": 2,
            "table": {
                "headers": ["Region", "Revenue", "Growth"],
                "rows": [
                    ["North America", "$2.1M", "+18%"],
                    ["Europe", "$1.8M", "+27%"],
                    ["Asia Pacific", "$0.9M", "+31%"]
                ]
            }
        }
    ]
}
{
    "document": {
        "title": "Annual Report 2023",
        "author": "Acme Corp",
        "sections": [
            {
                "heading": "Executive Summary",
                "content": "..."
            },
            {
                "heading": "Financial Overview",
                "subsections": [
                    {
                        "heading": "Revenue",
                        "content": "..."
                    },
                    {
                        "heading": "Expenses",
                        "content": "..."
                    }
                ]
            }
        ]
    },
    "metadata": {
        "page_count": 12,
        "has_cover_page": true,
        "contains_charts": true
    }
}

VLM 在理解文档结构方面表现出色。它们能够识别:

  • 文档类型(invoice、contract、report、letter)
  • 章节层级和嵌套(h1‑h6)
  • 表格及其单元格关系
  • 图形、图表及其标题
  • 阅读顺序
0 浏览
Back to Blog

相关文章

阅读更多 »