YOLO 训练和预测如何对落入多个网格的对象起作用?

数据挖掘 图像分类 物体检测 约洛
2022-02-23 17:40:37

到目前为止,我对YOLO的了解,它期望训练图像应该被划分为固定网格,其中每个网格都有标签,如P(对象是否存在)、对象边界框、对象类同样,它将为每个图像预测返回相同的输出。

如果它是正确的,我无法将这些图像映射为训练和预测的情况,其中某些对象是多个网格的一部分。在训练过程中,我们只提供与特定(单个)网格对应的边界框信息,它是如何结合多个网格的边界框信息的?

注意:非最大抑制再次令人困惑,如果它与之相关。

1个回答

似乎在参考了许多文件之后,我找到了我的问题的答案。

首先,可能纠正我的理解。我认为对于标签,边界框大小(宽度,高度)将始终在特定网格尺寸的范围内,即在 0 和 1 之间。这是不正确的,这至少是我唯一的混淆来源。

我相信,如果我能够回答有关标签过程的问题,我认为它将消除以问题形式提出的大部分疑问。

步骤是标记:

  1. 识别图像相对于图像边界的中心点,参考红点。

在此处输入图像描述

  1. 在图像顶部创建一个网格。

在此处输入图像描述

  1. 识别中心点所在的网格。在这种情况下,它的第 8 个网格(编号从 1 开始)。
  2. 仅标记该网格有一个对象(而不是其他对象),并且标签应该是这样的:

在此处输入图像描述 g8具有对象和边界框信息。bx 和 by 对应于网格尺寸,而 width 和 height 对应于其大小,大于 1。

在 YOLO 模型训练过程中,它学习到了这种智能,可以开始预测高度和宽度,可以大于 1。如果汽车(或任何物体)掉入多个网格并且模型训练完美,它应该预测高度和宽度。相应的宽度即> 1。