目标检测 | Yolo1算法原理总结

基于深度学习的目标图像检测【Yolov8】 通过yolo模型进行图像检测的基础功略,面对本科毕设/报告设计 阅读详情

Yolo算法通过运行单个卷积网络来定位和检测物体,流程图如下:

步骤:

1)将输入图像的大小调整为448×448

2)在图像上运行卷积神经网络,输出每个grid cell的Bounding Box和所属每个类的概率值

3)根据非极大值抑制算法,输出最有可能包含物体的Bounding Box

若仅包含上述步骤,则模型处于测试阶段;若模型处于训练阶段,则需要根据预测Bounding Box与目标矩形框的损失值,然后利用梯度下降法更新模型参数,若达到迭代次数或损失之小于某一阈值时,则停止训练。

文章介绍了yolo算法原理的几个基本概念

1. 什么是grid cell 

如下图,Yolo算法把图像划分成7×7的网格,每个网格就是grid cell。

2. Yolo算法的输出是什么

Yolo算法输出每个grid cell的Bounding Box和所属每个类的概率值,

Bounding Box包含了矩形框的中心横坐标、纵坐标,宽度w,高度h以及grid cell的置信度confidence,即Bounding Box共5个维度。

若设置检测的物体类数为C,则Yolo算法输出每个grid cell的类概率值,维度为C。

Yolo算法认为每个grid cell只包含一个物体对象,若设置每个grid cell包含两个Bounding Box,物体对象可能的类数为20个,则每个grid cell的输出维度为:(20 + 5×2)= 30。因此Yolo算法的输出维度为:7×7×30

3. 置信度的含义是什么

Bounding Box包含了置信度,反映了Bounding Box是否包含物体以及这个物体的可能性是多少,公式为:

Pr(Object)表示Bounding Box是否包含物体,具体含义可参考Yolo1论文的解释:

若Bounding Box包含物体,则Pr(Object) = 1;反之,则Pr(Object) = 0。

因此Bounding Box置信度的含义为预测框和真实框的交并比,我们常用交并比(IoU)衡量矩形框的重叠度,如下图:

4. grid cell的类条件概率计算

上节介绍的置信度反映了Bounding Box包含物体的可能性,即:

若要计算每个grid cell包含物体的前提下属于某个类的概率,即Pr(Classi | Object),这一含义是针对每个grid cell而非Bounding Box。

将每个grid cell的类的条件概率与Bounding Box相乘,即:

该值得到了每个Bounding Box所属类的置信度,既包含了每个Bounding Box预测类的信息,也反映了Bounding Box包含物体的准确度。

5. 非极大值抑制算法原理

若满足条件的预测框有很多个,我们需要用非极大值抑制算法选择最优预测框,若两个矩形框都包含了相同类的物体,且两个矩形框的重叠度较高,则选择置信度较高的矩形框,删除置信度较低的矩形框

6. Bounding Box的含义是什么

Bounding Box包含了矩形框的中心 (x,y),矩形框的宽高(w,h)以及置信度c,这5个值的范围在0和1之间,通过Sigmoid函数来实现。

矩形框中心 (x,y)的含义:每个Bounding Box相对于grid cell的偏移值,范围0~1

矩形框的宽高 (w,h)的含义: 每个Bounding Box的宽高相对于整个图像的大小,范围0~1

7. 训练阶段的损失函数计算

图像中包含物体对象的Bounding Box数量远远小于不包含物体的Bounding Box数量,因此若两者的权重相等,那么计算的损失函数会偏向于给出背景的结果。Yolo1算法论文设置包含物体的Bounding Box的权重为5,不包含的Bounding Box的权重为0。

包含物体和不包含物体的权重分别记为:

Yolo算法把定位和检测目标看成是一个回归问题,因此对于所有的输出变量,我们都使用和平方误差表示损失函数。

每个grid cell包含了2个Bounding Box和1个条件类概率,grid cell结构和损失函数如下图:

其中:

 表示第i个grid cell的第j个Bounding Box是否包含物体对象,若包含,则等于1;若不包含,则等于0。

表示第i个grid cell是否包含物体对象,若包含,则等于1;若不包含,则等于0。

对于不同大小的Bounding Box,小的Bounding Box对于偏差的容忍度更低,比如千万富翁丢失1000块钱与普通家庭丢失1000块钱的意义不一样。为了缓和这个问题,我们对Bounding Box的宽和高取平方根。如下图:

8. 如何定位目标物体的grid cell和Bounding Box

我们知道了损失函数如何计算,yolo算法预测每个grid cell的Bounding Box?训练阶段,我们需要知道物体的实际grid cell和Bounding Box。

如何定位?若目标物体的中心点在某一个grid cell,则该目标物体属于这一个grid cell,然后以整个图像宽高为尺度,计算该物体所在grid cell的宽高。如下图的红框grid cell标记的狗:

参考

https://zhuanlan.zhihu.com/p/24916786?utm_source=qq&utm_medium=social

https://blog.youkuaiyun.com/shuiyixin/article/details/82533849

欢迎扫码关注:

YOLO目标检测算法演进与实战:从v1到v8核心原理与项目应用 最近在目标检测领域,YOLO系列算法以其“You Only Look Once”的核心理念,持续引领着实时检测技术的发展。无论是学术研究还是工业落地,从经典的YOLOv1到不断迭代的v13,掌握其演变脉络和核心实现,已成为CV工程师的必备技能。然而,面对网络上零散、版本混杂的教程,很多朋友反映难以构建系统化的知识体系,从原理理解到代码复现总是磕磕绊绊。 本文旨在为你梳理一条清晰的学习路径。我们将从YOLO最根本的设计思想出发,逐步拆解v1到v13(以当前主流稳定版本为讨论终点)的核心架构演进、关键改进点,并 阅读详情

相关推荐

yolo

目标检测:一类基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN,Faster R-CNN),它们是two-stage的,需要先使用启发式方法(selective search)或者CNN网络(RPN)产生Region Proposal,然后再在Region Proposal上做分类与回归。另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个CNN...

小童的博客 4573

YOLO V1原理详解

🎏目录YOLO系列是=一阶段目标检测算法(其中YOLO v1—YOLO v5基于Anchor based,从YOLO v6开始基于Anchor Free)。与以Faster R-CNN为代表的二阶段算法相比,一阶段算法不需要region proposal阶段,直接产生物体的类别概率和位置坐标值。因此,一阶段算法有更快的检测速度。但是一个网格(grid)只预测有限个bbox,覆盖率较低,精度相较于二阶段算法较低。

weixin_51691064的博客 4727

yolo系列的发展史

定义:YOLO(You Only Look Once)个算法的名字就很形象——你只看一次(You Only Look Once),意味着它通过一次检测过程就能处理整张图片,而不需要像以前的算法那样分步骤处理。是一种单阶段(one-stage)的目标检测算法,其核心思想是将目标检测任务视为一个回归问题,通过单个神经网络直接预测图像中的物体类别和边界框。

lbr15660656263的博客 9180

目标检测算法之YOLO运行流程

参考博客 目标检测算法之YOLO 一、YOLO的概念 YOLO这个名字完整体现了算法的精髓:You Only Look Once 它与RCNN系列算法不同。RCNN系列算法(RCNN/Fast RCNN/Faster RCNN)是two-stage模式,即经过了两次检测,第一次是获取proposal box,第二次才是图像预测。YOLO是one-stage模式,使用统一的网络来完成物体识别...

IT菜鸟 1万+

深度学习|目标检测与YOLO算法

介绍深度学习中视觉识别领域的目标检测算法,并简述YOLO算法的步骤与原理。

weixin_58243219的博客 5398

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2323

【论文理解】理解yolov3的anchor、置信度和类别概率

以前写过一篇博客,都是转载其余博主的内容,对yolov3有了基本认识,但是当时只浮于表面,并没有真正的理解yolov3,现在对于yolov3的anchor计算,损失函数的计算有了一些新的理解,记录一下。 在网络最后的输出中,对于每个grid cell产生3个bounding box,每个bounding box的输出有三类参数:一个是对象的box参数,一共是四个值,即box的中心点坐标(x,y...

DLUT_yan的博客 4万+

OpenFOAM算例文件结构深度解析:以cavity案例为例教你读懂每个文件夹的作用

本文以OpenFOAM经典cavity案例为例,深度解析CFD算例文件结构。详细阐述了0、constant、system三个核心目录的作用:0存放初始与边界条件,constant定义物理属性和网格,system控制求解策略。通过剖析关键文件,帮助用户理解每个参数的意义,掌握从读懂到定制算例的能力,为高效使用这一开源CFD工具奠定坚实基础。

beer8的博客 242

Yolov1算法原理

到这里yolov1的算法基本已经了解差不多啦,包括它的前向推理和损失函数的的计算。其实现在yolo发展得非常快,也有非常多的学者在yolo上面做出了很多改进去应用到目标检测中。所以要对yolo进行改进的话,yolov1的本质思想是绕不开的话题。希望本篇文章对于大家了解yolo的算法有帮助。

m0_64363059的博客 2287

PostgreSQL和PostGIS安装、导入shp或gdb格式数据至数据库、使用QGIS测试上传PstGIS数据库操作和代码

本文详细介绍了postgresql和postgis安装步骤,并且使用postgis测试上传shp和gdb格式的矢量数据至数据库,包括步骤和代码,并使用qgis连接postgis数据查看数据库里的数据,数据依旧和本地数据一样可查看可编辑,方便后续数据底座开发和服务。

weixin_46456488的博客 1246

OpenFoam实用技巧——starccm网格高效转换openfoam格式全解析

本文详细解析了如何利用OpenFOAM官方工具`ccm26toFoam`,将STAR-CCM+生成的高质量网格高效、稳定地转换为OpenFOAM格式。内容涵盖从STAR-CCM+正确导出网格、执行转换命令、解读转换日志,到转换后关键的边界条件修复与网格质量检查等全流程,旨在帮助用户规避常见错误,实现无缝工作流衔接。

weixin_28309571的博客 460

一文看懂:YOLO V1目标检测算法原理解析

在YOLO(You Only Look Once)问世之前,目标检测算法就像是一个人拿着放大镜在图片上一点点寻找目标:​​先找可能包含物体的区域,再对这些区域进行分类​​。这种方法准确但速度慢,难以实时处理。2016年,Joseph Redmon等人提出YOLO V1,带来了一种​​革命性的思路​​:​​为什么不把目标检测当作一个回归问题,只需"看一眼"图片就能直接输出所有检测结果呢?​​ 这就是YOLO名称的由来——You Only Look Once。

qiutesting的博客 1190

2026实测可用!4个专业AI Agent Skills垂直搜索平台对比

📊本文以表格形式整理4个实测可用的专业AI Agent Skills垂直搜索平台,涵盖资源规模、适配生态等关键维度🤖,适合开发者按需选择技能获取渠道,解决平台筛选与访问难题✨

XiaoqiangClub的博客 525

【YOLO系列】 YOLOv1 目标检测算法原理详解

YOLOv1是首个将目标检测作为回归问题的单阶段模型,通过7x7网格预测物体位置和类别。其输出包含边界框坐标、置信度和类别概率,采用NMS筛选最优预测框。损失函数结合坐标、置信度和分类损失,并对小目标进行加权处理。训练分预训练和微调两阶段,速度快但小目标检测效果较差。YOLOv1结构简单,但存在定位与分类耦合等问题,为后续版本改进奠定基础。

weixin_48846514的博客 766

[QMT量化交易小白入门]-四、如何筛选优质可转债,并进行下单操作

通过上述步骤,成功地使用Python代码完成了可转债的筛选、数据处理和下单操作。当然,这只是一个基础的示例,实际投资中还需要考虑更多因素,如市场环境、资金管理、风险控制等。希望本文能为各位投资者提供一些有价值的参考,助力大家在投资道路上走得更远。

木头大左的博客 1733

EtherCAT主站SOEM -- 24 -- 基于STM32F767IGT6搭建自己的SOEM-EtherCAT主站

以上就是EtherCAT主站SOEM – 23 – 基于STM32F767IGT6搭建自己的SOEM-EtherCAT主站的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 3562

yolo目標檢測算法1-3原理總結

轉自https://www.cnblogs.com/xbit/p/10036981.html 基本思想V1: 将输入图像分成S*S个格子,每隔格子负责预测中心在此格子中的物体。 每个格子预测B个bounding box及其置信度(confidence score),以及C个类别概率。 bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,均被归一化. 置信度反映是...

xidaoliang的博客 391

基于YOLOv8深度学习架构的智能农业巡检小车系统—面向农作物与杂草实时精准识别的创新实践

本研究设计并实现了一套基于YOLOv8的智能农业巡检小车系统,解决农田中农作物与杂草的精准识别与追踪问题。系统采用改进YOLOv8-RGCSPELAN-ECA-AFPN模型,融合ECA注意力机制与AFPN多尺度特征融合结构,提升复杂环境下的检测精度。硬件以树莓派4B为核心,集成摄像头、传感器与电机模块,具备避障、循迹与自主导航功能。移动端基于Android部署NCNN推理引擎,实现模型高效移植与实时检测。

Stara-AI的博客 1426

【目标检测算法】YOLO-V1~V3原理梳理

本篇博客简单介绍YOLO-V1~YOLO-V3的基本原理和内容。后续会有博客对代码进行分析。

三木今天学习了嘛の博客 1500

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

从V1到V4,让你读懂YOLO原理——深度AI科普团队

YOLO系列是目前主流的目标检测算法,其 检测目标位置和对目标物体进行分类这两步同时进行,极大加快了其检测速度,这里我介绍了yolov1到yolov4的大体知识概述,让你初步了解其原理。代码及代码解读会在之后的博客中给出,

小白不白 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

YOLO 网络的原理及发展史

YOLO 网络是一种基于深度学习的端到端目标检测算法,它将目标检测问题转化为一个回归问题,直接在图像上预测目标的位置和类别。从 YOLO v1 到 YOLO v5,YOLO 网络的准确率和速度都得到了极大的提升,同时也变得更加易于训练和部署。相信在未来,YOLO 网络将继续发挥重要的作用,为计算机视觉领域的发展做出更大的贡献。近年来,随着深度学习技术的飞速发展,出现了许多优秀的目标检测算法,其中 YOLO(You Only Look Once)系列算法以其高效、快速和准确的特点,受到了广泛的关注和应用。

m0_44975814的博客 4189

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

YOLO目标检测理论详解,YOLOv1理论知识讲解,超w字精读(学习YOLO框架必备),全网最详细教程

对于初学者的你来说,选择适合的论文、选择通俗易懂又全面的科普文章等,具有太多的偶然性。如果迟迟没有找到合适的文章,那就不能理解什么是 YOLO 检测器,什么又是 Detection with Transformers 框架。对于小白来说,直接上手开源项目难道比较大,而且网上直接带你上手的 YOLO 项目很多,虽然能明白一套训练流程和推理流程,但对于一些 YOLO 模型理论、损失函数和整体框架逻辑显得茫然不知,因此,这期文章我会一步一步带你了解 YOLO 目标检测理论,让你快速上手 YOLO。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4591

深度学习之目标检测YOLO简介和YOLO v1模型算法流程详解说明(超详细理论篇)

YOLO(You Only Look Once)是一种实时目标检测算法,它创新性地将目标检测转化为单次前向传播的回归问题,通过单一神经网络同时预测目标边界框和类别概率,极大提升了检测速度。YOLO v1将输入图像划分为S×S网格,每个网格预测B个边界框、置信度及C个类别概率。其网络架构包含24个卷积层和2个全连接层,损失函数由边界框坐标误差、置信度误差和分类误差组成,通过权重因子平衡各任务贡献。训练时,先在ImageNet上预训练前20层卷积层,再微调后续层,并采用数据增强技术提升泛化能力。

qq_55433305的博客 6057

【YOLO系列】YOLO.v1算法原理详解

详细介绍了yolo系列目标检测算法的原理和发展过程。

deepsprings的博客 2837

YOLO目标检测模型原理介绍

YOLO-v1介绍 YOLO是一个端到端的目标检测算法,不需要预先提取region proposal(RCNN目标检测系列),通过一个网络就可以输出:类别,置信度,坐标位置,检测速度很快,不过,定位精度相对低些,特别是密集型小目标。 YOLO将图像resize到448x448作为输入,输出7x7x30,即:将图片划分为7x7,每个单元格...

weixin_34062329的博客 3518

目标检测 and YOLO系列算法

学习视频:吴恩达目标检测Yolo入门讲解 目标检测算法

Nismilesucc的学习札记 318
上一篇: 最新消息!阿里宣布无限期延迟复工,字节跳动、腾讯......等企业也再次延迟!...
下一篇: 深入理解LightGBM
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值