【问题标题】:How Yolo calculate P(Object) in the YOLO 9000Yolo 如何在 YOLO 9000 中计算 P(Object)
【发布时间】:2017-04-11 09:48:41
【问题描述】:

目前我正在测试用于对象检测的 yolo 9000 模型,在论文中我了解到图像被分割成 13X13 的盒子,并且在每个盒子中我们计算 P(Object),但是我们如何计算呢?模型如何知道这个盒子里是否有物体,我需要帮助来理解这一点

我正在使用张量流

谢谢,

【问题讨论】:

  • 我也在找这个。没有太多的解释。他们还计算p(类/对象)。 quora sessionquora.com/…有很好的解释。

标签: python tensorflow object-detection yolo


【解决方案1】:

他们训练的置信度分数 = P(object) * IOU。对于地面实况框,它们取 P(object)=1,而对于其余网格像素,地面实况 P(object) 为零。您正在训练您的网络以告诉您该网格位置是否有某个对象,即如果不是对象则输出 0,如果部分对象则输出 IOU,如果对象存在则输出 1。因此,在测试时,您的模型已经能够判断该位置是否有物体。

【讨论】:

    【解决方案2】:

    正如他们在paper(第 2 页第 2 节)中提到的那样,信心分数是 = P(object) * IOU。但是在那段中,他们提到如果有一个对象,那么信心分数将是 IOU,否则为零。所以这只是一个指导方针。

    【讨论】:

    • 我明白这一点,但我不知道如何仅使用图像中的一个小区域,以及提取特征的小区域,细胞可以对该区域进行分类?
    • 我把它当作滑动窗口操作。在这里,您将原始图像分成 49 个正方形。基本事实是从原始图像中获得的。但是要预测的特征将由最后一个 7*7 的 conv 层获得
    • 但是这个是训练用的,那么测试步骤呢,如果我们给一个未知的图像,我们把它传给网络,下层会提取特征,然后把图像分成7X7 ,但是这里我们没有真正的真相,所以只有很小的特征,他怎么能概括一个比细胞大的物体,请你给我更多的细节吗?
    【解决方案3】:

    确实有 13x13 个网格单元,但 P(object) 是针对每个 5x13x13 锚框计算的。来自 YOLO9000 论文:

    当我们移动到锚框时,我们还将类别预测机制与空间位置解耦,而是为每个锚框预测类别和对象。

    我还不能发表评论,因为我是新来的,但如果您想知道测试时间,它有点像 RPN。在每个网格单元,5个锚框每个预测一个边界框,该边界框可以比网格单元大,然后使用非极大值抑制来挑选最前面的几个框进行分类。

    P(object) 只是一个概率,网络不“知道”那里是否真的有一个对象。

    如果您有兴趣,还可以查看 region_layer.c 中 forward_region_layer 方法的源代码并跟踪损失的计算方式。

    【讨论】:

      【解决方案4】:

      在测试期间,YOLO 网络从默认设置值获取 IOU。那是 0.5。

      【讨论】:

        猜你喜欢
        • 2017-09-26
        • 2022-12-04
        • 2020-11-24
        • 2018-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-23
        相关资源
        最近更新 更多