四个可能改进 Mask RCNN 的 Idea/Insight (上篇)

这篇未公开的笔记也晒出来吧,主要是细读 Mask Rcnn 后的一些不成熟的感想。有兴趣的人可以去试一试。

按从易到难的顺序讲吧。

idea 1: mask 分支的输入 feature 没有必要进行尺寸归一化

我相信看了小标题,大家应该马上意识到了我们忽略的一个小细节: 如下图, 现有 Mask RCNN 框架中的 Mask 分支的输入 feature 是经过尺寸归一的 (input: 14x14, output: 28x28). 这个归一化操作是通过 ROI align layer 实现的。 这会引入什么问题?

  • 原始 roi 区域覆盖的 feature 经过了 pooling 等下采样工作

  • 我们需要将 ground truth mask 进行暴力 resize

这两个操作对语义分割任务都是有害的。我们回忆一下语义分割网络先驱 FCN 的卖点之一:全卷积结构网络对输入图像尺寸没有要求

定位到问题,解决方式就很好解决了,取消现有 roi align layer 中的 pooling 步骤 , 训练时不需要对 GT_Mask 进行暴力 resize , 预测时也不需要对输出做 resize

四个可能改进 Mask RCNN 的 Idea/Insight (上篇)_第1张图片

idea 2: 损失函数中的 box_class_loss 和 box_reg_loss 项的平衡需要体现尺寸相关性

我们看一下 faster rcnn 论文中的损失函数:

四个可能改进 Mask RCNN 的 Idea/Insight (上篇)_第2张图片

分类损失项和坐标回归损失项之间引入了超参 控制平衡。大尺度目标和小尺度目标共享这一个超参。

这样有什么问题呢?

回忆一下,我以前谈到的一个现象:


  • FPN 在底层 feature 上引入了高层的 语义信息小尺度 目标涨点明显,大尺度则不明显(甚至掉点)

  • PANet/DetNet 在高层 feature 上引入或保持更多的 底层特征信息大尺度 目标涨点明显,小尺度则不明显。


根据这一现象我做了一个假设:


  • 大目标的框其实 语义类别 是较准确的,但是 位置飘移 比较严重,所以需要底层的利于定位的信息,这就贡献了 大目标在 map 指标上的提升

  • 小目标的框可能 位置 是比较准确的,但是 语义类别 的判断是比较薄弱的,所以需要高层的语义信息来辅助判别,这就贡献了小目标在 map 指标上的提升


把这个假设从优化角度讲就是:

针对大目标,我们需要侧重优化其位置预测, 针对小目标,我们需要侧重优化类别预测

我们明确了问题,解决方式也就自然而然地产生了:针对不同尺度的目标,我们需要在损失函数中引入不同大小的权重 .


困了,待更。


作 者: 月牙眼的楼下小黑
联 系: zhanglf_tmac (Wechat)
声 明: 欢迎转载本文中的图片或文字,请说明出


四个可能改进 Mask RCNN 的 Idea/Insight (上篇)_第3张图片

你可能感兴趣的:(四个可能改进 Mask RCNN 的 Idea/Insight (上篇))