使用 K 均值聚类生成锚框,YOLO
Generating anchor boxes using K-means clustering , YOLO
我想了解 YOLO 的工作原理以及它如何检测图像中的对象。我的问题是,k-means 聚类在检测对象周围的边界框方面起什么作用?谢谢。
K-均值聚类算法是数据科学中非常著名的算法。该算法旨在将 n
观察划分为 k
个集群。主要包括:
- 初始化:
K
表示(即质心)是随机生成的。
分配:通过将每个观测值与最近的质心相关联来形成聚类。
更新集群:新创建的集群的质心变得平均。
Assignment 和Update 重复发生直到收敛。
最终结果是点和各自质心之间的误差平方和最小。
编辑:
Why use K means
- K-means 与其他无监督学习算法相比,计算速度更快、效率更高。不要忘记时间复杂度是线性的。
- 它产生比层次聚类更高的聚类。更多的集群有助于获得更准确的最终结果。
- 当质心为 re-computed.
时,实例可以更改集群(移动到另一个集群)
- 即使您的某些假设被打破,也能正常工作。
what it really does in determining anchor box
- 它将为每个表示形状、位置、大小等的预测变量创建数千个锚框(即 k-means 中的簇)
- 对于每个锚框,计算哪个对象的边界框具有最高的重叠除以 non-overlap。这称为 Intersection Over Union 或 IOU。
- 如果最高IOU大于50%(可以自定义),告诉anchor box它应该检测它拥有最高IOU的对象。
- 否则,如果 IOU 大于 40%,则告诉神经网络真实检测是模糊的,不要从该示例中学习。
- 如果最高IOU小于40%,那么应该预测没有对象
谢谢!
通常,对象的边界框由以下形式的元组给出
(x0,y0,x1,y1) 其中x0,y0为左下角坐标,x1,y1为右上角坐标。
需要从这些坐标中提取宽度和高度,并根据图像宽度和高度对数据进行归一化。
K 均值指标
- 欧氏距离
- IoU(杰卡德指数)
IoU 结果比以前更好
杰卡德指数=(选中框与簇头框的交集)/(选中框与簇头框的并集)
在初始化时,我们可以选择 k 个随机框作为我们的簇头。根据IoU值>阈值将anchor boxes分配给各个簇,并计算簇的平均IoU。
这个过程可以重复直到收敛。
我想了解 YOLO 的工作原理以及它如何检测图像中的对象。我的问题是,k-means 聚类在检测对象周围的边界框方面起什么作用?谢谢。
K-均值聚类算法是数据科学中非常著名的算法。该算法旨在将 n
观察划分为 k
个集群。主要包括:
- 初始化:
K
表示(即质心)是随机生成的。 分配:通过将每个观测值与最近的质心相关联来形成聚类。
更新集群:新创建的集群的质心变得平均。
Assignment 和Update 重复发生直到收敛。 最终结果是点和各自质心之间的误差平方和最小。
编辑:
Why use K means
- K-means 与其他无监督学习算法相比,计算速度更快、效率更高。不要忘记时间复杂度是线性的。
- 它产生比层次聚类更高的聚类。更多的集群有助于获得更准确的最终结果。
- 当质心为 re-computed. 时,实例可以更改集群(移动到另一个集群)
- 即使您的某些假设被打破,也能正常工作。
what it really does in determining anchor box
- 它将为每个表示形状、位置、大小等的预测变量创建数千个锚框(即 k-means 中的簇)
- 对于每个锚框,计算哪个对象的边界框具有最高的重叠除以 non-overlap。这称为 Intersection Over Union 或 IOU。
- 如果最高IOU大于50%(可以自定义),告诉anchor box它应该检测它拥有最高IOU的对象。
- 否则,如果 IOU 大于 40%,则告诉神经网络真实检测是模糊的,不要从该示例中学习。
- 如果最高IOU小于40%,那么应该预测没有对象
谢谢!
通常,对象的边界框由以下形式的元组给出 (x0,y0,x1,y1) 其中x0,y0为左下角坐标,x1,y1为右上角坐标。
需要从这些坐标中提取宽度和高度,并根据图像宽度和高度对数据进行归一化。
K 均值指标
- 欧氏距离
- IoU(杰卡德指数)
IoU 结果比以前更好
杰卡德指数=(选中框与簇头框的交集)/(选中框与簇头框的并集)
在初始化时,我们可以选择 k 个随机框作为我们的簇头。根据IoU值>阈值将anchor boxes分配给各个簇,并计算簇的平均IoU。
这个过程可以重复直到收敛。