YOLOv1论文学习笔记

一、概述

1.定义

之前的目标检测通常为分类问题,而YOLO将目标检测重新定义为回归问题
过去的目标检测通常是一个两阶段问题:
第一阶段:候选区域生成和特征提取。
第二阶段:分类与回归及后处理。
这种方法通常需要分步骤地处理每个目标候选区域,因此在速度和精度上存在一定的折衷。但是YOLO可以实现端到端的检测。因为YOLO使用一个单独的神经网络,既可以预测预测框的坐标,也可以预测类别,它直接全图输入,然后神经网络在一次前向推断后就能够输出目标的坐标和类别。

2.优点

相对之前的目标检测YOLO的优点有:

1.检测速度非常快可以实现实时目标检测的需求:传统的目标检测方法(如基于滑动窗口的方法)需要在每个窗口上运行分类器,这在处理大量窗口时效率低下。将目标检测任务视为回归问题可以减少多次区域分类的需求(这是因为回归问题是预测出一系列连续的数值,在目标检测中,预测目标的边界框的坐标(如中心点的坐标、宽度和高度)就是一个回归问题,因为这些值是连续的实数。),从而显著提高处理速度。

2.对图像进行全局的推理:这个优点同时也使得YOLO在把背景误判为物体这个误差比较小。因为YOLO是直接进行全图输入,而不是提取某一个区域的候选框,所以它能够隐式的学习全图的信息,也就是对图像进行全局的推理,所以把背景误判为物体的错误比较小。

3.迁移泛化能力强:YOLOv1其统一的检测框架将目标检测视为单一回归问题、端到端训练优化定位和分类、利用单一网络架构获取全局上下文信息以及实时推理效率等特点而显著提升了其在不同数据集和环境中的健壮性和适应性,因此在迁移和泛化能力方面表现出色。

二、网络结构

1.简述 

  • 首先将输入图像划分为 S×S 个网格,每个格子称为grid cell,如果检测物体的中心(在训练阶段这个中心是人工标注的检测框的中心)位于该grid cell内,则该网格负责该物体的检测。
  • 每个grid cell会预测 B 个bounding boxes(边界框以下简称b box)和对应b box的confidence score(置信度)confidence score = 
    前者为判断b box中是否存在人工标注框的中心点,存在则为1,反之为0;后者为该b box与人工标注框的交并比。

  • 每个b box包括5个参数:x,y,w,h,Confidence,其中x,y表示人工标注框中心点和grid cell左上角格点坐标坐标之差,w,h是相较于整张图像的宽度和高度,即b box的宽和高与原图宽和高的比(值为0~1);

  • 每个grid cell对 C个类别进行预测,输出C个类别的条件概率(该grid cell对应的B 个b box会共享这一组条件概率)意为在当前grid cell负责预测物体的条件下各类别的概率。

    测试阶段,我们将条件概率和单个框置信度相乘, 这提供了每个框的特定类别的置信度分数。这些分数代表某个类别的分类精度以及预测框的定位精度。
              

  • 测试阶段,经过以上的计算我们可以直接得出每个b box的S×S ×(B*5 + C)张量。论文中使用的是PASCAL VOC数据集,PASCAL VOC有20个标签类,所以C = 20。最终预测是一个7×7 ×30的张量,然后经过NMS后处理得到目标检测结果。

  • 而在训练阶段,人工标注框中心点所在grid cell负责预测这个物体,每个grid cell产生的B个b box中与人工标注框IOU最大的负责预测这个物体。由此这些b box可以分为三类:

2.网络设计

YOLO的网络架构有24个卷积层,其次是2个全连接层。

1x1卷积层的作用通常有:降维和增加非线性 参数减少 特征融合和特征选择 网络设计中的连接器3x3卷积层的作用通常有:特征提取 感受野的扩展 增加网络的深度和非线性 隐式正则化  灵活性
在这里1x1卷积层的主要作用是降维和减少参数;

3.损失函数

YOLO是回归问题的目标检测,所以使用的是平方和误差


②式中是宽度和高度的平方根的平方差误差,这是因为,产生同样大小的误差时小框产生的误差要比大框要严重得多,计算它们的平方根可以让大框和小框更加公平。

4.细节

4.1 NMS(非极大值抑制)

  • 得分排序:首先,根据检测框的预测得分对所有检测框按照得分降序排序,
  • 选择最高分框:从排好序的框中选择得分最高的框,并将其添加到最终输出的框列表中。
  • 计算重叠度:对于剩余的框,计算它们与已选择的框的重叠度(根据二者的IOU)。
  • 移除高重叠框:移除与已选择框有高重叠度(定义一个阈值,比如0.5)的框,这样可以确保最终输出的框之间互不重叠或者重叠较小。
  • 重复步骤:重复上述步骤,直到所有框都被处理。


 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据引用和引用的内容,YOLOv8是一种目标检测模型。与YOLOv5相比,YOLOv8的yaml配置文件改动较小。YOLOv8采用了Anchor-Free的思想,使用VFL Loss、DFL Loss和CIOU Loss作为分类损失函数,并采用了Task-Aligned Assigner匹配方式进行样本匹配。此外,YOLOv8还引入了YOLOv8 Nano(速度最快)和YOLOv8 Extra Large(准确性最高)等不同规模的模型。 如果你想学习YOLOv8的相关知识,可以参考官方文档或者专业的教程。这些资源可以帮助你理解YOLOv8的原理、配置文件和模型性能,并帮助你开始使用和学习YOLOv8。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [YOLOv8模型学习笔记](https://blog.csdn.net/pengxiang1998/article/details/129151514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [YOLOv8学习笔记](https://blog.csdn.net/GoodTime1110/article/details/129767920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mikko_6214

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值