One-stage目标检测算法流程

本文详细介绍了One-stage目标检测算法的流程,包括输入输出、anchor的作用、先验框选择策略、特征图转换成边界框的过程以及网络学习的细节。讨论了YOLO和SSD在先验框选择和坐标转换上的差异,以及网络训练中的损失函数设计和优化方法。
摘要由CSDN通过智能技术生成

由于是从Word文档直接复制过来,其中格式如果乱码或者不通顺,请评论区告知我

参考链接: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)个输出通道。
Alt

图一

  最后得到的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对检测框的形状进行

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值