文章目录
1. OCR 算法流程
OCR (Optical Character Recognition,光学字符识别) 是指提取图像中的文字信息。
1.1 传统 OCR 方法
传统 OCR 方法一般包含预处理、版面处理、字符切分、字符识别、后处理等五个步骤:
传统 ORC 方法的缺点有:
- 预处理和版面分析都是基于传统图像处理方法以及人工定义的规则,通常是基于固定场景开发的,无法迁移到其它场景中,应用范围有限。
- 字符识别方法基于人工特征,鲁棒性不足,在字体变化或者背景干扰情况下,分类器的识别效果会大打折扣。
- 流程繁杂,各个模块互相独立,导致难以整体调优,同时各个模块串联也会导致误差传递,造成整体识别精度不高。
总体来讲,受传统算法的局限性,传统 OCR 仅在比较规整的印刷文档上表现比较好,但在复杂场景(图像模糊、低分辨率、干扰信息)中,文字检测和识别性能都不够理想。
1.2 深度学习 OCR 方法
深度学习时代的 OCR 算法更为简洁,主要可以分为两种思路:
- two-stage方法:文字检测+文字识别,分别由检测网络和识别网络来完成。
- 端到端方法:直接输出识别后的文本,由一个大网络来完成。