论文翻译(二) CRNN 基于图像序列的识别的识别的端到端可训练神经网络及其在场景文字识别的应用

论文提出了一种名为CRNN的新型神经网络结构,结合卷积和循环神经网络,适用于图像序列的识别,如场景文字和音乐字符识别。CRNN网络能够端到端训练,无需预先处理或字符分割,能够处理任意长度的序列,且不受词典限制。实验结果显示,CRNN在多种标准基准上超越了先前的最佳算法,证明了其在自然场景文字识别和音乐字符识别中的有效性与通用性。
摘要由CSDN通过智能技术生成

引言

基于图像序列的识别是计算机视觉中长久以来的研究话题。这篇论文,作者研究了自然场景文字识别的问题,这在基于图像序列识别中是最重要且富有挑战性的任务。作者提出了新颖的神经网络结构,它整合了特征提取、序列模型以及统一框架转录。对比先前的自然场景文字识别系统,新提出的结构有着四个独特的性质:1.相比于大多数现有算法的组成部分训练与调试分离,新网络是端到端可训练的。 2.它可以自然地处理任意长度序列并且不会涉及到字符分割或者水平尺度正则化。3.他不会收到任何预定义词典的约束并且同时在无词典与基于词典场景的文字识别任务中都取得了引人注意的表现。4.在更加实际的真实场景应用中它产生了一个高效且非常小的网络。实验基于标准基准,包含IIIT-5K街景场景文字以及ICDAR数据集来证明提出的算法相比之前最好算法的优越性。更进一步的,提出的算法在基于图像的音乐字符识别任务中表现良好,这进一步证明了算法的通用性。

1.介绍

最近,受到深度神经网络在各种视觉任务中巨大成功的影响,尤其是深度卷积神经网。络社区中似乎看到了强烈的神经网络复兴迹象。然而,当前大多数与深度神经网络相关的工作都投入到对物体种类的检测或者分类中去。这篇论文中,作者探究的是计算机视觉中的一个标准问题:基于图像序列的识别。在真实世界中,通常的视觉物体比如自然场景文字、手写字体以及音乐字符,他们都是以序列方式组成,而不是孤立的。不像通常的物体检测,识别这种序列化物体经常需要系统预测出一连串的物体标签而不是一个单独的标签。因此识别这种物体可以被自然看做是序列识别问题。序列化物体的另一个独特属性是他们的长度可能变化剧烈。比如,英文单词既可以由两个英文单词组成例如“OK”,也可以是15个字符例如“congratulations”.因此,最受欢迎的深度模型例如DCNN不能够直接被应用于序列预测当中去,因为DCNN模型通常需要固定维度的输入以及输出,因此不适合产生变长度的标签序列。
有一些为了解决特定长度物体序列问题的尝试。比如之前有算法首先检测独立的字符之后使用DCNN模型识别他们,这需要使用打标过字符的图片进行训练。这种方法需要训练一个强有力的字符检测器来保证检测以及从原始图片中剪裁的每个字符的准确。另一些方法将真实场景文字识别看做是图片分类问题,并且为每个英文单词(总计90K个)赋值一类。那最终导致一个巨大的训练模型与巨大的类别数,并且难以被泛化到其他类型的物体序列中去,例如中文字符、音乐字符等等,这种序列的基础组合数量能够超过1百万。总的来说,当前基于DCNN的系统不能够直接使用基于图像的序列识别。
最近的神经网络(RNN)模型,是深度神经网络家族的另一个重要分支,主要被设计用于处理序列问题。RNN的一个先进性就是它不管训练还是测试都不需要任何一个元素在图片物体序列中的位置。然而,将输入物体图片转换成图片特征序列作为前处理步骤通常是必要的。例如Graves等人在手写体字符中提取了一系列几何学或图片特征,另一边Su and Lu转换图片到HOG序列特征。前处理步骤是独立于后续管线成员的,因此现有基于RNN的系统不能被端到端训练以及优化。
几种不是基于神经网络的传统真实场景文字识别方法也为这个领域带来了一些富有洞见的启发以及新颖的表达。比如Almazan等人以及Rodriguez-Serrano等人提出嵌入图片词以及文字字符搭配公共向量子集中。并且将文字识别转化成检索问题。Yao等人以及Gordo等人使用mid-level特征做真实场景文字识别。尽管在标准基准上取得了可靠的表现,这些方法通常优于(or逊于?)先前基于神经网络的算法,以及这篇论文提出的方法。
这篇论文的主要贡献是一个新颖的神经网络模型,该网络结构专门被设计用于图像中连续物体的识别。提出的神经网络模型被命名为卷积循环神经网络(CRNN)可以看出它结合了DCNN与RNN.对于序列化物体,RCNN相比传统神经网络模型有几处独特优势:1.它可以直接从荀烈标签(例如单词)中学习,不需要详细的注释(比如字符)2.有着与DCNN可以直接从图像数据中学习信息表达的同样属性,不需要手动调优或是前处理步骤,包括二值化/分割、组件本地化等等。3.它与RNN有着相同属性,都能够产生序列标签。4.它不会受到序列物体长度限制,仅对测试和训练时形状要求高度正则化。5.它在场景字符(文字识别)领域相比先前最优方法有着更好的竞争力表现。6.相比标准DCNN模型,有着更少的参数,节省了存储空间。

2.提出的网络架构

CRNN网络架构在图1中展示,由三部分组成,其中自底向上包括了卷积层、循环层以及转述层。
在CRNN底部,卷积层从每个输入图片中自动提取特征序列。在卷积网络顶端,循环神经网络被用来为卷积层输出的每帧特征序列做预测。转述层在CRNN顶部,被用于转换循环层每一帧预测到标签序列。尽管CRNN是由不同类型的网络结构组成的,但它可以统一地使用一个损失函数训练。
在这里插入图片描述

2.1特征序列提取

在CRNN模型中,卷积层的构成参考标准CNN模型(移除fc层),使用了卷积以及最大池化层。这种组合被用于提取输入图片中的特征表达序列。在进入网络之前,图片数据都要缩放到同样的宽高。之后特征向量的序列从卷积层组件产生特征映射中提取出来,之后作为循环层的输入。特殊的是,所有的特征序列的特征向量是通过特征映射横向从左到右生成的。这意味着第i个特征向量是所有映射中第i列的连接。每一列的宽度作者设定为固定值:一个像素。
对于卷积层,最大池化以及元素级激活函数操作在局部区域,他们是平移不变的。因此每一列特征映射都相当于原始图片中的一片长方形区域(称为感受野),这些方形区域与他们响应列在特征映射中从左到右的顺序相同。正如图2展示的那样,每一个在特征序列中的向量都对应一个感受野,并且可以被看做是图片中那部分区域的描述子。
在这里插入图片描述

由于鲁棒性好、可训练性强等特点,深度卷积特征被广泛的使用于不同种类的视觉识别任务中。一些先前的工作尝试使用CNN来为类似于场景字符这种序列性目标学习一个鲁棒的表达方式。然而这些方法通常使用CNN提取了整张图片的表达,之后搜集局部深度特征来识别序列物体的每个组成。因此CNN需要将输入图片缩放到固定大小来适应它的固定输入维度,但由于序列目标的长度变化程度大所以并不适合。在CRNN中,作者传送深度特征到序列表达中来保持序列物体长度变化的不变性。

2.2序列标签

深度双向循环神经网络被建立在卷积层之上作为循环层。循环层为特征序列x中的每帧xt预测对应标签分布yt。循环层有三个有点,首先是RNN对于序列的上下文信息有着较强的捕捉能力。为基于图像的序列识别使用上下文线索相比单独处理每个符号是更加稳定且有效的。就拿场景字符识别举例,宽位的字符或许需要几个连续帧才能完整描述(参考图2)此外,一些模棱两可的词可以简单的通过观察上下文信息来确定。通过对比字符高度识别出“il”相比分别识别他们更简单。第二,RNN可以反向传播损失微分到它的输入,也就是卷积层,这使得作者可以同时训练循环层和卷积层,作为一个统一的网络。第三,RNN可以从开始处理任意长度的序列,从起点遍历到终点。
传统的RNN单元在它的输入和输出层之间有着自连接隐藏层。每次在序列中收到数据帧xt就会使用非线性函数结合当前输入xt以及上一个状态ht-1来更新它的内部状态ht。之后基于ht生成预测yt。通过这种方式,过去的上下文被捕捉并利用起来作出预测。传统的RNN单元有着梯度消失的问题,这限制了他们可以存储的上下文信息的范围,增加训练步骤的负担。LSTM(Long-Short Term Memory)是一类RNN单元,被特殊设计出来处理这些问题。一个LSTM(图3中展示)由一个记忆单元一节三个乘加门组成,三个门分别是输入、输出以及遗忘门。理论上来讲,记忆单元存储着过去的上下文信息,输入输出门使得单元可以存储更长时间的上下文。同时单元中的记忆存储可以被遗忘门清除,LSTM特殊的设计使得它可以捕获到长范围的关键信息,这种情况在基于图像的序列中经常发生。
在这里插入图片描述

LSTM是方向性的,只会使用过去的上下文。然而基于图像的序列,两个方向的上下文都有用且相互补全。因此,作者结合了两个LSTM,一个正向一个反向,这就是双向LSTM。更进一步,多个双向LSTM可以通过堆叠得到个深度的双向LSTM,如图3b展示。深度结构相比浅的一个LSTM能够获取到更高等级的提取,并且在语音识别任务中获得明显提升。
在当前层,错误微分是图3b中展示的箭头方向的反方向。BPTT(Back-Propagation Through Time)反向传播通路时间。在当前层的底部,传播的微分序列被连接到映射中,翻转转换特征映射到特征序列的操作并且返回到卷积层中。事实上,作者制造了一个定制网络层,命名为序列映射“Map-to-Sequence”,作为卷积层和循环层之间的桥梁。

2.3 转述层

转述是将RNN生成的每帧预测转换到标签序列的处理。数学上来讲,转述是根据每帧预测找到最高可能性的标签序列。实际上,这里有两种转述模型,即无词典和基于词典的转述。词典是一系列受预测到拼写检查词典限制的标签序列。在无词典模式下,预测是不通过任何词典的。在基于词典的情况下,预测是通过选择最高可能性的标签序列生成的。

2.3.1 标签序列的可能性

作者采用了Graves提出的连续时间分类CTC( Connectionist Temporal Classification)层中定义的条件概率。可能性为了标签序列L被定义,在每一帧预测y的情况下,忽略每个标签在L中定位的位置。结果就是当作者将这个可能性作为目标使用NLLLoss训练模型时,作者是需要图片以及他们的对应标签序列,避免了标记独立字符位置的工作。
条件概率公式简单描述如下:输入是一个序列y=y1…yt 其中t是序列的长度。其中每个yt都是集合L的可能性分布,L包含了目标中的所有标签,以及一个空白标签。B是一个序列到序列的映射函数定义为π∈LT,其中T是长度。B首先通过移除重复的标签将π映射到L,之后移除空白。比如说B将“–hh-e-l-ll-oo–”(其中‘-’代表空白)映射为“hello”。之后条件概率被定义为所有通过B映射到L上的π的总和
在这里插入图片描述

π被定义为在y情况下π的概率等于y的累乘(从1到T) ,其中yt是πt在时间戳t上的概率。直接计算公式1会由于指数量级的加和项而不可计算。然而等式1可以使用前向反向算法来高效地计算。

2.3.2无词典转述

在这个模式中,序列L作为预测在等式1中被定义为有着最高的可能性。由于不存在可精确求解的算法,作者使用策略:序列L在L约等于B时被大致找到,采集每个时间戳t中最大可能性标签πt,并且映射到结果序列L上面

2.3.3基于词典的转述

在基于词典的模式中,每一个测试样本都是与词典D相关的,通过选择词典序列中公式1定义的最高条件概率来作为标签序列。然而对于大型的词典,有着50K个单词拼写检查的词典,在其上进行遍历来为字典中所有的序列计算等式1并且选择最高概率是非常耗时的。为了解决这个问题,作者观察到通过无词典转述预测的标签序列以编辑距离度量经常是靠近真实值的。这表明了可以限制搜索范围到Nδ(L’)个最近邻坐标,其中δ是最大编辑距离,L‘是从无词典模式中y的转述
在这里插入图片描述

候选Nδ(L’)可以通过BK-tree数据结构被直接找到,这种结构是一种特别适合离散度量空间的度量树。BK-tree的时间复杂度为O(log|D|),其中|D是|词典大小。因此这种方案有效的扩展到非常大的词典。在作者的方法中,BK-tree是为词典离线构造的。之后作者在树上面执行酷似度在线搜索,通过找到序列队列中小于等于δ的编辑距离的序列。

2.4网络训练

将训练集描述为X={Ii, Li},其中Ii是训练图片,Li是标签序列中的真实值。目标是最小化真实值条件概率的负对数似然:
在这里插入图片描述

yi是卷积与循环层通过Ii生成的序列。这个目标函数直接计算了图片与它真实标签序列之间的消耗只。因此网络可以使用一对图片与标签序列进行端到端训练,避免了训练图片时手动标记所有的独立成分的步骤。
网络使用随机梯度下降训练,梯度通过反向传播算法计算出来。特别的是,在转述层,错误微分的反向传播伴随着前向反向算法。在循环层中,反向传播通路时间(BPTT)被用于计算错误微分。
优化器作者使用了AdaDelta来自动计算每个维度的学习率。相比于卷积动量的方法,AdaDelta不需要手动设置学习率。更重要的是使用AdaDelta相比动量方法能够更快的收敛。

实验

为了评估提出的CRNN模型的有效性,作者为自然场景文字识别以及音乐字符识别进行了标准基准的实验,这些都是好有挑战性的视觉任务。数据集以及训练和测试设置在3.1节中讲述,CCRNN对于自然场景文字识别的细节设置在3.2节,综合对比结果在3.3节。为了进一步证明CRNN的通用性,3.4节中作者在音乐字符识别任务上验证了提出的算法

3.1数据集

所有实验中使用的自然场景文字识别都使用了Jaderberg等人提供的合成数据集 (Synth)作为训练数据。数据集包含8百万训练图片以及他们对应的真实单词。这种图片通过合成文字引擎生成并且是高度真实的。作者的网络在合成数据上训练一次并且在其他所有的真实数据集上不进行微调就测试。尽管CRNN完全在合成文字数据上面进行的训练,但依旧在标准文字识别基准的真实图片中表现良好。
四个流行的自然场景文字识别基准被用于效果评估,分别是ICDAR2003(IC03),ICDAR2013(IC13),IIIT 5K-work(IIT5K)以及Street View Text(SVT).
IC03测试数据包含251个带有文字标记框的自然场景图片。作者与Wang等人一样忽略了那些包含非字母数字字符或者少于三个字符的图片,之后通过剪裁获得860张文字图片。每一个测试图片都与一个50单词的词典相关联。完整的词典通过结合每张图片的词典来组成。此外,作者使用一个由Hunspell拼写检查词典中的单词组成的50k单词词典。
IC13测试数据集继承了IC03中的大部分数据。它包含1015个真实剪裁的文字图片。
IIIT5k包含3000个剪裁文字测试图片。每张图片都与一个50单词的词典以及一个1K单词的词典相关联。
SVT测试集由249个采集与google街景的街景图片组成。从其中剪裁出647个单词图片。每个单子图片都有一个50单词词典。

3.2 应用细节

作者在实验中使用的网络配置在表1中总结。卷积层结构基于VGG超深度结构。为了适应英文文字识别还做了一些调整。在第三个以及第四个最大池化层中,作者采用12尺寸的长方池化窗口而不是传统方形的。这个调整产生了更宽的特征映射,因此特征序列更长。比如,一个典型尺寸10032的图片包含10个字符,可以生成25帧特征序列。这个长度限制了英文单字的最大长度。最重要的是,矩形的池化窗口产生矩形的感受野(如图2所示)这有助于识别一些形状窄的字符比如‘i’与‘I’。
网络不只有深度卷积层,还有循环层。这两个都是很难被训练的.作者发现BN技巧训练这种深度的网络是非常有效的。两个BN层被插入到第五跟第六层卷积后面。使用BN层之后,训练速度大大加快。
作者使用Torch7框架,为LSTM单元自定义应用(Torch7/CUDA),转述层(C++实现)以及BK-tree结构(C++实现)实验使用了2.5GHz的英特尔Xeon E5-2609CPU、64GB内存以及英伟达特斯拉K40组成的工作站。网络训练使用AdaDelta,设置参数ρ为0.9.在训练时所有图片缩放到100*32大小来加速训练过程。整个训练过程花费了大概50个消失来达到收敛。测试图片高度缩放到32,宽度与高度成比例缩放但最少要有100像素。平均测试时间在IC03中不使用词典每个样本0.16秒。近似词典搜索被用于IC03的50K词典,参数ρ被设置为3.平均每个测试样本花费0.53秒。

3.3对比评估

在前面四个公共数据集上的全部识别准确率都是CRNN取得的,最近的使用了深度模型的SOTA方法在表2展示
在这里插入图片描述

在词典限制的场景下,作者的模型持续超越大多数SOTA表现。特别的是作者在IIIT5K和SVT数据集上面获得了更好的表现,只有在IC03上面的全词典模式下表现不佳。值得注意的是【22】模型是在特定词典上面训练的,每一个单词都与一个类别标签关联。不像【22】,CRNN不使用词典限制识别的单词,并且能够处理随机字符串(比如电话号码)、句子或者其他字符比如中文单词。因此CRNN的结果在所有测试集上面都是有竞争力的。
在无词典限制情况下,作者的方法仅在SVT上面获得最佳效果。值得注意的是表2那些列中的空白意味着这种方法不能够用于无词典识别中或者说在非限制状态下没有报告识别准确率。作者的1方法只使用了单词级标注的生成文字作为训练集,与PhotoOCR使用7.9百万个字符级标注的真实世界图片做训练集是非常不同的。最好的无词典限制场景表现由【22】报告,受益于它的大型词典,然而,那并不是前面提起的严格非限制词典模型。从这个意义上来说,作者在非限制词典场景下的结果仍然是有保障的。
为了更进一步理解提出的算法相比其他文字识别方法的先进性,作者在几个方面提供了充分的对比,分别是E2E Train、Conv Ftrs、CharGT-Free、Unconstrained以及Model Size,总结在表3中
在这里插入图片描述

E2E Train:

这一列展示了模型是否为端到端可训练的,不需要前处理或者通过几个分离的步骤,这表明这种方法的训练时优雅且干净的。正如表3中展示的那样,只有【21】【22】与CRNN有此属性。

Conv Ftrs:

这一列表明是否使用了直接从训练图片学习的卷积特征还是使用手工特征作为基础表达。

CharGT-Free:

这一列代表着字符级标注对于训练模型是否是必要的。正如CRNN的输入和输出标签可以是序列,字符级标注是不必要的。

Unconstrained:

这一列代表着训练模型是否收到一个特定词典的限制,不能够处理词典外的单词或者随机序列。值得注意的是尽管最近的模型【5,14】通过学习标签嵌入已经增量学习【22】取得了有竞争力的表现,他们是受到特定词典限制的。

Model SIze:

这一列是用于报告训练好模型的存储空间。在CRNN,所有的层都有权重共享连接,并且不需要fc层。这就使得CRNN的参数数量也远小于各种CNN学习模型。作者的模型有8.3百万个参数,占据33MB内存(每个参数使用4byte 单精度浮点型)因此它可以简单的应用在移动设备商。
表3清晰地展示了不同方法之间的区别细节,充分证明了CRNN在其他对比方法之上的先进性。
此外,为了测试参数δ的影响,作者为公式2使用了不同值的δ,在图4中作者将识别准确率作为δ的函数。更大的δ导致更多的候选,因此基于词典的转述更准确。在另一半,计算消耗也会随着δ增长,由于更长的BK-tree搜索时间,以及更大数量需要测试的候选序列。实际上,作者选择δ=3作为准确率与速度的平衡。
在这里插入图片描述

3.4 音乐字符识别

乐谱通常由排列在五线谱上一些列音符组成。识别乐谱图片被认为是光学音符识别( OMR Optical Music Recognition)问题。先前的方法经常需要图片前处理(大多数二值化),五线谱检测以及独立的注释识别。作者将OMR看做是序列识别问题,并且直接用CRNN进行图片中的音乐符号序列预测。简单起见,作者只识别音高,忽视所有和弦并且假设所有的音符都是同样主旋的(C旋)。
就作者所知,不存在通过音高识别评估算法的数据集。为了准备CRNN所需要的训练数据,作者搜集了2650张图片。每张图片都是有一个由3到20个音符组成的乐谱片段。作者最终标记了所有图片的真实标签序列(非ezpitches序列)。采集到的图片通过旋转、缩放、添加噪声以及用自然图片替换他们的背景来增加训练样本到365K。对于测试作者创造了三个数据集(1)“Clean”包含260张图片。样本为图5a (2)“Synthesized”从“clean”数据集中使用前面提到的数据增强方法生成的。包含200个样本,其中一部分展示在图5b中 (3)“Real-World”包含了200张使用手机相机拍摄的音乐书中乐谱碎片图像样本。图5c中展示。
在这里插入图片描述

因为训练数据有限,作者简化了CRNN配置来降低模型容载力。不同于表1中定义的配置,第四个与第六个卷积层被移除并且2层双向LSTM被替换为2层单向LSTM。网络在成对的图片以及对应标签序列上进行训练。两种方法被用于评估识别效果:(1)片段准确性,乐谱片段识别准确性的百分比 (2)平均编辑距离,预测音调序列以及真实值之间的平均编辑距离。作为对比,作者评估了两个工业级光学音符识别引擎,分别是CapellaScan以及PhotoScore。
在这里插入图片描述

表4总结了结果。CRNN的表现远超了两个商业系统。两个系统在“clean”数据集上面表现尚可,但在生成以及真实数据上面精度明显下降。制药的原因是他们依赖于鲁棒的二值化来检测五线谱以及乐谱,但是二值化步骤在生成以及真实数据上会由于糟糕的灯光场景、噪声影响以及混乱的背景影响而失败。CRNN,在另一方面使用卷积特征能够对噪声以及畸变更具有鲁棒性。此外,CRNN中的循环层可以利用乐谱中的上下文信息。每一个乐符不光是通过它自己来识别,也利用了近邻的乐符。因此,一些乐符可通过对比他们周围的乐符、对比他们垂直位置来进行识别。
结果展示了CRNN的淡化性,那可以简单的应用在其它基于图像序列识别问题中,需要最少的领域知识。对比于Capella Scan以及PhotoScore,作者基于CRNN的系统仍然是初级的并且缺少许多功能。但是它为OMR提供了一种新的策略,并且展示了在音调识别中可观的包容能力。

4.总结

这篇论文中,作者提出了一个新颖的网络结构:卷积循环神经网络CRNN,这个网络结合了卷积网络与循环神经网络的优点。CRNN可以利用各种维度的输入图片并且产生不同长度的预测。它可以直接运行在粗粒级标签上,在训练阶段不需要为每一个独立的元素(字符)进行详细的标注。此外,正如CRNN放弃了传统神经网络中的fc层,这使得模型更加有竞争性且高效。所有的这些特点让CRNN成为基于图像序列识别的非常成功的方法。
在自然场景文字识别基准上进行的实验证明了CRNN相比于传统方法以及其他的CNN以及RNN算法达到了更好或者更高竞争力的表现。这证明了提出地算法的先进性。此外,CRNN在光学音符识别基准中明显的超过了其他对比者,者证明了CRNN的通用性。
事实上,CRNN是一个通用框架,因此它可以被用于其他领域以及问题(例如中文字符识别),就是那些涉及到序列预测的图片。为了进一步加速CRNN并且让它在真实世界应用中更加实用是在未来中值得探索的另一个方向。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值