《深度学习》YOLO v1网络架构 、损失值、NMS极大值抑制

目录

一、Yolo系列v1

1、核心思想

2、示例

3、流程图解析

二、YOLO系列v1损失函数

1、位置误差

2、置信度误差

3、类别概率损失

三、NMS非极大值抑制

1、概念

2、步骤

四、YOLO v1优缺点

1、优点

1)速度快

2)端到端

3)多尺度预测

4)网络结构简单

2、缺点

1)对小目标检测效果差

2)每个网格只能生成两个框,且只能预测一个类别


一、Yolo系列v1

1、核心思想

        将一幅图像分成SxS个网格(grid cell),如果某个object的中心落在这个网格中,则这个网格就负责预测这个object。YOLO v1将图像分为7*7个网格

2、示例

        对于上图,YOLOv1将输入图片划分成7×7的网格,每个网格允许预测出2个边框(bounding box),这些边框的大小可以超出当前网格的范围,对于每个边框,YOLOv1都预测了5个参数,分别是中心坐标(x, y)、宽度w、高度h以及置信度confidence。置信度反映了模型对边框内包含物体的信心程度以及边框的准确度。

3、流程图解析

        YOLOv1的网络结构主要由卷积层、池化层以及最后的全连接层组成。

        网络的输入448x448x3的彩色图片输出是7x7x30的张量(tensor)。

        7x7表示将输入图片划分成了7*7个网格(grid),每个网格负责检测其内的物体。

        30表示每个网格内的30个预测信息,包括20个类别概率(以PASCAL VOC数据集为例,该数据集共20个类别)、2个预选框(bounding box)及其置信度(每个边界框包含中心点坐标x、y,宽度w、高度h以及一个置信度分数)。

        坐标点x,y(相对于网格单元格边界的框的中心)用对应网格的归一化到0-1之间,w,h用图像的width和height归一化到0-1之间。

二、YOLO系列v1损失函数

1、位置误差

        如上图所示,其为位置误差的计算公式,其中\lambda对应的值为一个系数,表示如果你觉得位置误差更重要,那么就设置大一点,置信度误差与分类误差也是同样的意思

        第二个红框内的符号表示第i个网格的第j个预选框,如果负责预测物体,那么整体的值为1,反之为0

        前面的求和符号s平方表示网格的格式,例如YOLO v1中的网格个数为7*7,然后B表示预选框的个数,此处数值为2,后面的x表示预选框的中心点的坐标x,y,以及预选框的宽w、高h。

2、置信度误差

        \lambda的值所表示的意思和上述一致,但是第二个像阿拉伯数字1noobj的符号,其所表示的值和上述位置误差中的相反,此处表示第i个网格,第j个预选框,如果不负责预测物体,那么他的值为1,否则为0,

        C的表示置信度的值,置信度C的值 = Pr类别概率 * IOU

        类别概率表示边界框(预选框)内存在对象的概率,若存在对象则为1,不存在则为0,IOU为预测的位置框和真实值的框相交集的值除以并集的值的大小。

        Ci表示模型预测出来的置信度的值,C^i的值表示实际计算得到的置信度的值

3、类别概率损失

        这里第一个求和符号后面的小符号,表示第i个网格是否包含物体,如果包含,那么其值为1,否则为0 

        pi(C)-p^i(C)表示预测的类别的概率减去真实标签的概率,例如模型输出20类别的结果,即有20个数据,其中有预测到狗的概率,加入标签打的是狗,只需要将20个数据中预测狗额概率的值取出来,然后减去1,在对结果平方即可

三、NMS非极大值抑制

1、概念

        在目标检测过程中,通常会生成大量的候选框,当前v1版本有2个复选框,这些候选框可能会有重叠或者包含关系。为了减少重叠的候选框,避免重复检测同一个目标,使用非极大值抑制可以筛选出最佳的目标框。

        例如上图中,同一个人脸被多个预选框预测出来,导致了预选框的重叠,此时可以将置信度低的抑制了,只保留最大的那个。

2、步骤

        1)对所有的候选框根据某个评分指标(例如置信度得分)进行排序,得到一个有序列表;

        2)选择评分最高的候选框,并将其添加到最终的目标框列表中;

        3)计算当前选择的候选框与其他未选择的候选框的重叠区域,并计算重叠区域与两个候选框面积的比值;

        4)如果重叠区域与两个候选框面积的比值超过了设定的阈值,则将该候选框从列表中移除;

        5)重复步骤2~4,直到所有的候选框都被处理完毕。

四、YOLO v1优缺点

1、优点

        1)速度快

                YOLO v1的设计初衷就是实现实时目标检测,相较于其它目标检测算法如R-CNN和SSD,YOLO v1在保持较高准确率的同时,能够达到更快的检测速度,每秒处理上百张图片。

        2)端到端

                YOLO v1是一个端到端的算法,它将目标检测任务作为一个单一的回归问题进行处理,通过在全局上直接预测目标的类别和位置,避免了复杂的后处理步骤。

        3)多尺度预测

                YOLO v1在训练和测试阶段都会对不同尺度的图像进行处理,通过将输入图像划分为网格单元,并生成边界框,确保对不同尺度的目标能够进行有效的检测。

        4)网络结构简单

                YOLO v1的网络结构相对简单,由24个卷积层和2个全连接层组成。这种端到端的网络结构使得YOLO v1易于实现和部署。

2、缺点

        1)对小目标检测效果差

                由于输入图像大小为448x448,而输出特征图大小为7x7,因此YOLO v1在下采样过程中会丢失大量小目标的特征信息。这导致YOLO v1对小目标的检测效果不理想,容易出现漏检或误检的情况。

        2)每个网格只能生成两个框,且只能预测一个类别

                这一限制使得YOLO v1在处理多类别、多目标的情况时存在一定的局限性,例如图像重叠时,无法预测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker 可用镜像服务地址(2024.10.25亲测可用)

1.错误 Error response from daemon: Get “https://registry-1.docker.io/v2/” 原因:镜像服务器地址不可用。 2.可用地址 编辑daemon.json: vi /etc/docker/daemon.json内容修改如下: {"registry-mirrors": ["https://…

光伏业务管理软件:提升企业管理效率的利器

一、优化业务流程 光伏业务管理软件能够对企业的各项业务流程进行全面梳理和优化。从项目前期的规划设计、设备采购,到项目建设中的施工管理、质量控制,再到项目后期的运维服务,软件都可以进行有效的跟踪和管理。 通过规范业务流程&#xf…

银行客户贷款行为数据挖掘与分析

#1024程序员节 | 征文# 在新时代下,消费者的需求结构、内容与方式发生巨大改变,企业要想获取更多竞争优势,需要借助大数据技术持续创新。本文分析了传统商业银行面临的挑战,并基于knn、逻辑回归、人工神经网络三种算法&#xff0…

Spring Boot框架下中小企业设备管理系统开发

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理中小企业设备管理系统的相关信息成为必然。…

新手入门之高级maven

文章目录 前言一、分模块设计与开发Maven 分模块设计的优势Maven 分模块设计的基本结构Maven 分模块项目的构建 二、继承与聚合三种打包方式&#xff1a;Maven 父模块和子模块的关系Maven 中的版本锁定1.<dependencyManagement> 标签主要特点&#xff1a; 2.使用 <pro…

刷题 - 图论

1 | bfs/dfs | 网格染色 200. 岛屿数量 访问到马上就染色&#xff08;将visited标为 true)auto [cur_x, cur_y] que.front(); 结构化绑定&#xff08;C17&#xff09;也可以不使用 visited数组&#xff0c;直接修改原始数组时间复杂度: O(n * m)&#xff0c;最多将 visited 数…

基于GPT的智能客服落地实践

&#x1f4cd;前言 在日常生活中&#xff0c;「客服」这个角色几乎贯穿着我们生活的方方面面。比如&#xff0c;淘宝买东西时&#xff0c;需要客服帮你解答疑惑。快递丢失时&#xff0c;需要客服帮忙找回。报名参加培训课程时&#xff0c;需要客服帮忙解答更适合的课程…… 基…

重构商业生态:DApp创新玩法与盈利模式的深度剖析

随着区块链技术的发展&#xff0c;DApp&#xff08;去中心化应用&#xff09;正在从实验走向成熟。DApp以去中心化、透明性和不可篡改性为基础&#xff0c;结合智能合约&#xff0c;逐步改变传统商业运作模式&#xff0c;创造新的市场生态。本文将从DApp的独特优势、创新玩法和…

找不到包的老版本???scikit-learn,numpy,scipy等等!!

废话不多说 直接上链接了&#xff1a; https://pypi.tuna.tsinghua.edu.cn/simple/https://pypi.tuna.tsinghua.edu.cn/simple/https://pypi.tuna.tsinghua.edu.cn/simple/xxx/ 后面的这个xxx就是包的名字 大家需要什么包的版本&#xff0c;直接输进去就可以啦 举个栗子&#…

【汇编语言】第一个程序(一)—— 一个源程序从写出到执行的过程

文章目录 前言1. 第一步&#xff1a;编写汇编源程序2. 第二步&#xff1a;对源程序进行编译连接3. 第三步&#xff1a;执行可执行文件中的程序结语 前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但仅仅从课程…

9. JSON RPC 服务

① JSON RPC 是一种基于 JSON 格式的轻量级的 RPC 协议标准,易于使用和阅读。 ② 在 Hyperf 里由 hyperf/json-rpc 组件来实现,可自定义基于 HTTP 协议来传输,或直接基于 TCP 协议来传输。 一、服务中心 目前 Hyperf 仅支持两种服务中心的组件支持: consul、nacosconsul 安…

了解 .NET 8 中的定时任务或后台服务:IHostedService 和 BackgroundService

IHostedService.NET 8 引入了使用和管理后台任务的强大功能BackgroundService。这些服务使长时间运行的操作&#xff08;例如计划任务、后台处理和定期维护任务&#xff09;可以无缝集成到您的应用程序中。本文探讨了这些新功能&#xff0c;并提供了实际示例来帮助您入门。您可…

Visual Studio配置tinyfiledialogs

下载地址&#xff1a;github下载链接 将下载的文件解压后&#xff0c;打开VS添加现有项 将.c文件添加进去 然后将tinyfiledialogs.h文件路径添加到包含目录 使用时包含头文件即可&#xff1a; #include <tinyfiledialogs.h>

上海亚商投顾:沪指缩量震荡 风电、传媒股集体走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 市场全天缩量震荡&#xff0c;三大指数集体收涨&#xff0c;北证50则跌超7%&#xff0c;超80只北交所个股跌逾…

一文搞定图

图 图 常见类型与术语 图的表示 邻接矩阵 邻接表 基础操作 基于邻接矩阵的实现 基于邻接表的实现 遍历 广度优先 深度优先 图 图 是一种非线性数据结构&#xff0c;由 顶点 和 边 组成。 相较于线性关系的链表和分治关系的树&#xff0c;网络关系的图自由度更高 常见…

初探Vue前端框架

文章目录 简介什么是Vue概述优势MVVM框架 Vue的特性数据驱动视图双向数据绑定指令插件 Vue的版本版本概述新版本Vue 3Vue 3新特性UI组件库UI组件库概述常用UI组件库 安装Vue安装Vue查看Vue版本 实例利用Vue命令创建Vue项目切换工作目录安装vue-cli脚手架创建Vue项目启动Vue项目…

实战-任意文件下载

实战-任意文件下载 1、开局 开局一个弱口令&#xff0c;正常来讲我们一般是弱口令或者sql&#xff0c;或者未授权 那么这次运气比较好&#xff0c;直接弱口令进去了 直接访问看看有没有功能点&#xff0c;正常做测试我们一定要先找功能点 发现一个文件上传点&#xff0c;不…

Find My平板键盘|苹果Find My技术与键盘结合,智能防丢,全球定位

‌平板键盘的主要用途包括提高输入效率、支持轻量化办公、提供丰富的文本编辑功能以及快捷操作。相比于直接在屏幕上打字&#xff0c;使用键盘可以显著提升输入速度&#xff0c;减少输入错误&#xff0c;特别是对于需要大量文字输入的场景&#xff0c;如写作、记录笔记等‌。平…

擎创科技声明

近日&#xff0c;我司陆续接到求职者反映&#xff0c;有自称是擎创科技招聘人员&#xff0c;冒用“上海擎创信息技术有限公司”名义&#xff0c;用“126.com”的邮箱向求职者发布招聘信息&#xff0c;要求用户下载注册APP&#xff0c;进行在线测评。 对此&#xff0c;我司郑重…

使用 Flask 实现简单的登录注册功能

目录 1. 引言 2. 环境准备 3. 数据库设置 4. Flask 应用基本配置 5. 实现用户注册 6. 实现用户登录 7. 路由配置 8. 创建前端页面 9. 结论 1. 引言 在这篇文章中&#xff0c;我们将使用 Flask 框架创建一个简单的登录和注册系统。Flask 是一个轻量级的 Python Web 框架…