📜  掩码 R-CNN |机器学习

📅  最后修改于: 2022-05-13 01:55:48.827000             🧑  作者: Mango

掩码 R-CNN |机器学习

Faster R-CNN 和 YOLO 擅长检测输入图像中的物体。它们的检测时间也非常短,可用于实时系统。但是,有一个挑战是物体检测无法应对的,YOLO 和 Faster R-CNN 生成的边界框并没有给出任何关于物体形状的指示。

实例分割:
这种分割识别每个实例(图像中存在的每个对象的出现并用不同的像素为它们着色)。它基本上可以对每个像素位置进行分类,并为图像中的每个对象生成分割掩码。这种方法可以更好地了解图像中的对象,因为它在识别对象的同时保留了这些对象的安全性。

实例分割(来源:链接)

Mask R-CNN 架构: Mask R-CNN 是由Kaiming He 等人提出的。在 2017 年。它与 Faster R-CNN 非常相似,只是有另一个层来预测分段。区域建议生成阶段在架构中是相同的,第二阶段在并行预测类中工作,生成边界框以及为每个 RoI 输出二进制掩码。


它包括——

  • 骨干网
  • 区域提案网络
  • 掩码表示
  • 投资回报率对齐

骨干网络:
Mask R-CNN 的作者在两种骨干网络上进行了实验。第一个是标准的 ResNet 架构(ResNet-C4),另一个是带有特征金字塔网络的 ResNet。标准 ResNet 架构类似于 Faster R-CNN,但 ResNet-FPN 提出了一些修改。这包括多层 RoI 生成。这种多层特征金字塔网络生成不同规模的 RoI,从而提高了先前 ResNet 架构的准确性。

在每一层,特征图的大小减少了一半,特征图的数量增加了一倍。我们从四层(第 1、2、3 和 4 层)获取输出。为了生成最终的特征图,我们使用了一种称为自上而下路径的方法。我们从顶部的特征图(w/32、h/32、256)开始,通过高档操作逐步向下到更大的特征图。在上采样之前,我们还应用1*1卷积将通道数减少到256 。然后将其按元素添加到上一次迭代的上采样输出中。所有输出都经过3 X 3卷积层以创建最终的4 个特征图(P2、P3、P4、P5) 。第5 个特征图(P6)是从P5的最大池化操作生成的。

区域提案网络:
上一层生成的所有卷积特征图都经过一个3*3的卷积层。然后它的输出被传递到两个平行的分支,它们确定对象分数并回归边界框坐标。


在这里,我们只对特征金字塔使用一个锚步长和3 个锚比率(因为我们已经有不同大小的特征图来检查不同大小的对象)。

面具表示:
掩码包含有关对象的空间信息。因此,与分类和边界框回归层不同,我们无法将输出折叠到全连接层以进行改进,因为它需要来自上述层的像素到像素的对应关系。 Mask R-CNN 使用全连接网络来预测掩码。此 ConvNet 将 RoI 作为输入并输出m*m掩码表示。我们还放大了这个掩码以推断输入图像,并使用1*1卷积将通道减少到256个。为了为这个预测掩码的全连接网络生成输入,我们使用 RoIAlign。 RoIAlign 的目的是将区域提议网络生成的不同大小的特征图转换为固定大小的特征图。 Mask R-CNN 论文提出了两种架构变体。在一种变体中,掩模生成 CNN 的输入在应用 RoIAlign 之后传递(ResNet C4),但在另一种变体中,输入在完全连接层(FPN 网络)之前传递。

(来源:链接)

这个掩码生成分支是完全卷积网络,它输出一个K * (m*m) ,其中K是类数(每个类一个),对于 ResNet-C4 和m=14对于 ResNet_FPN 是 28

投资回报率对齐:
RoI align 与 RoI 池具有相同的动机,从区域建议中生成固定大小的感兴趣区域。它按以下步骤工作:

给定大小为h*w的前一个卷积层的特征图,将此特征图划分为M * N个大小相等的网格(我们不会只取整数值)。


掩码 R-CNN 推理速度约为2 fps ,考虑到在架构中添加了分割分支,这很好。

应用:
由于它具有生成分段掩码的附加功能,它被用于许多计算机视觉应用中,例如:

  • 人体姿势估计
  • 自动驾驶汽车
  • 无人机图像映射等

参考:

  • Mask R-CNN 论文
  • Mask R-CNN 幻灯片