Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?

PolarMask: Single Shot Instance Segmentation with Polar Representation_arXiv:1909.13226v2 [cs.CV] 10.Oct.2019(本人自译,转载译本需经许可)

文章目录

  • Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?
    • Abstract:
    • 1.introduction:
    • 2.Related Work:
      • Two-Stage Instance Segmentation :
      • One Stage Instance Segmentation:
    • 3.Our Method:
      • 3.1architecture:
      • 3.2. Polar Mask Segmentation :
        • Polar Representation:
        • Mass Center:
        • Center Samples :
        • Distance Regression :
        • Mask Assembling:
      • 3.3Polar Centerness:
      • 3.4Polar IoU Loss:
    • 4.Experiments:
      • Training Details:
      • 4.1 Ablation Study:
        • Verification of Upper Bound:
        • Number of Rays:
        • Polar IoU Loss vs. Smooth-l1 Loss:
        • Polar Centerness vs. Cartesian Centerness:
        • Box Branch:
        • Backbone Architecture:
        • Speed vs. Accuracy :
      • 4.2Comparison to state-of-the-art :
    • 5.Conclusion :

Abstract:

在本文中,我们介绍了一种锚框免费和单发实例分割方法,该方法在概念上简单,完全卷积,可以通过轻松地嵌入大多数现成的检测方法中,用作实例分割的蒙版预测模块 。
我们的方法称为PolarMask,将实例分割问题公式化为实例中心分类和极坐标中的密集距离回归。 此外,我们提出了两种有效的方法来分别处理高质量中心样本的采样和密集距离回归的优化,这可以显着提高性能并简化训练过程。 在没有挑战性的情况下,PolarMask在具有挑战性的COCO数据集上进行单模型和单尺度培训/测试时,蒙版mAP达到32.9%。 首次,我们展示了一个更简单,更灵活的实例细分框架,可实现具有竞争性的准确性。 我们希望所提出的PolarMask框架可以作为单个镜头实例分割任务的基础和强大的基准,可以在github.com/xieenze/PolarMask上找到代码。

1.introduction:

​ 实例分割是计算机视觉中的基本任务之一,它可以实现众多下游视觉应用。 由于它需要预测图像中每个实例的位置和语义掩码,因此具有挑战性。 因此,可以通过边界框检测然后在每个框内进行语义分割来解决直觉上的实例分割,该分割采用两阶段方法,例如Mask R-CNN。 视觉界的最新趋势在设计更简单的边界框检测器管线[14、18、25、26、28]和后续的实例智能识别任务(包括实例分割[2,4,29])

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第1张图片

上花费了更多的精力。 这里我们工作的主要重点。 因此,我们的目标是设计一种概念上简单的模板预测模块,该模块可以轻松插入许多现成的检测器中,从而实现实例分割。

实例分割通常通过在包围框包围的空间布局中进行二进制分类来解决,如图1(b)所示。 这样的像素到像素对应预测是奢侈的,尤其是在单次拍摄方法中。 相反,我们指出,如果获得轮廓,则可以成功且有效地恢复蒙版。图1(c)显示了一种定位轮廓的直观方法,该方法可预测组成轮廓的点的笛卡尔坐标。 在这里,我们称其为笛卡尔表示。 第二种方法是极坐标表示法,该方法将角度和距离作为坐标来定位点,如图1(d)所示。

在这项工作中,我们设计基于极坐标表示的实例分割方法,因为它的固有优点如下:(1)极坐标的原点可以看作对象的中心。 (2)从原点开始,轮廓上的点由距离和角度确定。 (3)角度自然是定向的,因此将点连接到整个轮廓非常方便。 我们声称笛卡尔表示法可能会表现出相似的前两个属性。 但是,它缺乏第三特性的优点

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第2张图片

我们通过使用最新的对象检测器FCOS实例化这种实例分割方法,主要是因为其简单性。 请注意,可以使用其他检测器,例如RetinaNet,YOLO,而对我们的框架进行最小的修改。 具体来说,我们提出PolarMask,将实例分割公式化为实例中心分类,并在极坐标中表示密集距离回归,如图2所示。该模型获取输入图像,并预测从采样的正位置(实例中心的候选)到目标的距离。 每个角度的实例轮廓,并在组装后输出最终蒙版。

PolarMask的总体流程几乎与FCOS一样简单和干净。 它引入了可忽略的计算开销。 简洁和效率是单镜头实例分割的两个关键因素,PolarMask成功实现了这些目标。

此外,PolarMask可以看作是FCOS的泛化,或者FCOS是PolarMask的特例,因为包围盒可以被视为只有4个方向的最简单的蒙版。 因此,建议在掩模批注可用的地方使用PolarMask而不是FCOS进行实例识别[5,19]。
为了最大程度地发挥极地表示的优势,我们提出了极地中心度和极地IoU损耗,分别处理高质量中心样本的采样和密集距离回归的优化。 它们相对提高了掩模精度约15%,在严格的本地化指标下显示出可观的收益。 在没有挑战性的情况下,PolarMask在具有挑战性的COCO数据集上进行单模型和单规模培训/测试时,蒙版mAP达到32.9%。
这项工作的主要贡献有三方面:

  • 我们引入了一种称为PolarMask的实例分割新方法,以在极坐标中对实例蒙版进行建模,该方法将实例分割转换为两个并行任务:实例中心分类和密集距离回归。 PolarMask的主要期望特征是简单有效。

    第一次,我们展示了实例分割的复杂性,无论是在设计还是在计算复杂性方面,都可以与边界框对象检测相同。

  • 我们提出了针对我们的框架量身定制的Polar IoU损耗和Polar Centerity。 我们显示,与标准损耗(例如,smooth-l1损耗)相比,提出的Polar IoU损耗可以极大地简化优化并显着提高精度。 同时,Polar Centerness改进了FCOS中“中心”的原始概念,从而进一步提高了性能。

  • 与更复杂的单阶段方法(通常涉及多尺度训练和更长的训练时间)相比,我们首次展示了一个更简单,更灵活的实例细分框架,可实现竞争性能。 我们希望PolarMask可以作为单镜头实例分割的基础和强大的基准。

2.Related Work:

Two-Stage Instance Segmentation :

两阶段实例细分通常将此任务表述为“先检测后再细分”的范例[16、12、20、15]。 他们通常会检测边界框,然后在每个边界框的区域中进行分割。 FCIS的主要思想是完全卷积地预测一组位置敏感的输出通道。 这些通道同时处理对象类,框和蒙版,从而使系统快速运行。 基于Faster R-CNN的Mask R-CNN,仅添加了一个附加的mask分支,并使用RoI-Align代替RoIPooling以提高准确性。 继Mask RCNN之后,PANet引入了自下而上的路径增强,自适应特征池和全连接融合,以提高实例分割的性能。 Mask Scoring R-CNN通过添加mask IoU分支从分类评分中重新获得mask的置信度,这使网络可以预测mask和ground-truth的IoU。

总之,上述方法通常包括两个步骤,首先是检测边界框,然后在每个边界框内进行分割。 它们可以实现最先进的性能,但通常速度较慢。

One Stage Instance Segmentation:

深度分水岭变换 [1]使用全卷积网络来预测整个图像的能量图,并使用分水岭算法来产生与对象实例相对应的连通分量。 InstanceFCN [6]使用实例敏感的分数图来生成建议。 它首先生成一组实例敏感的得分图,然后使用组装模块在滑动窗口中生成对象实例。 最新的YOLACT [2]首先生成一组原型蒙版,每个实例的线性组合系数和边界框,然后使用相应的预测系数线性组合原型,然后使用预测的边界框进行裁剪。

Tensor Mask [4]使用结构化的4D张量表示空间域上的蒙版,研究了密集的滑动窗口实例分割的范式。 ExtremeNet [29]使用关键点检测来预测一个实例的8个极端点并生成八边形蒙版,从而实现相对合理的对象蒙版预测。 ExtremeNet的骨干是HourGlass [21],它很厚,通常需要更长的培训时间。 它还需要几个步骤来进行后处理,包括分组。 相反,我们的方法比ExtremeNet更简单,而结果却比ExtremeNet更好。

请注意,这些方法不会直接为实例建模,因此有时可能难以优化(例如,训练时间更长,数据扩充量更大和标签更多)。我们的PolarMask通过两个平行分支的更简单,更灵活的方式直接为实例分割建模:对实例质心的每个像素进行分类,以及使质心与轮廓之间的光线密集距离回归。 与上述所有方法相比,PolarMask的最大优势在于简单高效。 在实验中,由于我们的目标是设计一个概念上简单而灵活的模板预测模块,因此我们没有采用很多训练技巧,例如数据增强和更长的训练时间。

3.Our Method:

在本节中,我们首先简要介绍所提议的PolarMask的总体架构。 然后,我们使用提出的极坐标表示来重新构造实例分割。 接下来,我们介绍“极坐标中心性”的新颖概念,以简化选择高质量中心样本的过程。 最后,我们引入了一个新的Polar IoU损耗来优化密集回归问题。

3.1architecture:

PolarMask是一个简单的统一网络,由骨干网[13],要素金字塔网络[17]和两个或三个特定于任务的heads组成,具体取决于是否预测边界框。1骨干网和要素金字塔网络的设置 与FCOS [25]相同。 尽管这些组件有很多更强大的候选检测器,但我们将这些设置与FCOS进行了匹配,以显示我们的实例建模方法的简单性和有效性。

3.2. Polar Mask Segmentation :

在本节中,我们将详细描述如何在极坐标中为实例建模。

Polar Representation:

​ 给定实例蒙版,我们首先对实例的候选中心(xc,yc)和位于轮廓(xi,yi)上的点进行采样,i = 1,2,…,N。然后,从中心开始,以相同的角度间隔∆θ(例如,n = 36,∆θ = 10°)均匀地发射n射线,其角度从中心到轮廓确定。
因此,我们将极坐标中的实例蒙版建模为中心和n射线。 由于角度间隔是预先定义的,因此仅需要预测射线的长度。 这样,我们将实例分割公式化为实例中心分类和极坐标中的密集距离回归。

Mass Center:

实例中心有很多选择,例如框中心或质量中心。 如何选择一个更好的中心取决于它对模板预测性能的影响。 在这里,我们验证了框心和质心的上限,并得出结论,质心更有利。 详细信息在图7中。我们解释说,与框心相比,重心落入实例内部的可能性更大。 尽管在某些极端情况下(例如甜甜圈),实体中心和盒子中心都不位于实例内部。 我们将其留作进一步研究。

Center Samples :

如果位置(x,y)落入任何实例的质心周围区域,则将其视为中心样本。 否则,它是阴性样本。 我们将正像素采样区域定义为特征图从质量中心到左,上,右和下的1.5倍步幅。 因此,每个实例在质心附近有大约9-16个像素作为中心实例。 它具有两个优点:(1)将正样本的数量从1增加到9至16可在很大程度上避免正样本和负样本的不平衡。 然而,训练分类分支时仍需要失焦。 (2)质量中心可能不是实例的最佳中心样本。 更多的候选点可以自动找到一个实例的最佳中心。 我们将在3.3节中详细讨论它。

Distance Regression :

给定一个中心点(xc,yc)和位于轮廓上的交点(xi,yi),i = 1、2,…,N,角度θi和中心点与每个轮廓点之间的距离di 可以很容易地计算出,在大多数情况下可以从中拾取所需的n射线。
但是,有一些极端情况:

  • 如果一条射线与实例的轮廓有多个交点,则我们直接选择长度最大的一条。
  • 如果从蒙版外部的中心开始的一条射线在某些特定角度没有与实例轮廓的交点,则将其回归目标设置为最小值ε(例如ε= 10 ^ −6 )。
  • 如果射线和轮廓之间的交点恰好是一个子像素(即像素坐标不是整数),则我们始终可以使用插值方法(例如线性插值)来估计其回归目标。

我们认为,这些极端情况是限制Polar Representation上限达到100%AP的主要障碍。 但是,不应将其视为极坐标表示劣于非参数像素方式表示。 证据有两个方面。 首先,由于某些操作(例如下采样)是必不可少的,因此实际上即使是逐像素表示也远离100%AP的上限。 其次,无论逐像素表示法还是极坐标表示法,当前的性能都远离上限。因此,建议进行研究,以更好地花费在改善模型的实际性能上,而不是在理论上的上限上。

回归分支的训练是不平凡的。 首先,PolarMask中的mask分支实际上是一个密集的距离回归任务,因为每个训练示例都有n条射线(例如n = 36)。 这可能会导致回归损失和分类损失之间的不平衡。 第二,例如,它的n射线是相关的,应该整体上进行训练,而不是被视为一组独立的回归示例。 因此,我们提出了Polar IoU损耗,将在3.4节中详细讨论。

Mask Assembling:

在推断过程中,网络输出分类和中心,我们将中心与分类相乘并获得最终的置信度得分。将置信度分数设为0.05后,我们最多只能根据每个FPN级别的最高得分预测1k来组装蒙版。 合并来自所有级别的最高预测,并应用阈值为0.5的非最大抑制(NMS)产生最终结果。 在这里,我们介绍了蒙版的组装过程和快速的NMS过程。

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第3张图片

给定一个中心样本(xc,yc)且射线的长度di,i = 1,2,…,n,我们可以使用以下公式计算每个相应轮廓点的位置:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第4张图片

从0度开始,轮廓点 如图3所示,它们被一个接一个地连接,最后组装出一个完整的轮廓以及蒙版。

我们应用NMS删除多余的蒙版。 为了加快这一过程,我们计算了蒙版的最小边界框,然后根据框的IoU应用NMS。 我们验证了这种简化的后处理不会对最终的蒙版性能产生负面影响。

3.3Polar Centerness:

引入中心可以抑制这些低质量的检测对象,而无需引入任何超参数,并且已证明在对象边界框检测中有效。 但是,直接将其传输到我们的系统可能不是最优的,因为它的中心性是为边界框设计的,我们关心的是蒙版的预测。

给定集合{d1,d2,… ,dn}表示一个实例的n条射线的长度,其中dmax和dmin是集合的最大值和最小值。 我们建议Polar Centerness:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第5张图片

具体来说,我们添加了一个与分类分支平行的单层分支,以预测某个位置的极心,如图2所示。这是一种简单但有效的策略,可以对点进行重新加权,从而使dmin和dmax越近 ,权重较高的点被分配。 实验表明,极心可以提高精度,尤其是在更严格的定位指标(例如AP75)下。

3.4Polar IoU Loss:

如上所述,极坐标分割方法将实例分割的任务转换为一组回归问题。 在对象检测和分割领域中的大多数情况下,smooth-l1 loss和IoU loss是监督回归问题的两种有效方法。 但是,smooth-l1 loss忽略了相同对象的样本之间的相关性,因此导致定位精度较低。 然而,IoU loss会从整体上考虑优化,并直接优化关注指标。 然而,计算预测蒙版的IoU及其基本情况很棘手,并且很难实现并行计算。 在这项工作中,我们推导了一种简单有效的算法,可基于极向量表示来计算蒙版IoU,并实现有竞争性的性能,如图5所示。

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第6张图片

我们从IoU的定义开始介绍极坐标IoU Loss,它是预测的蒙版与ground truth之间的交互作用面积与联合面积之比。 例如,在极坐标系中,蒙版IoU的计算如下:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第7张图片

其中回归目标d和预测d∗是射线的长度,角度为θ。 然后我们将其转换为离散形式。

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第8张图片

当N接近无穷大时,离散形式等于连续形式。 我们假设光线是均匀发射的,所以∆θ =2π/N,这进一步简化了表达式。 我们凭经验观察到,如果将功率形式丢弃并简化为以下形式,则功率形式对性能几乎没有影响:

在这里插入图片描述

Polar IoU Loss是Polar IoU的二进制交叉熵(BCE)Loss。 由于最佳IoU始终为1,Loss实际上是Polar IoU的负对数:

在这里插入图片描述

我们提出的Polar IoU Loss具有两个有利的特性:(1)可微分,实现反向传播; 并且很容易实现并行计算,从而促进了快速的训练过程。 (2)整体预测回归目标。 与我们的实验中显示的“ smooth-1”Loss相比,它大大提高了整体性能。 (3)另外,Polar IoU Loss能够自动保持分类损失与密集距离预测的回归损失之间的平衡。
我们将在实验中对其进行详细讨论。

4.Experiments:

我们在具有挑战性的COCO基准上提供实例分割的结果。 按照常规做法[12,4],我们使用80K train图像集和val图像集的35K子集(trainval35k)的联合进行训练,并报告在剩余5K val图片集(minival)的消融情况。
我们还将在test-dev上比较结果。 除非另有说明,否则我们采用1x训练策略[11,3],单尺度训练和图像短边测试为800。

Training Details:

在消融研究中,将ResNet-50-FPN [13,17]用作我们的骨干网络,并使用与FCOS [25]相同的超参数。 具体来说,我们的网络使用随机梯度下降(SGD)进行了90K迭代训练,初始学习率为0.01,并且有16个图像的小批量。 在迭代60K和80K时,学习率分别降低了10倍。
重量衰减和动量分别设置为0.0001和0.9。 我们使用ImageNet [8]上预先训练的权重来初始化骨干网。 调整输入图像的大小,使其短边为800,长边小于或等于1333。

4.1 Ablation Study:

Verification of Upper Bound:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第9张图片

关于PolarMask的第一个问题是它可能无法精确地描绘蒙版。 在本节中,我们证明此担心可能不是必需的。 在这里,当所有射线回归到等于ground truth的距离时,我们将PolarMask的上限验证为预测的蒙版和ground truth的IoU。 图7显示了对不同射线数量的验证结果。可以看到,当光线数量增加时,IoU接近完美(90%以上),这表明Polar Segmentation能够很好地建模蒙版 。 因此,不必关注PolarMask的上限。 同样,使用质量中心比以边界框中心为实例的中心更为合理,因为边界框中心更可能掉出实例。

Number of Rays:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第10张图片

​ 它在PolarMask的整个系统中起着根本性的作用。 从表a和图7中可以看出,更多的射线显示出更高的上限和更好的AP。 例如,与18射线相比,36射线使AP改善1.5%。另外,太多的光线(72射线)会使性能饱和,因为它已经很好地描绘了蒙版轮廓,并且射线数量不再是限制性能的主要因素。

Polar IoU Loss vs. Smooth-l1 Loss:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第11张图片

我们在架构中测试了Polar IoU损耗和Smooth-l1损耗。 我们注意到,Smooth-l1 Loss的回归损失明显大于分类损失,因为我们的体系结构是密集距离预测的任务。 为了解决不平衡问题,我们在Smooth-l1损失中选择不同的因子α来回归损失。 实验结果示于表b。 我们的Polar IoU损失达到了27.7%的AP,而没有平衡回归损失和分类损失。 相比之下,Smooth-l1损失的最佳设置达到25.1%AP,差距为2.6%AP,表明Polar IoU损失比Smooth-l1损失更有效地训练质心和轮廓之间的距离回归任务。

我们假设差距可能来自两个方面。首先,Smooth-l1损耗可能需要更多的超参数搜索才能获得更好的性能,与Polar IoU损耗相比,这可能很耗时。 其次,Polar IoU损失可以预测一个实例作为一个整体的所有光线,这要优于Smooth-l1损失。

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第12张图片

在图6中,我们分别比较了使用Smoothl1损耗和Polar IoU损耗的一些结果。 Smooth-l1 Loss表现出系统的伪像,表明它缺乏对整个对象水平的监督。 PolarMask显示更平滑,更精确的轮廓。

Polar Centerness vs. Cartesian Centerness:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第13张图片

比较实验示于表c。 极坐标中心总体提高AP 1.4%。 特别是,AP75和APL分别大幅提高了2.3%和2.6%。我们解释如下。 一方面,低质量的蒙版会对高IoU产生更多负面影响。 另一方面,大实例在最大和最小射线长度之间存在较大差异的可能性更大,这正是极坐标中心致力于解决的问题。

Box Branch:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第14张图片

大多数以前的实例分割方法都需要边界框来定位对象区域,然后对对象内部的像素进行分割。 相比之下,PolarMask可以直接输出蒙版而无需边界框。在本节中,我们测试附加边界框是否可以帮助改善蒙版AP,如下所示。 如果射线到达边界框之外,则射线在边界处被切断。 从表d中,我们可以看到边界框对模板预测的性能影响不大。
因此,为了简化和提高速度,我们在PolarMask中没有边界框预测头。

Backbone Architecture:

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第15张图片

​ 表e显示了PolarMask在不同主干上的结果。 可以看出,由更深层次的高级设计网络提取的更好的功能可以按预期提高性能。

Speed vs. Accuracy :

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第16张图片

较大的图像尺寸会以较低的推理速度产生较高的精度。 表f显示了由较短图像侧定义的不同输入图像比例的速度/精度的trade-off。 在过时的Maxwell Titan-X GPU和V100上报告了FPS。 它表明PolarMask具有很强的潜力,只需进行修改即可开发为实时实例分割应用程序。 请注意,我们仅考虑模型推断的时间。

4.2Comparison to state-of-the-art :

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第17张图片

我们在COCO数据集上评估PolarMask,并将测试开发结果与包括一阶段和两阶段模型在内的最新方法进行比较,如表2所示。PolarMask输出如图8所示。

Polar Mask:如何使用极坐标表示方法对单镜头实例进行分割?_第18张图片

PolarMask无需任何花哨的技巧,就可以通过更复杂的一步法获得竞争性性能。 由于我们的目的是设计概念上简单灵活的蒙版预测模块,因此许多改进方法[24,22],例如多尺度训练和更长的训练时间,不在本工作范围之内。 我们认为,YOLACT [2]和PolarMask的差距来自更多的训练迭代和数据扩充。 如果将这些方法应用于PolarMask,则可以轻松提高性能。 此外,TensorMask [4]和PolarMask的差距是由张量双锥体和对齐表示引起的。 考虑到这些方法既耗时又耗费内存,因此我们不将其插入PolarMask。

5.Conclusion :

PolarMask是一种具有两个平行分支的单镜头无锚实例分割方法:对实例的质心进行分类,并对质心和轮廓周围的采样位置之间的密集光线进行回归。 与以前通常将蒙版预测解决为空间布局中的二进制分类的先前工作不同,PolarMask提出了极坐标表示并将蒙版预测转换为密集距离回归。
PolarMask的设计几乎与单镜头物体检测器一样简单,干净,从而可忽略不计的计算开销。 我们希望所提出的PolarMask框架可以作为单个镜头实例分割任务的基础和强大的基准

你可能感兴趣的:(DeepLearning)