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

以下是 YOLOv7-Mask 的主要步骤:
-
合并 Base:
将基础的 4 个 base 合并为一个 Kx160x160 的 base。此外,YOLOv7-Mask 还额外增加了一个 semantic 的 base(共5个base)。
-
Anchor Bbox 选择:
选择 N 个目标检测的 anchor bbox 在 base 上进行 ROIAlign,得到 pooled_bases(N,Kx56x56)。
-
Merge 操作:
将 attns 与 pooled_bases 进行 merge 操作,得到 merge_bases。
-
Attns 差值:
每个 anchor bbox 对应的 attns 进行差值,得到 attns’(Kx56x56)。
-
Mask 生成:
将 attns’ 与 pooled_bases 相乘,再按通道叠加起来,得到最终的 mask(N 个 56×56)。
-
NMS 选取:
进行 NMS(非极大值抑制)选取最优的 mask(56×56)。
-
缩放与贴图:
将最优的 mask 按照对应的最优 bbox 尺寸缩放,贴到原图中,即可得到原图下面的实例分割。
与 BlendMask 的区别在于 YOLOv7-Mask 在 Base 部分额外增加了一个 semantic 的 base,以提高模型的语义理解能力。
这里是yolov7-mask的输出:

Attns: output, 779, 819 [1,3,w’, h’, 980]
980 = 5x14x14 = K×M×M
Anchor:759,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
发表回复