【目标检测】YOLOv1-v3 原理


1. YOLOv1

在这里插入图片描述

1.1 论文思想

  1. 将一幅图像分成SxS个网格(grid cell),如果某个object的中心落在这个网格中,则这个网格就负责预测这个object。
    在这里插入图片描述
    如何确定目标的中心?
    答:标注时bounding box的中心即为目标的中心。

  2. 每个网格要预测B个bounding box,每个bounding box除了要预测位置之外,还要附带预测一个confidence值。每个网格还要预测C个类别的分数。
    在这里插入图片描述
    B一般取2,C为pascal voc数据集的目标类别数,故取20。
    为什么参数为7×7×30?
    答:如下图,每个网格(grid cell)需要预测2个bounding box,每个bounding box有5个数值,再加上20个类别数量,一共5+5+20=30。
    在这里插入图片描述

  3. 参数解释:
    在这里插入图片描述

  • (x,y) 为预测目标边界框的中心点坐标,它是相对于grid cell的边界而言的(取值范围为0-1);
  • w, h 为bounding box的宽和高,它是相对于整张图像而言(范围也是0-1);
  • confidence = Pr(object) × IOU,Pr(object)为0或1(grid cell中存在目标则为,1,反之为0),IOU为真实的bounding box和预测的bounding box的交并比。

1.2 网络结构

在这里插入图片描述
s-2表示步幅为2

1.3 损失函数

YOLOv1的损失函数由三部分构成:bounding box损失 + confidence损失 + classes损失

1.3.1 bounding box损失

在这里插入图片描述
w和h开根号再求误差平方和是为了防止同样的偏差对小目标的IOU影响大而对大目标的影响小,如下图。

问题:w和h不都是0-1之间的数吗?按理说都是比例不应该会有这个问题。
在这里插入图片描述

1.3.2 confidence损失

在这里插入图片描述
包含两部分,obj 为第 i 个grid cell中包含目标的情况,此时 C ^ i = 1 \hat C_i=1 C^i=1,noobj 为第 i 个grid cell中不包含目标的情况,此时 C ^ i = 0 \hat C_i=0 C^i=0

1.3.3 classes损失

在这里插入图片描述

1.4 YOLOv1存在的问题

在这里插入图片描述
在这里插入图片描述

  1. YOLOv1对群体性的小目标检测效果很差,例如一群鸟。原因是一个grid cell 只预测两个bounding box;
  2. 当目标出现新的尺寸或配置时,YOLOv1预测效果也很差;
  3. 主要错误原因是定位不准确,YOLOv1直接预测目标的坐标信息。

2. YOLOv2

在这里插入图片描述

2.1 YOLOv2的效果

在这里插入图片描述
YOLOv2比YOLOv1提高了15个百分点。

2.2 YOLOv2中的各种尝试

在论文的better章节中,一共进行了7种尝试,下面学习一下这7种尝试。

2.2.1 Batch Normalization

在这里插入图片描述
在每个卷积层后面加上了BN层,mAP提高了2个点,加入BN层后可以不再使用dropout层。

2.2.2 High Resolution Classifier

使用了更高分辨率的分类器
在这里插入图片描述
YOLOv1中训练backbone即分类器时采用的224×224的图像输入,YOLOv1中采用了448×448分辨率的输入图像,mAP提升了4个点。

2.2.3 Convolutional With Anchor Boxes

基于anchor box的目标边界框的预测
在这里插入图片描述
不使用anchor box的mAP为69.5,recall为0.81;使用anchor box的mAP为69.2,recall为0.88。mAP有一个很小的下降,但是recall得到了很大的提升,意味着模型有更大的提升空间。

2.2.4 Dimension Clusters

在这里插入图片描述
通过k-means聚类的方法生成priors(在faster r-cnn中是经验值),更好的priors使得网络更容易学习且能得到更好的检测效果。

prior box,是指实际中选择的default box(每一个feature map cell 不是k个default box都取)。 也就是说default box是一种概念,prior box则是实际的选取。
解读SSD中的Default box(Prior Box)

2.2.5 Direct location prediction

这边需要先把anchor box 复习一下

每个anchor(prior)去负责预测目标中心落在某个grid cell 区域内的目标,提升了5个点。
在这里插入图片描述

2.2.6 Fine-Grained Features

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值