【YOLO模型】(1)--YOLO是什么

一、什么是YOLO

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,由Joseph Redmon等人于2016年提出。

1. 核心思想

它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置。

2. 原理

YOLO算法将输入图像分成SxS个网格,每个网格负责预测该网格内是否存在目标以及目标的类别和位置信息。

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

3. 经典的检测方法

在这里插入图片描述

  • one-stage
    • 优点:识别速度非常快,适合做实时检测任务
    • 缺点:正确率相比较低

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

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

在这里插入图片描述

检测过程:输入一张图片,直接得到一张图片并且候选框框选出物体。

在这里插入图片描述

  • two-stage
    • 优点:正确率比较高,识别效果理想。
    • 缺点:识别速度比较慢,通常达到5FPS。

在这里插入图片描述

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

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

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

在这里插入图片描述

二、Map指标

我们知道,在机器学习时对于结果的评估指标有:

  1. 分类:召回率、精确值以及准确值等等
  2. 回归:R方

那么,现在对于YoLo算法得到的结果,是如何评估的呢?

使用Map指标来评估算法的性能

1. 含义

Map指标结合了精确率(Precision)和召回率(Recall),用于衡量模型在不同类别目标上的检测准确性和覆盖率。具体来说,Map指标通过计算每个类别的精确率-召回率曲线下的面积(Area Under the Precision-Recall Curve,AUC-PR),然后对所有类别的AUC-PR进行平均,得到Map分数。这个分数越高,表示模型的检测性能越好。

2. Map指标的计算过程

  1. 确定TP、FP、FN和TN

    • TP(True Positive):正确预测为正样本(真正例)。
    • FP(False Positive):错误预测为正样本(假正例)。
    • FN(False Negative):错误预测为负样本(假负例)。
    • TN(True Negative):正确预测为负样本(真负例)。

    在目标检测中,如果一个预测框与某一个GT(Ground Truth)的交并比(IoU)大于某个阈值(如0.5),则认为这个预测框正确(真正例),标记为TP。否则,如果预测框被错误地判断为正样本,则标记为FP。同样地,如果实际的正样本没有被模型预测出来,则标记为FN。

  2. 计算精确率和召回率

    • 精确率(Precision):正确预测为正样本数量 / 预测为正样本数量 = TP / (TP + FP)。
    • 召回率(Recall):正确预测为正样本数量 / 实际正样本数量 = TP / (TP + FN)。
  3. 绘制PR曲线

    以召回率为横坐标,精确率为纵坐标,绘制出不同召回率下的精确率值,形成PR曲线。

  4. 计算AP(Average Precision)

    AP衡量的是模型在每个类别上的好坏,它是PR曲线下的面积。通常通过插值法来计算AP值,即对每个不同的召回率值,取其对应的最大精确率值,然后计算这些精确率值的平均值。

  5. 计算Map

    得到所有类别的AP值后,取这些AP值的平均值即可得到Map分数。

在这里插入图片描述

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

总结

本篇介绍了:

  1. YOLO是一种基于深度学习的目标检测算法。注意,是一个回归问题!!
  2. 两种经典的检测方法:one-stage和two-stage。
    1. one-stage:直接生成候选框,定位图像。
    2. two-stage:先生成候选框标出所有的物体,然后找到目标物体。
  3. 使用Map指标来评估YOLO算法的性能。

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

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

相关文章

[Linux] CentOS7替换yum源为阿里云并安装gcc详细过程(附下载链接)

前言 CentOS7替换yum源为阿里云 yum是CentOS中的一种软件管理器,通过yum安装软件,可以自动解决包依赖的问题,免去手工安装依赖包的麻烦。 yum使用了一个中心仓库来记录和管理软件的依赖关系,默认为mirrorlist.centos.org&#xf…

1208. 尽可能使字符串相等

Problem: 1208. 尽可能使字符串相等 题目描述 给定两个相同长度的字符串 s 和 t,将字符串 s 转换为字符串 t 需要消耗开销,开销是两个字符的 ASCII 码差值的绝对值。还有一个最大预算 maxCost,我们需要在这个预算范围内,找到 s 中…

时钟分频电路之Innovus自动产生的_clock_gen skew group盘点

我们在查看时钟树综合的log时会发现工具会自动生成一些skew group,这些skew group的名字都是以_clock_gen开头的。 skew_group _clock_gen_CLK_CORE_PLL_clk_reg_1/func: insertion delay [min0.020, max0.064, avg0.038, sd0.022], skew [0.045 vs 0.050], 100% {…

SSL证书有免费的吗?在哪里可以申请到?——附带申请步骤

申请免费的SSL证书通常可以通过以下几个步骤完成,这里以使用JoySSL为例进行说明,因为JoySSL提供了一个免费、自动化和开放的证书颁发机构(CA)来促进网站从HTTP向HTTPS的转换。 步骤: 选择工具: 访问JoySSL…

二百六十八、Kettle——同步ClickHouse清洗数据到Hive的DWD层静态分区表中(每天一次)

一、目的 实时数仓用的是ClickHouse,为了避免Hive还要清洗数据,因此就直接把ClickHouse中清洗数据同步到Hive中就行 二、所需工具 ClickHouse:clickhouse-client-21.9.5.16 Kettle:kettle9.2 Hadoop:hadoop-3.1.3…

汽车免拆诊断案例 | 2019 款奥迪 A6L 车行驶中偶发熄火

故障现象  一辆2019款奥迪A6L车,搭载2.0T发动机,累计行驶里程约为9万km。车主反映,车辆行驶中偶发熄火,故障频率较高。 故障诊断  接车后试车,起动发动机,可以正常起动着机。使用故障检测仪检测&#x…

Vue项目的创建

安装Vue工具 Vue CLI Vue CLI Vue.js 开发的标准工具,Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 npm install -g vue/cli安装之后,你就可以在命令行中访问 vue 命令。你可以通过简单运行 vue,看看是否展示出了一份所有可用命令的…

基于SSM邮票鉴赏系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,邮票信息管理,邮票分类管理,文章信息管理,系统管理,个人分享管理 用户账号功能包括:系统首页,个人中心&…

【正点原子K210连载】第四十八章 自学习分类实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第四十八章 自学习分类实验 在上一章节中,介绍了利用maix.KPU模块实现了MNIST的手写数据识别,本章将继续介绍利用maix.KPU模块实现的自学习分类。通过本章的学习,读者将学习到自学习分类应用在CanMV上的实现。 本章分为如下几个小节&#xf…

Hallo2 长视频和高分辨率的音频驱动的肖像图像动画 (数字人技术)

HALLO2: LONG-DURATION AND HIGH-RESOLUTION AUDIO-DRIVEN PORTRAIT IMAGE ANIMATION 论文:https://arxiv.org/abs/2410.07718 代码:https://github.com/fudan-generative-vision/hallo2 模型:https://huggingface.co/fudan-generative-ai/h…

后端C++

前言 1. Task0 1.1 获取你的服务器 1.2 对服务器进行基本操作 分别创建文件夹dir_a, dir_b, dir_c进入dir_a,创建a.txt, b.txt, c.txt 将a.txt, b.txt, c.txt 分别复制成: a.txt.bak, b.txt.bak, c.txt.bak 将a.txt, b.txt, c.txt 分别重命名为: a_new.txt, b_new.txt, c_ne…

凹凸性和拐点的概念

二阶导不存在也可能是拐点 判断拐点的充分条件

Android Studio USB调试真机映射屏幕画面

Android Studio USB调试真机映射屏幕画面 文章目录 Android Studio USB调试真机映射屏幕画面一、USB连手机并设置开发者模式1.1 报错信息1.2 启用开发者选项和 USB 调试:1.3 手机配置选项 二、Android Studio 开启手机投屏功能 一、USB连手机并设置开发者模式 1.1 …

Flutter 小技巧之 equatable 包解析以及宏编程解析

今天我们聊聊 equatable 包的实现,并通过 equatable 去理解 Dart 宏编程的作用和实现,对于 Flutter 开发者来说,Dart 宏编程可以说是「望眼欲穿」。 equatable 正如 equatable 这个包名所示,它的功能很简单,主要是用…

计算机毕业设计hadoop+spark知识图谱中药推荐系统 中药材推荐系统 中药可视化 中药数据分析 中药爬虫 机器学习 深度学习 人工智能 大数据

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 摘 要 本文所探讨的领域是…

【Linux】“echo $变量“ 命令打印变量值的底层原理

在 shell 中,echo $变量 命令的工作原理涉及几个关键步骤,主要是由 shell 解释器来处理变量的查找和替换。以下是详细的过程: 变量展开的过程顺序 变量引用: 在命令行中,变量通常以 $variable_name 或 ${variable_…

若依前后端分离超详情版

若依系统安装流程 1.安装Ubuntu系统 1.1 新建虚拟机 打开VMware Workstation,选择文件->新建虚拟机->典型(推荐T)->安装程序光盘映像文件->输入虚拟的名字->一直下一步即可 安装程序光盘映像文件 注意:选择ub…

专业第三方的控价价值

在当今竞争激烈的商业世界中,价格管控犹如一场没有硝烟的战争。品牌们为了维护自身的市场秩序和品牌价值,纷纷踏上控价的艰难征程。而在这个过程中,专业的第三方控价服务公司正以创新之姿,成为品牌们的得力助手。 曾经&#xff0c…

空间数据分析实验04:空间统计分析

实验概况 实验目的 了解空间统计分析的基本原理掌握空间统计分析的常用方法 实验内容 根据某村的土地利用数据和DEM数据,提取各村组耕地面积比例,并将其与村组平均坡度进行相关性分析,最后计算各村组单元的景观多样性指数。 实验原理与方…

【设计模式-原型】

**原型模式(Prototype Pattern)**是一种创建型设计模式,旨在通过复制现有对象的方式来创建新对象,而不是通过实例化类来创建对象。该模式允许对象通过克隆(复制)来创建新的实例,因此避免了重新创…