由于是从Word文档直接复制过来,其中格式如果乱码或者不通顺,请评论区告知我
One-stage目标检测算法流程
参考链接:https://zhuanlan.zhihu.com/p/72409190
一、One-stage目标检测算法流程
输入: VOC数据集的一张图片(20个类别),输入尺寸设置为416×416,(SSD是300×300)
输出:13×13×125特征图(降采样了32倍,416/32=13)
【Attention】一般来说,如果数据集有c类,而模型有k个检测器(k是特征图上每个位置anchor的数量),那么网格需要有k×(4+1+c)个输出通道。
最后得到的13×13特征图可以看成是13×13个单元格,每个单元格都有5个独立的物体检测器(anchor的k=5),每个检测器都预测一个边界框。
检测器的位置是固定的,它只能检测中心点落在该单元内的物体(这一限制是为了保证检测器不发生混乱,所以加以约束)。每个检测器产生25个值:
20个值表征类别概率(使用softmax可以获取该检测器中目标所属的类别,也可以使用sigmoid进行多标签分类)
1个值表示置信度(表明该检测器包含目标的可能性,介于0-1之间)
4个值表示边界框坐标
由于每个单元格都有5个检测器,因此共有5×25=125个输出通道。
该模型总是预测固定数量的边界框:13×13个单元乘以5个检测器给出845个预测结果。显然,绝大多数的预测框都是无用信息。 可以通过置信度来忽略掉一些预测框,再使用NMS可以去除重叠框。
为什么要对检测器实施约束?为了让模型更容易学习,将每个检测器分配到图像中的固定位置去学习,每个检测器只负责学习附近的物体,而不会预测较远的问题,是onet-stage目标检测算法的技巧。(如果没有这样的约束,所有检测器都会在整张图中去预测,很容易出现混乱)
二、anchor是什么?有什么作用?
上面的分析可知,网格的划分对检测框的位置进行了约束,那么,是否可以对检测框的形状也进行约束呢?答案是肯定的。这就是anchor的任务。(网格的划分对检测框的位置进行约束,先验框anchor对检测框的形状进行