如何创建边界框以在对象检测中检测不到任何内容?

问题描述 投票:0回答:1

我正在开发一个包含猫和狗类别的计算机视觉项目,但我的数据集中也有一些既不包含猫也不包含狗的图像。我想教我的模型在这些情况下检测“无”,但我不确定如何为这些输出创建边界框。

我尝试过使用 torch.tensor([]) 的空张量,但它的大小与其他边界框不同。我还尝试使用 [None, None, None, None] 创建一个边界框,但我不确定它是否有效。

我正在考虑创建一个整个图像大小的边界框,例如 [0, 0, 224, 224],但我想知道这是否是唯一的方法。

我在网上搜索过,但没有找到明确的解决方案。有什么建议吗?

python computer-vision conv-neural-network object-detection bounding-box
1个回答
0
投票

有 2 个选项来表示在您的案例猫和狗中不具有任何感兴趣类别的图像。

  1. 您可以标记没有猫或狗的图像,没有类,即覆盖完整图像的边界框。
  2. 其他方法是不要为没有猫和狗的图像添加任何标签。这实际上是更好的方法,因为在之前的方法中,您正在训练模型来学习背景,但在现实世界场景中,背景可以是任何东西,您永远不会有详尽的背景图像列表来训练您的模型。相反,我想说,即使是 0.00001% 没有猫和狗的图像也无法用于训练。所以,什么都没有的教学模式是没有用的。在第二种方法中,您正在教授模型学习猫和狗的特征,因此如果出现其他一些特征,它将不会检测到任何内容。一般来说,对象检测模型在输出中也有一个参数,该参数将了解该特定对象是否存在。
© www.soinside.com 2019 - 2024. All rights reserved.