《深度学习》 了解YOLO基本知识

目录

一、关于YOLO

1、什么是YOLO

2、经典的检测方法

1)one-stage单阶段检测

模型指标介绍:

2)two-stage多阶段检测

二、关于mAP指标

1、概念

2、IOU

3、关于召回率和准确率

4、示例

5、计算mAP


一、关于YOLO

1、什么是YOLO

        YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,由Joseph Redmon等人于2016年提出。它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别位置,例如下图所示。

        YOLO算法将输入图像分成SxS个网格,每个网格负责预测该网格内是否存在目标以及目标的类别和位置信息。此外,YOLO算法还采用了多尺度特征融合的技术,使得算法能够在不同尺度下对目标进行检测。

        关于不同尺度:例如在ResNet残差网络中,无论是18层的还是36层的,他们的输入图像的尺寸都是固定不变的,不能传入不同尺寸的图像,而YOLO算法可以传入任意大小的图片,对其进行检测。

        相比于传统的目标检测算法,如R-CNN、Fast R-CNN和Faster R-CNN等,YOLO算法具有更快的检测速度和更高的准确率,这得益于其端到端训练方式单阶段检测的特性,使其可以同时处理分类定位任务,避免了传统方法中的多阶段处理过程。因此,YOLO算法广泛应用于实时目标检测自动驾驶等领域。

        关于端到端:

                端到端的训练是模型直接从原始输入数据学习如何映射到最终的输出目标,而不需要在中间阶段进行人为的特征工程或分割成多个独立的处理模块。例如,以前的汽车自动驾驶,通过车上搭载的摄像头拍摄实时画面,将获取到的画面每一帧图像传入模型进行识别,然后对模型的输出结果进行判断,判断是哪种类别,是否需要减速转向,然后再执行相应的减速转弯等操作,二当前端到端的训练,摄像头的事实画面帧传入模型后,经过检测后直接执行减速转向灯的操作。

2、经典的检测方法

1)one-stage单阶段检测

        YOLO系列、SSD

        单阶段检测指在目标检测任务中,通过一个网络模型直接预测出物体的类别和位置。

        优点:识别速度非常快,适合做实时检测任务

        缺点:正确率相对two-stage较低,尤其在小物体和严重遮挡的情况下性能较差。

        模型指标介绍:

        mAP指标:用于评判目标检测效果,其值越大越好,在机器学习的分类任务  

        FLOPS:表示模型进行一次前向传播(即处理一张图像)所需要的浮点运算次数。它是一个衡量算法效率的关键指标,与模型的计算量和推断速度密切相关。

        FPS:每秒可以处理的图像数量

2)two-stage多阶段检测

        Faster-rcnn和mask-Rcnn系列

        两阶段目标检测器是一种先生成候选框,然后对候选框进行分类和回归的检测方法。这种方法主要包括两个阶段:

        第一阶段:生成候选框。这通常通过一个类似于Selective Search或EdgeBoxes等区域提名算法来实现,该算法从输入图像中生成多个候选框。每个候选框都会经过一个CNN模型进行特征提取,然后通过分类器进行过滤,保留与目标物体更相似的候选框。

         第二阶段:在保留的候选框上进行精细的分类和回归。这个阶段通常使用另一个CNN模型或类似SVM的分类器来进行分类和回归。对于每个候选框,可能需要预测物体的类别、位置和大小等。 代表性的两阶段目标检测器包括R-CNN系列,以及其改进版本Fast R-CNN、Faster R-CNN和Mask R-CNN等。

        优点:正确率比较高,识别效果理想

        缺点:识别速度比较慢,通常达到5FPS

二、关于mAP指标

1、概念

        mAP(mean Average Precision)是用来评估目标检测算法性能的常用指标之一。它结合了目标检测算法的准确率和召回率,并考虑了不同类别之间的差异。

        准确率是指预测为该类别的样本中,被正确分类的比例。召回率是指该类别中被正确分类的样本数与该类别总样本数的比例。

2、IOU

        IOU用于评估预测框真实目标框之间的重叠程度,即计算预测框和真实目标框的交集面积除以它们的并集面积来进行计算。

3、关于召回率和准确率

        1、召回率:预测的结果是真的有多少是预测正确的

        2、准确率:真实的结果中有多少是预测正确的

4、示例

        如上图所示,蓝色框中为真实的人脸,红色框为预测的人脸位置,旁边的值则表示为置信度的值也叫阈值,表示模型对于预测结果的置信程度,即模型认为该结果是正确的程度。

        计算这个检测任务中精确率召回率:

               1、限制阈值,例如0.9,超过0.9表示检测正确1,否则检测失败,此时真实值1预测值为1的只有1个,真实值为1预测值为0的为2,真实值为0预测值为1的0个,真实值为0预测值为0的有0个。

               2、统计TP、FP、FN,TP=1,FP=0,FN=2,精确率=1/1,召回率=1/(1+2)=1/3

5、计算mAP

        根据不同的阈值(置信度),绘制出召回率精确率的曲线,将曲线以下的面积作为MAP值。当MAP值越大,则表示指标越好 。

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

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

相关文章

基于泊松洞过程建模的异构蜂窝网络信干比增益与近似覆盖率分析

大家好,我是带我去滑雪! 移动通信业务的高速增长使得传统同构蜂窝网络结构不能满足用户对通信质量的要求,而异 构网络架构可以有效解决这种问题。文中对泊松洞过程下异构蜂窝网络的覆盖率进行研究。首 先,利用泊松洞过程( Poisson…

求助帖:ubuntu22.10 auto install user-data配置了为何还需要选择语言键盘(如何全自动)

0-现象:配置好autoinstll的PXE与user-data文件安装过程仍然要人工选语言、键盘等,非全自动;—— 1.硬件环境:x86_64机器 U盘(/dev/sda); 2.软件环境:DHCPPXE启动做好grub与pxe的aut…

【AI绘画】Midjourney进阶:留白构图详解

博客主页: [小ᶻZ࿆] 本文专栏: AI绘画 | Midjourney 文章目录 💯前言💯什么是构图为什么Midjourney要使用构图 💯留白构图特点使用场景提示词书写技巧测试 💯小结 💯前言 【AI绘画】Midjourney进阶&…

Springboot 的手动配置操作讲解

1.创建新项目: 手动创建使用maven 项目 并选择骨架: quickstart 骨架用来搭建spingboot 2.手动输入pom.xml依赖: 要想创建springboot 首先继承springboot 的父类 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…

算法的学习笔记—两个链表的第一个公共结点(牛客JZ52)

&#x1f600;前言 在链表问题中&#xff0c;寻找两个链表的第一个公共结点是一个经典问题。这个问题的本质是在两个单链表中找到它们的相交点&#xff0c;或者说它们开始共享相同节点的地方。本文将详细讲解这个问题的解题思路&#xff0c;并提供一种高效的解决方法。 &#x…

python 爬虫抓取百度热搜

实现思路&#xff1a; 第1步、在百度热搜页获取热搜元素 元素类名为category-wrap_iQLoo 即我们只需要获取类名category-wrap_为前缀的元素 第2步、编写python脚本实现爬虫 import requests from bs4 import BeautifulSoupurl https://top.baidu.com/board?tabrealtime he…

[手机Linux PostmarketOS]七, Linux使用selenium爬虫

一&#xff0c;selenium安装 # 用pip 安装 selenium pip3 install selenium --break-system-packages 二&#xff0c;安装浏览器Chrome Alpine Linux 环境中没有google Chrome&#xff0c; 使用 Chromium 浏览器作为 Chrome 的替代品&#xff0c;Chromium 是 Chrome 的开源版本…

定时任务使用kafka

定时任务使用kafka 在上述业务场景中使用 Kafka 而不是直接定时执行任务有以下几个重要原因&#xff1a; 一、解耦 任务触发与执行分离&#xff1a; 使用 XXL-JOB 定时触发任务并将任务消息发送到 Kafka&#xff0c;实现了任务触发端&#xff08;通常是调度系统&#xff09;和…

数字后端零基础入门系列 | Innovus零基础LAB学习Day5

###Module 12 RC参数提取和时序分析 数字后端零基础入门系列 | Innovus零基础LAB学习Day4 数字后端零基础入门系列 | Innovus零基础LAB学习Day3 数字后端零基础入门系列 | Innovus零基础LAB学习Day2 数字后端零基础入门系列 | Innovus零基础LAB学习Day1 ###LAB12-1 这个章节…

机器学习与神经网络:科技的星辰大海

前提 近日&#xff0c;2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者&#xff0c;这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家&#xff0c;如今却将全球范围内对机器学习和神经网络的研究和开发作为了一…

kotlin 入门总结

目录 1、构造函数 2、数据类 data class&#xff0c; 3、object 单例类&#xff0c;相当于java线程安全的懒加载 4、companion object 伴生对象&#xff0c;类似于包装静态值的一个区域块 5、解构 6、空安全 7、条件语句 8、集合 9 属性和支持属性 属性 支持属性 10 …

kali的下载与配置

kali.org官网下载 选择VMware的版本下载&#xff0c;并解压&#xff0c;复制解压后的路径 在虚拟机中&#xff0c;点击文件&#xff0c;打开 默认的账户密码均为kali 修改密码 sudo passwd root 切换root用户 su root 查看IP ip addr IP:192.168.184.131 粘贴复制shiftinsert…

从图像识别到聊天机器人:Facebook AI的多领域应用

随着人工智能技术的快速发展&#xff0c;Facebook已在多个领域内广泛应用AI技术&#xff0c;以提升用户体验、提高效率并推动创新。从图像识别到聊天机器人&#xff0c;Facebook的AI应用涵盖了社交媒体的方方面面&#xff0c;下面我们将深入探讨这些应用的具体实现及其对用户生…

ecmp观察

文章目录 简述选路策略实验说明开始验证 简述 ECMP&#xff08;Equal Cost Multi Path&#xff09;等价多路径&#xff0c;又称等价路由。指到达同一个目的IP或者目的网段存在多条COST值相等的不同路由路径。在具有多条到达同一目的地的网络链路的环境中&#xff0c;传统路由技…

2.1 > Shell 是什么、如何更熟练的使用 Bash Shell

Shell 基础知识 Shell是计算机操作系统中的一个命令行解释器&#xff0c;由C语言编写&#xff0c;用于用户与操作系统之间进行交互。用户可以通过Shell输入命令&#xff0c;操作系统接收到这些命令后执行相应的操作。Shell一般还提供了编程语言的基本功能&#xff0c;允许用户…

在 VS Code 中轻松绘图:Draw.io Integration 插件详解

文章目录 在 VS Code 中轻松绘图&#xff1a;Draw.io Integration 插件详解一、什么是 Draw.io Integration 插件&#xff1f;二、插件安装指南1. 安装步骤2. 配置插件 三、如何使用 Draw.io Integration 插件&#xff1f;1. 创建新绘图文件2. 编辑现有图表3. 常用功能与技巧 四…

网安加·百家讲坛 | 徐一丁:金融机构网络安全合规浅析

作者简介&#xff1a;徐一丁&#xff0c;北京小西牛等保软件有限公司解决方案部总监&#xff0c;网络安全高级顾问。2000年开始从事网络安全工作&#xff0c;主要领域为网络安全法规标准研究、金融行业安全咨询与解决方案设计、信息科技风险管理评估等。对国家网络安全法规标准…

【数据结构与算法】《布隆过滤器:高效数据筛选的魔法工具》

标题&#xff1a;《布隆过滤器&#xff1a;高效数据筛选的魔法工具》 摘要&#xff1a;本文将带你深入了解布隆过滤器这一神奇的数据结构。从研究推荐系统中的已读内容排除和重复内容去重问题引入&#xff0c;详细介绍布隆过滤器的产生契机、设计思想、优缺点及用途。通过阅读…

机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用

市场应用背景 DELTA并联机械手是由三个相同的支链所组成&#xff0c;每个支链包含一个转动关节和一个移动关节&#xff0c;具有结构紧凑、占地面积小、高速高灵活性等特点&#xff0c;可在有限的空间内进行高效的作业&#xff0c;广泛应用于柔性上下料、包装、分拣、装配等需要…

MyBatis 基础知识:配置文件、映射器与 SQL 示例详解

本篇博客将深入探讨 MyBatis 的基础知识&#xff0c;包括配置文件的设置、映射器的使用以及实际的 SQL 示例。 文章目录 前言 准备工作 根据主键删除 日志输出 ​编辑 预编译SQL SQL注入 ​编辑 参数占位符 新增员工 主键返回 更新 查询&#xff08;根据ID查询&#x…