新闻  |   论坛  |   博客  |   在线研讨会
白翔:复杂开放场景中的文本理解(1)
深度学习大讲堂 | 2020-12-15 10:45:29    阅读:365   发布文章

编者按:李白的《秋浦歌》中有这样一句诗:“题诗留万古,绿字锦苔生”,描绘了天执笔、地做纸、苔为墨,挥毫题字的豪迈场景,也展示了自然场景中文本类型的多样性;而另两句“古壁剥旧题”,“废寺失题名”,则暗示了场景噪声对文本的影响。这几段描写共同衍生出了现代计算机视觉领域中的一个挑战,即复杂开放场景中的文本理解。

本文中,来自华中科技大学的白翔教授,将针对场景中文字类型多样、场景复杂多变、以及场景噪声等问题,带着大家通过深度神经网络,在开放场景中实现准确的文本理解。

文末,大讲堂特别提供文中提到所有文章的下载链接。

23.jpg

本文整理自白翔教授在ICDAR2017的学术报告。

22.jpg

本次报告是关于场景文本理解的。众所周知,深度学习已在图像视频方面显示了巨大的能力,且在文本分析领域也取得了一些有意义的进步,我也在尝试将深度学习用于文本相关工作。

文本理解目前主要有两个方面的工作,一个是传统的文本理解,它往往只需识别文档中的文本;而另一个场景文字理解,需要将照片或视频中的文字识别出来,它包含文本检测和文本识别两个步骤:

首先是对存在文字区域的定位(Text  Detection),即找到单词或文本行的边界框(bounding box);然后对定位的区域内容进行识别(Text Recognition),即预测边界框中每一个字符的类标签。将这两步合在一起就能达到最终目的:端到端的文本识别。

21.jpg

我的报告分为五个部分。首先,回顾近来用于场景文本理解的深度学习方法;然后介绍我们在场景文本检测和识别方面的最新工作;最后介绍一些场景文本理解的应用和我对领域趋势的认识。

背景

20.jpg

相比于文件图片,自然场景图片中文字的分布更加稀疏和分散,其具有多方向且多语种的特性。

19.jpg

在2016年以前,大多数场景文本检测工作有三个步骤:首先,利用手工设计特征生成候选框;然后,利用二分类卷积神经网络或随机树来进行文本/非文本区域的分类,即过滤掉误检的候选框;最后,利用CNN来修正区域定位,以得到较精确的回归结果。

18.jpg

在2016年以后,文本检测工作逐渐受到深度神经网络的影响,可以大致分为三类:

其一是基于分割的思想,通过分割网络提取文本区域,然后采取一些后处理方法获取边界框。代表性的工作是发表在CVPR2016的“Multi-oriented text detection with fully convolutional networks”;

其二是基于候选框的思想,直接用一个神经网络来检测文本边界框。代表性的工作是发表在CVPR2016的“Synthetic data for text localization in natural images”;

其三是混合思想,它采用多任务学习的框架,结合了分割和边界框检测的方法。代表性的工作是发表在ICCV2017的“Deep Direct Regression for Multi-Oriented Scene Text Detection”。

17.jpg

场景文字识别大致分为两类思路:其一是从单词或字符层面入手,设计单词分类器或字符分类器,将每一个单词或字符作为一类目标,进行多类别分类任务。

而近来循环神经网络大放异彩,它可以将文本识别看作一个序列标签问题,并能够直接输出标签序列。因此,第二种思路从序列层面入手,将文本看作一个字符序列,通过设计序列特征提取器,结合循环神经网络(RNN)和CTC模型(Connectionist temporal classification),将文本序列作为一个整体进行识别。

16.jpg

从“场景文本理解”相关文章在2017年顶会中统计数据来看,超过80%的文章聚焦多方向文字检测,而对场景文本识别和端到端识别的关注度相对较低,且大多数文章集中于解决英文文本问题。

15.jpg

实际上,拉丁文和非拉丁文是截然不同的。我们在此以英文(拉丁文)和中文(非拉丁文)举例,前者相邻单词间通常有一个空格,而后者没有明显的视觉划分,因此中文的单词划分只能借助语义信息指导。考虑到此差异性,如果设计一个同时适用于拉丁文和非拉丁文的文本理解系统,可采用基于文本行的检测和序列标签方法。

14.jpg

区别于普通的物体和英文单词,文本行具有更大的高宽比,对于普通的卷积核,文本行不能被完全覆盖。这意味着现有基于深度学习的目标检测方法并不能很好适用于场景文本检测。

13.jpg

上表展示了在ICDAR 2013、ICDAR 2015、RCTW 2017数据集上检测达到的最好F值结果。即便使用更多的训练数据,中文数据集上的表现也要明显低于英文数据集,这是因为中文文本行相对英文有更大的比例变化。这里中文场景文本RCTW数据集来自于我们最近组织的ICDAR(International Conference on Document Analysis and Recognition)比赛,RCTW数据集包含很多长文本数据。

12.jpg

在非拉丁文本检测中,为了克服长文本行的较大比例变化,我们引入一些策略:首先改变卷积核尺度,比如使用长条形卷积核;然后为了增大感受野范围,我们采用类似于inception的模块,组合不同卷积核产生的特征图。此外,使用基于部分的模型也是一种很好的选择,但这就需要把文本行中相邻的部分进行分组。

场景文字检测

Proposal-based method

11.jpg

这里主要介绍两个场景文本检测思想,一个是基于候选区域的方法(TextBoxes);另一个是基于部件的方法(SegLink),通过检测部件后将其连接起来。首先介绍TextBoxes:

10.jpg

在引入我们的算法之前,首先回顾一下基于CNN的检测方法:SSD(Single Shot detector )。SSD开始在深度特征图上初始化一些默认的方框,这里我们以4*4和2*2的特征图举例。然后默认框将被分类且被分配一个检测分值,同时,默认的方框被回归到一个确切的位置。默认框和回归结果都是矩形的,用中心点和宽高可以将其表示。

9.jpg

TextBoxes方法采用SSD作为基础框架,首先在设计默认框(Default Box)时,采取多比例大小的框(包含长条形状的框)。TextBoxes方法对SSD的卷积核也进行了改进,因为文本行往往比普通物体更长,常用卷积核并不能和文本行很好匹配,因此这里将1*1或3*3的卷积核更换为适合文字的长条形卷积核。

8.jpg

由上表可以看出,TextBoxes明显优于SSD并且在ICDAR2013数据集上达到了state-of-the-arts的效果,这个数据集主要由包含水平文本的图片构成。

7.jpg

而现实图片中的文本往往不是水平的,也就是说,文本的边界框是多边形而不总是矩形的,因此我们添加了一个分支来回归多边形坐标,进一步优化TextBoxes以适用于多方向文本。

6.jpg

我们在ICDAR2015数据集上验证了我们的算法,实验表明,TextBoxes++达到了state-of-the-art的性能。

5.jpg

为了进一步扩大卷积神经网络的感受野,我们使用联结多种特征图的inception模块,举个例子,上图的inception模块整合了3*3、1*5、5*1三种不同卷积核产生的特征图。

4.jpg

为了验证inception模块的有效性,我们在RCTW 2017的一个数据子集上进行测试,这个数据集主要包含一些长条形文本图片,结果表明inception 模块有效提高了长条文本检测准确率。

3.jpg

我们也在整个RCTW数据集上进行了测试,通过和曾在比赛中获胜的其他团队方法进行比较,可以看出我们结合inception block的TextBoxes++方法达到了最高的F值。

Part-based method

2.jpg1.jpg


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客