yolov1详细讲解

yolov1详细讲解

设计概念

整体来看,Yolo算法采用一个单独的CNN模型实现end-to-end的目标检测
第一步:将输入图片resize到448x448,然后送入CNN网络
第二步:得到处理网络预测结果得到检测的目标
具体来说,Yolo的CNN网络将输入的图片分割成77网格,然后每个单元格负责去检测那些中心点落在该格子内的目标,如下图所示:
yolov1结构体从上图中可以看到,YOLO-V1网络的主要步骤如下:
在这里插入图片描述
可以看到网络的最后输出为7
7*30大小的张量。这个张量所代表的具体含义如下图所示。对于每一个单元格,前20个元素是类别概率值,然后2个元素是边界框置信度,两者相乘可以得到类别置信度(注意这句话:两者相乘可以得到类别置信度),最后8个元素是边界框的(x,y,w,h)。对于边界框为什么把置信度c和(x,y,w,h)都分开排列,而不是按照(x,y,w,h,c)这样排列,其实纯粹是为了计算方便,因为实际上这30个元素都是对应一个单元格,其排列是可以任意的。
在这里插入图片描述

损失函数

YOLO V1每个网格单元能够预测多个边界框。为了计算true positive的损失,只希望其中一个框负责该目标,为此选择与GT具有最高IOU的那个框

YOLO正样本选择
    当一个真实物体的中心点落在了某个cell内时,该cell就负责检测该物体。
    具体做法是将与该真实物体有最大IoU的边框设为正样本, 这个区域的类别真值为该真实物体的类别,该边框的置信度真值为1。
YOLO负样本选择
    除了上述被赋予正样本的边框,其余边框都为负样本。负样本没有类别损失与边框位置损失,只有置信度损失,其真值为0。

YOLO使用预测值和GT之间的误差平方的求和(MSE)来计算损失。 损失函数包括

localization loss -> 坐标损失(预测边界框与GT之间的误差)
classification loss -> 分类损失
confidence loss -> 置信度损失(框里有无目标, objectness of the box)

在这里插入图片描述
专业词汇解释:

作者在YOLO算法中把物体检测(object detection)问题处理成回归问题,用一个卷积神经网络结构就可以从输入图像直接预测bounding box和类别概率。
( Instead, we frame object detection as a regression problem to spatially separated bounding boxes and associated class probabilities.我们将对象检测框架做为一个回归问题,以实现空间分离的边界框和相关的类概率。)
1.置信度(confidence)
置信度(confidence)=类概率*IoU
在这里插入图片描述Pr⁡(Object)是边界框内存在对象的概率,若存在对象,Pr⁡(Object)=1,否则Pr⁡(Object)=0;IOU是真实框(ground truth)与预测框(predicted box)的交并比
2.IoU(Intersection over Union ratio)
实际上就是预测框和真实框面积的交集与并集的比值(两边界框相交部分面积与相并部分面积之比)。我们认为只有IoU>0.5的priorbox才是有价值的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值