CRNN for Text recognition
CRNN 在文字识别上的优点:
- 它是端到端的
- 能处理任意长度的序列
- 不需要预定义的字典
- 更小的模型, 更少的参数 (不需要全连接层)
对于序列类型的对象, CRNN所具有的优点:
- 可以直接从标签序列上进行学习 (例如单词), 而不需要进行另外的标注 (每个字母)
- 它可以直接从图片中读取信息, 无需手工设计特征
- 和 RNN 具有同太阳的优点, 可产生一个序列的标签
- 只要求序列的高度标准化, 不受限于序列的长度
- 文字识别任务上有出色表现
- 更少的参数, 更小的存储空间
CRNN 由 1. 卷积层 2. 循环层(BLSTM) 3. 转录层 (CTC) 构成
信息提取:
- 由卷积层从输入图片(需要缩放至同一高度)中读取信息.
- 从卷积层输出的特征图中提取出特征序列 (作者设计了一个网络层 — “Map-to-Sequence”) 作为循环网络的输入.
具体来说, 就是在特征图上从左到右按列 (每列固定为单个像素的宽度) 来生成特征序列的每个特征向量.
这样可行的原因: 卷积, 池化, 激活操作具有位置不变性, 故特征序列中每个特征向量按从左到右与输入图片上的感受野相关联.
给序列贴标签:
循环网络(BLSTM) 给特征序列中的每个特征向量预测一个标签分布(probability)
循环网络有三个优点:
- 可以利用上下文信息进行预测.
- RNN 可以把误差反向传播给它的前一级 — 卷积层 (把特征图转特征序列这一操作反转)
转录:
转录就是把 RNN 做的每个预测转化为标签. 转录有两种模式: lexicon-free 和 lexicon-based.
标签序列的可能性(probability):
作者采用了传统的可能性定义 — Connectionist Temporal Classification (CTC)