作者 | 北京矩视智能科技有限公司

责编 | 贾伟

文本是人类最主要的信息来源之一,自然场景中充满了形形色色的笔墨符号。
在过去的十几年中,研究职员一贯在探索如何能够快速准确的从图像中读取文本信息,也便是现在OCR技能。

工业场景下的图像文本识别更为繁芜,它会涌如今许多不同的情景下,如医药包装上的笔墨、各种钢制零部件上的字符、集装箱表面喷印的字符、商铺Logo上的个性化字符等等。

一文全览深度进修时代下复杂场景下的 OCR 若何实现

在这类图像中,笔墨部分可能会呈现为波折排列、曲面异形、倾斜分布、褶皱变形、残缺不全等多种形式,与标准字符的特色有较大出入,从而给图像笔墨的检测与识别带来了困难。

传统算法

传统OCR技能常日利用OpenCV算法库,通过图像处理和统计机器学习方法提取图像中的笔墨信息,用到的技能包括二值化、噪声滤除、连通域剖析和Adaboost、SVM等。

按处理办法可以将传统OCR技能划分为图片预处理、笔墨识别、后处理三个阶段,其详细的技能流程如下表所示。

针对大略场景下的图片,传统OCR已经取得了很好的识别效果。
但是从操作流程可以看出,传统方法是针对特定场景的图像进行建模的,一旦跳出当前场景,模型就会失落效。
随着近些年深度学习技能的迅速发展,基于深度学习的OCR技能也已逐渐成熟,能够灵巧应对不同场景。

深度学习

目前,基于深度学习的场景笔墨识别紧张包括两种方法,第一种是分为笔墨检测和笔墨识别两个阶段;第二种则是通过端对真个模型一次性完成笔墨的检测和识别。

1、笔墨检测

顾名思义,笔墨检测便是要检测到图片中笔墨所在的区域,其核心是区分笔墨和背景。
常用的笔墨检测算法包括以下几种:

1)CTPN [1]

CTPN是ECCV 2016提出的一种笔墨检测算法,由Faster RCNN改进而来,结合了CNN与LSTM深度网络,其支持任意尺寸的图像输入,并能够直接在卷积层中定位文本行。

CTPN由检测小尺度文本框、循环连接文本框、文本行边细化三个部分组成,详细实现流程为:

利用VGG16网络提取特色,得到conv5­_3的特色图;

在所得特色图上利用33滑动窗口进行滑动,得到相应的特色向量;

将所得特色向量输入BLSTM,学习序列特色,然后连接一个全连接FC层;

末了输出层输出结果。

CTPN是基于Anchor的算法,在检测横向分布的笔墨时能得到较好的效果。
此外,BLSTM的加入也进一步提高了其检测能力。

2)TextBoxes/TextBoxes++ [2,3]

TextBoxes和TextBoxes++模型都来自华中科技大学的白翔老师团队,个中TextBoxes是改进版的SSD,而TextBoxes++则是在前者的根本上连续扩展。

TextBoxes共有28层卷积,前13层来自于VGG-16(conv_1到conv4_3),后接9个额外的卷积层,末了是包含6个卷积层的多重输出层,被称为text-box layers,分别和前面的9个卷积层相连。
由于这些default box都是苗条型的,使得box在水平方向密集在垂直方向上稀疏,从而导致该模型对水平方向上的笔墨检测结果较好。

TextBoxes++保留了TextBoxes的基本框架,只是对卷积层的组成进行了略微调度,同时调度了default box的纵横比和输出阶段的卷积核大小,使得模型能够检测任意方向的笔墨。

3)EAST [4]

EAST算法是一个高效且准确的笔墨检测算法,仅包括全卷积网络检测文本行候选框和NMS算法过滤冗余候选框两个步骤。

其网络构造结合了HyperNet和U-shape思想,由三部分组成:

特色提取:利用PVANet/VGG16提取四个级别的特色图;

特色合并:利用上采样、串联、卷积等操作得到合并的特色图;

输出层:输出单通道的分数特色图和多通道的几何特色图。

EAST算法借助其独特的构造和简练的pipline,可以检测不同方向、不同尺寸的笔墨且运行速率快,效率高。

2、笔墨识别

通过笔墨检测对图片中的笔墨区域进行定位后,还须要对区域内的笔墨进行识别。
针对笔墨识别部分目前存在几种架构,下面将分别展开先容。

1)CNN + softmax [5]

此方法紧张用于街牌号识别,对每个字符识别的架构为:先利用卷积网络提取特色,然后利用N+1个softmax分类器对每个字符进行分类。
详细流程如下图所示:

利用此方法可以处理不定长的大略笔墨序列(如字符和字母),但是对较长的字符序列识别效果不佳。

2)CNN + RNN + attention [6]

本方法是基于视觉把稳力的笔墨识别算法。
紧张分为以下三步:

模型首先在输入图片上运行滑动CNN以提取特色;

将所得特色序列输入到推叠在CNN顶部的LSTM进行特色序列的编码;

利用把稳力模型进行解码,并输出标签序列。

本方法采取的attention模型许可解码器在每一步的解码过程中,将编码器的隐蔽状态通过加权均匀,打算可变的高下文向量,因此可以时候读取最干系的信息,而不必完备依赖于上一时候的隐蔽状态。

3)CNN + stacked CNN + CTC [7]

上一节中提到的CNN + RNN + attention方法不可避免的利用到RNN架构,RNN可以有效的学习高下文信息并捕获长期依赖关系,但其弘大的递归网络打算量和梯度消逝/爆炸的问题导致RNN很难演习。
基于此,有研究职员提出利用CNN与CTC结合的卷积网络天生标签序列,没有任何重复连接。

这种方法的全体网络架构如下图所示,分为三个部分:

把稳特色编码器:提取图片中笔墨区域的特色向量,并天生特色序列;

卷积序列建模:将特色序列转换为二维特色图输入CNN,获取序列中的高下文关系;

CTC:得到末了的标签序列。

本方法基于CNN算法,比较RNN节省了内存空间,且通过卷积的并走运算提高了运算速率。

3、端对端笔墨识别

利用笔墨检测加笔墨识别两步法虽然可以实现场景笔墨的识别,但领悟两个步骤的结果时仍需利用大量的手工知识,且会增加韶光的花费,而端对端笔墨识别能够同时完成检测和识别任务,极大的提高了笔墨识别的实时性。

1)STN-ORC [8]

STN-OCR利用单个深度神经网络,以半监督学习办法从自然图像中检测和识别文本。
网络实现流程如下图所示,总体分为两个部分:

定位网络:针对输入图像预测N个变换矩阵,相应的输出N个文本区域,末了借助双线性差值提取相应区域;

识别网络:利用N个提取的文本图像进行文本识别。

本方法的演习集不须要bbox标注,利用友好性较高;但目前此模型还不能完备检测出图像中任意位置的文本,须要在后期连续调度。

2)FOTS [9]

FOTS是一个快速的端对真个笔墨检测与识别框架,通过共享演习特色、互补监督的方法减少了特色提取所需的韶光,从而加快了整体的速率。
其整体构造如图所示:

卷积共享:从输入图象中提取特色,并将底层和高层的特色进行领悟;

文本检测:通过转化共享特色,输出每像素的文本预测;

ROIRotate:将有角度的文本块,通过仿射变换转化为正常的轴对齐的本文块;

文本识别:利用ROIRotate转换的区域特色来得到文本标签。

FOTS是一个将检测和识别集成化的框架,具有速率快、精度高、支持多角度等优点,减少了其他模型带来的文本遗漏、误识别等问题。

总结

本文参考前沿文献,总结了当前主流的OCR场景检测技能。
相对来说,利用基于深度学习的端对端检测模型可以实现快速、准确的笔墨识别,且可以灵巧的运用于倾斜、波折、褶皱变形等繁芜场景。

通过对现有算法模型的细节调度,将成熟的文本识别模型集成化,即可实现工业场景中的OCR识别。

参考文献:

[1] Tian Z et al. Detecting text in natural image with connectionist text proposal network[C]//European conference on computer vision. Springer, Cham, 2016.

[2]Liao M et al. Textboxes: A fast text detector with a single deep neural network [C]//Thirty-First AAAI Conference on Artificial Intelligence. 2017.

[3]Liao M et al. Textboxes++: A single-shot oriented scene text detector[J]. IEEE transactions on image processing, 2018.

[4]Zhou X et al. EAST: an efficient and accurate scene text detector[C]// Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017.

[5]Goodfellow I J et al. Multi-digit number recognition from street view imagery using deep convolutional neural networks[J]. 2013.

[6]Deng Y et al. Image-to-markup generation with coarse-to-fine attention[C]// Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.

[7]Gao Y et al. Reading scene text with fully convolutional sequence modeling[J]. Neurocomputing, 2019.

[8]Bartz C et al. STN-OCR: A single neural network for text detection and text recognition[J]. arXiv preprint arXiv:1707.08831, 2017.

[9]Liu X et al. Fots: Fast oriented text spotting with a unified network [C]// Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.