点击上方“AI搞事情”关注我们
PolarMask是一项CVPR2020录用的工作,该方法基于FCOS,将实例分割也融入到了FCN框架中,相比于“先检测再分割”的Mask RCNN,PolarMask是一种single shot的实例分割框架。
相关资源
论文:https://arxiv.org/pdf/1909.13226.pdf
开源:https://github.com/xieenze/PolarMask
论文笔记
PolarMask针对实例分割任务提出了一种新的建模方式,
下图展示了两种实例分割建模方式:
a:pixel-based建模,目标框中针对像素进行分类,如图 (b),Mask RCNN采用此方式。
b:contour-based建模,在坐标系 (c. 直角坐标 \ d.极坐标) 中建模目标轮廓,本文采用 (d) 方式建模,相比于 (c) ,极坐标系建模轮廓可以利用固定角度先验信息,网络只需要回归特定方向的长度即可,进一步简化问题。
PolarMask通过极坐标系建模轮廓,把实例分割问题转化为实例中心点分类(instance center classification)问题和密集距离回归(dense distance regression)问题。
PolarMask特点:
(1) anchor free and bbox free,不需要检测框
(2) fully convolutional network, 相比FCOS把4根射线散发到36根射线,将instance segmentation和object detection用同一种建模方式来表达。
因此,FCOS可以看作是PolarMask的特殊形式,而PolarMask可以看作FCOS的通用形式。FCOS只从0,90,180,270四个角度回归长度,而PolarMask将目标实例分为了36个方向进行长度回归。
01
极坐标掩码回归
PolarMask整个网络结构同FCOS基本一致,由主干网(Backbone) + 特征金字塔(Feature Pyramid)+ 预测head组成。预测部分,Mask预测分支替换了FCOS的Bbox预测分支(将channel=4扩展成36),同时,作者提出了Polar Centerness替换了FCOS的Centerness,作用基本一致,用来定义高质量样本,根据位置为像素样本赋予不同权重。
(PolarMask网络结构图)
Polar Representation
针对实例掩码,采样实例的中心点(xc, yc)以及实例轮廓点 (xi, yi), i = 1, 2, ..., N。以均匀的角度∆θ 链接中心点和轮廓点。这样,一个实例就可以通过极坐标的方式建模为一个中心点和n条射线。
Mass Center
选择实例中心有很多方式,如边框中心、质心。如何选择需要根据分割预测的效果,实验证明选择质心作为实例中心效果更好。
Center Samples
实例质心周围的像素被视为中心样本,其余为负样本。具体,选择质心对应特征图上步长为1.5周围的点为正样本,因此,一个实例质心周围有9~16个像素被作为正样本。主要可以:
(1). 增加正样本数量,避免正负样本不均衡。
(2). 质心并不一定是实例样本的最佳采样点。
Distance Regression
得到中心样本点(xc, yc),根据该点生成n(n=36)条射线,一些特殊情况:
(1). 射线与实例轮廓有多个交点,取最长射线。
(2). 若实例中心点在外部,某方向射线与轮廓没有交点,则回归目标值为最小值 ∝(∝ = 10−6)。
回归损失采用提出的Polar IoU Loss,因为:
(1). 一个样本有n条射线,属于密集回归任务,Smooth L1 loss还面临和分类loss不均衡的问题,需要精心调整权重,十分低效。
(2). n条射线属于同一实例,是相关的,应该被作为一个整体进行训练,而不是作为n个回归样本。
Mask Assembling
推理过程,通过对FPN各尺度预测的得分图和centerness图相乘后获得最后置信度得分,再利用阈值(0.05)过滤,每个尺度保留1k top得分进行掩码生成。
掩码生成过程:中心点(xc, yc),n条射线长度{d1,d2,....,dn},可以计算出每个方向上的轮廓位置:
从0◦逐个轮廓点链接便可以得到掩码,再利用NMS去除冗余的结果。
02
Polar Centerness
Centerness的目的主要是为目标内部的每个像素学习一个位置权重,越中心权值越大,因此可以用来衡量训练样本的质量。作者对FCOS的bbox Centerness进行改进,提出了极坐标下的Polar Centerness。
其中 d1,d2,....,dn指的是36根射线的长度,当所有射线基本一样长时,该位置像素被认为是高质量样本,即:dmin与dmax越接近的位置会被分配一个更高的权重。
同FCOS操作一样,Polar Centerness得分图会与分类得分图逐像素相乘,为分类得分图赋予位置权重信息。
03
Polar IoU Loss
作者提出Polar IoU Loss,近似计算出predict mask和gt mask的iou,通过Iou Loss 更好的监督mask的回归,且实验证明,Polar IoU Loss比Smooth L1 loss效果更好。
两个mask的Iou可以简化为在dθ下的三角形面积iou问题并对无数个三角形求和(积分),可以推倒简化为最后的形式。
IOU积分形式:
转换为求和形式:
假设射线均匀分布,,可进一步简化,
同时,通过经验发现平方对效果影响很小,继续简化:
Polar IoU Loss为Polar IoU的交叉熵损失,取Polar IoU的负对数:
04
实验结果
没用采用任何trick的情况下,PolarMask在resnext101-fpn的情况下,取得了32.9的AP,虽然不是stoa,但是它的思路非常巧妙,提供了一种新的建模方式,对后面的研究有着很大的启发意义。
(PolarMask实验结果)
相关阅读:
真正意义的Anchor-Free,FCOS目标检测算法了解一下
长按二维码关注我们
有趣的灵魂在等你