【目标检测 深度学习】3.Yolo系列算法原理

本文详细介绍了Yolo系列目标检测算法,包括YoloV1的网络结构、损失函数和训练过程,以及其存在的问题。YoloV2通过引入anchor box、batch normalization和多尺度训练显著提升了性能。Yolo9000则采用联合训练策略,能检测9000多个类别。YoloV3通过改进主干网络和多尺度预测,尤其在小物体检测方面取得突破。
摘要由CSDN通过智能技术生成


1.YoloV1

1.1综述

  • 同时预测多个box位置和类别
  • 端到端的目标检测和识别
  • 速度更快
    • 实现回归功能的CNN并不需要复杂的设计过程
    • hijack选用整图训练模型,更好地区分目标和背景区域

1.2算法原理

在这里插入图片描述

  • 图像被分成S×S个格子,对于每一个格子
  • 包含GT物体中心的格子负责检测相应的物体,如上图狗所在中心落在某一个格子上,则这个格子负责预测狗。
  • 每个格子预测B(超参数)个检测框及其置信度(x,y,w,h,c),以及C个类别概率。置信度表面了预测的bbox中含有目标物体的可能性以及当前bbox预测得有多准。检测框及置信度对应bbox,类别对应当前的格子。每个格子预测的向量长度为5×B×C
  • bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,均被归一化。
  • 置信度反映是否包含物体以及包含物体情况下位置的准确性,定义为
    • 在这里插入图片描述

1.3yolov1网络结构图

在这里插入图片描述
yolov1的网络结构采用直接回归的方式来获取最终所需要检测的物体的位置和类别,它只包含了CNN网络结构。原始的输入图像经过多层卷积之后最终再通过一个FC层。原论文里S的大小为7,B为2。 通过这样的回归,最终可以得到每一个格子所包含的bbox的置信度以及是否包含目标物体,如果包含的话,当前物体的偏移量是多少,以及长宽是多少。对FC层通过的结果进行解码,得到上图中下半部分的两幅图,对于第一个图,虽然每个格子预测B个BBOX,但是只选择IOU最高的BBOX作为物体检测的输出,这也是yolo算法的缺陷,图像中可能会包含多个小的目标,但由于每一个格子只预测一个物体,如果格子同时出现多个物体的时候,效果就会变差。网络回归之后得到每一个bbox对应的类别和位置信息,通过NMS进行筛选后得到最终检测的结果。

1.4网络结构分析

  • 网络使用小卷积,即1×1和3×3
  • FC输出为:S×S(B×5+C)
  • 网络比VGG16快,准确率稍差

1.5损失函数定义

  • Loss函数:均方和误差
  • 坐标误差、IOU误差和分类误差
  • 权重考量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值