在这篇文章中,我将介绍为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和kitt