64. 锚框

1. 锚框


锚框是用来预测真实的边缘框。

2. loU-交并比

  • ioU用来计算两个框之间的相似度
    • 0表示无重叠,1表示重合
  • 这是Jacquard指数的一个特殊情况
    • 给定两个集合A和B:

杰卡德系数(Jaccard)可以衡量两组之间的相似性。 给定集合A和B,他们的杰卡德系数是他们交集的大小除以他们并集的大小:

在这里插入图片描述

事实上,我们可以将任何边界框的像素区域视为一组像素。通 过这种方式,我们可以通过其像素集的杰卡德系数来测量两个边界框的相似性。 对于两个边界框,它们的杰卡德系数通常称为交并比(intersection over union,IoU),即两个边界框相交面积与相并面积之比,如 图13.4.1所示。 交并比的取值范围在0和1之间:0表示两个边界框无重合像素,1表示两个边界框完全重合。
64. 锚框_第1张图片

3. 赋予锚框标号

  • 每个锚框是一个训练样本
  • 将被个锚框,要么标注成背景,要么关联上一个真实边缘框
  • 我们可能会生成大量的锚框
    • 这个导致大量的负类样本

4. 将真实边界框分配给锚框

64. 锚框_第2张图片
下面用一个具体的例子来说明上述算法。

如 图13.4.2(左)所示,假设矩阵中的最大值为x23 ,我们将真实边界框A2分配给锚框B3。 然后,我们丢弃矩阵第2行和第3列中的所有元素,在剩余元素(阴影区域)中找到最大的x71,然后将真实边界框A7分配给锚框B1。 接下来,如 图13.4.2(中)所示,丢弃矩阵第7行和第1列中的所有元素,在剩余元素(阴影区域)中找到最大的x54,然后将真实边界框A5分配给锚框B4。 最后,如 图13.4.2(右)所示,丢弃矩阵第5行和第4列中的所有元素,在剩余元素(阴影区域)中找到最大的x92,然后将真实边界框A9分配给锚框B2。 之后,我们只需要遍历剩余的锚框,然后根据阈值确定是否为它们分配真实边界框。

64. 锚框_第3张图片
需要注意:

  1. 锚框要么是固定生成的,要么是根据图片进来生成锚框。
  2. 赋予锚框标号是每次把图片读进来要做的一个操作。比如说,一张图片读进来,有9个锚框的话,就会生成9个训练样本(几个边缘框就是几个类别,几个锚框就是几个训练样本)。

所以一个图片读进来有可能会生成很多个训练样本,所以导致在目标检测时很有可能是一张一张读。因为内存可能放不下。

其实赋予标号的算法有很多种,这里只列出了一种。

5. 使用非极大值抑制(NMS)输出

6. 总结

  • 一类目标检测算法基于锚框来预测
  • 首先生成大量锚框,并赋予标号,每个锚框作为一个样本进行训练
  • 在预测时,使用NMS来去掉冗余的预测

你可能感兴趣的:(深度学习,算法)