【问题标题】:YOLO anchor boxYOLO 锚箱
【发布时间】:2019-11-14 01:52:04
【问题描述】:

当我阅读 YOLO 论文时,它说它使用 K-means 制作锚框。 但是,当我看到实现此功能的代码时,它似乎将锚大小固定如下。 我希望你描述它的确切含义或指出我对此的误解。

谢谢,问候

[yolo] 
mask = 6,7,8
***anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326***

【问题讨论】:

  • 我们需要更多的上下文。
  • Ctrl-F-ing for "means" in my best guess for the paper 你正在谈论的论文没有提到 K-means。
  • 另外,这不是 Python。
  • 对不起,我没有上下文的不礼貌的问题。我引用的论文是 YOLO9000: Better, Faster, Stronger from below link。 arxiv.org/pdf/1612.08242.pdf 从第 2 页开始,有“维度集群”部分。它说 YOLO 9000 用 K 方式制作锚盒(不是手工挑选的)。但是从实现这一点的源代码来看,它从下面的配置文件中制作了带有预先固定编号的锚框。请参考下文。 (github.com/pjreddie/darknet/blob/master/cfg/yolo9000.cfg) 所以,我很好奇的是:为什么它应该遵循没有 K-means 的锚框信息。再次感谢:)
  • YOLO9000 配置文件与您在帖子中引用的完全不同。 YOLO9000 和旧配置文件之间的差异看起来与切换到学习锚先验一致。也许您期望模型在运行时实际执行 K-means?

标签: python anchor yolo


【解决方案1】:

Anchor 就像一个单元格的默认边界框。它由每个锚点的宽度和高度组成。

anchors = anchor1_width, anchor1_height, anchor2_width, anchor2_height, ..., anchorN_width, anchorN_height

如果您正在训练 yolov3,您可以使用此代码生成自己的锚点 https://github.com/pjreddie/darknet/issues/597#issuecomment-377370922

对于 yolov2 https://github.com/AlexeyAB/darknet/blob/master/scripts/gen_anchors.py

在您生成自己的锚点后,将 .cfg 文件中的默认锚点替换为您的锚点

【讨论】:

    【解决方案2】:

    正如其他答案所述,cfg 文件中的锚框值只是初始值,稍后它将调整为最近的预测对象。您可以使用 K-means 生成自己的锚框,如其他答案中所述。

    重要的是,初始值将被调整大小。请参阅 AlexeyAB 的解释。 https://github.com/pjreddie/darknet/issues/568

    锚点是初始大小(宽度、高度),其中一些(最接近的 到对象大小)将被调整为对象大小 - 使用一些 神经网络的输出(最终特征图):

    darknet/src/yolo_layer.c
    
    Lines 88 to 89 in 6f6e475
    
     b.w = exp(x[index + 2*stride]) * biases[2*n]   / w;   
     b.h = exp(x[index + 3*stride]) * biases[2*n+1] / h;  
    

    x[...] - 神经网络的输出

    biases[...] - 锚点

    b.w 和 b.h 结果将显示的有界框的宽度和高度 在结果图像上

    因此,网络不应该预测对象的最终大小,而是 应该只将最近锚点的大小调整为 对象。

    在 Yolo v3 中,锚点(宽度、高度)- 是图像上对象的大小 调整为网络大小(cfg 文件中的 width= 和 height=)。

    在 Yolo v2 中的锚点(宽度,高度) - 是相对于对象的大小 最终的特征图(默认比 Yolo v3 小 32 倍 cfg 文件)。

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2022-08-20
      • 2018-10-31
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 2020-11-24
      相关资源
      最近更新 更多