1. 磐创AI首页
  2. Medium

掩码R-CNN重叠包围盒问题


MASK R-CNN是卷积神经网络的一种人工神经网络。它可以有效地检测图像中的对象,并为每个样本创建高质量的分割蒙版。

📻更快的R-cnn通过在其网络中增加一个额外的分支机构来扩展现有的R-cnn。

📊你可以访问我上一篇关于使用自定义数据集和更快的R-cnn的博客文章。previous blog post

与速度更快的R-ğŸ不同,掩模R-CNN是为网络输入和输出之间的逐个像素对齐(RoIAlign)而设计的。

ğŸ从零开始一步一步创建“面具R-CNN”项目;

📔在自定义数据集上逐步创建一个Mask R-CNN项目;

如果您已经有一个Mask R-CNN项目,我想谈谈在检测过程中可能出现的错误和阈值。正如我在标题中提到的,重叠框可能会导致区分对象时出现问题。如果仅对一个类和背景执行对象检测和分割,则最初设置0.9的阈值就足够了。让?euro™一起深入研究一些配置文件。

上面的代码显示了如何创建示例配置类。紧跟在STEPS_PER_EPOCH变量之后的变量DETACTION_MIN_CONFIRITY是我们的检测阈值变量。正如代码中提到的,如果以90%或更高的概率检测到图像中的对象,则会给出类名。虽然这种情况有时是好的,但有时可能会导致较差的准确性。为此,我们应该充分了解数据,选择合适的阈值。

让我们回顾一下我从Dive Into Deep™的原始文档中获取的资源。例如,假设选择了90%的检测置信阈值。因此,在此图像中,仅检测到蓝色盒子中的狗和紫色盒子中的猫。因为不幸的是,低于90%的阈值对象将不会被检测到。

掩蔽R-CNN重叠错误

如果您在Mask R-CNN项目中使用多个类,则很可能会收到与这些阈值相关的错误。我将我之前在模型训练中得到的尺寸错误添加到下面,供您查看。™

1äax�âƒGB错误1:

根据我对Stackoverlow的研究,我找到了这样一种解决方法:

ğŸ‘�âuro�ğŸ–虽然不是核心问题的补丁,但是您仍然可以通过将_idx重新分配到传入类ID的正确长度并将它们转换为numpy布尔类型来运行和训练代码。

�?ƒGB错误2/2:

另一个错误是AssertionError。在某些情况下,我们面临由Visualize函数引起的错误。最大错误来源;**无实例可显示*

🧵这种情况的解决方案非常简单。您可以通过增加图形大小来可视化遮罩,如下所示。

3äee�âƒGB错误3:

如果您的问题仍然没有得到解决,我可以推荐3个解决方案,如下所示。

在第一步中,应该降低˜‘aiax�检测阈值。

?˜‘aiax�使用的Scipy库的版本应该降级。

?˜‘aigemrcnn文件夹中的utils.py文件中的第866行应该被更改。?�’aiee�?mrcnn文件夹中的utils.py文件中的第866行应该被更改。您在代码第一行中看到的移位变量应该替换为以下行。 line 866 in the utils.py file in the mrcnn folder

ğŸ“GB这样,所有的问题都解决了。祝你健康美好的日子。

ğŸ�‰想了解更多内容,可以在gihub、youtube和twitter上关注我。GitHub YouTube Twitter

参考文献

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/10/%e6%8e%a9%e7%a0%81r-cnn%e9%87%8d%e5%8f%a0%e5%8c%85%e5%9b%b4%e7%9b%92%e9%97%ae%e9%a2%98/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息