SAR:Show, Attend and Read: A Simple and Strong Baseline for Irregular Text Recognition
不规则文本的识别
对于不规则(曲形文字、艺术字等)的识别,作者没有采用基于修正(rectification)的策略,而是提出利用基于不规则文字而构造的(tailored)基于二维注意力机制模块(2D attention module)的模型来定位和逐个识别字符的弱监督方法
弱监督是由于该模型可以在不用额外的监督信息就可以定位单个字符(即不需要字符级别或像素级别的标注)
网络的总体结构:
输入
CNN
使用31层resnet得到特征图
- 共31层的ResNet,对于每个残差模块,如果输入-输出维度不同,则使用1x1卷积做projection shortcut;
- 同时使用了2x2最大池化和1x2最大池化(为了保留更多水平轴上的信息,对于’i’, 'l’这种偏瘦的字符增益较大)
- 最终输出V为 H x W x D (高、宽、通道数)的二维特征图,以用于提取图像的整体特征(holistic feature);
- 在保持原输入图像宽高比的基础上,将图像缩放至固定高度(论文中是48)和随之变化的宽度,因此得到的特征图的宽度也是不固定的;
- Conv代表卷积层,给出内核大小和输出通道。卷积层的步幅和填充都设置为“1”。对于Maxpooling层,“k”表示内核大小,“s”表示步幅。对最大池层没有填充。
LSTM编码解码器
编码,就是将输入序列转化成一个固定长度的向量;解码,就是将之前生成的固定向量再转化成输出序列。 当前 time step 的 hidden state 是由上一 time step 的state和当前 time step 输入决定的,也就是获得了各个时间段的隐藏层以后,再将隐藏层的信息汇总,生成最后的语义向量C;通常传统的 encoder-decoder 结构将 encoder 最后的隐藏层作为语义向量C,作为 decoder 的输入。
- 序列对序列的,所以能够处理弯曲,遮挡,模糊问题。
- 但是 如果想要精确识别,效果不好
不改变原文字图片(不修正)
attention机制
对当前关注的部分赋予较大的注意力(权重),这种权重分布通过计算当前输入与输出的相关度来设定。这是因为传统LSTM的结构不论输入序列多长都会被编码成固定长度的向量表示,而当输入序列很长时,而编码长度固定意味着存储的信息有限,因而效果欠佳,而attention机制通过保留LSTM编码器对输入序列的中间输出结果,然后训练一个模型对这些输入进行选择性的学习并在模型输出时将输出序列与之关联,因此在序列学习的任务上提升巨大。
基于 Attention 的方法主要关注的是序列之间各部分的相关性,该方法最早在机器翻译领域提出,认为在文本翻译的过程中当前词的结果主要由某几个单词影响的,因此需要给有决定性的单词更大的权重。在文本识别领域也是如此,将编码后的序列解码时,每一步都选择恰当的context来生成下一个状态,这样有利于得到更准确的结果。