《Scene Text Detection and Recognition: The Deep Learning Era》论文读后感

前言

昨天开会的时候提到了文本检测的问题,之前也没怎么认真学过OCR方面的知识,因此本周的论文阅读看了OCR相关的论文:《Scene Text Detection and Recognition: The Deep Learning Era 》(《场景文本检测和识别:深度学习时代》)。这是一篇综述型论文,因此没有具体的模型,主要是学习其思想,进一步了解OCR。
论文地址:Scene Text Detection and Recognition: The Deep Learning Era

摘要

这篇文章主要分析和总结了在深度学习发展迅速的时代,场景文本检测和识别有何重大变化和重大进展。文章介绍了关于OCR的新的见解和新的想法,介绍了最新的技术和基准,同时也展望了未来的趋势。
关键字:场景文本,检测,识别,深度学习,调查

背景

文本信息与我们的生活息息相关,可用于各种现实应用中,例如图像搜索、即时翻译、工业自动化等。从自然环境中自动识别文本,如图1,也称为场景文本检测和识别,已经成为计算机视觉中越来越流行和重要的研究课题。
Alt

图1:场景文本检测和识别示意图。 图像样本来自Total-Text 。

目前文本检测和识别有三个方面的挑战:

  1. 文本的多样性和可变性
    自然环境下的文本有更高的多样性和可变性。如不同的语言、颜色、字体、大小、方向和形状。同时文本的布局也可能变化很大。
  2. 复杂的背景和异物的干扰
    自然环境的背景几乎是不可预测的,也可能存在和文本相似的图案,如树叶、交通标志、栅栏等。文本若被异物遮挡,也有可能导致检测和识别的混乱和错误。
  3. 成像条件不完善
    在拍照时,文本可能因为相机抖动、分辨率较低、过度曝光或者角度不佳等各种拍摄问题,导致图像和视频质量差,而不能准确的检测和识别。

这些困难一直存在,研究人员在研究如何解决这些问题的同时,也在努力攻克更具挑战性的问题。近年来取得的进展如下:

  1. 整合深度学习
    现在最新的方法几乎都是基于深度学习的模型。深度学习使研究人员摆脱了反复设计和测试手工制作功能的繁琐工作,促进了新的发现的诞生,这些发现又促进了新的发现的诞生。深度学习大大简化了研究的流程。
  2. 面向目标的算法和数据集
    研究人员针对特定的目标,收集了相关的具有代表性的数据集。针对这些数据集研究人员构建了特定的模型,来解决相关的问题。如一些模型是检测定向文本的模型,一些是针对模糊的文本进行检测的模型。将这些模型组合起来,来构建更通用的模型。
  3. 辅助技术的进步
    合成数据和引导程序等不能直接解决任务的辅助技术的进步,也在文本识别中提供了一定的帮助。

以前的方法

在深度学习发展之前的算法,大多数采用“连接组件分析”(CCA)或基于分类的滑动窗口(SW )。
CCA方法是通过各种方式(例如颜色聚类或极端区域提取)提取候选成分,然后使用手动设计的规则或通过手动对特征进行自动训练的分类器过滤掉非文本成分,如图2。在滑动窗口分类方法中,不同大小的窗口在输入图像上滑动,其中每个窗口分类为文本段和背景。
Alt

图2 具有手工特征的传统方法的说明:(1)假设每个字符的色度一致,则有最大稳定的极值区域(MSER); (2)笔划宽度变换(SWT),假设每个字符内的笔划宽度一致。

总的来说这些方法主要是人工提取低级或者中级图像特征,需要复杂的预处理和后处理。同时因为有限表示能力和流水线的复杂性,这些方法几乎无法处理复杂的情况,例如 ICDAR2015数据集中的图像模糊情况。

现在的方法

近年来的方法具有以下两个区别:
(1)大多数方法利用基于深度学习的方法。
(2)从多种角度解决这个问题。
深度学习的方法可以自动学习特征,避免手动设置特征。具体的发展趋势可见图3。
Alt

图3:近期进展和主要趋势概述

文本检测

文本检测主要有三个趋势:
(1)管道简化
(2)预测单位的变化
(3)指定目标

流水线简化

早期的方法具有多个流水线,现在简化了流程,缩短了流水线,减少了错误的传播和简化了训练。
Alt

图4:场景文本检测和识别的典型管道。 (a)和(b)是代表性的多步方法。 (c)和(d)是简化的流水线。 (c)仅包含检测分支,因此与单独的识别模型一起使用。 (d)共同训练了检测模型和识别模型。

以往的多步检测将文本检测任务转换为多步过程,如使用卷积神经网络来预测输入图像中的每个像素(1)是否属于字符,(2)是否在文本区域内,以及(3)像素周围的文本方向。
简化的流水线遵循两步流水线,包括一个端到端的可训练神经网络模型和一个后处理步骤,比以前的方法简单得多。受对象检测技术的启发,该方法修改区域提议和边界框回归模块以直接定位文本实例。

分解为子文本

文本检测与常规对象检测之间的主要区别在于,文本在整体上是同质的,并且显示是局部的,而常规对象检测则不是。我们不必看到整个文本实例就知道它属于某些文本。因此我们可以预测子文本组件,然后将其组合为文本实例。从文本检测的粒度来看,预测粒度有两个主要级别,文本实例级别和子文本级别。
文本实例级方法遵循常规对象检测的标准例程。
子文本级别检测方法仅预测子文本,合并为文本实例的部分。 这种子文本主要包括像素级和组件级。
在像素级方法中,通过端到端全卷积神经网络学习生成密集的预测图,判断每个像素是否属于任何文本实例。 然后,后处理方法根据属于同一文本实例的像素将像素分组在一起。
组件级方法通常以中等粒度进行预测。 组件是指文本实例的实际区域,有时包含一个或多个字符。
子文本级方法对不同文本实例的大小,长宽比和形状更健壮。但可能在某些情况下因为后处理过于麻烦而速度很慢,缺少优化步骤也可能会损害性能。

指定目标

目前的模型大多数是针对某一特殊目的设计的,用来解决特定的问题。有一下几个方面:

  1. 长文本:文本通常具有不同的宽高比。
  2. 多方向文本:文本检测对旋转是敏感的,歪斜的文本在现实世界中很常见,而使用传统的轴对齐预测框会包含嘈杂的背景,这会影响后续文本识别模块的性能。
  3. 不规则形状的文字:文本可以具有多种形状,例如弯曲的文字。 弯曲的文本带来了新的挑战,因为规则的矩形边界框将包含很大比例的背景甚至其他文本实例,因此难以识别。

文本识别

文本识别任务的输入是检测阶段得到的文本框图片。往往是一个词或者一行文本。
传统方法将文本识别任务分成三部分:图片预处理、字符分割和字符识别。其中第二部字符分割是最难的。
现在的有两种技术来避免进行字符分割:Connectionist Temporal Classification(CTC)和Attention mechanism。

CTC

CTC通过计算条件概率 P ( L ∣ Y ) , 其 中 Y = y 1 , . . . , y T P(L∣Y ) ,其中Y = y_1 , . . . ,y_T P(LY)Y=y1...yT
表示RNN的每帧预测,L是标记序列,来解决不定长时间序列的loss函数构造问题。

注意力机制

注意力机制首先是为了提高神经机器翻译系统的性能而提出,并在包括场景文本识别在内的许多机器学习应用领域得到发展。

端到端系统

过去,文本检测和识别通常被转换为两个独立的子问题,将其组合在一起以执行从图像读取文本的操作。 最近,已经提出了许多端到端的文本检测和识别系统(也称为文本发现系统)。
两步方法的一个主要缺点是检测模型和识别模型之间的错误传播会导致性能不令人满意。 最近,端到端训练网络能解决该问题。

辅助技术

辅助技术也在解决任务中起到了重要作用。

  1. 合成数据
    大多数深度学习模型都需要足够的数据。 仅当有足够的数据可用时,才能保证其性能。数据标注是费时费力的工作,于是数据生成就变得很有意义了。目前已经有工作产生了相对高质量的数据,并且已被广泛用于预训练模型以提高性能。
  2. Bootstrapping
    弱监督学习,在标注数据量较少的情况下通过未标注的数据集扩充标注数据集。弱监督标注分为word-box level和character level。
  3. 文字去模糊
    从本质上讲,文本检测和识别比常规对象检测对模糊更敏感。
  4. 上下文信息
    进行更准确的预测的另一种方法是考虑上下文信息。 凭直觉,我们知道文本仅出现在某些表面上,例如 广告牌,书籍等。文本不太可能出现在人或动物的脸上。

基准数据集

具有检测和识别任务的数据集

ICDAR数据集 :ICDAR健壮阅读比赛始于2003年,每两年举办一次,主题各异。 他们带来了一系列影响研究界的场景文本数据集。 在水平文本部分中,对ICDAR 2013进行了修改,并取代了ICDAR 2003/2005/2011,作为以后工作中的评估。 ICDAR 2013的特点是大而横的文字。ICDAR 2015附带文字频道带来了新挑战。 这些图像是由Google眼镜拍摄的,并不影响图像质量。 图像中的很大一部分文本很小,模糊,被遮挡且面向多个方向。 最新的结果显示在表3中进行检测,并在表8中进行识别。
ICDAR 2017野外阅读中文比赛提出了中文文本数据集。 它由12张263张图像组成,是当时最大的数据集,也是第一个大型中文数据集。
“野外中文文本”(CTW)数据集包含32幅285张高分辨率街景图像,并在字符级别进行注释,包括其底层字符类型,边框和详细属性(例如是否使用艺术字)。 数据集是迄今为止最大的数据集,也是唯一包含详细注释的数据集。 但是,它仅提供中文文本注释,而忽略其他脚本,例如英语。
Total-Text 具有较大比例的弯曲文本。 这些图像主要取自街道广告牌,并标注为顶点数量可变的多边形。
街景文字(SVT)数据集是街景图像的集合,现在主要用于评估识别算法。
CUTE专注于弯曲文本。 它仅包含80张图像,目前仅用于识别。

仅具有检测任务的数据集

MSRA-TD500表示长且多方向的文本,其长宽比比其他数据集大得多。
ICDAR2017-MLT包含18K图像,其中包含9种语言的脚本,每种语言2K。 到目前为止,它具有最多数量的语言。
CASIA-10K 是一个新发布的中文场景文本数据集。 由于中文字符没有用空格分割,因此提供了行级注释。
SCUT-CTW1500(CTW1500)是另一个具有弯曲文本的数据集。 CTW1500中的注释是具有14个均匀放置的顶点的多边形。

仅具有识别任务的数据集

IIIT 5K-Word是最大的识别数据集,包含数字和自然场景图像。 它在字体,颜色,大小和其他噪音方面的差异使其成为迄今为止最具挑战性的数据集。
SVT透视(SVTP) ,用于评估识别透视文本的性能。 SVTP中的图像是从Google街景视图中的侧视图图像中拾取的。 它们中的许多由于非正面视角而严重变形。
街景门牌号(SVHN)数据集包含自然场景中门牌号的裁剪图像。 这些图像是从Google View图像中收集的。 该数据集通常用于数字识别。

总结

现状

算法:深度学习模型已经取代了手动搜索和设计模式和功能。 随着模型能力的提高,研究方向已集中在诸如定向和弯曲文本检测之类的挑战上,并取得了长足的进步。
应用程序:除了努力寻求针对各种图像的通用解决方案外,还可以对这些算法进行训练并使其适应更具体的情况,例如 银行卡,身份证和驾照。 一些公司已经提供了这种特定于场景的API,包括百度公司,腾讯公司和MEGVII公司。

挑战

语言:世界上的语言种类丰富,当前大多数算法和数据集主要集中在英语文本上。某些语言的外观要复杂得多,因此它们对诸如图像质量之类的条件更加敏感。多种语言的统一检测和识别系统具有重要的学术价值和应用前景。
鲁棒性: 一个推测是,模型的鲁棒性与深度神经网络的内部运行机制有关。
泛化能力: 泛化能力很重要,因为某些应用场景需要适应变化的环境。 将所有现有数据集简单地合并在一起是否足够,尤其是在目标域完全未知的情况下,仍是未知的。
合成数据:合成各种逼真的图像以训练模型仍然是一个挑战。
评估:现有的检测评估指标源于一般对象检测的评估指标。 基于IoU分数或像素级精度进行的匹配和召回忽略了以下事实:缺少的部分和多余的背景可能会损害后续识别过程的性能。
效率:当前大多数系统在没有GPU或移动设备的计算机上部署时都无法实时运行。
更大更好的数据:大多数现有数据集的大小都比其他任务的数据集小得多(〜1k vs. >> 10k)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值