yolov5中的anchor设置以及自适应anchor的计算

一、yolov5中的初始Anchor设定

在YOLOV5算法之中,针对不同的数据集,都会预先设置固定的Anchor;

首先,在网络训练中,网络在初始锚框的基础上输出预测框,进而和Ground Truth进行比对,计算两者差距,再反向更新,迭代网络参数;

可以看出Anchor也是比较重要的一部分,比如Yolov5在Coco数据集上初始设定的锚框:
yolov5中的anchor设置以及自适应anchor的计算
在:

第1行是在最小的特征图上的锚框;

第2行是在中间的特征图上的锚框;

第3行是在最大的特征图上的锚框;

二、自适应计算Anchor的流程:

  1. 载入数据集,得到数据集中所有数据的wh;
  2. 将每张图片中wh的最大值等比例缩放到指定大小img_size,较小边也相应缩放;
  3. 将bboxes从相对坐标改成绝对坐标(乘以缩放后的wh);
  4. 筛选bboxes,保留wh都大于等于两个像素的bboxes;
  5. 使用k-means聚类得到n个anchors(掉k-means包 涉及一个白化操作);
  6. 使用遗传算法随机对anchors的wh进行变异,如果变异后效果变得更好(使用anchor_fitness方法计算得到的fitness(适应度)进行评估)就将变异后的结果赋值给anchors,如果变异后效果变差就跳过,默认变异1000次 ;

参考

  1. https://zhuanlan.zhihu.com/p/478630138

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年3月15日 下午4:41
下一篇 2022年3月15日 下午5:15

相关推荐