YOLO 和滑动 window 算法的输出向量

Output vector for YOLO and sliding window algorithms

据我所知,在 YOLO 算法中,我们将输入图像划分为一个网格,例如 19x19,并且我们必须为每个单元格提供输出向量(pc、bx、by、bh bw、c)。然后我们可以训练我们的网络。我的问题是:为什么我们给网络 XML 文件只有一个边界框、标签等(如果图像上只有一个对象)而不是给 19*19=361 个?网络的实现是否会自动划分图像并为每个单元格创建矢量? (它是怎么做到的?)

同样的问题是滑动window算法。为什么我们只给网络一个带有标签和边界框的向量,而不是为每个滑动提供向量 window.

假设 YOLO 的输出由 19 x 19 个网格单元组成,每个网格单元都有一定的深度。每个网格单元可以检测一些边界框,其最大数量取决于模型的配置。例如,如果一个网格单元最多可以检测到 5 个边界框,则该模型总共可以检测到 19x19x5 = 1805 个边界框。

由于这个数字太大,我们训练模型,使得只有包含边界框中心的网格单元 预测一个具有高置信度的边界框。当我们训练模型时,我们首先找出真正的边界框的中心落在哪里,并训练模型使得包含中心的网格单元将以高概率预测一个与真实边界框相似的边界框,并且使得其他网格单元将以尽可能低的概率预测边界框(当概率低于阈值时,该预测将被丢弃)。

下图显示了当输出具有 13 x 13 网格单元时包含框中心的网格单元。

当训练图像中有多个物体时也是如此。如果训练图像中有两个对象,我们更新包含真实两个框中心的两个网格单元,以便它们以高概率生成边界框。