Fast Data是滴普针对图像和数据打造的智能算法产品,分为图像识别和数据AI两大模块,图像识别部分主要基于深度学习和模式识别算法实现目标检测、分类、识别,机器视觉模块应用于工业缺陷检测、安防识别,其中OCR字符识别是图像识别模块的重要组成部分,接下来我们将从传统OCR的典型算法、应用领域展开分析,再结合滴普的实践,对传统OCR算法改进作深入剖析。
1.OCR技术简述
光学字符识别(Optical Character Recognition,OCR)是从图像中识别出文字的技术,利用机器将图像中手写或印刷文本转换为计算机可以直接处理的格式。文字识别是计算机视觉研究领域的分支之一,处于研究较深入的阶段,当前已取得不少商业应用。前有百度,阿里,腾讯等OCR云服务平台,后有汉王,合合信息,ABBYY,文通等OCR定制化系统集成提供商。OCR 技术能够处理多种不同场景的图像,包括拍摄或扫描得到的各种卡证、纸质文档图像,也包括含有文字的自然场景图像和叠加了字幕文本的视频图像等,被广泛运用于工业、商业和证券金融等领域。
2.OCR技术路线
在深度学习没有全面推广之前,大部分OCR识别都是基于传统机器视觉方法进行检测识别。在背景单一、数据场景简单的情况下,传统OCR一般都能达到好的效果,但在一些场景复杂、干扰多的情况下,识别效果不好,深度学习OCR此时体现出巨大的优势。2016年,Google DeepeMind发布以深度学习技术为基础的AlphaGo机器人[1],以4:1的比分战胜了国际顶尖围棋高手李世石,深度学习的热度一时无两。基于深度学习技术的OCR识别框架以另外一种新的思路迅速突破了原有的技术瓶颈,并已在工业界得到广泛应用。
Fig 1. 基于传统机器视觉OCR技术实现流程
OCR技术在复杂场景下面临这以下挑战。
成像复杂:噪声、模糊、光线变化、形变;
文字复杂:字体、字号、色彩、磨损、笔画宽度任意、方向任意;
场景复杂:版面缺失、背景干扰;
特征单一:人工指定特征算子,能够表征的信息有限,无法提取深层语义信息。
2.2 深度学习技术
基于深度学习的OCR技术主要包括两种方法,第一种是分为文字检测和文字识别两个阶段;第二种则是通过端对端的模型一次性完成文字的检测和识别。
检测算法:CTPN、TextBoxes、Seglink、EAST等;
识别算法:CRNN、CRNN+CTC、Seq2Seq-Attention等;
End-to-End算法:FOTS、Mask TextSpotter等。