【论文笔记】Robust Scene Text Recognition with Automatic Rectification
2017-12-20 15:22
525 查看
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
模型训练
测试阶段
![](http://img.blog.csdn.net/20171220110623348?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFiYml0aHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20171220111121393?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFiYml0aHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
给定pi′的坐标,计算出pi的坐标(这里可能会有疑惑,为什么target图像为已和,而原图像为未知),因为我们的目标是计算target图像的像素值,所以文章固定了基准点在target图像中的位置,再来计算target图像中每个坐标的像素值。得到原图中pi的坐标后,在Sampler中,pi坐标附近的像素值已知,通过双线性差值得到pi′坐标的像素值。以此类推,得到最终的target图像I′。
![](http://img.blog.csdn.net/20171220111614310?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFiYml0aHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
权重的计算函数为α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。
1)模型参数随机初始化,除了localization network;
2)localization network输出的全链接层初始化参数为0;
3)基准点的初始设置如下图(a)所示(其中b和c的效果不如a)。
![](http://img.blog.csdn.net/20171220144123475?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFiYml0aHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20171220144838515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFiYml0aHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
首先,根据已有的词典建立一个tree,每个结点代表一个字符label,从根结点到叶子结点的路径组成一个word。从根结点开始,每一次根据模型输出的概率分布yt^,在叶子结点中找到概率最高的一个,然后继续,一直到叶子结点被找到。
文章提出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^,在叶子结点中找到概率最高的一个,然后继续,一直到叶子结点被找到。
相关文章推荐
- robust scene text recognition with automatic rectification
- 【论文笔记】 R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection
- 论文阅读(XiangBai——【PAMI2018】ASTER_An Attentional Scene Text Recognizer with Flexible Rectification )
- A Novel Text Structure Feature Extractor for Chinese Scene Text Detection and Recognition论文笔记
- 论文阅读(Lukas Neuman——【ICDAR2015】Efficient Scene Text Localization and Recognition with Local Character Refinement)
- 【论文笔记】Text-Recognition_简略版_201606
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
- 论文笔记——(有源码)Real-time Action Recognition with Enhanced Motion VectorCNNs
- 论文《Text Understanding with the Attention Sum Reader Network》笔记
- Detecting Text in Natural Image with Connectionist Text Proposal Network论文笔记
- 论文阅读(Lukas Neumann——【ICCV2017】Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recognition Framework)
- 读论文 CVPR_2017_Scene-Text-Detection Method Robust against Orientation and Discontiguous Components of
- 论文笔记之:Multiple Object Recognition With Visual Attention
- 论文笔记:TextBoxes: A Fast Text Detector with a Single Deep Neural Network
- 论文理解:DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations
- 【论文笔记】Reading Scene Text in Deep Convolutional Sequences
- Efficient Scene Text Localization and Recognition with Local Character Refinement
- 论文阅读理解 - DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations
- [论文笔记]Feature Enhancement Network: A Refined Scene Text Detector
- CNN Features for Scene Recognition-论文笔记