该论文中,我们提出了一个易于实现的不规则场景文本识别基准网络,使用现成的神经网络组件和只有单词级别的标注。它由一个31层的ResNet、一个基于LSTM的编解码器框架和一个二维的注意模块组成。该方法虽然简单,但具有较强的鲁棒性。它在不规则文本识别基准测试和常规文本数据集上取得了最先进的效果。
整个模型由两个主要部分组成:用于特征提取的ResNet CNN和基于数据量的编解码器模型。它接受一个图像作为输入,并输出一个不同长度的字符序列.
设计的31层ResNet(He et al.2016a)如表1所示。对于每个残差块,如果输入和输出尺寸不同,我们使用投影快捷方式(由1×1卷绕完成),如果它们具有相同的维度,我们使用恒等变换快捷方式。所有卷积核大小都是3×3。除了两个2×2最大池层外,我们还使用1×2最大池层,如(Shi,Bai和Yao 2017),它在水平方向轴上保留更多信息和有利于识别狭窄形状的字符(例如,‘i’,‘l’)。 得到的2D特征图(表示为尺寸为H×W×D的V,其中D是通道的数量)将用于:1)提取整个图像的整体特征; 2)作为2D关注网络的上下文。 为了保持原始宽高比,我们将输入图像调整为固定高度和不同宽度。 因此,得到的特征图的宽度W也会随着纵横比的变化而变化。
序列到序列模型已广泛应用于机器翻译、语音识别和文本识别(Sutskever, Vinyals, and Le 2014) (Chorowski et al. 2015) (Cheng et al. 2017)。本文采用基于二维注意的编解码器网络进行不规则文本识别。在不改变原始文本图像的情况下,该注意模块能够适应任意形状、布局和方向的文本。
编码器 如图3所示,编码器为2层LSTM模型,每层隐藏状态大小为512。在每个时间步长,LSTM编码器接收一列2D特性映射,然后沿垂直轴进行最大池化,并更新其隐藏状态 h t \mathbf{h}_{t} ht。经过W步,将第二LSTM层的最终隐藏状态 h w \mathbf{h}_{w} hw视为输入图像的固定大小表示(整体特征),并提供解码。
图3:本文使用的LSTM编码器的结构。v:,i表示二维feature map v的第i列。在每个时间步长,首先沿垂直方向汇聚一个列特征,然后送入LSTM。
解码器 如图4所示,解码器是另一种LSTM模型,具有2层,每层隐藏层大小为512。编码器和解码器不共享参数。时间步长为0,首先将整体特征 h w \mathbf{h}_{w} hw输入解码器LSTM。然后在第1步将"START"标记输入到LSTM。从步骤2开始,将前一步的输出输入LSTM,直到接收到“END”令牌。LSTM输入都是由一个炎热的向量,紧随其后的是一个线性变换Ψ()。在训练过程中,解码器LSTMs的输入被真实标记字符序列所代替。输出通过以下转换计算
y t = φ ( h t ′ , g t ) = softmax ( W o [ h t ′ ; g t ] ) \mathbf{y}_{t}=\varphi\left(\mathbf{h}_{t}^{\prime}, \mathbf{g}_{t}\right)=\operatorname{softmax}\left(\mathbf{W}_{o}\left[\mathbf{h}_{t}^{\prime} ; \mathbf{g}_{t}\right]\right) yt=φ(ht′,gt)=softmax(Wo[ht′;gt])
其中 h t ′ \mathbf{h}_{t}^{\prime} ht′为当前隐藏状态, g t \mathbf{g}_{t} gt为注意模块的输出。 W o \mathbf{W}_{o} Wo是一个线性变换,它将特征嵌入到94个类的输出空间中,对应于10位数字、52个区分大小写的字母、31个标点符号和一个"END"标记。
2D注意力 传统的二维注意模块(Xu et al. 2015)独立对待每个位置,忽略了它们的二维空间关系。为了考虑邻域信息,我们提出了一种特别的二维注意机制:
{ e i j = tanh ( W v v i j + ∑ p , q ∈ N i j W ~ p − i , q − j ⋅ v p q + W h h t ′ ) α i j = softmax ( w e T ⋅ e i j ) g t = ∑ i , j α i j v i j , i = 1 , … , H , j = 1 , … , W \left\{\begin{aligned} \mathbf{e}_{i j} &=\tanh \left(\mathbf{W}_{v} \mathbf{v}_{i j}+\sum_{p, q \in \mathcal{N}_{i j}} \tilde{\mathbf{W}}_{p-i, q-j} \cdot \mathbf{v}_{p q}+\mathbf{W}_{h} \mathbf{h}_{t}^{\prime}\right) \\ \alpha_{i j} &=\operatorname{softmax}\left(\mathbf{w}_{e}^{T} \cdot \mathbf{e}_{i j}\right) \\ \mathbf{g}_{t} &=\sum_{i, j} \alpha_{i j} \mathbf{v}_{i j}, \quad i=1, \ldots, H, \quad j=1, \ldots, W \end{aligned}\right. ⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧eijαijgt=tanh⎝⎛Wvvij+p,q∈Nij∑W~p−i,q−j⋅vpq+Whht′⎠⎞=softmax(weT⋅eij)=i,j∑αijvij,i=1,…,H,j=1,…,W
其中 v i j \mathbf{v}_{i j} vij为在二维特征向量V中在(i,j)位置的local feature vector中, N i j \mathcal{N}_{i j} Nij是这个位置周围的8个邻居; h t ′ \mathbf{h}_{t}^{\prime} ht′为解码器LSTMs在时间步长t处的隐藏状态,被用于指导信号; W v \mathbf{W}_{v} Wv、 W h \mathbf{W}_{h} Wh和 W ~ S \tilde{\mathbf{W}}_{\mathrm{S}} W~S是需要学习的线性变换; α i j \alpha_{i j} αij位置(i,j)的注意力权重; g t \mathbf{g}_{t} gt为局部特征的加权和,作为 glimpse。与传统的注意机制相比,我们在计算 v i j \mathbf{v}_{i j} vij的权重时加入了一个部分 ∑ p , q ∈ N i j W ~ p − i , q − j ⋅ v p q \sum_{p, q \in \mathcal{N}_{i j}} \tilde{\mathbf{W}}_{p-i, q-j} \cdot \mathbf{v}_{p q} ∑p,q∈NijW~p−i,q−j⋅vpq。从图5可以看出(2)的计算可以通过一系列卷积运算来完成。因此很容易实现。
提出的二维注意机制的计算可以简单地通过卷积实现,其中 W v v i j + ∑ p , q ∈ N i j W ~ p − i , q − j ⋅ v p q \mathbf{W}_{v} \mathbf{v}_{i j}+\sum_{p, q \in \mathcal{N}_{i j}} \tilde{\mathbf{W}}_{p-i, q-j} \cdot \mathbf{v}_{p q} Wvvij+∑p,q∈NijW~p−i,q−j⋅vpq;并给出了中间结果的大小。操作平铺复制输入1,1,d向量H×W次.