【论文笔记】Towards Accurate Scene Text Recognition with Semantic Resoning Networks(SRN)

Towards Accurate Scene Text Recognition with Semantic Resoning Networks

基本信息

  • 论文链接:arxiv
  • 发表时间:2021 - CVPR
  • 应用场景:场景文字识别

摘要

存在什么问题解决了什么问题
1. 之前的场景文字识别模型在视觉信息上的挖掘是比较充分的,但是对于语义信息的使用考虑较少。
2. 过往的模型中用到语义信息的大都使用了RNN结构,但是它有着天然的缺陷:不能并行解码、并且其上下文语义是单路的(要么来自于上一个字符,要么来自于下一个字符),限制了计算效率与信息的有效传播、这期间还会有无用语义信息以及错误语义信息的传播,效果不尽如人意。
1. 提出了SRN网络,该网络中的GSRM模块能够将全局语义信息通过多路并行传播,进而对上下文语义进行充分的探索,使得SRN在regular以及irregular dataset上达到多个SOTA。

模型结构

image-20220531204123667

label预处理规则:头部加 < s o s > <sos> <sos>,尾部加 < e o s > <eos> <eos>,长度不到max_decode_length的用 < p a d > <pad> <pad>补齐。

Backbone Network

采用ResNet50。

用了一个FPN结构,取stage3,stage4,stage5做特征融合,从stage5逐级上采样融合到stage3,最终得到的feature map在高、宽上降采样倍率为原图的1/8(stage3的大小)。

再通过一个transformer encoder(n_head=8,n_layers=2)做2d feature map特征加强。(backbone就已经比其他模型的参数多很多了。。)

Parallel Visual Attention Module(PVAM)

设feature_map shape=[hxw, c],PVAM的作用是产生对齐后的视觉特征,其shape=[max_len, c’]。

PVAM通过并行计算的方式一次性求出max_len个向量,每个向量代表该位置上应该被识别出的字符所代表的隐空间向量。如何并行?通过修改Bahdanau attention的计算方法来实现。

一般地,在seq2seq with attention结构上,解码器需要一个LSTM,输入 < s o s > <sos> <sos> balabala …,阻碍并行的原因是每次的输入都要上一个step的LSTM的输出结果的embedding。这里作者直接用每个即将参与解码字符的position embedding来代替(文中叫reading order embedding),那么一次性就可以得到max_len个embedding vector了(idx=0,1,2,…,max_len-1),从而也不再需要LSTM,此时就相当于一次性拿到所有时间步的输出字符的embedding vector了,计算公式如下:

image-20220531210205263

O t O_t Ot就是position idx。

基于feature map和attention score,一次性求出每个时间步输出的对齐后的视觉特征:

image-20220531212701774

注意PVAM涉及到一些broadcast操作。

Global Semantic Reasoning Module(GSRM)

image-20220531213858806

Visual-to-semantic embedding block

如上图中图(a)所示,基于PVAM的输出:

先通过FC映射到字符空间,接一个softmax,得到每个时间步上预测字符的概率分布,通过ce loss进行优化:

image-20220531214208429

再求个argmax,得到每个时间步上预测的字符,再通过一个shape=[vocab_size, d]的embedding layer,映射成向量,此时shape=[max_len, d],准备送入Semantic Reasoning Block。

Semantic reasoning block

该模块为transformer encoder(n_head=8, n_layers=4)。

作用是根据上下文信息对每个时间步上的字符进行预测,refine PVAM模块输出结果。

注意mask的生成以及shift left\right,因为每个字符要么只能看到其左侧字符,要么只能看到其右侧字符。

该模块Loss也采用ce loss:

image-20220531223344368

Visual-Semantic Fusion Decoder(VSFD)

PVAM和GSRM都能输出预测结果,所以很自然的想到能不能把两个模块的结果做一个融合?VSFD就起到了这个作用。

因为是来自不同模态的特征,所以作者这里通过学习的方式来学习自适应权重效果应该是最好的,合方法采用门控机制:

image-20220531230638255

σ是sigmoid激活函数。后面的消融实验也验证了这个融合方式效果是最好的。

同样的,最终的融合输出 f t f_t ft也采用ce loss:

image-20220531230814773

Loss

Loss为前面三个分类Loss的加权求和:

image-20220531230856043

实验

6个数据集上达到SOTA:

image-20220531231022988

backbone消融实验,验证了CNN+transformer+reading order embedding效果是最好的:

image-20220531231114325

GSRM消融实验,4层堆叠效果最好:

image-20220531231142988

VSFD消融实验,验证了门控机制效果是最好的:

image-20220531231326744

总结

  1. 提出了一个带有全局上下文语义推理模块(GSRM)的自然场景文字识别网络SRN,使模型具备了在低质图像下的”猜“字符的能力,进一步提升了识别的鲁棒性。GSRM是multi-way-decode的,具备global特性,因此受错误累积影响小、抗噪能力更强。另外GSRM模块是并行的,速度相对较快。
  2. PVAM模块的输出正确性尤为重要,不论是GSRM还是VSFD,都非常依赖PVAM的输出,而PVAM中采取了”近似“的手段,这就导致了其输出精度注定不会太高,那么此时后面俩模块所起到的作用也就大打折扣了。因此保证PVAM输出一个对齐效果比较好的视觉特征是非常必要的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值