Mask TextSpotter

1. 介绍

在 Mask TextSpotter 中, 作者借鉴了 Mask R-CNN 的思想来生成对象的形状掩码, 从而使得 MTS 能 检测 任意形状的文本.

除此之外, 区别于以往的 sequence-to-sequence 识别方法, MTS 通过 semantic segmentation (语义分割) 和 spatial attention (空间注意力机制) 来解决不规则文本的 识别问题

2. 结构

在这里插入图片描述
Mask TextSpotter 由四部分组成:

  • 特征金字塔网络 (FPN) 作为主干
  • RPN 来生成文本建议 (text proposal)
  • Fast R-CNN 进行 bounding boxes regression
  • mask branch 进行文本实例分割, 字符分割, 和文本序列识别
2.1 数据流动

在训练阶段, 先由 RPN 产生文本建议, 然后文本建议的 RoI 特征被喂到 Fast R-CNN 和 mask branch 来生成 1. 文本候选框 2. 文本实例分割图 3. 字符分割图 4. 文本序列

2.2 主干

自然图像中的文本大小各不相同, 为了在所有大小的文本上构建语义特征图, 作者应用了 ResNet50 作为主干. FPN 使用了一个 top-dowm 架构来融合来自单一尺度输入的不同分辨率的特征.

???

2.3 RPN

RPN 就是用一系列不同大小和长宽比的锚框来产生文本候选框 (即文本建议). 再用 RoI Align 来提取文本候选框的特征.

2.4 Fast R-CNN

Fast R-CNN 包括了分类任务和回归任务. 它主要的功能就是为文本检测提供精准的锚点位置和锚框尺寸. 它接收从 RoI Align 产生的 7 × 7 分辨率的输入.

2.5 Mask Branch

Mask branch 的作用是对任意形状的文本进行检测和识别. 它有三个任务, 包括 1. 文本实例分割 2. 字符分割 3. 文本序列识别

将在 3. 和 4. 中展开论述.

3. Text Instance and Character Segmentation


如图所示, 固定为 16×64 尺寸的 RoI 特征通过四个卷积层 (每个卷积层包含 3×3 的滤波器) 和 一个反卷积层 (2×2 的滤波器和步长), 然后喂给两个模块.

一个单通道的文本实例图由卷积层产生, 不管这个文本实例的形状是如何, 通过卷积层都可以给出精确的文本区域定位.

在字符分割模块中, 字符分割图由特征图直接产生.

???

4. Spatial Attentional Module (SAM)

在这里插入图片描述
因为字符分割有一些缺陷: 1. 需要字符级别的标注 2. 需要一种专门设计的后处理算法来从分割图中产生文本序列 3.不能从分割图中得到字符的顺序

而 SAM 可以有效克服这些缺点. 空间注意力模块以端到端的方式从二维特征图中解码文本序列, 以表示更好的形状.

因此在文字识别部分除了有 字符分割模块 , 作者还加入了 SAM 模块. 字符分割模块在像素级别预测字符 — 一种像素投票算法, 它根据最终的文本序列结果对像素进行分组和排列. SAM 通过二维和端到端的方式预测序列的形状.

SAM 工作流程如图所示, 首先, 接受一个特征图, 通过双线性内插值 (bilinear interpolation) 将大小调整为固定形状. 然后, 依次通过 卷积层 - max pooling layer - 卷积层. 最后, RNNs 和 SAM 共同作用, 产生文字序列.

4.1 Position Embedding
4.2 Spatial Attention with RNNs

5 生成标签

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值