One-Shot都嫌多,Zero-Shot实例样本分割
点击蓝字 关注我们****
关注并星标
从此不迷路
计算机视觉研究院


公众号ID |计算机视觉研究院
学习群 |扫码在主页获取加入方式
计算机视觉研究院专栏
Column of Computer Vision Institute
对于一个未被训练过的查询图像来说,如何进行检测和分割所有实例?
一、分割回顾
实例分割(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 Meaningful Instance Particular Segmentation Employing a Discriminating Loss Mechanism
参考代码:https://github.com/Wizaron/instance-segmentation-pytorch
这篇论文的实例分割做法是:
(1)语义分割:首先在第一个阶段做了语义分割,得到了所有的物体mask;
(2)像素嵌入:为了实现图像每个像素在n维特征空间中映射到各自所属的cluster中以趋近于同一位置这一目标
(3)后处理:最后使用聚类的方法(如mean-shift)来输出不同的实例。

文章的关键在于提出的判别式损失函数,它的组成如下:

施加拉力以惩罚同一实例中各元素与其平均值之间的距离。具体而言,在嵌入空间中对每个实例计算其所有像素的均值,并施加拉力以减少该实例内各像素与该均值点之间的差异。进一步说明,在t-SNE优化过程中通过这种方式降低每个实例内部的嵌入方差。
(2)推力。计算所有核心点 (在嵌入空间 embedding 中, 而非基于真实空间的中心), 然后将其推离更多, 以避免干扰真实数据分布。
(3)正则化。中心点不应该离原点太远。
文章中涉及的超参数设置以及迭代优化方法都面临诸多挑战,值得深入研究者深入探讨;如果对这些细节感兴趣的话,请参考原文及附带代码;有关更多细节的朋友可以参考文献[1].
单阶段实例分割
深入探讨单阶段实例分割(Single Shot Instance Segmentation)这一领域的发展,这一技术的发展也受到了单阶段目标检测研究的启发。具体而言,主要分为两大类思路:一种是基于one-stage, anchot-based检测模型的方法,如YOLO、RetinaNet等方法所启发;其中最具代表性的方法包括YOLACT和SOLO。另一种则是基于anchor-free检测模型的方法所启发,在这方面取得了显著进展的有FCOS、PolarMask等方法。
从2020年1月起,在单阶段实例分割领域表现最佳的是BlendMask模型(基于COCO基准达到41.3%的准确率)。该模型不仅在准确率上超越了经典的Mask R-CNN算法,在速度方面也达到了更高的水平。其性能已非常接近于当前国际上的最先进的两阶段实例分割方法。
YOLACT &YOLACT++ ICCV 2019
原文:https://arxiv.org/abs/1904.02689
代码(官方):https://github.com/dbolya/yolact
YOLACT是我最初接触的一篇关于单阶段实例分割的经典文章,在研究中对Single Shot Detector(SSD)架构有了深刻理解后,并借鉴了RetinaNet这一主流检测框架的基础上进行深入研究,并将其划归到单阶段实例分割范畴内。通过这种方法将实例分割任务分解为两个相互并行的任务模块:
(1)通过一个Protonet网络, 为每张图片生成 k 个 原型mask
(2)对每个实例,预测k个的线性组合系数(Mask Coefficients)
最后通过线性组合的方式生成了实例mask,在这一过程中网络学会了如何在各个位置各种色彩以及不同的语义实例上标注掩码
具体网络结构如下:

(1)Backbone:Resnet 101+FPN,与RetinaNet相同;
Protonet:它紧跟在FPN输出之后,并属于一种FCN架构,在预测过程中用于生成与原始图像相对应的基础原型mask。
(3)预测头:相较于RetinaNet的头,在其基础上新增了一个Mask Coefficient分支,并用于预测mask系数;其输出结果为4*c + k。

此外,论文中还用到了Fast NMS方法,比原有的NMS速度更快,精度减得不多。
之后,作者又提出了改进版的YOLACT++,改进之处主要有:
基于Mask Scoring RCNN框架的基础上,在其基础上增加了一个fast mask re-scoring分支以提升实例mask评价效果
(2)Backbone网络中引入可变形卷积DCN;
(3)优化了Prediction Head中的anchor设计
YOLACT和YOLACT++的实验效果如下:

二、One shot实例分割
论文地址:https://arxiv.org/pdf/1811.11507.pdf
动机
本文关注一个前沿挑战:当面对一个未预先训练的新样本(即query image),其中包含未知数量的实体类型时,如何实现对其所有实例的检测与分割。这一问题与现实应用场景具有密切关联。由于在实际应用场景中难以获得像MS-COCO或OpenImages等数据集那样拥有丰富实例的数据集,在这种情况下学习并推广到新类型的问题就显得尤为重要。尽管如此,在实际任务中每个样本的具体表现可能会导致不同结果的变化幅度较大。目前的研究大多还是停留在分类任务上,在具体实施层面如检测和分割方面还存在较大的提升空间
主要亮点:
基于单个样本来构建并开发一种新的siamese Mask R-CNN框架,在实际应用中能够有效实现基于该样本同类实例的目标检测与图像分割功能
2.构建了一个新的评测标准在MS-COCO。

不同于MRCNN:其核心架构整合了Siamese网络与Mask R-CNN技术。改进前后的核心架构对比如下图所示。

其中四个关键点已经被以颜色标注区分出来具体包括R(代表输入同时包含Query Image和ReferenceImage)Siamese网络通过其独特的结构能够分别对其进行特征提取Matching机制负责将这两个提取出来的特征向量逐一对比分析最后使用L1损失函数来计算两者的差异程度

该框架的结果如下:


三、Zero shot实例分割
研究团队开发出了一种新任务命名为Zero-Shot Instance Segmentation (ZSI) 。该方法的训练阶段仅依赖于已标注数据进行学习,在推理过程中不仅能够识别已知物体还能处理未知物体。
首先采用数学语言对此问题进行了精确描述,并随后提出了一种创新的方法以解决ZSI问题。该创新方法主要由以下四个关键组件构成:零样本检测器(Zero-shot Detector)、基于语义掩膜头(Semantic Mask Head)、背景先验 anchor生成网络(Background-Aware RPN)以及同步背景策略(Synchronized Background Strategy)。通过实验分析表明,在ZSI任务方面该方法表现优异,并且在零样本检测任务中取得了优于现有研究成果的效果
亮点:(部分采用:https://www.jiqizhixin.com/articles/2021-03-17)
该算法采用了基于Backgro Aware的检测与分割结合方法。
2:定义了零样本分割(ZSI)自己独特的测试基准;
实验结果显示,在ZSD任务上实现了对现有方案的超越,并且在ZSI任务上的性能表现得非常有竞争力。

以零样本实例分割框架为例(如图1所示)。对于输入的一张图像而言,在提取视觉特征与背景信息的基础上(通过 backbone, BA-RPN 和 ROI Align 进行词向量表示),同步背景模块处理后的输出分别输入到零样本检测器以及语义分割头部中(通过 Sync-bg 模块),从而实现对实例的分割定位。

该零样本检测器的设计方案主要参考下图进行阐述,并基于编码-解码架构设计,在测试与推理过程中仅依赖于解码器模块中的Te

该模块的架构如图4所示,在训练过程中采用的是经典的encoder-decoder架构设计。其通过 encoder 将输入图像的空间特征映射至语义-文本联合特征空间,并在此基础上解码器则负责将提取出的语义与文本特征重新构建图像的具体内容。具体而言,在重建图像的过程中,主要涉及的任务包括目标检测与分割等核心任务。

实验:


© THE END
转载请联系本公众号获得授权

计算机视觉研究院学习群等你加入!
ABOUT
计算机视觉研究院
计算机视觉研究中心专注于开展目标检测与识别、视频分析与处理等关键技术研究。我们不仅提供论文下载服务,还会定期推送实际应用案例。我们主要聚焦于技术创新与成果转化,推动理论与实践相结合。我们定期会邀请专家围绕各个应用场景进行深入探讨,帮助研究人员更好地理解理论知识的实际应用价值;同时,我们鼓励团队成员不断深化技术能力,培养全面发展的专业人才。通过实际案例演示,让研究人员能够直观感受理论在真实工作环境中的应用价值;同时,我们鼓励团队成员不断深化技术能力,培养全面发展的专业人才。

往期推荐
🔗
-
Sparse R-CNN:稀疏框架,端到端的目标检测(附源码)
