anchor
网上看了很多篇文章,对新手来说都没有很好理解的,最终找到了这篇很不错:https://blog.csdn.net/qq_35054151/article/details/113011194
下面是其中以下核心的内容总结:
anchor是什么?
一组预设好不同大小、比例的框。例如三个尺度{128, 256, 512},三个比例{1:1,1:2,2:1},总共9个框
anchor会放在哪?
放在feature map每个点上。假设输入一张图片,经过各种卷积后,得到不同尺寸的特征图,4X4,2X2,1X1,那么就会在这些特征图每个点上放置这些anchor框,然后分别计算所有框里面是否有物体、类别、实际位置等。
yolov5n6 不要strip 64参数会影响什么
所以前文说的yolov5n6模型里面这些参数,P3/4/5/6实际是不同feature map尺寸的anchor
anchors:
- [19,27, 44,40, 38,94] # P3/8
- [96,68, 86,152, 180,137] # P4/16
- [140,301, 303,264, 238,542] # P5/32
- [436,615, 739,380, 925,792] # P6/64
所以,P6对应的是64featuremap,是大尺寸特征图,anchor检测的是小尺寸目标! 如果不计算这层参数,影响就是丢失小目标
其它收获
anchor的大小、比例是预先定好的,所以如果实际目标比例和anchor设定的比例很不符的话,会影响检出。
所以我们训练模型时,设定的anchor,与实际图像比例、物体比例也有关系。