文字检测、识别与数据标注

本节目标

区分文字检测、行/词识别和端到端文档解析,并设计不会把标注噪声当模型错误的数据集。

三类任务

  • 文字检测(text detection):输出文本区域坐标和检测分数。
  • 文字识别(text recognition):输入已裁剪的文字图,输出字符序列和识别分数。
  • 端到端 OCR:组合检测与识别,可能再加入方向、版面和语言模块。

检测漏掉一行时,识别器无论多好都无法恢复;检测框混入相邻列时,识别器可能输出看似合理却顺序错误的文本。因此评测要分别观察检测覆盖和识别错误。

数据与标注契约

一个训练或评测样本至少记录:图像引用、页码、区域坐标、转写文本、语言/脚本、可读性、标注者与版本。标注规则应明确:

  • 保留原始大小写、空格和标点,还是按任务规范化?
  • 模糊字符写为猜测值、特殊标记,还是跳过?
  • 旋转文字和竖排文字的坐标如何定义?
  • 表格中合并单元格和空单元格如何表示?

先保留“原样转写(verbatim transcription)”,评测时再生成规范化副本。否则无法区分模型错误与评测清洗规则。

划分与泄漏

不要随机拆同一份多页文档的页面:相同模板、字体、章印会泄漏到训练和测试。更稳妥的分组键可能是文档、来源机构、模板或采集批次。测试集要包含真实困难切片,如低清、手写批注、混合语言,但不能只保留极端失败样本。

练习与排查

  1. 为中文票据设计 6 个标注字段,并写清全角/半角处理时机。
  2. 检测框正确、识别文本错,应先查语言模型、裁剪质量还是阅读顺序?先看裁剪和识别;阅读顺序属于后续聚合。
  3. 两名标注者对“1/l/I”不一致,先修规则并复核,不应直接归咎于模型。

下一步与参考

下一步进入 版面、表格与阅读顺序。参考 PaddleOCR 官方 OCR pipeline 文档(latest/version3.x) 和 Tesseract 命令行用法(5.x)(获取日期:2026-07-22)。PaddleOCR 的最新文档会改变默认模型与接口;这些页面只用于理解模块和输出,本课程不依赖其当前 API,实际接入应记录运行时版本与配置。