(论文阅读)实例分割之EmbedMask

一、简单介绍

paper地址:https://arxiv.org/pdf/1912.01954v2.pdf
code地址:https://github.com/yinghdb/EmbedMask

目前进行实例分割的方式有两种:
①、two-stage方法:
把实例分割作为目标检测网络的一个额外分支,如mask rcnn,需要使用RoI pooling出来物体的大致RoI区域,然后对这个roi区域进行语义分割,得到最后实例分割结果。
②、one-stage方法:
相当于直接使用语义分割得到分割结果之后,然后再使用聚类或者一些手段将同一个实例分组到一起,得到最终实例分割结果
EmbedMask属于one-stage的实例分割方法。
在这里插入图片描述
CVPR2019的一篇论文。
如标题所言:EmbedMask:用于单阶段实例分割的嵌入耦合。自从MaskRCNN发布到2019年底,业内很少有那么令人惊喜的研究成果出现了,大多数基于二阶段加上cascade,改backbone的工作本质上并没有太大的意义,因为你点虽然高了,但速度却更差了,这基本上在实用性上就大打折扣。2019年底,两篇基于FCOS的论文出现打破这个僵局,其中一篇就是EmbedMask的论文。
大致思想:
对每一个候选框(Proposal)和每一个像素(Pixel)都计算一个Embedding,即特征编码,最后根据像素和候选框的Embedding的距离决定该像素是否属于该框框住的物体。框架是基于anchor-free的单阶段目标检测框架FCOS。

二、内容介绍

2.1、摘要

当前的实例分割方法可以分为基于分割的方法(先分割再聚类)和基于提议的方法(先检测然后使用repooling预测每个实例提议的掩码)。在本工作中,我们提出了一种名为EmbedMask的单阶段方法,它将两种方法的优点结合起来。与基于提议的方法一样,EmbedMask建立在检测模型之上,使其具有很强的检测能力。同时,EmbedMask应用额外的嵌入模块来生成像素和提案的嵌入,其中如果像素嵌入属于同一实例,则像素嵌入受到提案嵌入的引导。通过这种嵌入耦合过程,如果像素的嵌入相似,则将它们分配到提议的掩码中。像素级聚类使EmbedMask能够生成高分辨率的掩码,而不会因重新池而丢失细节,建议嵌入的存在简化和加强了聚类过程,以达到比基于分割的方法更高的速度和性能。EmbedMask没有任何花哨的功能,可以达到与Mask R-CNN相当的性能,后者是代表性的两阶段法,可以以更高的速度生成更详细的掩模。

2.2、MaskRcnn存在的问题

文章指出Mask RCNN是two-stage的代表,也就是实例分割视为目标检测的扩展。当检测到的实例用它们的包围盒确定时,分割任务可以在每个实例的包围盒内进行处理,Mask RCNN在许多基准测试中取得了优异的成绩,是最流行的实例分割方法。
但是!
RoIPooling/RoIAlign的步骤会导致特征的丢失和长宽比的失真,从而使其蒙版。此外,调整过多的参数仍然存在复杂的缺点。于是很多研究就开始走向单阶段实例分割。不过,那时候进展不大,新提出来的一些方法无论是精度上 或是速度上都比不上MaskRcnn,遇到了瓶颈,因为一阶段实例分割更倾向于直接在像素级处理图像,从而避免了repooling操作。它们预测每个像素的特征,然后应用聚类过程对每个对象实例进行分组。但这类方法的困难之处在于其聚类过程,比如说很难确定聚类的数量或聚类中心的位置,导致性能无法与基于提议的方法相比。

2.3、提出解决方法

因此,EmbedMask综合了基于提议的方法和基于分割的方法的优点。这个方法保留了较强的检测能力,同时保留了图像的细节信息。通过这种方式,不仅能在基准测试中获得高分,还能产生高分辨率的掩模,并能高速运行,提出EmbedMask。
主要思想:
在聚类方法中使用嵌入
(1)嵌入的像素,称为像素嵌入,这是一个表示每个像素的图像。
(2)嵌入例如提案,嵌入称为提议,这是一个表示实例建议除了边界框和分类。
将像素嵌入与建议嵌入对应于同一实例的上述嵌入进行嵌入耦合。在推理过程中,每个从非最大抑制(NMS)幸存下来的实例提议都附加一个提议嵌入,该提议嵌入被视为聚类中心,指导像素嵌入之间的聚类,生成实例的掩码。通过这个过程,我们不仅避免了确定集群中心及其数量,而且不需要计算“RoIPooling/RoIAlign”。这样,可以保留基本的细节,而省略复杂的操作。此外,这篇文章预测实例建议的另一个参数为聚类过程产生一定的裕度,该裕度是建议敏感的。灵活的边缘使得它更适合于对多尺度对象进行实例分割,这是大多数单阶段方法所不具备的机制。EmbedMask简化了基于分段方法的聚类过程,避免了Mask R-CNN中的重池过程。

2.4、网络结构图

在这里插入图片描述
EmbedMask实例分割框架由两个并行模块组成,一个用于查找实例建议的位置,另一个用于预测实例建议的掩码。使用目标检测方法FCOS作为基线。

2.5、实验结果

在这里插入图片描述

三、目标检测FCOS

这个算法是一种基于FCN的逐像素目标检测算法,实现了无锚点(anchor-free)、无提议(proposal free)的解决方案,并且提出了中心度(Center—ness)的思想,同时在召回率等方面表现接近甚至超过目前很多先进主流的基于锚框目标检测算法。

3.1、摘要

本文提出一种基于像素级预测一阶全卷积目标检测(FCOS)来解决目标检测问题,类似于语音分割。目前大多数先进的目标检测模型,例如RetinaNet、SSD、YOLOv3、Faster R-CNN都依赖于预先定义的锚框。相比之下,本文提出的FCOS是anchor box free,而且也是proposal free,就是不依赖预先定义的锚框或者提议区域。通过去除预先定义的锚框,FCOS完全的避免了关于锚框的复杂运算,例如训练过程中计算重叠度,而且节省了训练过程中的内存占用。更重要的是,本文避免了和锚框有关且对最终检测结果非常敏感的所有超参数。由于后处理只采用非极大值抑制(NMS),所以本文提出的FCOS比以往基于锚框的一阶检测器具有更加简单的优点。

3.2、锚框缺点

①、检测表现效果对于锚框的尺寸、长宽比、数目非常敏感,因此锚框相关的超参数需要仔细的调节。
②、锚框的尺寸和长宽比是固定的,因此,检测器在处理形变较大的候选对象时比较困难,尤其是对于小目标。预先定义的锚框还限制了检测器的泛化能力,因为,它们需要针对不同对象大小或长宽比进行设计。
③、为了提高召回率,需要在图像上放置密集的锚框。而这些锚框大多数属于负样本,这样造成了正负样本之间的不均衡。
④、大量的锚框增加了在计算交并比时计算量和内存占用。

3.3、FCOS优势

①、FCOS与许多基于FCN的思想是统一的,因此可以更轻松的重复使用这些任务的思路。
②、检测器实现了proposal free和anchor free,显著的减少了设计参数的数目。设计参数通常需要启发式调整,并且设计许多技巧。另外,通过消除锚框,新探测器完全避免了复杂的IOU计算以及训练期间锚框和真实边框之间的匹配,并将总训练内存占用空间减少了2倍左右。
③、FCOS可以作为二阶检测器的区域建议网络(RPN),其性能明显优于基于锚点的RPN算法。
④、FCOS可以经过最小的修改便可扩展到其他的视觉任务,包括实例分割、关键点检测。
在这里插入图片描述

1.全卷积一阶检测器

FCOS首先使用Backone CNN(用于提取特征的主干架构CNN),s为feature map之前的总步伐。
与anchor-based检测器的区别
第一点
anchor-based算法将输入图像上的位置作为锚框的中心店,并且对这些锚框进行回归。
FCOS直接对feature map中每个位置对应原图的边框都进行回归,换句话说FCOS直接把每个位置都作为训练样本,这一点和FCN用于语义分割相同。
FCOS算法feature map中位置与原图对应的关系
第二点
在训练过程中,anchor-based算法对样本的标记方法是,如果anchor对应的边框与真实边框(ground truth)交并比大于一定阈值,就设为正样本,并且把交并比最大的类别作为这个位置的类别。
在FCOS中,如果位置 [公式] 落入任何真实边框,就认为它是一个正样本,它的类别标记为这个真实边框的类别。
这样会带来一个问题,如果标注的真实边框重叠,位置 [公式] 映射到原图中落到多个真实边框,这个位置被认为是模糊样本,后面会讲到用多级预测的方式解决的方式解决模糊样本的问题。

2.用FPN对FCOS进行多级预测

基于锚框的检测器由于大的步伐导致低召回率,需要通过降低正的锚框所需的交并比分数来进行补偿:在FCOS算法中表明,及时是大的步伐(stride),也可以获取较好的召回率,甚至效果可以优于基于锚框的检测器。
真实边框中的重叠可能会在训练过程中造成难以处理的歧义,这种模糊性导致基于fcn的检测器性能下降:在FCOSzhong ,采用多级预测方法可以有效地解决模糊问题,与基于锚框的模糊检测器相比,基于模糊控制器的模糊检测器具有更好的性能。
为了解决真实边框重叠带来的模糊性和低召回率,FCOS采用类似FPN中的多级检测,就是在不同级别的特征层检测不同尺寸的目标。
与基于锚框不同的地方
基于锚框的检测器将不同尺寸的锚框分配到不同级别的特征层
FCOS通过直接限定不同特征级别的边界框的回归范围来进行分配
此外,FCOS在不同的特征层之间共享信息,不仅使检测器的参数效率更高,而且提高了检测性能。

3.Center-ness

在这里插入图片描述

通过多级预测之后发现FCOS和基于锚框的检测器之间仍然存在着一定的距离,主要原因是距离目标中心较远的位置产生很多低质量的预测边框。
在FCOS中提出了一种简单而有效的策略来抑制这些低质量的预测边界框,而且不引入任何超参数。具体来说,FCOS添加单层分支,与分类分支并行,以预测"Center-ness"位置。
center-ness(可以理解为一种具有度量作用的概念,在这里称之为"中心度"),中心度取值为0,1之间,使用交叉熵损失进行训练。并把损失加入前面提到的损失函数中。测试时,将预测的中心度与相应的分类分数相乘,计算最终得分(用于对检测到的边界框进行排序)。因此,中心度可以降低远离对象中心的边界框的权重。因此,这些低质量边界框很可能被最终的非最大抑制(NMS)过程滤除,从而显着提高了检测性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

血狼傲骨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值