主页 > 电脑硬件  > 

Anchor-Based与Anchor-Free

Anchor-Based与Anchor-Free

学习视频:番外 | anchor-based 与 anchor-free 、anchor 与 anchor-point、grid cell_哔哩哔哩_bilibili

这个b站博主讲的非常好,她的其他讲解视频也很牛,非常推荐大家看一下


目录

1. grid cell

2. Anchor-Based

2.1 anchor宽高

2.2 网络输出形式

2.3 预测框坐标计算

3. Anchor-Free

3.1 anchor point

3.2 网络输出形式

3.3 预测框坐标计算


1. grid cell

grid cell

如上图,如果把某个 grid cell 按照对应的缩放倍数给映射到原图像中,映射到原图上的网格大小就是这个像素对应的感受野

2. Anchor-Based

一般我们所说的 anchor 指的是只有宽高信息的 anchor ,因为 anchor 的位置是约定俗成的指每个 feature map 像素的位置

2.1 anchor宽高 一般根据经验,或者通过对数据集中的所有真实框的宽高进行聚类确定 anchors 的宽高,它是一个先验信息针对每个 feature map (不同尺度),一般会设计 3 个不同尺寸(宽高)的 anchor

比如, YOLOv5 网络输出 3 个不同尺寸的 feature map ,每个 feature map 对应 3 个尺寸的anchor 

举例:

YOLOv5网络输出p和anchors

 feature map 中的每一个像素都会生成该尺度下的 3 个不同尺寸的 anchor

所以, anchor 的数量一共有:(80 x 80 + 40 x 40 + 20 x 20)x 3 = 25200 个

相应的,预测框的数量就是 25200 个

2.2 网络输出形式

网络输出的定位部分/回归部分形式为:

举例:

对于 YOLOv5 的目标检测任务来说,它的分类检测头和定位检测头用的是同一个,是耦合在一起的,所以它的分类部分预测数据和定位部分的预测数据是在一起的,都是包含在下图例子中的 85 里面

例子

2.3 预测框坐标计算

预测框坐标计算方法如下图所示

预测框坐标计算

YOLOv3 、 YOLOv5 都是 anchor-based 

(1)预测框的中心点坐标都是基于 feature map 中像素左上角点 cx,cy 计算得到

(2)预测框的宽高都是基于 anchor 的宽高计算得到,这也是 Anchor-Based 名称的由来,即预测框的宽和高是 based 在 anchor 宽和高上的

3. Anchor-Free

 Anchor-Free 即移除了 anchor ,所以不再需要提前设计 anchor 的宽和高. YOLOv8 就是基于 Anchor-Free

3.1 anchor point

 anchor point:是 feature map 中每个像素点的中心坐标(亚像素坐标)

下图是以 YOLOv8 举例,其网络同样是输出三个 feature map

每个 anchor point 对应一个预测框,所以 YOLOv8 预测框数量 = anchor point 数量 = 80 x 80 + 40 x 40 + 20 x 20 = 8400,相较于 YOLOv5 ,预测框数量少了 2/3 

3.2 网络输出形式

网络输出的定位部分/回归部分形式为:(l,t,r,b)

以 YOLOv8 举例:

3.3 预测框坐标计算

(l,t,r,b)的含义

预测出的 l、t、r、b 数值是相对 feature map 尺寸的,要映射回原图像尺寸,还要乘以 s (s为 feature map 相对于原图像的缩放比例)

所以,预测出的 bbox 在原图上的坐标分别为:

预测框坐标计算

上图中,是预测框在 feature map 尺度下的坐标,是在原图像尺度下的坐标

标签:

Anchor-Based与Anchor-Free由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Anchor-Based与Anchor-Free