关于深度学习:MaskFormer将语义分割和实例分割作为同一任务进行训练

42次阅读

共计 2979 个字符,预计需要花费 8 分钟才能阅读完成。

指标检测和实例宰割是计算机视觉的根本工作,在从主动驾驶到医学成像的有数利用中施展着关键作用。指标检测的传统办法中通常利用边界框技术进行对象定位,而后利用逐像素分类为这些本地化实例调配类。然而当解决同一类的重叠对象时,或者在每个图像的对象数量不同的状况下,这些办法通常会呈现问题。

诸如 Faster R-CNN、Mask R-CNN 等经典办法尽管十分无效,但因为其固有的固定大小输入空间,它们通常预测每个图像的边界框和类的固定数量,这可能与图像中实例的理论数量不匹配,特地是当不同图像的实例数量不同时。并且它们可能无奈充沛解决雷同类的对象重叠的状况,从而导致分类不统一。

本文中将介绍 Facebook AI Research 在 21 年公布的一种超过这些限度的实例宰割办法 MaskFormer。能够看到从那时候开始,FB 就对 Mask 和 Transformer 进行整合钻研了。

1、逐像素分类和掩码分类的区别

逐像素分类

该办法指的是为图像中的每个像素调配一个类标签。在这种状况下,每个像素都被独立解决,模型依据该像素地位的输出特色预测该像素属于哪个类。对于边界清晰、定义明确的对象,逐像素分类能够十分精确。然而当感兴趣的对象具备简单的形态,互相重叠或位于芜杂的背景中时,它可能会遇到困难,这能够解释为这些模型偏向于首先依据其空间边界来查看对象。

思考一幅描述多辆重叠汽车的图像。传统的实例宰割模型 (如逐像素模型) 可能难以应答如下所示的状况。如果汽车重叠,这些模型可能会为整个重叠的汽车创立一个繁多的并且是合并后的掩码。可能会把这个场景误认为是一辆形态奇怪的大型汽车,而不是多辆不同的汽车。

掩码分类

掩码分类 (在 MaskFormer 中应用) 采纳了不同的办法。掩码分类模型不是独立对每个像素进行分类,而是为图像中的每个对象实例预测特定于类的掩码。这个掩码实质上是一个二值图像,示意哪些像素属于对象实例,哪些不属于。换句话说,单个遮罩代表整个对象,而不仅仅是单个像素。

在前一个例子中,应用掩码分类使咱们可能辨认图像中有多个“car”类实例,并为每个实例调配一个惟一的掩码,即便它们重叠。每辆车都被视为一个独立的实例,并被赋予本人独特的面具,以放弃其与其余汽车离开的身份。

应用掩码分类 / 宰割的模型示例: 掩码 R -CNN, DETR, Max-deeplab..

DETR

DETR 的外围是一个被称为 Transformer 的弱小机制,它容许模型克服传统逐像素和掩码分类办法的一些要害限度。

在传统的掩模分类办法中,如果两辆车重叠,可能难以将它们辨别为不同的实体。而 DETR 为这类问题提供了一个优雅的解决方案。DETR 不是为每辆车生成掩码,而是预测一组固定的边界框和相干的类概率。这种“汇合预测”办法容许 DETR 以惊人的效率解决波及重叠对象的简单场景。

尽管 DETR 彻底改变了边界框预测,但它并没有间接提供宰割掩码——这是许多应用程序中至关重要的细节。这时就呈现了 MaskFormer:它扩大了 DETR 的鲁棒集预测机制,为每个检测到的对象创立特定于类的掩码。所以 MaskFormer 建设在 DETR 的劣势之上,并加强了生成高质量宰割掩码的能力。

比方在下面提到的汽车场景中,MaskFormer 不仅将每辆车辨认为一个独自的实体(感激 DETR 的汇合预测机制),而且还为每辆车生成一个准确的掩码,精确捕捉它们的边界,即便在重叠的状况下也是如此。

DETR 和 MaskFormer 之间的这种协同作用为更精确、更高效的实例宰割关上了一个可能性的世界,超过了传统的逐像素和掩码分类办法的限度。

MaskFormer

上面是 MaskFormer 的架构:

通过骨干提取特色:MaskFormer 骨干网络负责从输出中提取要害的图像特色。这个骨干能够是任何风行的 CNN(卷积神经网络)架构,比方 ResNet,它解决图像并提取一组特色,用 F 示意。

逐像素嵌入生成: 而后将这些特色 F 传递给像素解码器,该解码器逐步对图像特色进行上采样,生成咱们所说的“逐像素嵌入”(E 像素)。这些嵌入捕捉图像中每个像素的部分和全局上下文。

段(Per-Segment)嵌入生成: 与此同时,Transformer Decoder 关注图像特色 F 并生成一组“N”段嵌入,用 Q 示意,通过“注意力”的机制为图像的不同局部调配不同的重要性权重。这些嵌入实质上代表了咱们想要分类和定位的图像中的潜在对象(或片段)。

这里的术“Segment”是指模型试图辨认和宰割的图像中对象的潜在实例。

一般来说,编码器解决输出数据,解码器应用解决后的数据生成输入。编码器和解码器的输出通常是序列,就像机器翻译工作中的句子一样。

而 maskformer 的“编码器”是骨干网络(用于 maskFormer 的 Resnet50),它解决输出图像并生成一组特色映射。这些特色映射与传统 Transformer 中的编码器输入具备雷同的目标,提供输出数据的丰盛的高级示意。

而后应用这些嵌入 Q 来预测 N 个类标签和 N 个相应的掩码嵌入(E 掩码)。这就是 MaskFormer 真正的亮点所在。与传统宰割模型预测每个像素的类标签不同,MaskFormer 预测每个潜在对象的类标签,以及相应的掩码嵌入。

在取得掩码嵌入后,MaskFormer 通过像素嵌入 (E 像素) 与掩码嵌入 (E 掩码) 之间的点积产生 N 个二进制掩码,而后进行 s 型激活。这个过程可能会将每个对象实例的二进制掩码重叠。

最初对于像语义宰割这样的工作,MaskFormer 能够通过将 N 个二进制掩码与其相应的类预测相结合来计算最终预测。这种组合是通过一个简略的矩阵乘法实现的,给咱们最终的宰割和分类图像。

MaskFormer 用于语义和实例宰割

语义宰割波及到用类标签标记图像的每个像素(例如“汽车”,“狗”,“人”等)。然而它不辨别同一类的不同实例。例如如果图像中有两个人,语义宰割会将所有属于这两个人的像素标记为“人”,但它不会辨别 A 和 B。

而实例宰割不仅对每个像素进行分类,而且对同一类的不同实例进行拆散。比方实例宰割须要将所有属于 A 的像素标记为“A”,所有属于 B 的像素标记为“B”。

大多数传统的计算机视觉模型将语义宰割和实例宰割视为独立的问题,须要不同的模型、损失函数和训练过程。然而 MaskFormer 设计了一个对立的形式解决这两个工作:它通过预测图像中每个对象实例的类标签和二进制掩码来工作。这种办法实质上联合了语义和实例宰割的各个方面。

对于损失函数,MaskFormer 应用对立的损失函数来解决这个掩码分类问题。这个损失函数以一种与语义和实例宰割工作统一的形式评估预测掩码的品质。

所以应用雷同的损失函数和训练过程失去的的 MaskFormer 模型能够不做任何批改地同时利用于语义和实例宰割工作。

总结

MaskFormer 提供了一种新的图像宰割办法,集成了 DETR 模型和 Transformer 架构的长处。它应用基于掩码的预测,加强了对图像中简单对象交互的解决。

MaskFormer 的对立办法在图像宰割方面向前迈出了一大步,为计算机视觉的提高开拓了新的可能性。它为进一步的钻研奠定了根底,旨在进步咱们了解和解释视觉世界的能力。

论文地址:

https://avoid.overfit.cn/post/3f38050c2a794e33ac9ee66642740fd3

作者:HannaMergui

正文完
 0