我已经读过了几个YOLO教程,但是我发现,如果每个单元格的锚定框是预先确定的,那么我会发现这是很难理解的。在我读过的指南中,图像被划分为13x13单元,并表示每个单元格预测5锚盒(比它大,好吧,这是我的第一个问题,因为它还说在预测盒之前,它将首先检测小单元格中存在的对象)。
小细胞如何预测一个比它更大的物体的锚盒。此外,据说每个单元在预测其锚盒之前进行分类,如果对象中只有一小部分在单元内,那么小单元如何在不查询相邻单元的情况下对其中的正确对象进行分类?
E.g.说,13细胞中的一个只包含穿着T恤的男人的白色口袋部分,如何才能正确地识别出一个人在没有与其相邻细胞相连的情况下存在?对于正常的CNN,当试图定位单个物体时,我知道包围盒的预测与整个图像有关,所以至少我可以说,网络在决定盒子应该在哪里之前,已经知道图像上到处都在发生着什么。
PS:,我目前认为YOLO是如何工作的,基本上每个单元格都在两端分配一个带有分类器的预先确定的锚框,然后选择每个类的得分最高的框,但我肯定它不会在某个地方加起来。
更新:在这个问题上犯了一个错误,它应该是关于如何确定常规的边界框,而不是锚/先前的框。因此,我将
@craq的答案标记为正确,因为根据YOLO v2的论文,锚盒就是这样决定的。
发布于 2019-08-15 22:04:06
我想这里有两个问题。首先,标题中的那个,问锚来自哪里。其次,锚是如何分配给对象的。我会试着回答这两个问题。
拥有表示数据集的锚点是很有用的,因为YOLO学习如何对锚框进行小的调整,以便为对象创建一个精确的边界框。与大型调整相比,YOLO可以更好/更容易地学习小的调整。
在我抓住锚之前,有几点我需要理解:
以下几页帮助我理解了YOLO的锚:
发布于 2022-06-16 12:44:28
我认为你关于网络预测数量的声明可能有误导性。假设一个13×13网格和5个锚盒,据我所知,网络的输出具有以下形状:13x13x5x (2+2+nbOfClasses)
如果您想了解更多关于锚定优先级的信息,可以查看arxiv:https://arxiv.org/pdf/1612.08242.pdf中的原始论文。
https://stackoverflow.com/questions/52710248
复制相似问题