首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YOLO的锚盒:它们是如何决定的

YOLO的锚盒:它们是如何决定的
EN

Stack Overflow用户
提问于 2018-10-08 21:18:50
回答 2查看 14.5K关注 0票数 16

我已经读过了几个YOLO教程,但是我发现,如果每个单元格的锚定框是预先确定的,那么我会发现这是很难理解的。在我读过的指南中,图像被划分为13x13单元,并表示每个单元格预测5锚盒(比它大,好吧,这是我的第一个问题,因为它还说在预测盒之前,它将首先检测小单元格中存在的对象)。

小细胞如何预测一个比它更大的物体的锚盒。此外,据说每个单元在预测其锚盒之前进行分类,如果对象中只有一小部分在单元内,那么小单元如何在不查询相邻单元的情况下对其中的正确对象进行分类?

E.g.说,13细胞中的一个只包含穿着T恤的男人的白色口袋部分,如何才能正确地识别出一个人在没有与其相邻细胞相连的情况下存在?对于正常的CNN,当试图定位单个物体时,我知道包围盒的预测与整个图像有关,所以至少我可以说,网络在决定盒子应该在哪里之前,已经知道图像上到处都在发生着什么。

PS:,我目前认为YOLO是如何工作的,基本上每个单元格都在两端分配一个带有分类器的预先确定的锚框,然后选择每个类的得分最高的框,但我肯定它不会在某个地方加起来。

更新:在这个问题上犯了一个错误,它应该是关于如何确定常规的边界框,而不是锚/先前的框。因此,我将@craq的答案标记为正确,因为根据YOLO v2的论文,锚盒就是这样决定的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-15 22:04:06

我想这里有两个问题。首先,标题中的那个,问锚来自哪里。其次,锚是如何分配给对象的。我会试着回答这两个问题。

  1. 锚由K-均值程序确定,查看数据集中的所有边框。如果你在看车辆,你从侧面看到的车辆的纵横比约为2:1 (宽度=2*高度)。从前面看的物体大致是正方形的,1:1。如果你的数据集包括人,那么长宽比可能是1:3。前景对象会很大,背景对象会很小。K-表示例程将找出表示数据集的锚的选择。k=5 for yolov3,但每个YOLO版本有不同数量的锚。

拥有表示数据集的锚点是很有用的,因为YOLO学习如何对锚框进行小的调整,以便为对象创建一个精确的边界框。与大型调整相比,YOLO可以更好/更容易地学习小的调整。

  1. 作业问题更棘手。据我所知,培训过程的一部分是让YOLO学习用于哪个对象的锚。因此,“分配”并不像匈牙利算法那样具有确定性。因此,通常情况下,多个锚将检测到每个对象,然后需要进行非最大抑制,以选择“最佳”对象(即最高置信度)。

在我抓住锚之前,有几点我需要理解:

  • 锚可以是任意大小的,因此它们可以扩展到13x13网格单元的边界之外。它们必须是,才能探测到大物体。
  • 锚只进入YOLO的最后几层。YOLO的神经网络进行13x13x5=845预测(假设13x13网格和5个锚)。这些预测被解释为用于计算边框的锚点的偏移量。(预测还包括信心/客观得分和类别标签。)
  • YOLO的损失函数将地面真理中的每一个物体与一个锚进行比较。它选择的锚(在任何偏移之前)与地面真相相比,IoU最高。然后将预测作为偏移添加到锚上。所有其他锚被指定为背景。
  • 如果已分配给对象的锚具有较高的IoU,则它们的损耗很小。没有分配给对象的锚应该通过将置信度设置为接近于零来预测背景。最后的损失函数是来自所有锚的组合。由于YOLO试图最小化它的整体损失功能,离地面真相最近的锚被训练来识别物体,而其他的锚则被训练去忽略它。

以下几页帮助我理解了YOLO的锚:

https://medium.com/@vivek.yadav/part-1-generating-anchor-boxes-for-yolo-like-network-for-vehicle-detection-using-kitti-dataset-b2fe033e5807

https://github.com/pjreddie/darknet/issues/568

票数 24
EN

Stack Overflow用户

发布于 2022-06-16 12:44:28

我认为你关于网络预测数量的声明可能有误导性。假设一个13×13网格和5个锚盒,据我所知,网络的输出具有以下形状:13x13x5x (2+2+nbOfClasses)

  • 13x13:网格
  • X 5:锚
  • X (2+2+nbOfClasses):(x,y)包围盒中心的(x,y)-coordinates (在每个单元的坐标系中),(h,w)包围盒的(h,w)-deviation (偏离先前的锚盒)和表示每个类的概率的softmax激活类向量。

如果您想了解更多关于锚定优先级的信息,可以查看arxiv:https://arxiv.org/pdf/1612.08242.pdf中的原始论文。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52710248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档