ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

MASTER: Multi-aspect non-local network for scene text recognition

2022-05-16 00:32:39  阅读:193  来源: 互联网

标签:Multi network 特征 text attention Non HW non local


总体介绍

基于Seq2Seq的OCR改进文章,提出两个问题,encoder特征间相似度太高导致注意力不准 & RNN-based的结构需要逐个step跑效率太低:

1、 such methods suffer from attention-drift problem because high similarity among encoded features leads to attention confusion under the RNN-based local attention mechanism. 

2、RNN-based methods have low efficiency due to poor parallelization.

三个改进,加了2个自注意力机制 & 改进网络结构增强对空间的分辨能力 & 更有效的缓存机制加速:

 (1) not only encodes the input-output attention but also learns self-attention which encodes feature-feature and target-target relationships inside the encoder and decoder

 (2) learns a more powerful and robust intermediate representation to spatial distortion

 (3) owns a great training efficiency because of high training parallelization and a high-speed inference because of an efficient memory-cache mechanism. 

 

上图即为网络结构,

编码器种作者用Multi-Aspect Global Context Attention (GCAttention)结构改进了常规的resnet,从Fiegre2-a、Figure2-b可见GCA的结构:多头的Resnet Block。

Global context

其中Figure2-a的结构(standard global context block)是比较老的ResNet改进了,是对non-local block的简化实现,下面这张图应该更为经典(解读见https://zhuanlan.zhihu.com/p/64988633):

 

Non local SENet GCNet

 

 

Non local通过注意力机制给HW尺寸图的每个位置单独生成了HW尺寸的权重,HW的权重和C*HW的value作用生成每个位置的C*1*1的特征,共有HW个特征,GCNet的作者分析non local发现对于不同位置来说,它们的attention maps几乎是相同的,换句话说,虽然non-local block想要计算出每一个位置特定的全局上下文,但是经过训练之后,全局上下文是不受位置依赖的。即上non local图中的HW*HW的权重矩阵其实用1*HW即可(不同位置的权重统一表示),最后的特征也只有一个C*1*1。

GCNet意义就是先计算了融合全局上下文信息的C个通道特征,然后捕获通道间的依赖,最后将各个通道的信息添加到原始特征上:

 

 

 

 

卷积也能拆分成空间依赖、通道依赖、特征融合三个步骤,Non-local和SENet有效主要是因为context modeling,卷积只能对局部区域进行context modeling,导致感受野受限制,而Non-local和SENet实际上是对整个输入feature进行context modeling,感受野可以覆盖到整个输入feature上,这对于网络来说是一个有益的语义信息补充。另外,网络仅仅通过卷积堆叠来提取特征,其实可以认为是用同一个形式的函数来拟合输入,导致网络提取特征缺乏多样性,而Non-local和SENet正好增加了提取特征的多样性,弥补了多样性的不足。GCNet充分结合了Non-local全局上下文建模能力强和SENet省计算量的优点,在各个计算机视觉任务上得到更好的结果。

Multi-Apsect GCAttention (MAGC)

原GCNet输出C*1*1的特征中各个通道依赖同一个HW尺寸的权重,这不是很合理,作者采取多头的机制使得不同的通道对不同的位置的依赖权重不再相同。公式中计算alpha里的d我没怎么搞懂,说是为了抵消网络中不同的方差,,看起来是网络全部变量的方差/8?可以看看代码实现。

 

 

 

 

 

 编码器就是GCA的堆叠,基于ResNet31实现。

 

标签:Multi,network,特征,text,attention,Non,HW,non,local
来源: https://www.cnblogs.com/hellcat/p/16275394.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有