OCR 概述
OCR技术作为机器视觉领域一个非常重要的研究反向,涉及的应用领域多种多样。现今,各应用领域已经出现了非常多的产品,包括卡片证件类识别、票据类识别、文字信息结构化视频类识别、自然场景下的文字识别等。本文主要从数据、算法两个方面概述目前OCR较为成熟的解决方案。
深度学习算法是非常依赖于数据数量与质量的,OCR也不例外。一般OCR任务中不仅需要识别具体的文字内容,还要识别文字具体所在位置,甚至结构化组织识别信息,所以图像数据中的监督信息就包括文字位置坐标和相应文本内容。标注数据的来源一般分为两类:人工标注和程序(模型)自动生成。
一般人工标注的成本比较大,首先需要搭建合适的标注平台,好在github上有几个开源的关于目标检测任务的标注平台供选择(参见 十个最常用深度学习图像/视频数据标注工具 或者 深度学习图像标注工具汇总 )。其次,构建专业的标注团队,尤其是涉及垂直领域的任务。另外还要设计数据质量监控机制,如标注数据交叉验证等。
数据自动生成的数据量大,成本小,唯一需要担心的就是生成的数据分布与真实数据分布有显著差异。针对文本检测和文本识别,目前的数据生成方案基本都是模拟真实背景,同时平滑地嵌入文本内容。
那么标注或生成多少数据量合适呢?当然,高质量数据肯定是越多越好的,如果非要给一个下限,一般文本检测任务图片数据量在万张级别,文本识别任务在百万张级别。
整体OCR识别算法一般是分为两个部分:文本检测和文本识别。
文本检测与目标检测算法的发展是息息相关的。目前主流的目标检测算法分为两类:
通用的目标检测算法对文本一般检测都不精准,原因主要包括大多数文本没有闭合边缘、文本行方向任意、文本排列不规则等,需要结合文本的结构与分布特点优化检测模块,其中包括 CTPN 、 SegLink 、 Rotation RPN 、 Textboxes 等。
文本识别模型一般分为特征提取器(编码器)和解码器。
目前针对不同识别场景的都有相应的算法调优方案,模型拟合能力方面已经有了长足进步。相较于算法,如何获取高质量数据很大程度上影响着整个OCR项目成败,打通整个数据链路会是深度学习项目的关键,也会成为企业的核心竞争力。
2023-08-25 广告