SOLO理解

原Blog链接:https://blog.csdn.net/qq_41994006/article/details/105170426
论文链接:SOLO: Segmenting Objects by Locations

简述

实例分割属于比较challenging的任务,他相当于是object detection和semantic segmentation的结合体。在SOLO出现之前,有两种常用的paradigm:(1)top-down:先进行目标检测,再对检测框做分割,经典的方法有Mask RCNN、PANet、TensorMask等;(2)bottom-up:让每一个像素学习到一个embedding,拉近相同instance像素之间的embedding的距离,推远不同instance像素之间embedding的距离,最后根据embedding之间的距离进行cluster。

而这两种范式都显得indirect,前者需要较高的检测精度,后者需要有较好的embedding的学习,这都稍都影响了实例分割的效果。因此本文提出的SOLO可谓打破陈规之举,因为他实现了之间端到端预测instance mask的功能。也就是说,输入是一张image,直接输出instance mask以及对应的类别,整个过程属于box-free和grouping-free的范式。

作者在研究SOLO时对instance之间的差别进行了rethinking。通过对所有的annotation统计发现:98.3%的instance质心相隔超过30个pixel,而剩下的1.7%中,大小比例超过1.5的占据了40.5%。也就是说,instance的不同完全可以归结于两个因素:(1)Location;(2)Size。

(1)对于Location的考虑:把image分成 S ∗ S S*SS∗S 个cell,每一个cell负责预测1个instance。当一个实例落入某个cell,则该cell负责预测该instance;(2)对于Size的考虑:采用FPN结构来适用于不同尺度的instance。

核心:预测每个像素所在的物体的实例类别。

作者指出实例类别就是量化后的物体中心位置和物体的尺寸,通过位置和形状进行区分实例,同一中心位置,同一尺寸物体为同一实例,否则为不同类别。

网络结构

网络结构如下图所示:
在这里插入图片描述

原图经过FCN网络生成feature map,分别送入网络两个分支,Semantic Category以及Instance Mask,Semantic Category分支feature map为SSC,用于预测各个位置目标的的类别,C为类别数。Instance Mask分支feature map为HWS^2,因为Instance Mask分支有S^2个位置,因此Instance Mask分支会生成S^2个H*W的feature map,用于目标的全图位置预测。

为检测不同尺度目标,引入FPN,每层输出各自接入以上两个分支。

Semantic Category

经过fpn得到的feature map为HW经过上采样变为SS,可通过三种方法:

1、直接双线性差值

2、adpative pooling

3、区域网格插值

经作者实验,三种方法差别不大。

正负样本设置:网格落到中心区域则为正样本,否则为负样本。给出真值mask的cx,cy,w,h;中心区域为(cx, cy, 0.2w, 0.2h),设置为0.2时,每个真值mask平均生成3个正样本。

Instance Mask

Instance Mask生成HWS^2的feature map,Semantic Category每个位置都会对应于实例mask分支中每一个channel,用于生成目标的mask。

因为FCN在一定程度上具有空间不变性,因此在FCN基础上增加两个channel,增加坐标信息,将像素横纵坐标x,y,归一化到[-1,1],如图3所示,将FCN生成特征图HW256增加2个 channel。

在这里插入图片描述

损失函数
在这里插入图片描述

Lcate采用Focal Loss(FL)

Lmask如公式2所示,

在这里插入图片描述

dmask作者尝试了BCE、FL以及Dice loss(DL),发现DL优于FL优于BCE。

FL比BCE效果好,主要是因为一个实例分割mask中大多数像素在背景上,FL可以削弱样本不均衡问题,通过降低分类效果好的样本的loss。DL将整张图看作一个目标,能够创建前景与背景之间平衡,且不需要超参数。如公式3、4所示。

在这里插入图片描述

实验结果

在这里插入图片描述

SOLO解耦

Instance Mask分支channel为S×S,这对计算量是比较大的要求,但其实图片中通常并不会有这么多的实例,因此有很多通道是多余的。对此作者将通道变为2S,如图7所示。
在这里插入图片描述

附飞桨课件

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值