Young87

当前位置:首页 >个人收藏

PolarMask一种single shot的实例分割框架的最新算法

 

先来看下算法作者信息

 

介绍

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

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

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

 

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

 

Mask R-CNN

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

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

 

PolarMask

 

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

 

两种实例分区的建模

 

  • 像素级建模类似于图b,对检测框中的每个像素进行分类

  • 轮廓建模与图c和图d相似,其中图c是基于笛卡尔坐标系的轮廓,图d是基于极坐标系的轮廓。

 

具有不同蒙版表示形式的实例分割。(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四个角度的回归长度。我们首次使用相同的建模方法来表示实例分割和对象检测。

 

网络结构

 

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

 

Polar Segmentation建模

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

 

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

 

Polar CenterNess

 

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

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

用图片来说明:

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

 

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


polar loU Loss

 

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

 

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

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

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

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

 

上限分析

 

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

 

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

 

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

 

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

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

 

实验结果

 

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

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

 

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

 

相关论文源码下载地址:关注“图像算法”微信公众号

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: springboot+mybatis+spring security项目实例----入门实例

下一篇: python之turtle海龟绘图篇

精华推荐