FCOS进化版PolaMask,实例分割新思路

前言

FCOS回顾

简单来说,FCOS是直接预测到box上下左右四条边的距离**(l,t,r,b)**进行box回归的。考虑到box内不会全部都是物体本身,因此设置box的中心点外扩一定的范围作为正样本。当然实际情况中会出现如下图box重叠的场景,FCOS的解决办法是FPN+重叠默认预测小物体来解决。首先是FPN,利用小的特征图预测大物体,大的特征图预测小物体,一定程度上缓解了目标重重叠的现象。如果重叠box落到相同的FPN输出层上,对应重叠的点优先选择预测小物体,因为越大的目标被正样本完全漏掉的概率越小。

FCOS还有一个设置就是centerness,如下图,网络会额外预测一个centerness分支,其规律是越靠近box中心点得分越高。类似confidence map,抑制低质量检测框的产生,快速过滤负样本,降低NMS负担,提高召回率和检测性能。测试使用的时候,会将center-nessmap和classification分支直接相乘用以过滤负样本。

PolarMask总览

作为FCOS的推广,PolarMask思路就是:FCOS预测到上下左右边界的距离来回归box,那么我就预测到四面八方等到多个边界的距离是不是可以回归mask,也就是预测多条射线。论文设定回归射线数目是36根。PolarMask的总体流程几乎与FCOS一样简单和干净。它引入了可忽略的计算开销。简单性和效率是single-shot实例分割的两个关键因素,PolarMask成功实现了它们。这样对head增加的运算,微不足道PolarMask。因此PolarMask最重要的特点是:

  • anchor free and bbox free,不需要出检测框,更不需要预设anchor。
  • 全卷积网络, 相比FCOS把4根射线散发到36根射线,将实例分割和目标检测用同一种建模方式来表达。

这里提前说明一下PolarMask在centernet上的推广之处:

  • Head回归:预测4根射线推广到36根射线;
  • Center-ness:到4条边的最小距离推广到到四周36个位置最小距离;
  • IOU loss:box 的iou loss 推广到 Polar IoU loss;
  • Nms:同样使用box的nms,不过利用的是mask生成的最小外box;

网络结构

网络结构就很简单了,直接继承FCOS的结构。FPN每层分别预测3个分支,分别是Classification,Polar Centerness和Mask Regression,唯一的区别就是Mask Regression的通道数目由FCOS的4变成了36(也可以是其他数量,不过作者认为36根射线足够比较高精度地拟合一个mask了)

Polar Mask Segmentation

这里重点介绍下Mask Regression怎么做的。首先是中心点设定,这里有两种选择,分别是重心和外接box中心。论文选择重心,因为相比较,重心落入物体内部的概率更大。当然也经过实验的分析,选择重心会比box中心获取的IOU要高。当然也有极端场景,中间为空的物体,例如甜甜圈,这两种中心策略都不适用。

既然获得目标的重心,和FCOS一样,特征图上,上下左右括1.5倍,每个实例有9∼16个正样本像素, 这样做的优点是1;解决正负样本不平衡,优点2:mass center不准的时候,更多的候选区域,会帮助网络训练找到更优秀的点。

另外还有两对特殊情况的设置:

  • 如果一条射线和轮廓有多条相交,选择最大的那一个。
  • 如果中心点在外面,那么就会有一部分在射线和mask轮廓没有交点,那么选择默认最小数值,比如10的负6次方。

这两种corner case 导致论文方法的测试指标理论上限不到100%,不过作者说,mask 预测也不会到达100%,Pixel-wise当前的这两种做法距离理论上限都很远。我认为,没有万能覆盖全部场景的方法,符合自己的场景,就可以使用。重点是在实际表现而不是对比理论上限.

预测过程:

将centerness 和classification分支相乘,获取confidence map,每一个fpn分支选取1k个样本,然后利用阈值0.05截断,获取mask再利用nms去除重复预测的,阈值选择iou的0.5。这里的nms中的iou不是对mask求iou,而是获取mask的最小外接矩形的IOU,估计是为了加速才这么设计的。

Polar Centerness

和FCOS一样,本文方法也设置了center-ness,用来抑制低质量检测框的产生,快速过滤负样本,降低NMS负担,提高召回率和检测性能。center-ness用来度量当前位置和物体中心间的距离,越靠近中间权重越大。由于本文任务是实例分割,预测mask,所以需要改进一下做法。本文做法:其中di是对应点到轮廓四周的距离

FCOS最法:其中**(l,t,r,b)是距离边界框左上右下的距离。**

根据消融实验,Polar Centerness可以有效提高1.4的性能,同时不增加网络复杂度。

loss设计

由于预测的射线更多了,而且所有射线需要同等对待,还要保持回归和分类loss的平衡。因此本文提出Polar IOU loss,可以看成普通边界框IOU loss的升级版本。做法如下:

绿色为GT轮廓,橙色为预测轮廓,由于角度采用的离散度数,因此该Polar IOU化简为如下:

其中dmin为gt和pred之间最小的距离,dmax为最大的距离,当gt和pred完全重合的时候,该IOU的值为1;分子和分母颠倒,并去log获得polar iou loss,如下:

该loss有以下3点优点:

  • 可微的,既可以进行梯度回传backward优化;
  • 从整体上预测回归目标。它提高了整体性能,与smooth-l 1损失相比,性能有很大提高;
  • 可以自动平衡分类和回归分支;

实验结果

至此,本文做法介绍完毕,实验结果上还是比较优秀的。

结语

本文介绍了anchor free 目标检测的杰出代表FCOS的推广版本Polar IOU,用来做实例分割,是一个非常有借鉴意义的尝试。

‍‍‍‍‍‍‍‍

1.机器学习原来这么有趣!【第一章】

2.机器学习原来这么有趣!【第二章】:用机器学习制作超级马里奥的关卡

3.机器学习从零开始系列连载(1)——基本概念

4.机器学习从零开始系列连载(2)——线性回归

5.机器学习从零开始系列连载(3)——支持向量机

6.机器学习从零开始系列连载(4)——逻辑回归

7.机器学习从零开始系列连载(5)——Bagging and Boosting框架

8.机器学习从零开始系列连载(6)—— Additive Tree 模型

记得把公号加星标,会第一时间收到通知。

创作不易,如果觉得有点用,希望可以随手转发或者”在看“,拜谢各位老铁

(0)

相关推荐