识别论文精度(一)CRNN
《An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition》
目标:基于图像的序列识别问题
方法:第一次提出一个端到端可训练的网络架构,包括特征提取、序列建模、转录三个部分
四个特点:
①端到端可训练,现有方法都是分开训练和调整(微调)
②能处理任意长度的序列,无需字符级别的分割
③不受限于预先定义的词典,没有词典也能有很好的结果
④模型小,参数量少,更有实际价值
现有的方法,主要分为三类:
①基于CNN的方法:第一种是先检测单个字符,然后对每个字符使用分类网络进行分类;第二种是将每个词作为一个类别,构建一个类别数量非常大(可能几万,几百万类)的分类网络,直接对输入图像进行分类
②基于RNN的方法:先对输入图像提取几何特征(如HOG特征等,用人工设计的算子),然后将提取到的特征作为RNN的输入进行分类
③其他:将文本图像和文字内容(字符串)嵌入一个公共空间,将识别问题转成一个检索问题,即在这个公共空间,文本图像的高维表示和哪个字符串的高维表示更接近
主要贡献:
①只需要序列级标注,无需字符级的标注
②从图像数据学习有效表征,无需手工设计特征提取器,无需前处理(比如二值化、分割、连通域(元素定位))
③能循环产生序列标签
④可以处理任意长度的输入
⑤更好的精度
⑥更少的参数
具体方法:
CNN部分主要包括卷积层和最大池化层 --> 关于卷积和最大池化操作参考
CNN的主要作用:有效提取图像特征
RNN部分主要包括两层双向LSTM --> 关于两层双向LSTM参考 (应该有一个基础知识部分)
RNN的主要作用:捕获上下文信息,使用上下文线索,比使用单个字符更好(歧义字符,反向传播,端到端训练,可以处理变长序列
Transcription(转录)层:使用被定义在连续时序分类( Connectionist Temporal Classifification (CTC) )上的条件概率,即找出相对于对于输入最可能的标签序列(字符串),使用CTC可以有效忽略位置信息;
转录有两种方式:有词典(输入图像上的内容一定是词典中的一个词)和无词典
损失函数是最大化条件概率,那么可以转成,最小化负对数似然,即:
p ( l ∣ y ) = ∑ π : B ( π ) = l p ( π ∣ y ) p(l|y) = \sum_{π:B(π)=l}p(π|y) p(l∣y)=π:B(π)=l∑p(π∣y)