在做竞赛项目(目标追踪)的时候遇到对Anchor box的理解障碍。查了查文献和文章,尝试写下来,也方便自己和大家查阅。
在生成anchor box的函数中,我们能看到几个超参数:
anchor_scales窗口尺寸
anchor_scales: list = [[32], [64], [128], [256], [512]]
anchor_ratios窗口长宽比例
anchor_ratios: list = [[0.5, 1, 2]] # 也可以写成(1:2,1:1,2:1)
anchor_strides窗口对应特征的距离
strides: list = [4, 8, 16, 32, 64]
- anchor_strides定义是:相邻网格位置的基础anchor之间的中心差
- 其中每一个数字代表anchor和相对应的金字塔特征的距离。
- 有几个数字代表有几层特征金字塔
anchor_offset窗口偏移量
offset: float = 0.5
- 真实边界框相对锚框的偏移量;
- 若预测为背景(background)则offset为0,offset是需要被我们的神经网络去拟合的;
- 后续用最大交并比(IOU)来评估和选择anchor和我们标注的框的偏移最小;
- 这里的 float