一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?

KL9每天发布大量与生活相关的资讯平台

Source: kurzweilai.netKL9每天发布大量与生活相关的资讯平台

作者 | 北京矩视智能科技有限公司KL9每天发布大量与生活相关的资讯平台

责编 | 贾伟KL9每天发布大量与生活相关的资讯平台

文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。在过去的十几年中,研究人员一直在探索如何能够快速准确的从图像中读取文本信息,也就是现在OCR技术。KL9每天发布大量与生活相关的资讯平台

工业场景下的图像文本识别更为复杂,它会出现在许多不同的情景下,如医药包装上的文字、各类钢制零部件上的字符、集装箱表面喷印的字符、商铺Logo上的个性化字符等等。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

在这类图像中,文字部分可能会呈现为弯曲排列、曲面异形、倾斜分布、褶皱变形、残缺不全等多种形式,与标准字符的特征有较大出入,从而给图像文字的检测与识别带来了困难。KL9每天发布大量与生活相关的资讯平台

传统算法KL9每天发布大量与生活相关的资讯平台

传统OCR技术通常使用OpenCV算法库,通过图像处理和统计机器学习方法提取图像中的文字信息,用到的技术包括二值化、噪声滤除、连通域分析和Adaboost、SVM等。KL9每天发布大量与生活相关的资讯平台

按处理方式可以将传统OCR技术划分为图片预处理、文字识别、后处理三个阶段,其具体的技术流程如下表所示。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

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

深度学习KL9每天发布大量与生活相关的资讯平台

目前,基于深度学习的场景文字识别主要包括两种方法,第一种是分为文字检测和文字识别两个阶段;第二种则是通过端对端的模型一次性完成文字的检测和识别。KL9每天发布大量与生活相关的资讯平台

1、文字检测KL9每天发布大量与生活相关的资讯平台

顾名思义,文字检测就是要检测到图片中文字所在的区域,其核心是区分文字和背景。常用的文字检测算法包括以下几种:KL9每天发布大量与生活相关的资讯平台

1)CTPN [1]KL9每天发布大量与生活相关的资讯平台

CTPN是ECCV 2016提出的一种文字检测算法,由Faster RCNN改进而来,结合了CNN与LSTM深度网络,其支持任意尺寸的图像输入,并能够直接在卷积层中定位文本行。KL9每天发布大量与生活相关的资讯平台

CTPN由检测小尺度文本框、循环连接文本框、文本行边细化三个部分组成,具体实现流程为:KL9每天发布大量与生活相关的资讯平台

使用VGG16网络提取特征,得到conv5­_3的特征图;KL9每天发布大量与生活相关的资讯平台

在所得特征图上使用3*3滑动窗口进行滑动,得到相应的特征向量;KL9每天发布大量与生活相关的资讯平台

将所得特征向量输入BLSTM,学习序列特征,然后连接一个全连接FC层;KL9每天发布大量与生活相关的资讯平台

最后输出层输出结果。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

CTPN是基于Anchor的算法,在检测横向分布的文字时能得到较好的效果。此外,BLSTM的加入也进一步提高了其检测能力。KL9每天发布大量与生活相关的资讯平台

2)TextBoxes/TextBoxes++ [2,3]KL9每天发布大量与生活相关的资讯平台

TextBoxes和TextBoxes++模型都来自华中科技大学的白翔老师团队,其中TextBoxes是改进版的SSD,而TextBoxes++则是在前者的基础上继续扩展。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

TextBoxes共有28层卷积,前13层来自于VGG-16(conv_1到conv4_3),后接9个额外的卷积层,最后是包含6个卷积层的多重输出层,被称为text-box layers,分别和前面的9个卷积层相连。由于这些default box都是细长型的,使得box在水平方向密集在垂直方向上稀疏,从而导致该模型对水平方向上的文字检测结果较好。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

TextBoxes++保留了TextBoxes的基本框架,只是对卷积层的组成进行了略微调整,同时调整了default box的纵横比和输出阶段的卷积核大小,使得模型能够检测任意方向的文字。KL9每天发布大量与生活相关的资讯平台

3)EAST [4]KL9每天发布大量与生活相关的资讯平台

EAST算法是一个高效且准确的文字检测算法,仅包括全卷积网络检测文本行候选框和NMS算法过滤冗余候选框两个步骤。KL9每天发布大量与生活相关的资讯平台

其网络结构结合了HyperNet和U-shape思想,由三部分组成:KL9每天发布大量与生活相关的资讯平台

特征提取:使用PVANet/VGG16提取四个级别的特征图;KL9每天发布大量与生活相关的资讯平台

特征合并:使用上采样、串联、卷积等操作得到合并的特征图;KL9每天发布大量与生活相关的资讯平台

输出层:输出单通道的分数特征图和多通道的几何特征图。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

EAST算法借助其独特的结构和简练的pipline,可以检测不同方向、不同尺寸的文字且运行速度快,效率高。KL9每天发布大量与生活相关的资讯平台

2、文字识别KL9每天发布大量与生活相关的资讯平台

通过文字检测对图片中的文字区域进行定位后,还需要对区域内的文字进行识别。针对文字识别部分目前存在几种架构,下面将分别展开介绍。KL9每天发布大量与生活相关的资讯平台

1)CNN + softmax [5]KL9每天发布大量与生活相关的资讯平台

此方法主要用于街牌号识别,对每个字符识别的架构为:先使用卷积网络提取特征,然后使用N+1个softmax分类器对每个字符进行分类。具体流程如下图所示:KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

使用此方法可以处理不定长的简单文字序列(如字符和字母),但是对较长的字符序列识别效果不佳。KL9每天发布大量与生活相关的资讯平台

2)CNN + RNN + attention [6]KL9每天发布大量与生活相关的资讯平台

本方法是基于视觉注意力的文字识别算法。主要分为以下三步:KL9每天发布大量与生活相关的资讯平台

模型首先在输入图片上运行滑动CNN以提取特征;KL9每天发布大量与生活相关的资讯平台

将所得特征序列输入到推叠在CNN顶部的LSTM进行特征序列的编码;KL9每天发布大量与生活相关的资讯平台

使用注意力模型进行解码,并输出标签序列。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

本方法采用的attention模型允许解码器在每一步的解码过程中,将编码器的隐藏状态通过加权平均,计算可变的上下文向量,因此可以时刻读取最相关的信息,而不必完全依赖于上一时刻的隐藏状态。KL9每天发布大量与生活相关的资讯平台

3)CNN + stacked CNN + CTC [7]KL9每天发布大量与生活相关的资讯平台

上一节中提到的CNN + RNN + attention方法不可避免的使用到RNN架构,RNN可以有效的学习上下文信息并捕获长期依赖关系,但其庞大的递归网络计算量和梯度消失/爆炸的问题导致RNN很难训练。基于此,有研究人员提出使用CNN与CTC结合的卷积网络生成标签序列,没有任何重复连接。KL9每天发布大量与生活相关的资讯平台

这种方法的整个网络架构如下图所示,分为三个部分:KL9每天发布大量与生活相关的资讯平台

注意特征编码器:提取图片中文字区域的特征向量,并生成特征序列;KL9每天发布大量与生活相关的资讯平台

卷积序列建模:将特征序列转换为二维特征图输入CNN,获取序列中的上下文关系;KL9每天发布大量与生活相关的资讯平台

CTC:获得最后的标签序列。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

本方法基于CNN算法,相比RNN节省了内存空间,且通过卷积的并行运算提高了运算速度。KL9每天发布大量与生活相关的资讯平台

3、端对端文字识别KL9每天发布大量与生活相关的资讯平台

使用文字检测加文字识别两步法虽然可以实现场景文字的识别,但融合两个步骤的结果时仍需使用大量的手工知识,且会增加时间的消耗,而端对端文字识别能够同时完成检测和识别任务,极大的提高了文字识别的实时性。KL9每天发布大量与生活相关的资讯平台

1)STN-ORC [8]KL9每天发布大量与生活相关的资讯平台

STN-OCR使用单个深度神经网络,以半监督学习方式从自然图像中检测和识别文本。网络实现流程如下图所示,总体分为两个部分:KL9每天发布大量与生活相关的资讯平台

定位网络:针对输入图像预测N个变换矩阵,相应的输出N个文本区域,最后借助双线性差值提取相应区域;KL9每天发布大量与生活相关的资讯平台

识别网络:使用N个提取的文本图像进行文本识别。KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

本方法的训练集不需要bbox标注,使用友好性较高;但目前此模型还不能完全检测出图像中任意位置的文本,需要在后期继续调整。KL9每天发布大量与生活相关的资讯平台

2)FOTS [9]KL9每天发布大量与生活相关的资讯平台

FOTS是一个快速的端对端的文字检测与识别框架,通过共享训练特征、互补监督的方法减少了特征提取所需的时间,从而加快了整体的速度。其整体结构如图所示:KL9每天发布大量与生活相关的资讯平台

KL9每天发布大量与生活相关的资讯平台

卷积共享:从输入图象中提取特征,并将底层和高层的特征进行融合;KL9每天发布大量与生活相关的资讯平台

文本检测:通过转化共享特征,输出每像素的文本预测;KL9每天发布大量与生活相关的资讯平台

ROIRotate:将有角度的文本块,通过仿射变换转化为正常的轴对齐的本文块;KL9每天发布大量与生活相关的资讯平台

文本识别:使用ROIRotate转换的区域特征来得到文本标签。KL9每天发布大量与生活相关的资讯平台

FOTS是一个将检测和识别集成化的框架,具有速度快、精度高、支持多角度等优点,减少了其他模型带来的文本遗漏、误识别等问题。KL9每天发布大量与生活相关的资讯平台

总结KL9每天发布大量与生活相关的资讯平台

本文参考前沿文献,总结了当前主流的OCR场景检测技术。相对来说,使用基于深度学习的端对端检测模型可以实现快速、准确的文字识别,且可以灵活的应用于倾斜、弯曲、褶皱变形等复杂场景。KL9每天发布大量与生活相关的资讯平台

通过对现有算法模型的细节调整,将成熟的文本识别模型集成化,即可实现工业场景中的OCR识别。KL9每天发布大量与生活相关的资讯平台

参考文献:KL9每天发布大量与生活相关的资讯平台

[1] Tian Z et al. Detecting text in natural image with connectionist text proposal network[C]//European conference on computer vision. Springer, Cham, 2016.KL9每天发布大量与生活相关的资讯平台

[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.KL9每天发布大量与生活相关的资讯平台

[3]Liao M et al. Textboxes++: A single-shot oriented scene text detector[J]. IEEE transactions on image processing, 2018.KL9每天发布大量与生活相关的资讯平台

[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.KL9每天发布大量与生活相关的资讯平台

[5]Goodfellow I J et al. Multi-digit number recognition from street view imagery using deep convolutional neural networks[J]. 2013.KL9每天发布大量与生活相关的资讯平台

[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.KL9每天发布大量与生活相关的资讯平台

[7]Gao Y et al. Reading scene text with fully convolutional sequence modeling[J]. Neurocomputing, 2019.KL9每天发布大量与生活相关的资讯平台

[8]Bartz C et al. STN-OCR: A single neural network for text detection and text recognition[J]. arXiv preprint arXiv:1707.08831, 2017.KL9每天发布大量与生活相关的资讯平台

[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.KL9每天发布大量与生活相关的资讯平台

也许你还喜欢

ups不间断电源原理分析

当前在电源市场上,所销售的电源类型较多,不同类型的电源,相应的功能与作用有所不同。在超

空间背景音乐怎么添加图文教程分享

怎样免费添加QQ空间背景音乐其实步骤也不多,很简单,主要有以下几个步骤,详情如下

万能转换器破解版怎么用?具体操作方

万能格式转换器是一款功能强大的格式转换软件,音频、视频、图片、光驱设备都可以通过万

rmvb转mp4格式转换器图文教程

在我们日常娱乐和日常工作中,现在网络上一些高清的视频一般都是rmvb格式的,而一些播放设

支付宝网络系统异常怎么解决

支付宝支付出现网络系统异常是因为IE浏览器设置Internet选项不恰当而导致的,去重新设置

win10蓝牙驱动破解版安装图文教程

win10蓝牙驱动怎么安装?请看下面具体操作方法。

微孔抛光镜面加工计数详解

一般来说,对于小孔微孔进行抛光,传统的加工方法可能会导致孔洞磨损,或者加工效果不理想。

短视频内容管理助手有哪些?怎么好用

随着短视频的普及,越来越多的人开始将大量的时间和精力投入到短视频的制作和分享中。因

模具设计学习知识分享

今天,我想谈谈我在模具设计CAD方面的一些心得体会。作为一个从事这个行业多年的工程师,

seo优化排名软件详细介绍

1. SEMrush SEMrush,一款广受好评的SEO神器,被誉为业内最佳的SEO分析工具。功能包括全