光学字符识别
概述
光学字符识别(OCR,Optical Character Recognition)是将图像中的文字转换为机器可读文本的技术,是扫描件 PDF 解析的核心手段。
关键内容
在 PDF 解析中的角色
OCR 在 MinerU 中不是全程使用,而是按需激活:
- 文字型 PDF(TextBased 管道):PyMuPDF 直接提取文字 Span(精确坐标),OCR 仅用于图注区域、表格内文字、公式周边等特殊区域
- 扫描件 PDF(OCRBased 管道):整页 OCR,所有文字都靠识别,PyMuPDF 只提供图像不提供文字
- 混合 PDF(Mixed 管道):逐个布局框判断,有文字层直接提取,无文字层走 OCR
这个设计的核心思想:对于文字型 PDF,PyMuPDF 的精确坐标远优于 OCR 识别结果,没有必要浪费计算资源。
OCR 三阶段流水线
现代 OCR 系统(如 PaddleOCR)的完整处理流程:
- 文字区域检测:使用 DBNet++ 等检测模型,输出文字区域的多边形轮廓(而非简单矩形框,能更精确框定倾斜文字行)
- 透视变换矫正:将检测到的多边形文字区域通过透视变换矫正为水平矩形图像
- 文字识别:使用 SVTR 等识别模型,基于 Vision Transformer 架构,通过 CTC解码 输出文字字符串
PaddleOCR 的中文优势
PaddleOCR 的中文识别能力是 MinerU 相比同类工具(Marker、Nougat)的核心差异化优势:
| 工具 | 中文支持 |
|---|---|
| MinerU(PaddleOCR) | ✅ 极佳 |
| Marker | ⚠️ |
| Nougat | ❌ |
中文 OCR 的特殊挑战
- 字符集规模:英文约 100 个字符,中文常用字 3500+,完整字符集 70000+。PaddleOCR 使用 GB2312 标准的 6763 个常用汉字
- 字形相似度:大量形近字(己/已/巳,戊/戌/戍),需要通过大规模训练数据和语言模型后处理
- 中英混排:学术论文中大量存在中英文混排,需要统一字符集
- 垂直排版:古籍、传统排版使用竖排,需要方向分类器先识别文字方向
OCR 结果质量过滤
OCR 原始输出需要多层过滤: - 置信度过滤:默认阈值 0.5 - 乱码检测:特殊字符比例 > 0.3 视为乱码 - 空白行和极短文本过滤:长度 < 2 或仅有标点的行过滤掉
来源
- raw/assets/MinerU/minerU_01_architecture.md — MinerU 深度解析系列 · 第一篇
- raw/assets/MinerU/minerU_04_ocr.md — MinerU 深度解析系列 · 第四篇:OCR 引擎