Mask R-CNN with Pyramid Attention Network for Scene Text Detection
KeyWords Plus: WACV2018 Curved Text
paper:https://arxiv.org/pdf/1811.09058.pdf
reference: Huang Z , Zhong Z , Sun L , et al. Mask R-CNN with Pyramid Attention Network for Scene Text Detection[J]. 2018.
Github: 未开源
创新点
本文提出了一种新的基于Mask R-CNN的文本检测方法,该方法能够以统一的方式鲁棒地检测来自自然场景图像的多方向和弯曲文本。为了增强Mask R-CNN用于文本检测任务的特征表示能力,使用金字塔注意力网络(PAN)作为Mask R-CNN的新主干网络。
模型
基于Mask R-CNN的文本检测网络由四个模块组成:
- PAN特征金字塔主干网络,负责在整个图像上计算多尺度卷积特征金字塔;
- 产生矩形文本proposal的区域提议网络(RPN);
- Fast R-CNN检测器,对提取的proposal进行分类并输出相应的四边形边界框;
- Mask预测网络,用于预测输入proposal的文本掩模。
PAN金字塔注意力网络
金字塔注意力网络(PAN)主要由两个模块组成,即Feature Pyramid Attention(FPA)模块和Global Attention Up-sample(GAU)模块。FPA模块对高级特征执行空间金字塔注意力,并结合全局池化以学习更好的高级特征表示。GAU模块附加在每个解码器层上,以提供全局上下文作为低级特征的指导,来选择类别局部细节。
FPA结构
- 在ResNet50或ResNeXt50之上构建PAN;
- 将ResNet50或ResNeXt50中Res-4层的输出特征图作为输入,在其上分别以3,6,12的采样率执行3×3扩张(空洞)卷积,以更好地提取上下文信息。将这三个特征图连接起来,并通过1×1卷积层降维处理。
- FPA在输入Res-4上进一步形成1×1卷积,其输出与上述上下文特征图对应位置相乘。
- 提取的特征与全局池化分支的输出特征加在一起,以获得最终的金字塔注意特征。
GAU结构
- 对低级特征执行3×3卷积,以减少来自CNN的特征图的通道。
- 对高级特征进行全局池化后,通过1×1卷积与实例归一化和ReLU非线性,然后乘以低级特征。
- 通过上采样的高级特征与加权的低级特征相加,以生成GAU特征。
通过上述FPA和GAU模块,构建了一个具有三个级别的强大特征金字塔,即P2、P3和P4,其大小分别为原图的1/4、1/8和1/16。整体PAN架构为:
RPN区域提议网络
- 三个RPN分别连接到P2、P3和P4,每个RPN在相应的金字塔等级上密集地滑动一个小网络,以执行文本/非文本分类和边界框回归。
- 小网络实现为3×3卷积层,后面是两个1×1卷积层,分别用于预测文本分数和矩形边界框位置。
- 具体来说:
- 通过使用6个纵横比{0.2, 0.5, 1.0, 2.0, 4.0, 8.0}和一个尺度{32, 64, 128},在{P2, P3, P4}的每个金字塔级别上的每个滑动位置设计6个anchor。将所有三个RPN的检测结果聚合在一起以构建proposal集{D}。
- 然后,使用标准的非极大抑制(NMS)算法,其IoU阈值为0.7,以删除{D}中的冗余提议。
- 最后,为Fast R-CNN和Mask预测网络选择评分 Top-N 的 proposal。在训练和测试阶段 N 均设为2000。
Fast R-CNN & Mask预测网络
为实现这一目标,提出了一种Skip-RoIAlign方法来融合P2、P3和P4级别的特征。
具体来说:
- 首先,对于每个proposal,分别在P2、P3和P4金字塔等级上应用ROIAlign,得到三个固定大小为7×7的特征图;
- 然后,连接这些特征图,并且用1×1卷积层进行降维处理,以获得最终的ROI特征;
- 最后,将这些ROI特征送到Fast RCNN和Mask预测网络中进行预测。
- 对于Fast RCNN,将ROI特征进行全局平均池化后,进行文本/非文本分类、四边形边界框回归。
- 对于Mask预测网络,在ROI特征后进行四个连续的3×3卷积层,之后上采样到14×14大小的特征图,进行Mask预测。
损失函数
RPN的的多任务损失函数
每个单独的RPN有两个兄弟输出层,即文本/非文本分类层和矩形边界框回归层。多任务损失函数可表示如下:
- 文本/非文本分类loss为一个softmax loss;
- 矩形边界框回归loss为一个smooth-L1 loss;
- Lambda_loc为平衡参数,设置为3;
- RPN网络的总损失LRPN为三个单独的RPN网络的总和。
Fast R-CNN的多任务损失函数
有两个输出层,即文本和非文本分类层和四边形边界框回归层。
- 文本/非文本分类loss为一个softmax loss;
- 四边形边界框回归loss为一个smooth-L1 loss;
- Lambda_loc为平衡参数,设置为1。
Mask预测网络的损失函数
采用标准的二值交叉熵损失:
全局损失函数
- Lambda_mask为Mask分支的平衡参数,设置为0.03125。
实验
数据集
- ICDAR-2017 MLT 用于多方向文本检测;
- ICDAR-2015 用于多方向文本检测;
- SCUT-CTW 1500 用于曲线文本检测。
实验细节
- 对于ICDAR-2017 MLT和ICDAR-2015数据集,直接使用Fast R-CNN模块预测的四边形边界框作为最终检测结果,
- 对于弯曲文本检测数据集SCUT-CTW 1500,使用由Mask预测网络预测的文本Mask为最终检测结果。
消融实验
- ResNeXt50比ResNet50的效果更好;
- PAN比FPN的效果更好。