论文解读系列五:结合NLP的文本识别方法SEED (Semantics Enhanced Encoder-Decode)
摘要:当前主流的文本识别方法主要可分为两种,一种基于CTC的序列识别方法、另一种是基于注意力机制的序列识别方法,而当前针对文本识别的一些研究也是基于以上方法做改进,如尝试通过引入矫正网络来实现对于曲形文本序列的识别,但是这种基于矫正的改进方法无法处理模糊、部分遮挡等问题,本文尝试通过结合NLP的方法将语义信息引入基于注意力机制的序列识别方法来解决以上问题。
基本思路:
(a为最常见的文本识别的框架即一种encoder-decoder的模型,(b)为在此基础上引入了注意力机制的一种文本识别框架,以往的文本识别方法都是基于这两种框架针对文本识别中的一些挑战做相应的优化,如引入矫正网络来实现对于曲形文本的识别,而本文提出的模型(c)在以上基础下尝试通过加入语义的监督来增强模型对于遮挡、模糊的文本图像的识别能力。
基本框架:
本文提出的框架理论上可以应用于任何基于注意力机制的文本序列识别模型,文中的实验主要是基于带有矫正模块的ASTER进行的,主要包含四个模块即Encoder、Decoder、Semantic Modules、Pre-trained Language Model,如上图分别对应于下图中四个网络,其中Encoder和Decoder是文字识别模型中常见的基于cnn和lstm(GRU)的神经网络分别对文字图片进行特征提取和解码识别,而该模型框架中额外引入的一个语义模块为一个全连接层组成的一个网络,该网络通过的输入为通过Encoder输出特征向量然后预测输出的是该文字图片标注的高层次的语义信息,并通过与预训练的词嵌入模型输出的词嵌入向量计算损失来实现高层语义上的监督来实现对于部分残缺、模糊等文字图片的识别,此处采用的词嵌入预训练模型为FastText可以有效的提供高层次的语义监督。
词嵌入模型FastText
从NLP的角度出发,词语应该是一段文本语义级别上的最细粒度的单位,而要实现对于一段文本进行分析,首先要思考的就是如何对于一个单词进行表征,在文字识别模型中对于一个字段,我们往往通过最简单的字符级别的one-hot向量来对其进行表征,但是这种方式仅考虑字符级别,无法对于一个单词的高层次语义进行有效表征,因此NLP模型就考虑通过一个语句中的上下文信息来训练词嵌入模型。
FastText是一种skip-gram的词嵌入模型,简单而言就是通过一个词语来预测其上下文来训练一个词嵌入模型。
上图中的输入x为一个语句中的某个单词的one-hot向量,而输出为预测的其固定的N个上下文的单词的概率,通过softmax loss来对该模型进行训练已实现其对于高层语义的表征,而其中间的隐藏层即可作为词嵌入向量来表征其语义信息。
同时FastText还针对词库量过大时模型训练负载过大以及对于不在词库中的词无法进行表征等问题提出了hierarchical softmax、n-gram等思路进行了优化,其扩展性使得其适用于通用文字识别模型的语义特征表达。
损失函数及优化策略
该模型的核心在于在识别模型上加了一个语义监督模块,损失函数为(1),其中rec项为常见的识别损失项,而sem项为语义损失项用来提供语义监督信息,具体为(2),可以理解为模型预测的词嵌入向量与预训练的词嵌入向量之间的余弦距离。
(1)
(2)
其中值得注意的是该文采用的一个训练策略是用模型输出的词嵌入向量对decoder进行初始化,这样理论上有两个原因,一个是为decoder训练提供了高层语义信息,一个是这样是完整的端到端训练优化。
结果
该文主要基于ASTER在主流文本识别数据集上做了一系列实验,验证该文提出的语义监督对于提高文本识别模型结果的有效性。
同时为了验证语义监督对于增强文本识别模型从语义层次推断文本的能力有效性,特别将IC13和IC15数据集上裁剪下来的文本框进行了一定程度的裁剪使其出现一定程度的残缺,实验结果验证了其有效性。
(GAP表示模型在裁剪后的数据集上精度下降百分比)
(部分代表性示例)
还有一个比较有意思的实验结果,通过搜索一些文本图片由该模型推理得到词嵌入向量与预训练语言模型词库中余弦相似度最大的词,可以看到相似度较大的词确实是语义较为相似的词语,具有一定的启发性。
Reference
[1].Zhi Qiao and Yu Zhou and Dongbao Yang and Yucan Zhou and Weiping Wang (2020). SEED: Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition. CoRR, abs/2005.10977.
- 点赞
- 收藏
- 关注作者
评论(0)