单阶段实例分割之一 EmbedMask: Embedding Coupling for One-stage Instance Segmentation

最近一两年,单阶段实例分割的工作出现的越来越多,有基于检测的(先检测后预测mask,检测框架有anchor-based也有anchor-free的),也有直接从图片像素到mask的。而自从anchor-free的单阶段目标检测框架FCOS出来以后,基于该目标检测框架的单阶段实例分割也出现了好几个不错的工作。单阶段目标检测和实例分割的框架一般会显得简洁有效,对其他视觉问题也会有一定的启发意义。自己后面也会陆续更新一系列单阶段实例分割的论文解读的博客,也算是做个笔记。

今天写的第一篇,大概是CVPR2020的一个工作,题目是EmbedMask:Embedding Coupling for One-stage Instance Segmentation。文章链接在这儿EmbedMask代码作者也开源了EmbedMask简单的来说,是对每一个候选框(Proposal)和每一个像素(Pixel)都计算一个Embedding,其实也就是特征编码,最后根据像素和候选框的Embedding的距离决定该像素是否属于该框框住的物体。框架是基于anchor-free的单阶段目标检测框架FCOS

FCOS里,特征图的每一个像素位置或负责预测一个框,这样其实该位置处的框的特征编码是256维度的向量。相比于anchor-based的单阶段目标检测比如RetinaNet,一个像素位置负责编码九个框,特征图的单个像素位置只负责回归一个框,会减少歧义。

 

整个实例分割的框架如上所示,蓝色模块是作者新加的针对实例分割的模块,其他颜色的模块继承自FCOS。

Overview

由于FCOS每一个像素位置负责一个框,因此,该位置可以表示为,其中class_j,box_j,center_j分别代表是原来FCOS的输出,即分别为该像素处的物体的类别(背景或前景类),像素处预测的该像素相对于框的四周的偏移量,以及该像素处包含物体的概率。分别代表该ProposalEmbedding以及间隔Embedding。间隔Embedding用于确定该像素的EmbeddingProposalEmbedding在多少距离时可以把该像素归入到该Proposal框住的物体。像素PixelEmbedding记为

Embedding定义

针对ProposalEmbedding是对物体的全局语义信息的编码,而针对像素的Embedding是对物体局部位置的语义信息的编码。全局语义信息和局部语义信息结合,可能可以更好地对物体进行分割。由于FCOS利用了特征金字塔,所以即使每一个特征图的位置只负责预测一个框,但是数目也是可观的,为了减少处理的框减少计算量并减少噪声样本,在对物体进行实例分割时只考虑目标检测阶段经过NMS之后的候选框(Proposal记为S_k,该ProposalEmbedding记为Q_k。对于像素x_iEmbedding

p_i ,假如p_iQ_k的距离足够近,比如小于一个间隔\delta,,则该像素属于该框框住的物体。

这样可以简单地设计如下的损失函数,训练实例分割网络。

上式两项分别代表把属于某一个物体S_k的像素在Embedding空间与聚类中心也就是Q_k越来越近,而不属于S_k的像素会被推开。

但是文中指出这样做 存在一些问题,那就是针对不同尺度的物体,都设置了一个固定的阈值,按照文中的说法,大物体阈值应该要大些,小物体阈值需要小些。因此采用了一种更加自适应的方式来根据物体尺度自适应设置间隔。

可学习的间隔

将间隔这一个超参数和像素以及候选框(Proposal)的Embedding打包在一起表示,省去超参数的调参烦恼。

上式的S_k的候选实例Embedding,S_k的间隔Embedding。像素x_i的Embedding与Proposal的Embedding的聚类越接近,越接近于一。因此mask分支的训练损失函数为

 是真值,代表0或者1.

平滑损失

训练的时候,在NMS之后留下来的框和真值框求IOU,大于一定阈值的框记为由真值框负责,这样该真值框S_k对应的Embedding也是聚类中心、以及S_k所对应的间隔Embedding可以按如下方式计算得到

而测试的时候, ,测试和训练的时候Q_k不太一样,因此引入了下面的平滑损失。

网络训练

目标函数

框回归和分类的样本采样:和FCOS一样,只是正样本的选择更加严格,只是GT框中央的部分区域像素是正样本。

实例Embedding和间隔采样:框和GT框的IOU大于0.5.

像素Embedding的采样: 𝑘GT框类的一部分像素。

实验结果

部分实验结果如下,更多可以去阅读原文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值