【问题标题】:YOLO If a grid cell contain a objectYOLO 如果一个网格单元包含一个对象
【发布时间】:2020-05-27 02:50:09
【问题描述】:
我在看YOLO原创论文https://arxiv.org/pdf/1506.02640.pdf。
在论文的开头。它说
如果一个对象的中心落入一个网格单元,该网格单元
负责检测该对象。
The loss function
注意损失函数只惩罚分类
如果该网格单元中存在对象,则会出错(因此前面讨论了条件类概率)。
所以,我的理解是,如果该对象的中心落入该单元格中,则该对象存在于一个单元格中。即使对象的一部分(但不是中心)包含在一个单元格中。我们仍然认为这个单元格没有对象(1_i^obj = 0)。并且目标置信度分数应该是0
我说的对吗?
【问题讨论】:
标签:
machine-learning
deep-learning
computer-vision
conv-neural-network
yolo
【解决方案1】:
我会尝试回答这个问题(如果我犯了任何错误,请纠正我)。
首先,为什么中心点负责边界框信息?
1)。 YOLO 边界框标注不同于其他方法,它使用 (x_centre, y_centre, width, height) 而不是 (x_min, y_min, x_max, y_max)。 (为什么?见下文)。
2)。一个损失项根据地面实况对中心、宽度、高度差进行惩罚,与其他项相比,该项使 中心网格 更有可能做出预测自己的最高 IOU。
鉴于在训练阶段,只有最高 IOU 预测的边界框在使用,因此中心网格几乎总是具有最高的置信度。
最后,回到你的问题,不。无中心网格的置信度分数很可能低于中心点,但如果有对象被网格覆盖,则它们不为 0。另一种解释方式是,在测试阶段,会生成大量的边界框,并使用 NMS 来挑选最佳的。