前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FCOS进化版PolaMask,实例分割新思路

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

作者头像
lujohn3li
发布2020-12-14 16:18:14
6740
发布2020-12-14 16:18:14
举报
文章被收录于专栏:机器学习爱好者社区

前言

做过目标检测的应该对FCOS不陌生,是anchor-free的杰出代表。其结构简单、性能优越,在业内受到广泛的关注。本文介绍的PolarMask正式借鉴FCOS的思路来进行实例分割,可以看作FCOS的进化版本,很有借鉴意义。

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,用来做实例分割,是一个非常有借鉴意义的尝试。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习爱好者社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • FCOS回顾
  • PolarMask总览
  • 网络结构
  • Polar Mask Segmentation
  • Polar Centerness
  • loss设计
  • 实验结果
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档