软件工程应用与实践(十三):三种新文本识别算法介绍

2021SC@SDUSC

目录

一、前情回顾

1.1 PP-OCR文字识别算法和本文策略介绍

二、SEED策略介绍

2.1 SEED是做什么的?

2.2 SEED是怎么工作的?

 2.3 SEED框架解析

2.3.1编码器-解码器框架

2.3.2 快速文本模型

2.3.3 SEED

2.4 实验

三、 SEED性能总结

总结


一、前情回顾

1.1 PP-OCR文字识别算法和本文策略介绍

  之前的文章已经详细介绍过PP-OCR文本之前文章一直介绍的主流文本识别算法都是CTC+CRNN,新介绍的PP-OCRv2模型在CTC+CRNN框架上添加了一些新的策略。看到paddlepaddle官网发布了几种新的文字识别算法,读了一下SEED的论文,这里介绍一下。

二、SEED策略介绍

2.1 SEED是做什么的?

SEED(Semantics Enhanced Encoder-Decoder Framework for Scene Text Recognition)相对于其他框架在解决图像中字符缺损,模糊等样本的识别方面效果更好。

文字识别中常用的编码解码框架可用于处理透视失真(perspective distortion)和曲线形状(curve shape)的文字,但是依然无法处理那些图像模糊,明暗不均衡的图像,以及字符不完整的图像。

SEED提出了一个语义增强的编码器-解码器框架来稳健地识别低质量的场景文本。在SEED中语义信息既被用于监督的编码器模块,也被用于初始化的解码器模块。特别是,最先进的ASTER方法也被整合到所提出的框架中。下图是SEED和其它框架的效果比较。

 现有的方法将文本识别任务定义为局部的序列字符分类任务,但忽略了整个单词的全局信息。因此,它们可能难以处理低质量的图像,如图像模糊、遮挡和不完整的字符。然而,SEED通过考虑文本的全局信息来很好地处理这些低质量的情况。

2.2 SEED是怎么工作的?

SEED首先预测了一个额外的语义信息,作为全局信息,语义信息然后被用来初始化解码器。

语义信息有两个主要的优点,

1)它可以由自然语言处理领域的词嵌入监督,2)它可以减少关注视觉特征的编码器和关注语言信息的解码器之间的差距。

下面是SEED的框架,由4个主要部分组成。

1)编码器包括CNN主干和RNN,用于提取视觉特征;2)语义模块,用于从视觉特征中预测语义信息;3)预训练的语言模型,用于监督语义模块预测的语义信息;4)解码器包括RNN,用于生成识别结果的注意力机制。

 2.3 SEED框架解析

2.3.1编码器-解码器框架

编码器-解码器框架被广泛用于神经机器翻译、语音识别、文本识别等.如图所示,编码器提取丰富的特征并生成一个包含输入全局信息的语境向量C,然后解码器将语境向量转换为目标输出。编码器和解码器的具体构成并不固定。

 普通的编码器-解码器框架(图a)有一个明显的缺点,即上下文信息对整个输入的表达能力有限。将注意力机制引入到编码器-解码器框架中,这被定义为基于注意力的编码器-解码器框架(图b)。

2.3.2 快速文本模型

选择FastText作为我们预训练的语言模型,它是基于跳格的。FastText模型可以处理 "词汇量不足 "的问题,FastText适合我们的框架。

设T = {wi−l , . . . , wi+l }是文本语料库中的一个句子。l表示该句子的长度,是一个超参数。在skip-gram中,一个词wi由一个嵌入向量vi表示,然后输入到一个简单的前馈神经网络,其目的是预测上下文,表示为Ci = {wi-l, . .,wi-1, wi+1, . . ., wi+l}。通过训练前馈网络,嵌入向量同时被优化,一个词的最终嵌入向量接近于具有类似语义的词。FastText还嵌入了子词,并使用它们来生成单词wi的最终嵌入。给出超参数lmin和lmax,表示子词的最小和最大长度。例如,让lmin=2,lmax=4,单词为 “where”,子词的集合为{wh, he, er, re, whe, her, ere, where, here}。词的表示是由所有子词的嵌入向量和词本身的组合得到的。
 

2.3.3 SEED

总体框架

在一些低质量的图像中,文本可能是模糊的或被遮挡的。为了解决这些问题,利用全局语义信息是一种选择。拟议的框架如图所示。

 

 与基于注意力的编码器和解码器框架不同,所提出的语义模块预测了额外的语义信息。此外,使用了预先训练好的语言模型中的词嵌入作为监督来提高性能。之后,语义信息与视觉特征一起被送入解码器。通过这种方式,我们的方法对低质量的图像具有鲁棒性,并能纠正识别错误。

语义增强型ASTER的结构

使用ASTER[45]作为我们提出的框架的典范,我们将提出的方法称为语义增强型ASTER(SE-ASTER)。图3是SE-ASTER的图示。有四个模块:矫正模块用于矫正不规则的文本图像,编码器用于提取丰富的视觉特征,语义模块用于从视觉特征中预测语义信息,解码器用于转录最终的识别结果。

损失函数和训练策略

我们在语义模块和解码器模块中都加入了监督。SE-ASTER是端到端的训练。损失函数如下。
L = Lrec + λLsem 。 (2)
其中,Lrec是预测概率相对于ground-truth的标准交叉熵损失,Lsem是预测语义信息相对于预训练的FastText模型的转录标签的词嵌入的余弦嵌入损失。 λ是平衡损失的超参数,我们在这里将其设置为1。请注意,我们在这里只是使用一个简单的基于余弦的损失函数,而不是对比性损失,以加快训练速度。
Lsem = 1 - cos(S, em) 。 (3)
其中S是预测的语义信息,em是来自预训练的FastText模型的词嵌入。
有两种训练策略。第一种是用预训练的FastText模型的词嵌入而不是预测的语义信息来初始化解码器的状态。另一种是直接使用预测的语义信息。我们对这两种策略进行了评估,它们的性能是相似的。我们使用第二种训练策略,以纯粹的端到端方式训练模型。

2.4 实验

我们看一下具体实验结果:

下面是性能对比:

  对IIIT5K进行了实验,以可视化预测的语义信息的有效性对比:

 在全局语义信息的帮助下,SEED模型可以很容易地区分。

 

三、 SEED性能总结

SEED提出了用于场景文本识别的语义增强编码器-解码器框架。框架预测了一个额外的全局语义信息,该信息由预先训练好的语言模型的词嵌入监督。使用预测的语义信息作为解码器的初始化,可以提高识别精度,特别是对于低质量的图像。通过将最先进的方法ASTER整合到框架中,可以在几个标准的基准数据集上取得优异的结果。


 

总结

以上就是今天要讲的内容,本文仅仅简单介绍了SEED论文里的内容,其实还有很多新的文本识别技术提出,大家有兴趣可以查看相关论文。下面是我的推荐:NRTR: A No-Recurrence Sequence-to-Sequence Model For Scene Text RecognitionSAR:Show, Attend and Read: A Simple and Strong Baseline for Irregular Text Recognition

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值