mask rcnn算法分析_PolarMask一种single shot的实例分割框架的最新算法

先来看下算法作者信息

97862603cb39fb564b4639657f56387b.png

介绍

在本文中,作者介绍了一种单发实例分割方法,该方法在概念上简单,完全卷积,可以用作遮罩预测模块用于细分,方法是轻松地将其嵌入大多数现成的检测方法中。

作者称为PolarMask的方法制定了实例分割问题,例如实例中心分类和极坐标中的密集距离回归。

此外,作者提出了两种有效的方法来应对采样高质量的中心示例并优化分别进行密集距离回归,可以显着提高性能并简化训练过程。,PolarMask在具有挑战性的COCO数据集上进行单模型和单规模培训/测试,可达到32.9%的口罩mAP。对于第一次,我们展示了一个更简单,更灵活的方法实例细分框架可实现竞争准确性。

作者认为,最大的贡献是将更复杂的实例分割问题转化为与网络设计和计算复杂度中的对象检测一样复杂的任务,并使实例分割的建模简单有效。

Mask R-CNN

首先,让我们回顾一下最经典的示例分割方法“先检测,然后分割”。在这方面最精确的算法是mask-rcnn。

ab40c9489028f422057875b964b7fea3.png

Mask R-CNN是一种两级检测算法。基于检测帧进行像素级语义分割,简化了实例分割的难度,达到了stoa的性能。在“先检测再分割”的范式中,它达到了极致。

PolarMask

polarmask提出了一种新的实例分割建模方法,为人们通过寻找对象的轮廓模型来进行选择提供了一种新的方法。

两种实例分区的建模

  • 像素级建模类似于图b,对检测框中的每个像素进行分类
  • 轮廓建模与图c和图d相似,其中图c是基于笛卡尔坐标系的轮廓,图d是基于极坐标系的轮廓。
e984c017ca074e50989fb90cefeae3b8.png

具有不同蒙版表示形式的实例分割。(a)是原始图像。(b)是逐像素Mask版表示。(c、d)通过其轮廓分别代表笛卡尔和笛卡尔坐标。

由此可见,Mask R-cnn属于第一种建模方法,而我们提出的polarmask属于图d建模方法。图c也会起作用,但在图d之前缺少一个固定的角度,也就是说,基于极坐标系,固定的角度已经事先设定好了,而网络只需要返回到固定角度的长度,这就简化了问题的难度。

基于极坐标系的polarmask等值线模型,将实例分割问题转化为实例中心分类问题和稠密距离回归问题。同时,我们还提出了两种有效的方法来优化高质量正样本抽样和密集远程学习的损失函数优化,即极性中心和极性IOU损失。在没有使用任何技巧(多尺度训练、延长训练时间等)的情况下,polarmask在resnext 101配置下实现了coco测试开发的32.9mAP。第一次,我们已经证明,更复杂的实例分割问题可以是简单的锚定对象检测在网络设计和计算复杂度。我们希望polarmask能够成为一个简单而强大的单镜头实例分割基线。

Polarmask最重要的特点是:

  1. anchor free and bbox free,无需检查框
  2. 全卷积网络,与FCOS将4条射线扩展到36条射线相比,实例分割和目标检测采用相同的建模方法。

我们选择fcos来嵌入我们的方法,主要是为了简单。fcos是目前最先进的无锚检测器,非常简单。在fcos的基础上,可以对实例分割问题进行无需计算的建模,从而获得具有竞争力的性能。证明了实例分割可以简化为与目标检测同样复杂的问题。

此外,fcos可以看作是polarmask的一种特殊形式,polarmask可以看作是fcos的一种一般形式,因为bbox本质上是最简单的掩码,只有0、90、180、270四个角度的回归长度。我们首次使用相同的建模方法来表示实例分割和对象检测。

网络结构

fc7925fbb47016f93086d7828c7e1767.png

PolarMask的总体渠道, 左侧部分包含主干和要素金字塔,以提取不同级别的要素, 中间部分是分类和极性遮罩回归的两个方向, H,W,C分别是特征图的高度,宽度,通道,而k是类别数(例如,COCO数据集上的k = 80),n是射线数(例如,n = 36)。

Polar Segmentation建模

6dc7357c40d7c9cf35dea2f16a8ac4d5.png

Mask Assembling极坐标表示法提供方向角。轮廓点从一开始就被连接起来0◦(粗线)并组合整个轮廓和Mask。

在实验中,我们以重心为基准,赋予特征图,并围绕重心采样,作为正样本,其他地方作为负样本,训练方法与fcos一致,使用焦距损失法。本文提出用极性中心来选择高质量的阳性样本,并对低质量的阳性样本进行加权。

Polar CenterNess

如何在极坐标系下定义高质量的阳性样品?我们的定义如下:

141fee553dafcc2c418862b918eebe2a.png

其中d1 d2….dn是指36条射线的长度,最好的阳性样品必须具有dmin->dmax。

用图片来说明:

84be49d1c1bf52d8dfcc89e507073990.png

为了看到中间的图片,会出现一个问题,即长度回归非常不同,而中心点在右侧的位置更合适。所有等高线的长度回归更为接近,36条光线的距离将更为平衡。极性中心可以给右边的点一个更高的中心度得分,给中间的点一个中心度得分,这样右边的得分在推理中就更高。

根据消融实验,极性中心可以有效地提高1.4的性能,而不增加网络复杂度。结果如下图所示

a0c08d7142de657634cbf345bcd936e3.png

polar loU Loss

在polarmask中,需要返回k(k=36)根射线的距离,这比目标检测复杂得多。如何监督回归分支是一个问题。我们提出了极值IOU损失近似来计算预测掩码和GT掩码的IOU,并通过IOU损失优化掩模的回归。实验表明,极性IOU损耗比平滑的L1损耗能显著提高2.6个点。同时,平滑的L1损耗还面临其他损耗不平衡问题,需要认真调整。这是非常低效的,极地IOU的损失不需要调整体重。使掩模分支快速稳定地收敛成为可能。

那么Polar IOU损失是如何计算的呢?如下图所示:

57298ffad5533b7b0efd94f55919e442.png

可以看出,这两个掩模的iou可以归结为dθ下的三角形面积iou问题,并用无数个三角形求和,最终可以归结为以下形式:

4eebe59582fe7c15f9c25dd946772e49.png

其实,最终的表达形式很简单,但相比平滑的l1确实可以调整不到2.6分。说明了损失函数的设计对深部神经网络具有重要意义。结果如下:

0b6bd7c1a507f7752739ff4876a1a604.png

本文还做了以下消融实验:射线数的选择,加上bbox分支、主干和大小与速度的权衡,细节在论文上都有。

上限分析

看到这一点,很多人心里都会有疑问。光线的建模方法会对凹面物体造成性能损失。上限小于100map。波拉马斯克如何处理这个问题?

答案是这样的,polarmask相Mask R-cnn的像素建模方法,对一个特别奇怪的形状的建模并不失败,但这并不意味着polarmask毫无意义。有两个原因。(1)掩模R-CNN的上限不能达到100 MAP,因为存在导致信息丢失的子采样操作。(2)无论是掩模R-CNN还是Polarmask,其实际性能都远未达到100map的上限。

因此,我们现在应该关注如何使实际网络性能更好地接近上限。

定量分析分析射线建模的上限:

0937ac0a0621bd660a8ad977002bc0d2.png

当mass center作为实例中心使用时,当条纹的数量持续增加时,平均或光线与真实GT的平均值为90%或更高,因此,对于射线模型的性能收缩的担忧远远没有消失。本阶段需要解决的问题是如何继续改进基于射线建模的网络性能。

实验结果

ab8c6becb427d2c2da0e348eca3f9569.png

PolarMask在具有ResNet-101-FPN的COCO测试开发图像上的结果,获得了30.4%的遮罩AP

81c0809d6fe65317e39e75911be97dda.png

COCO test-dev上的实例分段掩码AP。 标准训练策略[11]是按12个时期进行训练; “aug”表示数据增强,包括多尺度和随机作物。 X训练时带有“ aug”,则没有“ aug”。

可以看出,在没有任何trick的情况下,PolarMask在Resnext101 FPN的情况下实现了32.9的配置,虽然不是Stoa,但也很有竞争力。我们目前没有使用许多常见的技巧可以上升,如ms-train和长训练期。相比之下,其他的单阶段方法使用mstrain和更长的训练时间。作者表示将进一步改进和努力提高性能。

论文地址:https://arxiv.org/pdf/1909.13226.pdf

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值