PolarMask: Single Shot Instance Segmentation with Polar Representation
PolarMask: Single Shot Instance Segmentation with Polar Representation
Abstract
- 介绍了一种无锚框单镜头实例分割的方法,可以很容易地嵌入到大多数现成的检测方法中。
- PolarMask通过实例中心分类和极坐标下的稠密距离回归,将实例分割问题表述为实例轮廓的预测。
- 提出了两种有效的方法来处理高质量中心样本的抽样和稠密距离回归的优化,显著地提高性能和简化训练过程。(在没有任何附加功能的情况下,PolarMask在COCO数据集上使用单模型和单尺度训练/测试实现了32.9%的掩模精度提升。)
- 第一次证明了实例分割的复杂度,无论是在设计复杂度还是计算复杂度上,都可以和边界框目标检测一样。
这种更加简单灵活的实例分割框架可以达到具有竞争力的精度。我们希望所提出的PolarMask框架能够作为单镜头实例分割任务的基础和强baseline。代码如下。
Introduction
实例分割是计算机视觉的基本任务之一,它使大量的下游视觉应用成为可能。这是一个挑战,因为它需要预测一个图像中每个实例的位置和语义掩码。因此,直观的实例分割可以通过边界框检测来解决,然后在每个框内进行语义分割,采用两阶段方法,例如Mask R-CNN。计算机视觉领域最近的趋势是花更多的精力来设计更简单的边界盒检测器的pipeline,以及随后的实例识别任务,包括实例分割,这也是我们这里工作的主要重点。因此,我们的目标是设计一个概念简单的掩码预测模块,它可以很容易地插入到许多现成的检测器中,从而实现实例分割。
实例分割通常通过包围边界框的空间布局中的二进制类化来解决(如图所示b),例如像素到像素的对应预测是非常奢华的。
特别是在one-shot法中。相反,我们指出,如果获得了轮廓,掩模可以成功而有效地恢复。图1©给出了一种直观的等高线定位方法,预测构成等高线的点的笛卡尔坐标。这里我们称之为笛卡尔表示法。第二种方法是极坐标表示,它应用角度和距离作为坐标来定位点,如图1(d)所示。
在本工作中,我们设计了一种基于极坐标表示的实例分割方法,其固有的优点如下:
1. 极坐标的原点可以看作对象的中心。
2. 从原点出发,轮廓中的点由距离和角度决定。
3. 角度具有天然的方向性,使得将点连接成一个整体轮廓非常方便。
我们声称笛卡尔表示法可以同样地表现出前两个性质。但是,它缺乏第三种属性的优势。
我们使用最新的目标检测器FCOS[29]来实例化这种实例分割方法,主要是为了简单。请注意,可以使用其他检测器,如RetinaNet , YOLO,对我们的框架进行最小程度的修改。具体来说,我们建议使用PolarMask,将实例分割作为实例中心分类和极坐标下的密集距离回归,如图2所示。该模型获取一个输入图像,并预测从采样的正位置(实例中心的候选位置)到实例轮廓的每个角度的距离,装配后输出最终的掩码。PolarMask的整体流程几乎和FCOS一样简单和干净。它引入了微不足道的计算开销。简单性和效率是单镜头实例分割的两个关键因素,PolarMask成功地实现了这两个关键因素。
此外,PolarMask可以看作是FCOS的推广。换句话说,FCOS是PolarMask的一个特例,因为边界框可以被看作是只有4个方向的最简单的掩码。因此,建议在FCOS上使用PolarMask进行实例识别,只要有掩码注释可用。
为了最大限度地发挥极坐标表示的优势,我们分别提出了极坐标中心和极坐标IoU损失来处理高质量中心样本的抽样和稠密距离回归的优化。它们相对提高了约15%的掩模精度,在更严格的定位指标下表现出可观的收益。在没有附加功能的情况下,PolarMask在COCO数据集上使用单模型和单尺度的训练/测试在掩模mAP上实现了32.9%的提升。
这项工作的主要贡献有三个方面:
- 引入了一个全新的实例分割框架PolarMask,用于在极坐标下对实例掩模进行建模,该框架将实例分割转换为两个并行任务:实例中心分类和密集距离回归。PolarMask的主要优点是简单和有效。
- 我们提出了极坐标IoU损失和极坐标中心,适合我们的框架。结果表明,与smooth-L1损失等标准损失相比,所提出的极坐标IoU损失能在很大程度上简化优化过程,并在很大程度上提高了精度。与此同时,极坐标中心改进了FCOS中“Centreness”的原始思想,从而进一步提高了性能。
- 我们第一次证明了两个实例分割的复杂度,无论是从设计复杂度还是计算复杂度来说,都可以与边界框目标检测一样。我们进一步证明,与更复杂的单阶段方法相比,这种更简单、更灵活的实例分割框架具有更好的性能,而单阶段方法通常涉及多尺度的训练和更长的训练时间。
Related Work
两阶段实例分割通常将此任务作为检测然后分割的范例。他们经常检测边界框,然后在每个边界框的区域执行分割。
- FCIS的主要思想是全卷积地预测一组位置敏感的输出通道。这些通道同时处理对象类、方框和掩模,使系统快速运行。
- Mask R-CNN,建立在Faster R-CNN之上,简单地添加一个额外的掩模分支,并使用RoI-Align来代替Roi-Pooling,以提高精度。
- 继Mask R-CNN之后,PANet引入了自底向上的路径扩展、自适应特征池化和全连接融合,提高了实例分割的性能。
- Mask Scoring R-CNN通过添加Mask-IoU分支,对分类评分的掩模置信度进行重新评分,使得网络可以对Mask-IoU和Groundtruth进行预测。
总之,上述方法通常包括两个步骤,首先检测边界框,然后在每个边界框中分段。它们可以达到最先进的性能,但速度往往很慢。
单阶段的实例分割。
- Deep Watershed Transform使用全卷积网络来预测整个图像的能量图,并使用Watershed算法来产生对应于目标实例的连接组件。
- InstanceFCN使用instancesensitive评分地图生成建议。它首先生成一组实例敏感的分数映射,然后使用装配模块在滑动窗口中生成对象实例。
- 最近的YOLACT首先生成一组原型掩码、每个实例的线性组合系数和边界框,然后使用相应的预测系数对原型进行线性组合,然后使用预测边界框进行裁剪。
- TensorMask研究了稠密滑动窗口实例分割的范式,使用结构化的4D张量表示空间域上的掩码。
- ExtremeNet使用关键点检测来预测一个实例的8个极值点,生成一个八边形掩码,实现了较为合理的目标掩码预测。ExtremeNet的backbone是HourGlass,它非常重,通常需要更长的训练时间。
在[28]中首次使用极坐标表示来检测微观图像中的细胞,由于只有两类细胞,所以问题要简单得多。与我们的工作并行的是ESESeg[31]的工作,它也使用极坐标来建模实例。然而,我们的PolarMask获得了比ESESeg更好的性能,这是由于除了极坐标表示之外的非常不同的设计。请注意,大多数这些方法并不直接对实例建模,而且有时很难优化(例如,更长的训练时间、更多的数据扩充和额外的标签)。我们的PolarMask使用两个并行分支的更简单和灵活的方法直接建模实例分割:对实例质心的每个像素进行分类,并回归质心和轮廓之间的射线密集距离。与上述方法相比,PolarMask最大的优点是简单和高效。
Our Method
- 首先简要介绍PolarMask的总体架构
- 然后用提出的极坐标表示法重新构造实例分割
- 接下来引入一个新的极坐标中心概念来简化高质量中心样本的选择过程
- 最后引入一个新的Polar Iou Loss来优化密集回归问题。
Architecture
PolarMask是一个简单、统一的网络,由一个主干网络、一个特征金字塔网络和两个或三个特定任务的头(取决于是否预测边界框)组成。主干网和特征金字塔网的设置与FCOS相同。虽然这些组件有许多更强大的候选组件,但我们将这些设置与FCOS对齐,以显示我们的实例建模方法的简单性和有效性。
Polar Mask Segmentation
在本节中,我们将详细描述如何在极坐标中建模实例。
Polar Representation
- 给一个实例掩模,采集实例掩模的一个候选中心点,以及轮廓上的点
- 从中心点出发,以∆θ为间隔均匀发射n条射线
- ∆θ是预定义的,所以只需要预定义射线的长度
用这种方法,我们在极坐标系中将实例掩模建模为一个中心和n条射线,我们将实例分割定义为极坐标下的实例中心分类和稠密距离回归。
Mass Center
实例的中心有许多选择,例如box center或mass-center。如何选择更好的中心取决于它对掩模预测性能的影响。验证了边界框中心和质心,得出质心更优的结论。细节如图7所示。我们解释说,与边界框中心相比,质心有更大的概率落在物体内部。尽管在一些极端的情况下,例如一个甜甜圈,质心和盒心都不在实例中。我们把它留作进一步研究。
Center Samples
如果位置(x, y)落在任何实例质心周围的区域,则将其视为中心样本。否则,它就是一个负样本。我们将采样正像素的区域定义为特征图从质心到左、上、右、下的1.5步。因此,每个实例在质心附近大约有916个像素作为中心示例。它有两个优点:
- 将阳性样本数量从1个增加到9个16个,可以在很大程度上避免阳性和阴性样本的不平衡。然而,训练分类分支时仍需要Focal Loss。
- 质心可能不是一个实例的最佳中心样本。更多的候选点使得自动找到一个实例的最佳中心成为可能。
Distance Regression
给定一个中心样本(xc, yc)和一个实例的等高线点,n条射线的长度{d1, d2,…, dn}可以很容易地计算出来。更多详情见补充资料。这里我们主要讨论一些极端情况:
- 如果一条射线与实例的轮廓有多个交点,我们直接选择最大长度的交点。
- 如果一条射线从掩模外的中心开始,在一定角度上与实例的轮廓没有交点,我们将其回归目标设为最小值ε(e.g.,ε=e^-6)。
Mask Assembling
我们认为,这些极端情况是限制极坐标表示法的上界达到100% AP的主要障碍。但是,我们并不认为极坐标表示法不如非参数像素表示法。证据是双重的:
首先,即使是像素级的表示在实践中也与100% AP的上界存在一定的差距,因为有些操作是不可缺少的,比如下采样;
其次,无论是像素表示还是极坐标表示,当前的性能都远远超出了上限。
因此,建议将研究工作更好地用于提高模型的实际性能,而不是用于理论上限。
回归分支的训练是非常重要的。首先,PolarMask中的掩模分支实际上是一个密集的距离回归任务,因为每个训练示例都有n条射线(例如,n = 36)。这可能会导致回归损失和分类损失之间的不平衡。其次,例如,它的n条射线是相关的,应该作为一个整体进行训练,而不是作为一组独立的回归例子。因此,我们提出了Polar Iou Loss。
Mask Assembling
在推理过程中,网络输出分类和中心,用分类乘以中心,得到最终的置信度分数。 我们只根据每个FPN层级的前1k的预测值来组装掩模,阈值后的置信度在0.05。 将所有级别的最高预测进行合并,并应用阈值为0.5的非最大抑制(non-maximum suppression, NMS)来生成最终结果。 本文介绍了掩模组装过程和简单的NMS过程。
给定中心样本(xc, yc)和n条射线的长度{d1, d2,…, dn},我们可以计算出每个对应的轮廓线点的位置,公式如下:
从0°开始,将轮廓点逐一连接,如图3所示,最后将整个轮廓和掩模组装起来。
我们应用NMS来删除冗余的掩码。为了简化这个过程,我们计算掩码的最小边界框,然后根据生成的框的IoU应用NMS。
Polar Centerness
在不引入超参数的情况下,引入Centerness来抑制这些低质量的被检测目标,并证明了其在目标边界框检测中的有效性。然而,直接将它传输到我们的系统可能是次优的,因为它的Centerness是为边界框设计的,而我们关心掩码预测。
给定一个集合{d1, d2,…, dn}表示一个实例的n条射线的长度。我们建议Polar Centerness:
这是一个简单而有效的策略来重设点的权重,这样dmin和dmax越接近,点的权重就越高。
我们添加一个单层分支,与分类分支并行,来预测一个位置的极坐标中心,如图2所示。将网络预测的极坐标中心与分类分数相乘,可以降低低质量掩模的权重。实验表明,极坐标中心可以提高精度,特别是在更严格的定位指标下,如AP75。
Polar IoU Loss
如前所述,极坐标分割方法将实例分割的任务转化为一组回归问题。在大多数情况下,在目标检测和分割领域,smooth-L1损失和IoU损失是监督回归问题的两种有效方法。
- smooth-L1丢失忽略了相同对象的样本之间的相关性,从而导致定位精度较低。
- IoU损失将优化视为一个整体,并直接优化了兴趣度量IoU。然而,计算所预测掩模的IoU和它的Ground truth是非常棘手的,并且很难实现并行计算。
在这项工作中,我们推导出一个简单而有效的算法来计算掩模IoU基于极坐标向量表示,以达到具有竞争性的效果。
我们从IoU的定义开始引入Polar IoU Loss,即预测掩模与Ground truth之间的相互作用面积比联合面积的比值。如图5所示
在极坐标系统中,对于一个实例,掩模IoU的计算如下:
回归目标d和预测目标d※是射线的长度,角度是θ。然后把它转换成离散形式:
当N趋于无穷时,离散形式等于连续形式。我们假设射线是统一发出的:
所以进一步简化了的公式。我们从经验上观察到,幂的形式对性能有很小的影响(±0.1 mAP 的区别),如果将幂丢弃并简化为以下形式:
Polar IoU Loss就是Polar IoU的二值交叉熵损失。因为最优的IoU总是1,所以损失实际上是Polar IoU的负对数:
我们提出的Polar IoU Loss具有两个优点:
- 它是可微的,可以反向传播;并行计算的实现非常简单,从而促进了快速的训练过程。
- 整体预测回归目标。实验结果表明,与Smooth-L1 Loss相比,它大大提高了系统的整体性能。
另外,Polar IoU Loss能够自动保持稠密距离预测的分类损失与回归损失之间的平衡。我们将在实验中详细讨论它。