Faster R-CNN 中 anchor 的理解
1 什么是 anchor
当图像经过 CNN 网络(如 VGG16)提取出特征即 feature map 之后,针对 feature map 进行 Region Proposal 操作。首先要明白的是 anchor 是相对于 feature map 在原图上的概念。提取出来的特征相对于原图像存在视野域这个概念,如果视野比例为 8,即 feature map 上一个点,对应在原图是一个 8 * 8 的正方形。那么,该正方形的中心就被称为 anchor。
2 anchor boxes
在确定 anchor 后,针对改 anchor 要选定 9 个框,首先有 anchor ratio 这个概念。即 1:1, 1:2, 2:1 。也就是说 9 个 anchor boxes 的边长比例满足 ratio,确切的说,anchor boxes 存在 3 组,每组 3 个,每个 boxes 的边长都是 1:1,1:2,2:1 。 还有 scales 这个概念, 即 8, 16, 32 。anchor boxes 中,1:1 这组的边长等于视野域比例*scale。
如果视野域比例为16,那么边长分别为128,256,512。其余比例为 2 的边,按照 128/256/512 的 1.5 倍进行扩大。
如 512*1.5 = 768,768 /2 = 384,256*1.5 = 384,384/2 = 192,128*1.5 = 192, 192 /2= 96
3 后续操作
假设 feature map 大小为 M*N,那么 anchor boxes 数量为 9MN* 。对于这些 boxes 在进行前景背景分类以及 ground truth 回归等操作,最终选定目标物体。