首页 > 解决方案 > 使用 Mask-RCNN 的不准确蒙版:楼梯效果和突然停止

问题描述

我一直在使用 Matterport 的 Mask R-CNN 在自定义数据集上进行训练。但是,似乎有些参数我未能正确定义,因为在几乎所有图像上,对象蒙版的底部或顶部都被切断: 不准确的预测:面具在底部被切断

如您所见,边界框很好,因为它覆盖了整个刀片,但遮罩似乎突然停在底部的一条水平线上。

另一方面,对于较大和弯曲的对象的蒙版,例如这个(除了底部和顶部截止),有一个类似楼梯的效果: 在此处输入图像描述

感觉问题不在于训练量。这两个预测来自每个 epoch 7000 步的 6 个 epoch(大约需要 17 小时)。这个问题从早期就出现了,并且贯穿了所有的时代。

知道要进行哪些更改吗?

标签: pythontensorflowkerasimage-segmentation

解决方案


这只是Mask-RCNN工作原理,并且是已知的副作用。您无法明智地执行任何操作以使其不出现。PointRend讨论了这个问题(证明它不仅仅是你),并且还提出了他们自己的算法(这是对 的扩展Mask-RCNN)来解决它。在下图中,您可以看到该论文的图像。在左上角,他们在 28x28 图像上运行 Mask-RCNN,您也可以在其中看到楼梯。其他图像与他们如何解决它有关。

坏消息当然是仅仅将 PointRend 代码猛烈抨击到 Mask-RCNN 上并不容易,我至少不知道有什么好的实现。PointRend github本身也不允许对您自己的数据进行任何重新训练。

这个

编辑:

对于后处理,您可以采用很多方法。这个怎么样:

在此处输入图像描述


推荐阅读