目标检测中的锚框
在目标检测任务中,锚框也称为先验框。它主要是用来解决如何定义哪些位置是候选目标框的问题,总共分为三个部分:
- 设置不同尺度的先验框;
- 先验框与特征图的对应;
- 先验框类别信息的确定。
设置不同尺度的先验框
为了覆盖更多的情况,在图中的同一个位置,通常会设置几个不同尺度的先验框。通过设置不同尺度的先验框,就有更高的概率出现对于目标物体有良好匹配读的先验框。
先验框与特征图的对应
除了不同尺度,需要将先验框尽量铺洒在图片中不同位置上面。但是遍历每个像素设置先验框的话,那么需要的先验框就太多了,工作量较大且也没有必要。但是如果不去遍历原图,而是去遍历原图下采样之后得到的特征图,也就是为每个特征图设置不同尺寸的先验框(锚框),则会大大减少先验框的数量。因此,就需要将先验框的设置位置与特征图建立一一对应的关系。
先验框类别信息的确定
在设置了先验框之后,先要给出这些先验框的类别信息,才能让模型学着去预测每个先验框是否对应着一个目标物体。其中一种做法是:设定一个阈值IoU,比如令IoU=0.5,对于图片中目标的IoU<0.5的先验框,可以将其划分为背景,IoU>0.5的先验框则被归到目标先验框,通过这样的划分,即可得到供模型学习的真实标签信息。
先验框的生成
"""
设置细节介绍:
1. 离散程度 fmap_dims = 7: VGG16最后的特征图尺寸为 7*7
2. 在上面的举例中我们是假设了三种尺寸的先验框,然后遍历坐标。在先验框生成过程中,先验框的尺寸是
提前设置好