Shi B, Wang X, Lv P, et al. Robust Scene Text Recognition with Automatic Rectification[J]. arXiv preprint arXiv:1603.03915, 2016.
文章提出RARE模型实现对不规则文本的end-to-end文字识别,RARE由STN(Spatial Transformer Network)和SRN(Sequence Recognition Network)组成。STN用于对输入的不规则文本进行矫正,得到形状规则的文本作为SRN的输入,SRN是一个基于注意力机制的网络结构,实现sequence to sequence的文本识别。主要从以下几方面记录。
- STN
- SRN
- 模型训练
- 测试阶段
1. STN(Spatial Transformer Network)
STN主要包括三个部分:1) Localization network; 2) Grid Generator; 3) Sampler,结构如下图所示:
1) Localization network
该网络在没有任何标注数据的前提下,基于图像内容定位到基准点的位置。文中该网络结构与传统的CNN网络结构相似:4个卷积层,每个卷积层后接一个2*2的max-pooling层,再接2个1024维的全链接层,最后输出为40维的向量。此处的输出为基准点的坐标,设定基准点个数为 k=20。
2) Grid Generator和Sampler
由于Grid Generator和Sampler是配合使用的,所以放在一起简述一下。Grid generator估计出TPS变换参数,生成一个采样网格。基准点和TPS变换如下图所示:
给定pi′的坐标,计算出pi的坐标(这里可能会有疑惑,为什么target图像为已和,而原图像为未知),因为我们的目标是计算target图像的像素值,所以文章固定了基准点在target图像中的位置,再来计算target图像中每个坐标的像素值。得到原图中pi的坐标后,在Sampler中,pi坐标附近的像素值已知,通过双线性差值得到pi′坐标的像素值。以此类推,得到最终的target图像I′。
2. SRN(Sequence Recognition Network)
SRN是一个attention-based模型,包括encoder和decoder。Encoder由卷积层和BLSTM组成,Decoder由基于注意力机制的GRU(Gated Recurrent Unit)组成,如下图所示。
1) Encoder:Convolutional-Recurrent Network
这里的encoder网络结构与CRNN(见上一篇笔记)中的卷积层和循环层很像,具体配置为:7个卷积层,且第1,2,4,6个卷积层后均接一个2*2的max-pooling层,卷积层上是一个双层的BLSTM网络,每一个LSTM有256个隐单元。encoder的输出序列为h=(h1,h2,…,hL),其中L等于卷积层的宽度。
2)Decoder: Recurrent Character Generator
decoder根据encoder输出的序列循环地生成目标字符序列。decoder是基于注意力机制的循环网络,此处网络结构采用的GRU是LSTM的一种变体。注意力模型的特点在于,根据输出而不断更新的权重
权重的计算函数为αt=Attend(st−1,αt−1,h),表明当前输出字符对应的权重向量αt与前一个GRU的输出st−1、前一个权重向量αt−1以及输入序列h有关。状态变量的更新函数为st=GRU(lt−1,gt,st−1),其中lt−1在训练阶段为ground-truth,在测试阶段为第t-1(即前一步)预测的字符label。
最后通过softmax函数来计算概率分布,lt^为概率最高的字符。
到此处为止,整个STN+SRN的网络结构介绍完了,除了实验部分,论文后面的内容还包括模型训练的几个注意事项,以及测试阶段如何根据模型输出的结果在词典中查找最接近的word。
3. 模型训练
文章中的训练数据为8百万的合成样本数据,输入图像均resize到100×32,STN的输出size也是100×32。另需要注意以下几项:
1)模型参数随机初始化,除了localization network;
2)localization network输出的全链接层初始化参数为0;
3)基准点的初始设置如下图(a)所示(其中b和c的效果不如a)。
4. 测试阶段
测试的过程需要受到词典的约束,而词典有50k以上的word,对比所有word会花费大量的时间。所以,文章采用一种“前序树”的近似查询方法,如下图所示。其中ϵ代表树的根结点,Ω代表EOS(end-of-sequence)。
首先,根据已有的词典建立一个tree,每个结点代表一个字符label,从根结点到叶子结点的路径组成一个word。从根结点开始,每一次根据模型输出的概率分布yt^,在叶子结点中找到概率最高的一个,然后继续,一直到叶子结点被找到。
RARE模型结合STN(Spatial Transformer Network)和SRN(Sequence Recognition Network)实现了对不规则场景文本的端到端识别。STN通过定位网络、网格生成器和采样器进行文本矫正,SRN则利用注意力机制的编码器-解码器结构进行序列识别。模型训练使用8百万的合成样本,并在测试阶段通过前序树的近似查询方法加速词典约束下的识别过程。
2万+

被折叠的 条评论
为什么被折叠?



