Alex Blog

[分割模型]yolov7-Mask

 

YOLOv7-Mask 简要介绍

YOLOv7-Mask 是一种基于 BlendMask 方式获取实例分割掩膜的目标检测模型。

以下是 YOLOv7-Mask 的主要步骤:

  1. 合并 Base:

    将基础的 4 个 base 合并为一个 Kx160x160 的 base。此外,YOLOv7-Mask 还额外增加了一个 semantic 的 base(共5个base)。

  2. Anchor Bbox 选择:

    选择 N 个目标检测的 anchor bbox 在 base 上进行 ROIAlign,得到 pooled_bases(N,Kx56x56)。

  3. Merge 操作:

    将 attns 与 pooled_bases 进行 merge 操作,得到 merge_bases。

  4. Attns 差值:

    每个 anchor bbox 对应的 attns 进行差值,得到 attns’(Kx56x56)。

  5. Mask 生成:

    将 attns’ 与 pooled_bases 相乘,再按通道叠加起来,得到最终的 mask(N 个 56×56)。

  6. NMS 选取:

    进行 NMS(非极大值抑制)选取最优的 mask(56×56)。

  7. 缩放与贴图:

    将最优的 mask 按照对应的最优 bbox 尺寸缩放,贴到原图中,即可得到原图下面的实例分割。

与 BlendMask 的区别在于 YOLOv7-Mask 在 Base 部分额外增加了一个 semantic 的 base,以提高模型的语义理解能力。
这里是yolov7-mask的输出:

Attnsoutput, 779, 819  [1,3,w’, h’, 980]
                980 = 5x14x14 = K×M×M

Anchor759,799,839 [1, 3, w’, h’, 85]

Base:  651, 719 [4,160,160], [1, 160, 160]

    we need merge the base and the semantic,

    in total [5, 160, 160] = K x W/s x H/s

M 为 14, K为 5

 


已发布

分类

,

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注