YOLO系列简述主干思想步骤

废话不多说,本篇博客就是为什么总结一下yolo系列的主体思想,方便回头查看。有任何问题欢迎交流

YOLO v1

一、主体思想
1. 将输入图片划分为S×S的网格。如果一个目标的中心落入一个网格单元中,则该网格单元负责检测该目标。

2. 每个网格单元预测B个bounding boxes和这些bboxes的置信度分数(confidence scores)。置信度分数反映了该模型对box包围目标的信心,以及它预测box的准确程度。
  置信度的定义Pr(object)*IOU(truth,pred)公式解释:如果单元格中存在目标,Pr(object)=1否则等于0;IOU(truth,pred)即为真实框和预测框的重叠度。这样置信度的定义就很容易理解了。

3.对于每个bboxes都有5个预测值:x, y, w, h ,confidence。其中**(x, y)坐标表示box相对自己所在网格单元边界的中心点坐标**。w, h则是相对于整张图预测的宽度和高度(原文这样表述,其含义我推测是w,h最后要相对整张图的宽和高做归一化处理)。confidence就是2中介绍的这个式子。

4.目标检测除了检测框还要分类目标啊,所以每个网格单元还预测C个类别的条件概率Pr(Classi|Object)。当然概率预测的前提是该网格单元包含被检测目标,否则不需要预测。对于每个单元格我们只预测一组类别概率,而不管该单元格预测的bboxes的数量B是多少。

5.**Pr(Classi|Object)*Pr(Object)IOU(truth,pred) = Pr(Classi)IOU(truth,pred) 这个式子提供了对于每个框的特定类别置信度分数。这个分数反映了该类Classi出现在该框中的概率以及该框拟合目标的程度。

如果在Pascal VOC上评估YOLO,因为其有20个标注类,所以C=20,假设我们 S=7, B=2,则我们最终预测了一个7730大小的张量。
因为YOLO将检测建模为回归问题,它将图像划分成S*S的网格,并且每个网格预测B个bboxes(每个bboxes的5个预测值:x, y, w, h ,confidence),以及C个类的概率。所以这些预测被编码成S×S×(B×5+C)的张量。
(如果有人想问为什么不是S×S×B×(5+C),4中最后一句话解释了为什么)。

二、训练
1.在ImageNet1000上以输入图片一半的分辨率(224×224)对backbone进行预训练,然后将分辨率加倍(448×448)来进行检测(检测通常需要细粒度的视觉信息)。

2.最后一层预测类概率和边界框坐标。我们通过图像宽度和高度来规范边界框的宽度和高度,使它们落在0和1之间。我们将边界框x和y坐标参数化为特定网格单元位置的偏移量,所以它们边界也在0和1之间。并对最后一层使用线性激活函数而所有其他层的激活函数使用leaky relu。

分类误差与定位误差的权重是一样的,这可能并不理想。另外,在每张图像中,许多网格单元不包含任何对象。这将这些单元格的“置信度”分数推向零,通常压倒了包含目标的单元格的梯度。这可能导致模型不稳定,从而导致训练早期发散。

3.为了改善上述这一点,我们提高了边界框坐标预测的损失值,并减少了不包含目标的边界框的置信度预测损失值。我们使用两个参数λcoord和λnoobj来完成这个工作。我们设置λcoord=5和λnoobj=0.5。

4.平方和误差也可以在大boxes和小boxes中同样加权误差。我们的错误指标应该反映出,大boxes小偏差的重要性不如小boxes小偏差的重要性。为了部分解决这个问题,我们直接预测边界框宽度和高度的平方根,而不是宽度和高度。

5.YOLO每个网格单元预测多个边界框。在训练时,每个目标我们只需要一个边界框预测器来负责。我们指定一个预测器“负责”根据哪个预测与真实值之间具有当前最高的IOU来预测目标。这导致边界框预测器之间的专业化。每个预测器可以更好地预测特定大小,方向角,或目标的类别,从而改善整体召回率。

损失函数:
在这里插入图片描述
其中1(obj,i)表示目标是否出现在网格单元i中,1(obj,(ij))表示网格单元i中的第j个边界框预测器“负责”该预测。)

关于loss,需要特别注意的是需要计算loss的部分。并不是网络的输出都算loss,具体地说:
1)有物体中心落入的cell,需要计算分类loss,两个predictor都要计算confidence loss,预测的bounding box与ground truth IOU比较大的那个predictor需要计算xywh loss。
2)特别注意:没有物体中心落入的cell,只需要计算confidence loss。

推荐博文:
你真的读懂yolo了吗?
YOLO系列(V1-V2-V3)
近距离观察YOLOv3

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值