YOLO系列论文精读总结——YOLOv1篇

7 篇文章 3 订阅
订阅专栏
本文详细解读了YOLOv1的目标检测机制,包括推理阶段和训练阶段。推理阶段中,模型将输入图像分为7×7个网格,每个网格预测2个框,共输出7×7×30的向量,包含位置、尺寸、置信度和类别概率。训练阶段涉及网络结构(24个卷积层+2个全连接层)和损失函数,通过平方和损失函数优化定位和分类误差。文章还讨论了YOLOv1的局限及后续版本的改进。
摘要由CSDN通过智能技术生成

YOLO系列论文精读总结—— YOLOv1篇

概述:本文为YOLOv1论文精度的记录,帮助理解YOLOv1整个训练以及预测过程。
Tips:

  1. 文章绿色部分为YOLO后续论文中优化更改的内容。
  2. YOLOv1论文精度资料,包括论文原文,推测部分经典PPT, 本人精度论文中的标注,已经上传至CSDN,见链接,不方便下载可以给我留言。
    资料
  3. 文章主要内容参考自B站UP主同济子豪兄的讲解,十分详细的论文精读视频!!

YOLOv1概述

YOLOv1相对与同期模型最大的特点是其为单阶段模型,所以YOLO的运行速度相对于其他模型有显著提升。作者创新性的将目标检测问题看作回归问题,输入一张图片经过一个‘黑盒子’便可直接输出预测结果。为了更好的理解YOLO目标检测的过程,我们先不看那个黑盒子,而是聚焦于输出结果,即模型推理阶段。

1. 推理阶段

下图给出了模型的推理过程,YOLOV1的输入为 448 × 448 × 3 448\times448\times3 448×448×3图像,输出大小为 7 × 7 × 30 7\times7\times30 7×7×30向量,输出向量的含义是我们理解YOLO模型推理阶段的关键先生。我们将整张输入图片分成 S × S S\times S S×S个网格(grid cell),每个网格中随机生成 B B B个预测框,用来框出我们待检测的物体。为了确定一个框在图像中的位置,我们采用四个变量,分别是:

  • x——框中心的横坐标
  • y——框中心的纵坐标
  • w——框的宽度
  • h——框的高度

经过黑盒子变换,我们最初随机生成的预测框的位置会发生变换,即模型会输出预测框新的上述四个变量。**同时我们还给每一框定义了一个新的性质——置信度(confidence)用来表征每个框包含物体的概率以及其与真实框的重合情况。**所以一个框将有五个变量输出分别是 x , y , w , h , c x,y,w,h,c x,y,w,h,c
在这里插入图片描述
在YOLOV1中 S = 7 , B = 2 S=7, B=2 S=7,B=2即将每个输入图片分成 7 × 7 7\times7 7×7个网格,每个网格将生成 2 2 2个预测框,用来框出图片中的物体。 每个框会预测出5个变量值,所以一个网格生成两个框,一个框带有5个属性,所以一个格就需要预测出 5 × 2 = 10 5\times2=10 5×2=10个变量值。回到我们模型的输出为 7 × 7 × 30 7\times7\times30 7×7×30,所以 7 × 7 7\times7 7×7即表示网格数量,在图中我们可以看到一个网格后面跟着30个变量值,其中前10个就为该网格预测出的两个框的变量值。

我们在前面分析到,每一个预测框有一个confidence属性表征其包含物体的概率。但具其体包含的是哪个物体,就需要计算出这个框包含每一类物体的概率。在YOLOv1中有20个类别的物体,所以输出结果的后20个值就表示每一个小网格(grid cell)对应每一类物体的概率,即由该网格生产的两个预测框对应每一类物体的概率。 由此,输出的 7 × 7 × 30 7\times7\times30 7×7×30向量的每一项含义便清楚了。

但经过上面分析,一张图片一共生产 7 × 7 × 2 7\times7\times2 7×7×2个框,但只有一部分框我们认为是真正找到物体的,所以我们还需要使用一些后处理方法,去掉无用的框。根据上面的分析,我们输出结果中有每个框包含物体的概率(confidence)以及每个框在包含物体的情况下是每个类别的概率。将二者相乘就是每个框是每个类别物体的概率。我们通过这个概率即可去掉无用的框,选出真正预测到物体的框。

在这里插入图片描述
见下图我们将所有框预测到的概率值按照每一行是一个概率列出来,并逐行处理。例如我们处理第一行——所有框关于类别狗的预测概率。我们先将所有小于0.2的预测概率置为0,然后将概率值按照降序进行排列,对排序后的概率采用非极大值抑制(NMS)。

在这里插入图片描述
NMS的工作原理如下:将最大的概率的框设为bbox_max,然后依次向下,观察概率排序第二的框与bbox_max的IOU(交并比),如果大于0.5,则认为这两个框选中的是同一个物体,因此我们保留概率大的框,并将另一个框概率置为0。如果IOU不大于0.5则保留该框的预测概率。按照这个方法,让第一个框依次比较后续的框。第一个框与其后所有的框比较完后,我们另在这个过程中没有被置零的下一个框为bbox_max,再依次向后比较,重复上述过程,直到最后一个bbox_max比较过后,其后面的框的概率均被置为0.

在这里插入图片描述
将每一个类别都进行上述过程,便可以将概率仍然不为零的框画出来,至此得到我们最后的预测结果。

2 训练阶段

在训练阶段我们将通过两个部分——网络结构以及损失函数去深入理解YOLOV1这个黑盒子。

2.1 网络结构:

YOLOv1中采用了24个卷积层和两个全连接层,其整体结构如下(注:YOLOv1论文中作者在网络结构图中少画了一个全连接层)。我们直到卷积层用来提取图像的特征,所以在预训练阶段作者将前20个卷积层在图片分类数据集上进行训练。
在这里插入图片描述
在整个网络(24+2)的训练过程中,除最后一层采用ReLU函数外,其他层均采用leaky ReLU激活函数。leaky ReLU相对于ReLU函数可以解决在输入为负值时的零梯度问题。YOLOv1中采用的leaky ReLU函数的表达式为:
ϕ ( x ) = { x , i f   x > 0 0.1 x , o t h e r w i s e \phi(x)= \begin{cases} x, &if\ x>0 \\ 0.1x, &otherwise \end{cases} ϕ(x)={x,0.1x,if x>0otherwise

2.2 损失函数:

我们在训练过程中,通过最小化损失函数去更新模型中的参数。YOLOv1中作者采用了平方和损失函数,并为每一项损失(定位(x,y,w,h),分类(c, p))分配了不同的权重。见下图:

在这里插入图片描述
在解释每一项的内容之前我们需要先明确几个概念。在预测阶段我们分析道,输入给模型一张图片,模型会将其分成 7 × 7 7\times7 7×7个网格,每个网格生成两个预测框。在训练采用的图片中我们已经认为标注了物体的位置,这个人为标注的框称为ground truth,这个ground truth的中心落在哪一个网格里就由这个网格所生成的两个预测框中与ground truthIOU大的那一个去最后贴合ground truth。这个框就成为负责检测物体的框,这个格子里剩下的另一个框以及没有groung truth中心落在的格子生成的两个框统称为不负责检测物体的框

  • 第一项:负责检测物体的框中心点(x, y)定位误差,遍历所有负责检测物体的框,计算其 ( x i , y i ) (x_i,y_i) (xi,yi)坐标与实际框的 ( x i ^ , y i ^ ) (\hat{x_i},\hat{y_i}) (xi^,yi^)的平方和误差,其权重 λ c o o r d = 5 \lambda_{coord}=5 λcoord=5.

  • 第二项:负责检测物体的框的高宽(w,h)定位误差,遍历所有负责检测物体的框,计算 ( w i , h i ) (\sqrt{w_i},\sqrt{h_i}) (wi ,hi )坐标与实际框的的 ( w i ^ , h i ^ ) (\sqrt{\hat{w_i}},\sqrt{\hat{h_i}}) (wi^ ,hi^ )平方和误差,其权重 λ c o o r d = 5 \lambda_{coord}=5 λcoord=5.这里采用根式形式是为了对小框更加敏感。(可以想一下开二次方函数,在取值较小时,变换比较大)

  • 第三项:负责检测物体的confidence平方和误差我们在预测阶段只给出了confidence的大致含义,却没有给其具体公式,在YOLOv1中作者定义confidence P r ( O b j e c t ) ∗ I O U p r e d t r u t h Pr(Object)*IOU^{truth}_{pred} Pr(Object)IOUpredtruth。所以在训练中我们是要将预测框的 P r ( O b j e c t ) Pr(Object) Pr(Object)的值变为1的,所以confidence的标签值应该为预测框与实际框的 I O U p r e d t r u t h IOU^{truth}_{pred} IOUpredtruth

  • 第四项:不负责检测物体的confidence平方和误差,根据第三项,我们可以知道这一项的标签值应为0。其权重为0.5。

  • 第五项:负责检测物体的网格对应类别的分类误差:当实际框中心落在某个网格内时,这个网格便需要预测该物体的类别。所以这一项我们遍历所有的网格,并将其类别预测值与实际值求平方误差。很明显,标签值在实际类别时为1,在非该物体类别时为0。

注:公式中特殊符号的含义:

在这里插入图片描述
至此我们整个YOLOv1架构就全部给出了解释。我们读过整个论文我们也会发现,YOLOv1一张 448 ∗ 448 448*448 448448图片只给出了 7 ∗ 7 ∗ 2 7*7*2 772个预测框,且每个网格只能负责预测一个物体,这对于两个物体的中心在同一个网格,小物体检测和群体物体检测很不友好。这些问题在YOLO后续的版本都做出了相应的对策。

后续版本

YOLOv2,YOLOv3,YOlOv4的论文精度,以及YOLOv5的代码、网络结构分析即将更新。

YOLOV1论文小整理
`or 1 or 不正经の泡泡
04-12 1850
文章目录前言作者简介算法简介V1网络结构识别过程卷积部分grid cell单元格存储信息边框 前言 为了更好地阅读源码,在进入源码阅读阶段必须先进行理论探究,之后才能结合工程干活。所以本次也是参考了众多大佬的视频,博客进行一个总结。我们先从初代版本V1开始,主要是第一论文不多,那么这里主要是关于这个神经网络的一个结构,它后面的一个具体的一个工作流程,这部分主要是分两个部分,一个是训练部分,还有一个是识别部分。这里咱们主要是对整个流程做一个了解分析。 相关资源链接如下: https://arxiv.org/
YOLOv5改进系列(19)——替换主干网络之Swin TransformerV1(参数量更小的ViT模型)
路人贾的博客
08-08 3045
YOLOv5改进,替换主干网络之Swin TransformerV1,参数量更小的ViT模型!
YOLO系列YOLOv1论文超详细解读(翻译 +学习笔记)
热门推荐
路人贾的博客
02-13 3万+
YOLOv1论文(《You Only Look Once: Unified, Real-Time Object Detection》)超详细精读。看这一就够了!
CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法
最新发布
audyxiao001的博客
09-06 1897
本推文主要介绍了一种开放词汇目标检测的一种新方法,名为YOLO-World。论文主要提出了一种创新的开词汇目标检测方法,通过引入视觉-语言建模和大规模预训练解决了传统YOLO检测器在固定词汇检测中的局限性。
YOLOv1 论文精读
The Shawshank Redemption
09-29 923
摘要 我们提出了YOLO,这是一个目标检测的新方法。目标检测领域的以往工作就是对分类器稍加调整以用于检测。相反,我们是将目标检测视为一个回归问题,这个问题是得到空间上分离的包围框(bounding boxes)以及和这些框相联系的类别概率。一个单独的神经网络就可以在一次评估中直接从整幅图像中预测bounding boxes以及对应的类别概率。由于整个检测的流程是在一个单独的网络中完成的,它能够依靠检测的表现结果进行端到端的直接优化。 依靠检测的表现结果进行端到端的直接优化:个人理解指的就是我们可以依靠检
论文阅读】YOLOV1论文详解
想当咸鱼的猫
11-20 3328
YOLOV1 1. Introduction YOLO非常简单:对于一张完整的图像,通过一个单一的卷积网络可以同时预测多个bounding boxes的回归参数和这些boxes的类别概率,并直接优化检测性能。这种统一的模式相对于传统的目标检测有以下几个好处: 检测特别快。 与滑动窗口和基于region proposal的技术不同,YOLO在训练和测试期间可以看到整个图像,因此它能隐式地编码类别以及它们的外观的上下文信息 YOLO学习地是目标的通用表示法,具有高度的通用性 但是,在准确性上,YOLO仍然
YOLO V1 论文精讲
哈哈哈哈哈哈
12-14 1112
YOLO V1 论文精讲
YOLOv5改进系列(1)——添加SE注意力机制
路人贾的博客
05-08 1万+
手把手带你添加SE注意力机制
YOLOv5改进系列(9)——替换主干网络之EfficientNetv2
路人贾的博客
06-15 4344
手把手教你学会yolov5替换主干网络之EfficientNetv2
YOLOv1论文精读:目标检测的快速方法
YOLOv1论文精读YOLOv1概述,推理阶段,训练阶段,网络结构,损失函数,YOLO后续版本,YOLOv1论文精度,B站UP主同济子豪兄的讲解,S×S网格,BBB个预测框,置信度” YOLO(You Only Look Once)是一种实时目标...
yolov5无从下手?一就够,2021年全部基于最新配置的yolo入门升级路线
风吹落叶的博客
09-04 6022
yolov5很难?一就够的保姆级教程,2021年全部基于最新配置的yolo快速入门路线规划图 在学习的过程中,CSDN对我帮助良多,很多时候都处在一个汲取者的角度。实在惭愧,最近我想根据我的学习过程,整理一入门博客帮助大家更快入门。 我实操时候环境:windows、anaconda、pytorch、pycharm全部最新版本 并且在正常上网条件下运行的 一、打破yolo神秘面纱——直接上手! yolo并不是一个很神秘的东西,现在我先从一个github上一个比较知名的关于yolov5的项目基于yolov5
YOLO V1 论文高清
04-24
YOLO目标识别V1第一论文,学习之后再看YOLO9000和YOLOV3更加深入
YOLO系列YOLOv1论文解读
qq_39770163的博客
08-28 1078
YOLOv1网络细节,YOLOv1论文解读
论文学习】YOLO v1
可乐大牛的博客
04-17 2188
文章目录论文思想论文原文论文翻译摘要1.介绍2.统一的检测2.1.网络设计2.2. 训练2.2.推论2.3.YOLO的局限性3.与其他目标检测算法的对比4.实验4.1. 与其他实时系统的比较4.2. VOC 2007 误差分析4.3. 将 Fast R-CNN 和 YOLO进行结合4.4. VOC 2012 的测试结果4.5. 泛化能力: 艺术作品中的人物检测5. 真实场景的实时检测6. 结论 论文思想 明天上传 论文原文 链接,提取码:xhpn 论文翻译 YOLO-统一的、实时的目标检测模型 摘要 我们提
论文阅读: YOLOv1
JNing
04-20 3406
Introduction YOLO是第一个实现one stage detection的里程碑级算法。所谓one stage,即通过一个阶段就简单粗暴地输出cls和detect的骚操作: 它并不需要像two stage那样,先在一个stage生成一堆的候选框,再在一个stage进行双任务(cls & detect)。 直接将整张图片分成 S×SS×SS\times S 的小格子区域...
YOLOV1论文详解
2301_78731213的博客
01-31 1203
Y0L0方法敏捷性好,但如果需要对图像信息进行有逻辑层次的深度加工学习似乎不当,能否先由整体到局部刬分图片信息并优先学习整体特征,再在学习的过程中依据需要不断填充细节特征,完成对目标不同层次的理解。②进行预测,参数确定:1(x,y)指图片中心相对于整张图的坐标(≈绝对位置)此图中心所在的grid cell 近O坐标(a,b),则偏移值.为(x*S/w-a,y*S/h-b),使之∈(0,I)2不仅考量训练效果(质量)还要考量训练的时间成本与资源消耗(效率,“性价比”),以及性能提升,迁移应用的便利性(灵活)
yolov系列-yolov1-论文详解
GeekPlusA的博客
03-24 4658
yolov系列-yolov1-论文详解@[TOC](yolov系列-yolov1-论文详解)yolov1相关资料yolov1论文详解算法原理yolov1优缺点 yolov1相关资料 yolov1论文详解 算法原理 在yolov1中作者将一幅图片分成7*7个网格(gird cell),由网络的最后一层输出7 * 7 * 30的tensor,也就是说每个格子输出1 * 1 * 30的tensor。30里面包含了2个bounding box的x,y,w,h,confidence以及针对格子而言的20个类别概率,输
YOLO系列论文
计算机小白
07-08 2373
YOLO系列论文
YOLO系列YOLOv6论文超详细解读(翻译 +学习笔记)
路人贾的博客
04-30 2万+
YOLOv6论文YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications》超详细解读
写文章

热门文章

  • Anaconda 彻底删除虚拟环境 51066
  • 目标检测重要评价指标——mAP的含义及计算 13983
  • Anaconda环境中设置pip的镜像源 10358
  • python文件文件夹操作 8090
  • 智能车视觉处理系列文章——迷宫巡线法详解(含代码) 7595

分类专栏

  • 3D车道线检测-论文 2篇
  • 深度学习 7篇
  • python 6篇
  • d2l 7篇
  • C语言
  • 智能车 2篇
  • numpy 2篇
  • pyqt5 1篇

最新评论

  • 智能车视觉处理系列文章——迷宫巡线法详解(含代码)

    唉唉谁懂?: 这样吗表情包

  • Anaconda 彻底删除虚拟环境

    lzx呱呱: 破案了,第一个代码多试几次就行,如果这还不行的话,那要找其他办法

  • 智能车视觉处理系列文章——迷宫巡线法详解(含代码)

    NANASUK3: 这个我搜出来效果很差 不知道为什么表情包

  • Anaconda 彻底删除虚拟环境

    王怼怼402: 我也是直接不能用了,我真的气死了

  • Anaconda 彻底删除虚拟环境

    diligent啊豆豆: 请问楼主,剩余的安装包要怎么样卸载?

最新文章

  • Spconv 库简单介绍
  • Linux Zip 命令指南
  • 深度学习模型中的 `.clone` 作用分析----针对CUDA可能出现的BUG
2024年5篇
2023年2篇
2022年18篇
2021年10篇

目录

目录

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家江西酒店玻璃钢造型雕塑制作舟山定制玻璃钢花盆上海中庭商场美陈多少钱上海大型商场创意商业美陈怎么做深圳周边商场美陈报价玻璃钢雕塑卡通公仔3d雕塑玻璃钢景观雕塑有哪些玻璃钢人像木雕塑舟山环保玻璃钢雕塑无机玻璃钢雕塑手绘玻璃钢花盆工艺的特点玻璃钢雕塑报价清单阳江玻璃钢松鼠雕塑博尔塔拉玻璃钢雕塑玻璃钢雕塑手绘价格专业不锈钢玻璃钢景观雕塑制造玻璃钢雕塑安装说明武汉玻璃钢雕塑生产山东大型商场美陈研发公司楚雄市玻璃钢雕塑哪里买玻璃钢动物牛雕塑多少钱玻璃钢雕塑设计公司电话多少昆明商场美陈费用临汾玻璃钢雕塑公司玻璃钢玩偶雕塑供货园林玻璃钢卡通雕塑定制聊城玻璃钢雕塑厂家商场大型樱花美陈宣传供销树脂玻璃钢花盆湖南玻璃钢雕塑采购香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化