目标检测算法YOLO系列之YOLOv1

        YOLO系列的目标检测算法相较于R-CNN系列的目标检测算法,最明显的优势就是检测速度快,同时YOLO采用端到端的设计思路,让它的模型更加的容易理解,它的主要思想就是将目标检测问题转换成一个回归问题,从回归的结果中得到预测框的位置以及预测框中包含的物体类别。
        下面将对YOLOv1进行讲解:
1、网络架构
在这里插入图片描述
        从上图中,我们可以知道整个YOLOv1的网络架构。首先,输入一张图片,经过主干特征提取网络得到特征图,随后对特征图进行一系列的卷积操作,这是为了对提取到的特征进行加强,之后与全连接层进行连接,再reshape成 7 ∗ 7 ∗ 30 7*7*30 7730的形状,就得到了模型想要的输出。
2、对模型输出结构进行解释
        <1>、为什么模型最后输出的形状是 7 ∗ 7 ∗ 30 7*7*30 7730
        这是因为,YOLOv1将输入图片划分成 7 ∗ 7 7*7 77的网格,在每个网格当中需要预测两个bounding box,每个bounding box除了自己的位置信息之外,还需要预测出一个confidence,也就是每个bounding box包含5个值(x,y,w,h,confidence)。同时每个网格需要预测出该网格中包含物体的种类信息,共两个bounding box使用(注意,这里与YOLOv2、v3都不同,这也是YOLOv1如果网格中包含两个物体只能检测出一个的原因)。这样,我们就知道了 7 ∗ 7 ∗ 30 7*7*30 7730= 7 ∗ 7 ∗ 20 7*7*20 7720+ 7 ∗ 7 ∗ 2 ∗ ( 4 + 1 ) 7*7*2*(4+1) 772(4+1)(YOLOv1实现的是20分类)
        <2>、confidence表示的含义
        confidence包含两重含义,第一重就是该网格是否负责预测物体。在YOLO目标检测算法中都这样规定,如果物体真实框的中心落在了某个网格当中,那么就由该网格负责预测。负责预测Pr=1,不负责预测Pr=0。第二重就是如果负责预测,那么产生的预测框到底准不准,这里的准不准是通过与真实框的IOU值来衡量的。
在这里插入图片描述
        <3>、计算每个bounding box的得分
        我们将每个网格预测出的分类信息与bounding box预测出的condidence信息进行相乘,就可以得到每个bounding box的得分:
在这里插入图片描述
        通过每个bounding box的得分信息,我们会筛选出哪些得分比较高的预测框,然后再对这些预测框进行非极大值抑制,以得到最终的预测框
3、负责预测的概念
        如果一个物体的中心点落在了某个网格当中,每个网格当中又会预测出两个bounding box,那么是这两个bounding box都会负责预测这个物体吗?
        YOLOv1的做法是:求bounding box与ground true box的IOU,选择那个IOU值大的bounding box来负责预测物体,主要是因为这个bounding box更逼近ground true box,可以更快的收敛。这种做法称作bounding box predictor的specialization(专职化)。
        如果一张图片中包含3个物体,也就是有3个ground true box,而我们预测会产生772=98个bounding box,在这98个bounding box当中,只有三个bounding box是负责预测物体的,其他的都不负责预测物体。(因此会产生负样本过多的情况,那么通过计算负样本与ground true box的IOU值,然后设置IOU阈值,小于阈值的负样本得以保留,大于阈值的负样本就忽略,这样就可以使得正负样本达到平衡。)
4、损失函数
在这里插入图片描述
        从上面的损失函数可以知道,YOLOv1的损失函数包含三个部分:位置回归损失、置信度损失、分类损失,其中位置回归损失和分类损失只计算正样本,而置信度损失要计算正负样本
5、总结
        看完YOLOv1之后最大的感受就是,它不再需要候选框了,直接通过神经网络就预测bounding box,非常的直接。但是由于它对相互靠的很近的物体,还有小的物体检测效果不好,这是因为一个网格中只预测两个框,并且只能预测出一个类别,主要原因就是没有多尺度特征融合以及使用anchor box机制,在YOLOv2、v3中就进行了加强。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值