【问题标题】:How to label training data for YOLO如何为 YOLO 标记训练数据
【发布时间】:2018-12-01 13:08:31
【问题描述】:

我有一个关于如何为 YOLO 算法标记训练数据的问题。

假设每个标签Y,我们需要指定[Pc, bx, by, bh, bw],其中Pc是表示存在的指标(1=present, 0=not present),(bx, by)是感兴趣对象中心的相对位置,(bh, bw) 是包含对象的边界框的相对尺寸。

以下图为例,包含黑色汽车的单元格 (1,2) 应具有标签 Y = [1, 0.4, 0.3, 0.9, 0.5]。对于任何没有汽车的单元,它们应该有一个标签 [0, ?, ?, ?, ?] []1

但是如果我们有一个像这样更精细的网格,其中每个单元格的维度都小于地面实况边界框。

假设汽车的ground truth边界框是红色框,ground truth中心点是红点,位于单元格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 中,没有感兴趣对象的中心点)

【问题讨论】:

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


    【解决方案1】:

    实际上它包含在单元格 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 的网格计算如下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-25
      • 2020-02-23
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 2020-09-29
      相关资源
      最近更新 更多