【YOLO系列】YOLOv1

参考:这可能是最详细的目标检测YOLO_v1的解释

            物体检测之YOLO

基本流程

(1) 给个一个输入图像,首先将图像划分成7 * 7(S=7)的网格。

(2) 对于每个网格,每个网格预测2个bouding box(每个box包含5个预测量,这5个预测量为x,y,w,h,confidence)以及20个类别概率

(3) 根据上一步可以预测出7 * 7 * 2 = 98个目标窗口,然后根据阈值去除可能性比较低的目标窗口,再由NMS去除冗余窗口即可。

YOLOv1使用了end-to-end的回归方法,没有region proposal步骤,直接回归便完成了位置和类别的判定。种种原因使得YOLOv1在目标定位上不那么精准,直接导致YOLO的检测精度并不是很高。

 问答解析:

1、对于每一个预测的bounding box,具体说说5个参数?

  • (x,y):是bounding box中心位置相对于当前格子位置的偏移值,并且被归一化到[0,1];
  • (w,h):该box的长和宽相对于input的长和宽(448)的比例,被归一化到[0,1]

根据这4个元素可还原出原图的一个bbox。假设原图的长宽为448,那么bbox的宽高为:

假设grid cell左上角坐标为(x0,y0),则bounding box左上角的坐标为:

  • 此外还有一个confidence参数,表达式如下:

其中IOU_{pred}^{truth}表示物体位置的准确性,是bbox与gt的重叠度。

Pr(Object)表示是否包含物体,当bbox包含物体,则Pr(Object)=1,否则等于0。也就是说confidence要么为0,表示此bbox中不包含对象,要么不为0,表示该bbox和ground truth的IOU

2、网络最终输出维度是多少,怎么排列的?

输出的维度为7×7×(5×2+20) = 7×7×20 (20个类别),排列方式如下:

3、一个grid cell预测量两个bbox,那么每一个bbox还应该对应一个分类的confidence不是吗?

实际上yolo的原理是对于一个grid cell只预测一个类别,即虽然每个格子可以预测2个bounding box,但是最终只选择IOU最高的bounding box作为该类别检测输出,即每个格子最多只预测出一个物体一个类别。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。这是YOLO方法的一个缺陷。

你可以这么理解,yolo现针对每一个grid cell只预测一类,然后将IOU最高的bbox与这一类相连接。

4、如何预测?

在test的时候,每个网格预测的class信息和bounding box预测的confidence信息相乘,就得到每个bounding box的class-specific confidence score:

等式左边第一项就是每个网格预测的类别信息,第二三项就是每个bounding box预测的confidence。这个乘积即encode了预测的box属于某一类的概率,也有该box准确度的信息。

得到每个box的class-specific confidence score以后,设置阈值,滤掉得分低的boxes,对保留的boxes进行NMS处理,就得到最终的检测结果。

损失函数

看起来很复杂,实际上可以分为:

  • 有物体中心落入的cell,需要计算分类损失,没有物体落入的cell就不用计算类别损失,即上面公式中的第4个框,类别预测。
  • 两个bbox都要计算置信度损失,即上面公式中的第2,3个框。
  • 其中上述两个bbox中,与groud truth IOU较大的那个bbox需要计算位置损失,即上面公式中的第1个框。

上面w,h开根号的原因是小目标对于预测wh的误差更敏感,用开根的方法缓解。举例来说,大小为10和大小为100的目标,预测大小分别为20和110,如果不用开根号的话,两者的损失都为10²,但是显然小目标检测的更差一些,开根后,

相当于强化了小目标的wh的损失。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值