Anchor

计算机视觉,尤其目标检测相关算法中,anchor 的介绍与用途。

Anchor

anchor 来源于 Faster R-CNN 中提到的在目标检测时的一种思想。在 Faster R-CNN 中,对于输入图像,先被缩放为 800×600800\times600 大小的图像 A,输入 backbone 中经 1/161/16 下采样得到 feature map,大小为 800/16×600/16=50×38\lceil 800/16 \rceil \times \lceil 600/16 \rceil = 50 \times 38,feature map 中的一个小方格就对应原图像 A 中 16×1616\times16 的像素框。

在 Faster R-CNN 中,定义了三种 scale 和 ratio:

  • scale 为缩放比,取 [8,16,32][8,16,32]
  • ratio 为宽高比,取 [1:2,1:1,2:1][1:2,1:1,2:1]

在特征图中给每个点取 anchor 时,先定义 base_anchorbase\_anchor,对应特征图的一个点,即原图像 16×1616\times16 的像素。先考虑 ratio 的影响,根据三个 ratio,保持 base_anchorbase\_anchor 的面积不变,可以得到三种变形的 base_anchorbase\_anchor,大小对应原图像为 12×2412\times2424×1224\times12(结果向上取整)。然后将 base_anchorbase\_anchor 的宽和高乘以 scale,即可得到在原图像上取的 anchor。