最近在看Pytorch官方关于Mask R-CNN的教程。当我在 colab 上运行代码时,发现它在预测期间会自动输出不同数量的通道。如果图像上有 2 个人,它将输出形状为 的蒙版2xHxW
。如果图像上有 3 个人,它将输出形状为 的蒙版3xHxW
。
Mask R-CNN 如何改变频道?它里面有for
循环吗?
我的猜测是它有区域建议,并根据这些区域输出掩码,然后对它们进行阈值处理(它删除了预测概率低的掩码)。这是正确的吗?
最近在看Pytorch官方关于Mask R-CNN的教程。当我在 colab 上运行代码时,发现它在预测期间会自动输出不同数量的通道。如果图像上有 2 个人,它将输出形状为 的蒙版2xHxW
。如果图像上有 3 个人,它将输出形状为 的蒙版3xHxW
。
Mask R-CNN 如何改变频道?它里面有for
循环吗?
我的猜测是它有区域建议,并根据这些区域输出掩码,然后对它们进行阈值处理(它删除了预测概率低的掩码)。这是正确的吗?
对象检测模型通常会为每个对象生成多个检测。在称为非最大抑制 (NMS)的后处理步骤中删除重复项。
Pytorch
执行此后处理的代码在类中被调用RegionProposalNetwork
。您提到的过滤循环score_thresh
执行 NMS 并应用阈值(尽管默认情况下它似乎为零)。