【进展综述】单阶段实例分割(Single Shot Instance Segmentation)

目录

写在前面

实例分割(Instance Segmentation)

两阶段实例分割

自上而下(Top-Down)

自下而上(Bottom-Up)

单阶段实例分割

YOLACT&YOLACT++  ICCV 2019

PolarMask

SOLO

位置(location)

尺寸(size)

网络实现

实验结果

BlendMask

总结

参考


写在前面

兵荒马乱的秋招结束了,浑浑噩噩地过了几个月,荒废了不少日子,现在打算重新捡起论文来读。这段时间,单阶段实例分割(Single Shot Instance Segmentation)的文章开始大量出现。这篇文章记录一下单阶段实例分割的方法,并简单介绍一下自己印象深刻的几篇论文。

实例分割(Instance Segmentation)

实例分割(Instance Segmentation)是视觉经典四个任务中相对最难的一个,它既具备语义分割(Semantic Segmentation)的特点,需要做到像素层面上的分类,也具备目标检测(Object Detection)的一部分特点,即需要定位出不同实例,即使它们是同一种类。因此,实例分割的研究长期以来都有着两条线,分别是自下而上基于语义分割的方法和自上而下基于检测的方法,这两种方法都属于两阶段的方法,下面将分别简单介绍。

两阶段实例分割

自上而下(Top-Down)

自上而下的实例分割方法的思路是:首先通过目标检测的方法找出实例所在的区域(bounding box),再在检测框内进行语义分割,每个分割结果都作为一个不同的实例输出

这类方法的代表作就是大名鼎鼎的Mask R-CNN了,如下图,总体结构就是Faster R-CNN的两阶段目标检测,box head用来做检测,增加了mask head用来做分割,模型大家都很熟,细节就不再赘述。

自下而上(Bottom-Up)

自下而上的实例分割方法的思路是:首先进行像素级别的语义分割,再通过聚类度量学习等手段区分不同的实例。

自下而上的工作并不多,通常的做法都是通过Instance Embedding的做法来做。举一篇CVPR2017的文章为例,

论文名称:Semantic Instance Segmentation with a Discriminative Loss Function

参考代码:https://github.com/Wizaron/instance-segmentation-pytorch

这篇论文的实例分割做法是:

(1)语义分割:首先在第一个阶段做了语义分割,得到了所有的物体mask;

(2)像素嵌入:再通过使用一个判别式损失函数来训练网络,网络的优化目标是将图像每个像素投影到 n维特征空间后,同属于一个实例的像素尽量靠近,形成一个 cluster, 每一个实例对应一个 cluster, 不同 cluster则尽量远离

(3)后处理:最后使用聚类的方法(如mean-shift)来输出不同的实例。

  • 19
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值