为啥物体检测会导致找到多个物体?

Posted

技术标签:

【中文标题】为啥物体检测会导致找到多个物体?【英文标题】:Why does object detection result in multiple found objects?为什么物体检测会导致找到多个物体? 【发布时间】:2020-10-30 06:52:37 【问题描述】:

我使用 CreateML 训练了一个对象检测器,当我在 CreateML 中测试模型时,我得到了大量已识别的对象:

注意事项:

该模型是在一个包含约 30 张图像的小型数据集上训练的,该特定标签 face-gendermale 出现了约 20 次。 每个训练图像都有 1-3 个标记的对象。 共有 5 个标签。

问题:

这是预期的还是模型有问题? 如果这是意料之中的,我应该如何评估这些多个结果,甚至计算模型中找到的对象数量?

在Apple Developer Forums 中交叉发布。男人的照片© Jason Stitt | Dreamstime.com

【问题讨论】:

@desertnaut 编辑回滚。您不能简单地删除侵犯知识产权的版权说明。 你是absolutely right,我很抱歉。我最初的想法是只删除第一个链接,在以前的版本中,它没有链接到你声称它链接的地方,而只是回到了这里;在删除版权声明时没有考​​虑太多,因为我应该这样做。 好吧,至少现在更正了链接???? 【参考方案1】:

一个典型的对象检测模型,对每张图像进行大约 1000 次预测(尽管它可能更多取决于模型架构)。大多数这些预测的置信度都非常低,因此被过滤掉了。然后剩下的通过非极大值抑制 (NMS) 发送,去除重叠过多的边界框。

在您的情况下,NMS 的阈值似乎太低(或太高),因为许多重叠框仍然存在。

但是,模型似乎还没有训练得很好,可能是因为您使用的图像很少。

【讨论】:

以上是关于为啥物体检测会导致找到多个物体?的主要内容,如果未能解决你的问题,请参考以下文章

为啥物体检测 CNN 的边界框必须与图像边界平行?

如何检测物体边框 opencv

unity为啥射线检测不到ui

unity UGUI为啥在父物体绑定拖拽脚本,子物体也能拖拽?

物体检测4:Android上应用物体监测(TF1)

unity 怎么判断碰撞的物体?