实例分割模型Mask2Former解析

Masked2Former是在mask rcnn基础上改进的一个实例分割模型,参考了一些经典模型的思想,如DETR,实验表明效果很好。
在这里插入图片描述

论文:《Masked-attention Mask Transformer for Universal Image Segmentation》
https://arxiv.org/abs/2112.01527

代码地址:https://github.com/facebookresearch/Mask2Former

1.摘要

图像分割对具有不同语义的像素进行分组,例如,类别或实例隶属关系。每种语义选择都定义了一个任务。虽然每个任务只是语义不同,但目前的研究重点是为每个任务设计专门的体系结构。我们提出了maskedatattention Mask Transformer (Mask2Former),这是一种能够处理任何图像分割任务(全景、实例或语义)的新架构。它的关键组成部分包括屏蔽注意,它通过在预测的屏蔽区域内约束交叉注意来提取局部特征。
除了将研究工作量减少至少三倍之外,它在四个流行数据集上的性能明显优于最佳的专业架构。最值得注意的是,Mask2Former为全光分割(COCO上57.8 PQ),实例分割(COCO上50.1 AP)和语义分割(ADE20K上57.7 mIoU)设置了新的技术水平。
在这里插入图片描述

2.模型创新点

主要改进:
1.首先在Transformer解码器中使用屏蔽注意力(Masked attention),与传统的Transformer解码器中使用的交叉注意力相比,可以更快收敛并提高性能。
2.使用多尺度分辨率特征,帮助模型分割小物体/区域
3.提出了更换自注意力和交叉注意力的顺序、使查询特征可以学习、去除dropout等优化改进,所有这些可以不增加额外计算的同时提高性能。

3.模型结构

模型主要包括三个结构:主干特征提取器、像素解码器以及变压器解码器。

3.1 初步的掩码分类

收到DETR的启发,图像中的每个片段都可以作为C维特征向量,并且可以通过Transformer解码器处理,并使用一组预测目标进行训练。关于这种元架构更多的应该参考MaskFormer。

在这里插入图片描述

3.2 屏蔽注意力的Transformer解码器

3.2.1 Masked Attention

上下文特征已被证明对于图像分割很重要。然而,最近的研究表明,基于 Transformer 的模型收敛缓慢是由于交叉注意力层中的全局上下文造成的,因为交叉注意力需要许多训练周期才能学习关注局部对象区域。我们假设局部特征足以更新查询特征,并且可以通过自注意力收集上下文信息。
为此,我们提出了屏蔽注意力,这是交叉注意力的一种变体,仅参与每个查询的预测掩模的前景区域。
原始的交叉注意力的计算:
在这里插入图片描述
Masked attention的计算方式:
在这里插入图片描述
在这里插入图片描述
M_(l-1)是先前第(l-1)个transformer解码器层的经过调整大小的掩码预测的二值化输出,它被调整到与k_l相同的分辨率,M_0是从X_0得到的二进制掩码预测,即再查询特征馈送到Transformer解码器之前。

3.2.3 优化改进

标准 Transformer 解码器层 由三个模块组成,按以下顺序处理查询特征:自注意力模块、交叉注意力模块和前馈网络(FFN)。此外,查询特征(X0)在输入 Transformer 解码器之前被初始化为零,并与可学习的位置嵌入相关联。此外,dropout 应用于残差连接和注意力图。
为了优化 Transformer 解码器设计,我们做了以下三点改进。首先,我们切换自注意力和交叉注意力(我们新的“屏蔽注意力”)的顺序,以使计算更有效:第一个自注意力层的查询特征是与图像无关的,并且没有来自图像的信号,因此应用自注意力不太可能丰富信息。其次,我们使查询特征(X0)也可学习(我们仍然保留可学习的查询位置嵌入),并且可学习的查询特征在用于 Transformer 解码器中预测掩码(M0)之前直接受到监督。我们发现这些可学习的查询特征的功能类似于区域提议网络,并且能够生成掩模提议。最后,我们发现 dropout 是不必要的,而且通常会降低性能。因此,我们完全消除了解码器中的丢失。

3.3提高训练效率

在预测与其匹配的真实情况之间的最终损失中,我们使用重要性采样 对不同的预测和真实情况对的不同 K 点集进行采样。我们设置 K = 12544,即 112 ⇥ 112 点。这种新的训练策略有效地将训练内存减少了 3x,从每张图像 18GB 减少到 6GB,使计算资源有限的用户更容易使用 Mask2Former。

5.结论

我们提出了用于通用图像分割的 Mask2Former。 Mask2Former 基于简单的元框架 [14] 和新的 Transformer 解码器,使用所提出的屏蔽注意力,在四个流行数据集的所有三个主要图像分割任务(全景、实例和语义)中获得了最佳结果,甚至超越了设计的最佳专业模型每个基准,同时保持易于训练。与为每个任务设计专用模型相比,Mask2Former 可以节省 3 倍的研究工作量,并且计算资源有限的用户也可以使用它。
我们希望引起人们对通用模型设计的兴趣
中间实验参数配置、实验结果和模块深度解析,有时间再来填坑!

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Yolov8模型本身不支持实例分割,因为它是一个目标检测模型,主要用于检测图像中的物体,并输出它们的位置和类别。如果您需要实现实例分割,可以考虑使用其他模型,如Mask R-CNN或U-Net。 在Mask R-CNN中,可以通过在检测框上应用分割模型来生成每个物体的掩码。而在U-Net中,可以直接输出图像的掩码。 如果您已经有了图像中每个物体的检测框,可以使用各种图像处理技术来生成掩码。例如,可以使用边缘检测算法或分水岭算法来分割物体并生成掩码。 ### 回答2: YOLOv8是一种目标检测模型,用于检测图像中的目标位置和类别。实例分割是一种计算机视觉任务,旨在将图像中的每个像素与特定的目标实例相关联。因此,将YOLOv8与实例分割结合起来可以生成每个目标实例的遮罩,也称为“mask”。 要生成实例分割mask,可以按照以下步骤进行操作: 第一步是目标检测。使用YOLOv8模型对输入图像进行目标检测,识别出图像中的目标位置和类别。YOLOv8基于卷积神经网络,可以高效地检测出不同尺寸和类别的目标。 第二步是生成初始mask。根据目标检测结果,可以为每个检测到的目标实例生成初始的二进制mask。这可以通过在与目标实例相关的像素位置上设置像素值为1,其他位置设置为0来实现。 第三步是mask细化。由于初始mask可能存在一些噪点或不连续的部分,需要对其进行细化处理。可以使用图像处理技术,例如腐蚀和膨胀操作,以去除小的噪点或填充不连续的区域,使得mask更加精确。 第四步是后处理。对于复杂的场景或目标,仅使用目标检测结果生成的mask可能不够准确。可以利用图像分割算法,例如语义分割或实例分割网络,对mask进行进一步优化和修正。 综上所述,利用YOLOv8实例分割生成mask的过程包括目标检测、初始mask生成、mask细化和后处理等步骤。通过这些步骤,我们可以从图像中提取出每个目标实例的准确mask,以便于进一步的图像分析和理解。 ### 回答3: YOLOv8是一种目标检测的算法,可以用于实例分割任务。实例分割是将图像中的每个目标实例分割出来,并为每个实例生成一个mask。YOLOv8在目标检测的基础上通过对每个目标的像素属性进行分析,生成对应的mask。 YOLOv8首先使用深度神经网络对图像进行目标检测,识别出图像中的目标物体及其位置信息。然后,对于每个目标,利用像素属性分析的方法生成一个mask。 生成mask的过程主要包括两个步骤。首先,根据目标的位置信息,将目标所在区域的像素提取出来。然后,对于提取出的像素,根据其像素属性进行分类,判定其属于目标的哪个部分,并赋予相应的mask值。 具体而言,YOLOv8通常使用语义分割的方法对目标进行分割。这意味着,它会训练一个神经网络,使其能够对不同目标部分进行分类,例如背景、前景等。然后,在目标检测的基础上,将检测到的每个目标区域的像素输入到语义分割网络中,得到每个像素所属的类别,进而生成相应的mask。 通过使用YOLOv8进行实例分割,可以实现对图像中目标的准确分割,并生成相应的mask。这对于许多应用领域,如图像分割、计算机视觉等,具有重要的意义和应用价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值