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/