边界框在物体检测中的作用是什么?

人工智能 机器学习 卷积神经网络 物体检测 约洛 边界框
2021-10-22 04:21:07

我对计算机视觉领域很陌生,想知道在对象检测中使用边界框的目的是什么。

显然,它显示了检测到的对象在哪里,并且使用分类器只能对每个图像分类一个对象,但我的问题是

  1. 如果我不需要知道一个对象(或对象在哪里)并且只对它们的存在以及有多少感兴趣,是否可以摆脱边界框?

  2. 如果不是,边界框如何帮助检测对象?据我所知,如果特征图中有东西,网络(如果使用神经网络架构)会预测边界框的坐标。这是否意味着探测器已经知道物体在哪里(至少是短暂的)?那么,从问题 1 继续,如果我对确切位置不感兴趣,那么对边界框的训练是否无关紧要?

  3. 最后,在像 YOLO 这样的架构中,它们似乎可以预测每个网格上每个类的概率(例如,对于 YOLO v1 是 7 x 7)。除了显示对象的确切位置之外,在此架构中设置边界框的目的是什么?显然,这个类已经被预测了,所以我猜它无助于更好地分类。

2个回答

边界框是叠加在图像上的矩形,特定对象的所有重要特征都应位于其中。它的目的是减少对这些对象特征的搜索范围,从而节省计算资源:内存、处理器、内核、处理时间、其他一些资源或它们的组合的分配。例如,当使用卷积核时,边界框可以显着限制核相对于输入帧的行进范围。

当一个物体位于场景的最前面并且该物体的表面相对于相机面向前方时,边缘检测直接导致该表面的轮廓,这导致光学焦平面中的物体范围。当物体表面的边缘被部分遮蔽时,对物体建模、景深、立体或自旋和轨迹外推的潜在视觉识别价值增加以弥补模糊性。

分类器每张图像只能分类一个对象

对象的集合是一个对象,集合中的对象或关于它们的统计数据可以在数学上表征为集合对象的属性。处理这种情况的分类器可以产生该集合对象的多维分类,其维度可以对应于集合中的对象。由于这种情况,该陈述是错误的。

1)如果我不需要知道一个对象(或对象)的“位置”并且只对它们的存在以及有多少感兴趣,是否可以摆脱边界框?

如果您有足够的资源或耐心来处理不包含对象的框架部分,可以。

问题 (2) 和 (3) 已经在上面讨论过,但让我们在这种情况下来看看它们。

2.a) 如果不是,边界框如何帮助检测对象?

它通过实现其目的来帮助缩小搜索范围。如果通过节俭的方法可以创建任何类型的边界形状,则可以使用缩小焦点来减少不太节俭方法的计算负担,方法是消除不必要的像素,每像素消耗更多资源方法。这些不太简单的方法可能是识别表面、运动和模糊边缘和反射所必需的,以便可以可靠地获得对象轨迹的检测。

这些用于找到焦点区域的节俭机制以及这些用于使用该信息然后在更高抽象级别确定活动的不太节俭的机制是这种或那种类型的人工网络,或者使用这种类型的或不相关的算法。首先了解降低 AI 计算成本的必要性,这是一个比井字棋更复杂的概念,然后考虑边界框如何帮助 AI 工程师和工程项目的利益相关者采购可行的技术在市场上。

2.b)据我所知,如果特征图中有东西,网络(如果使用神经网络架构)会预测边界框的坐标。这是否意味着探测器已经知道物体在哪里(至少是短暂的)?

2.c) 那么从问题 1 开始,如果我对确切位置不感兴趣,那么对边界框的训练是否无关紧要?

认知是人工智能试图模拟的东西,许多人希望像电影中那样有机器人可以提供帮助并成为无价的朋友,就像诺兰兄弟 2014 年电影《星际穿越》中的 TARS。我们不在那里。网络一无所知。它可以通过一系列衰减矩阵和激活函数来训练输入信号之间的复杂连接,以产生在统计上与其损失函数、价值函数或其他一些标准一致的输出信号。

一个人工网络的内层,如果不这样做的话,只有在收敛速度作为其损失或价值函数的一个因素存在的情况下,才可能产生与边界区域等效的东西。否则,雅可比领先收敛不会减少自己的完成时间。因此,该过程可能完成,但不如认知介入并决定首先找到边界区域然后用于减少机械(算术)操作的总负担以找到所需的输出信号作为函数输入信号。

3) 最后,在像 YOLO 这样的架构中,它们似乎可以预测每个网格上每个类的概率(例如,对于 YOLO v1 是 7 x 7)。除了显示对象的确切位置之外,在此架构中设置边界框的目的是什么?显然,该类已经被预测,所以我猜测它无助于更好地分类。

阅读A Real-Time Chinese Traffic Sign Detection Algorithm Based on Modified YOLOv2 , J Zhang, M Huang, X Jin, X Li, 2017 中的部分,可能有助于进一步理解这些原理及其在 AI 中几乎普遍的作用,尤其是文本围绕他们的声明,“YOLO v2 的网络架构 YOLO 采用单个神经网络在一次推理中直接从完整图像预测边界框和类别概率。它将输入图像划分为 S × S 网格。” 通过这种方式,您可以看到这些原则在实现特定研究目标中的应用。

其他此类应用只需阅读学术搜索右侧的文章全文即可找到yolo 算法并使用 ctrl-f 查找单词绑定。

原则上,您可以训练模型以输出粗略对象位置的 sigmoid 地图(0 -> 无对象,1 -> 对象中心位于此处)。该地图可以受到非最大抑制,并且可以端到端地训练这种模型。这是可能的,如果这就是你要问的。