在 YOLO 中,与每个锚框相关联的值究竟代表什么?

人工智能 神经网络 卷积神经网络 计算机视觉 约洛
2021-10-17 23:40:45

我正在阅读 Andrew NG 的课程,其中谈到了 YOLO,但他没有深入讨论锚框的实现细节。

看完代码,每个anchor box都是用两个值来表示的,但是这些值到底代表什么呢?

至于对锚框的需求,我也有点困惑——据我所知,地面实况标签大约有 6 个变量:

  1. Po检查它是对象还是背景,
  2. BxBy是中心坐标
  3. BhBw是盒子的高度和宽度
  4. C是对象类,这取决于你有多少类,所以你可以有多个C

至于创建边界框,

Bh除以 2,离中心点的一半(Bx,By) 到顶部,另一半到底部。

如果我们训练我们的分类器,随着训练的进行,预测框是否会接近真实标签?所以,如果我们的ground truth标签对于某些图像具有高高度、小宽度作为框,而对于其他图像具有低高度和大宽度,我们的分类器不会自动学习区分何时使用一个而不是另一个,因为它正在接受培训?如果是这样,那么锚框有什么用?那些代表锚框的数字代表什么?

1个回答

不是专业人士,但我想我知道您的问题的一些答案。

如果我们训练我们的分类器,随着训练的进行,预测框是否会接近真实标签?

我认为这就是 YOLO v1 所做的。根据 Andrew NG 的视频,引入了边界框来解决同一网格单元内的多个对象。根据这篇文章,锚框分配确保锚框预测以自己的网格中心为中心的对象的地面实况,而不是远处的网格单元(如 YOLO 可能)

那些代表锚框的数字代表什么?

它们只是宽度和高度(形状)。在 YOLO v2 中,它用于计算 IOU,假设所有框都放置在同一位置(忽略位置),您可以认为它只是尝试匹配形状。在应用 K-means 聚类时,它使用 (1-IOU) 作为距离。