一、简介
是一种卷积循环神经网络结构,用于解决基于图像的序列识别问题,特别是场景文字识别问题。
二、网络结构
三层:
- 卷积层
- 循环层
- 转录层
2.1 卷积层
组成:卷积层+最大池化层
区别:与普通CNN网络不同的是,CRNN在训练之前,先把输入图像缩放到相同高度(图像宽度维持原样)
特征生成:提取的特征序列中的向量是从特征图上从左到右按照顺序生成的,每个特征向量表示了图像上一定宽度上的特征,论文中使用的这个宽度是1,就是单个像素。
2.2 循环层
循环层由一个双向LSTM循环神经网络构成,预测特征序列中的每一个特征向量的标签分布(真实结果的概率列表)
2.3 转录层
转录是将LSTM网络预测的特征序列的所有可能的结果进行整合,转换为最终结果的过程。论文中实在双向LSTM网络的最后连接上一个CTC模型,做到端对端的识别。
CTC模型(Connectionist temporal classification) 联接时间分类,CTC可以执行端到端的训练,不要求训练数据对齐和一一标注,直接输出不定长的序列结果。
CTC一般连接在RNN网络的最后一层用于序列学习和训练。对于一段长度为T的序列来说,每个样本点t(t远大于T)在RNN网络的最后一层都会输出一个softmax向量,表示该样本点的预测概率,所有样本点的这些概率传输给CTC模型后,输出最可能的标签,再经过去除空格(blank)和去重操作,就可以得到最终的序列标签。
网络结构简图: