如何为YOLO标记训练数据

时间:2018-06-22 05:50:12

标签: machine-learning deep-learning computer-vision object-detection

我对如何标记YOLO算法的训练数据有疑问。

让我们说每个标签Y,我们需要指定[Pc,bx,by,bh,bw],其中Pc是存在性的指示符(1 = present,0 =不存在),(bx,by)为感兴趣对象中心的相对位置,并且(bh,bw)是包含对象的包围盒的相对尺寸。

以下面的图片为例,包含黑色汽车的单元格(1,2)的标签Y = [1、0.4、0.3、0.9、0.5]。对于任何没有汽车的牢房,它们都应标有[0,?,?,?,?] [Coursera Deep Learning Specialization Materials] 1

但是如果我们有一个更好的网格,每个网格的尺寸都小于地面真值边界框。 enter image description here

假设汽车的地面真相边界框是红色框,地面真相中心点是红点,该点位于单元格2中。

对于单元2,它将具有标签Y = [1、0.9、0.1、2、2],这是正确的吗? 对于单元1、3、4,它们将具有哪种标签?他们是否具有Pc = 1或Pc = 0?如果Pc = 1,bx和by将如何? (我记得bx by的值应该在0到1之间。但是在单元格1,3,4中,没有感兴趣对象的中心点)

1 个答案:

答案 0 :(得分:0)

实际上,它的中点包含在单元格2中。根据Y.O.L.O,单元格1,3,4将显示Pc = 0。如前所述,该算法仅对包含中点的单元进行计数,并使用bx,by,bh,bw计算边界框。假设Y = [1,0.9,0.1,2,2],我认为如果将点(0,0)作为左上角,则Y更有可能是Y = [1 ,0.2,0.57,0.21,0.15],使用19 x 19的网格如下计算。

enter image description here