12、YOLOv8教程--- 使用KITTI数据集为Yolo样式的车辆检测生成锚框 第一部分。

在这篇文章中,我将介绍为YOLO9000(或YOLOv2)计算锚框的步骤。YOLOv2是一个结合了分类和边界框预测的框架,我们直接预测每个单元格中的对象以及对锚框的修正。更具体地说,YOLOv2将整个图像分成了13X13的网格单元格,然后在每个位置放置了5个锚框,最后预测了这些锚框上的修正。YOLOv2进行了5次预测,对应于中心位置(x和y)、高度和宽度的修正,以及预测的边界框与实际边界框之间的交并比(IOU)。YOLOv2的一个独特特点是,所有的预测都具有小于1的幅度,因此一个类型的成本支配优化的机会不太可能发生。YOLOv2的另一个独特特点是,锚框是使用K均值聚类专门为给定数据集设计的。与其他基于锚框(或先验)的方法不同,如单发检测(SSD),YOLOv2不假设边框的纵横比或形状。因此,一般情况下,YOLOv2具有较低的定位损失,并且目标与网络预测之间具有较高的交并比(IOU)。本文的其余部分按以下方式组织:

1. 数据准备
2. 探索性数据分析
3. 使用K均值聚类生成锚框
4. 将锚框分配给实际目标
5. 数据准备

首先,我从kitti目标检测数据集下载了图像和标签。我下载了汽车左侧摄像头的检测标签和图像。下载后,我将图像和标签分别放在名为kitti_land和kitti_labels的单独文件夹中。然后,我将汽车、卡车和面包车合并成一个名为"vehicles"的组,将自行车手和行人合并成一个名为"Person"的组。此外,我计算了每个边界框的中心位置、宽度和高度,并将其归一化为图像尺寸。这使得可以根据需要调整图像大小并计算相同的边界框,而无需进行额外的计算。这

猜你喜欢

转载自blog.csdn.net/Knowledgebase/article/details/133488308