YOLOv5基础知识入门(3)— 目标检测相关知识点

news2024/11/27 5:32:35

前言Hello大家好,我是小哥谈。YOLO算法发展历程和YOLOv5核心基础知识学习完成之后,接下来我们就需要学习目标检测相关知识了。为了让大家后面可以顺利地用YOLOv5进行目标检测实战,本节课就带领大家学习一下目标检测的基础知识点,希望大家学习之后有所收获!🌈

 前期回顾:

            YOLOv5基础知识入门(1)— YOLO算法的发展历程

            YOLOv5基础知识入门(2)— YOLOv5核心基础知识讲解 

            目录

 🚀1.目标检测

 🚀2.目标检测数据集

2.1 PASCAL VOC数据集

2.2 MS COCO数据集

🚀3.目标检测性能指标

3.1 检测精度指标

3.2 检测速度指标

 🚀1.目标检测

目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一。由于各类物体有不同的外观、形状、姿态,再加上成像时的光照、遮挡等因素的干扰,目标检测一直是机器视觉领域最具有挑战性的问题。🍃

计算机视觉中关于图像识别有四大类任务

  • 分类(Classification):解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。
  • 定位(Location):解决“在哪里?”的问题,即定位出这个目标的的位置。
  • 检测(Detection):解决“是什么?在哪里?”的问题,即定位出这个目标的的位置并且知道目标物体是什么。
  • 分割(Segmentation):分为实例的分割(Instance-level)场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。

说明:

百科定义:♨️♨️♨️

目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割。它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。    

关于目标检测,具体如下图所示:

用YOLOv5进行目标检测,我们需要解决所检测目标的定位识别问题。💗

定位(Localization):解决的是目标“在哪里?”的问题,即需要获知目标位置(最小外接矩形,Bounding  box)。

识别(Recognition):解决的是目标“是什么?”的问题,即需要获知目标的类别标签(Category label)和置信度得分(Confidence score)。

说明:

置信度:♨️♨️♨️

置信度是介于0-1(或100%)之间的数字,它描述模型认为此预测边界框包含某类别目标的概率。通俗来说,即有多大概率确定所检测的物体是某物体。

同时,除了目标检测,还有分类、定位、实例分割等任务。

定位是找到检测图像中带有一个给定标签的单个目标 。

检测是找到图像中带有给定标签的所有目标


 🚀2.目标检测数据集

目标检测需要使用到数据集,本节课就给大家介绍一下目标检测领域常用的PASCAL VOCMS COCO数据集🍄

2.1 PASCAL VOC数据集

PASCAL VOC挑战赛在2005年至2012年间展开。PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛,PASCAL全称:Pattern Analysis, Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。很多优秀的计算机视觉模型比如分类、定位、检测、分割、动作识别等模型都是基于PASCAL VOC挑战赛及其数据集上推出的,尤其是一些目标检测模型(比如大名鼎鼎的R-CNN系列,以及后面的YOLO、SSD等)。📚

PASCAL VOC从2005年开始举办挑战赛,每年的内容都有所不同,从最开始的分类,到后面逐渐增加检测、分割、人体布局、动作识别(Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification)等内容,数据集的容量以及种类也在不断的增加和改善。该项挑战赛催生出了一大批优秀的计算机视觉模型(尤其是以深度学习技术为主的)。🎏

PASCAL VOC 2007: 9963张图像,24640个标注。

PASCAL VOC 2012: 11530 张图像,27450个标注。

该数据集有20个分类

  • Person: person
  • Animal: bird、cat、cow、dog、horse、sheep
  • Vehicle: aeroplane、bicycle、boat、bus、car、motorbike、train
  • Indoor: bottle、chair、dining table、potted plant、sofa、tv/monitor

说明:

链接: The PASCAL Visual Object Classes Challenge 2012 (VOC2012)

2.2 MS COCO数据集

MS COCO的全称是Microsoft Common Objects in Context,起源于是微软于 2014年出资标注的Microsoft COCO数据集,与ImageNet 竞赛一样,被视为是计算机视觉领域最受关注和最权威的比赛之一。在ImageNet竞赛停办后,COCO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆,也是目前该领域在国际上唯一能汇集Google、微软、 Facebook以及国内外众多顶尖院校和优秀创新企业共同参与的大赛。🎏

COCO(Common Objects in Context)数据集包含20万个图像:11.5万多张训练集图像, 5千张验证集图像,2万多张测试集图像。80个类别中有超过50万个目标标注,平均每个图像的目标数为7.2。🌷

说明:

链接:COCO - Common Objects in Context (cocodataset.org)


🚀3.目标检测性能指标

目标检测的性能指标包括检测精度(检测效果是否足够好)和检测速度(检测速度是否足够快)。🍉

检测精度指标:

  • Precision, Recall, F1 score
  • IoU (Intersection over Union)
  • P-R curve (Precison-Recall curve)
  • AP (Average Precision)
  • mAP (mean Average Precision)

检测速度指标:

  • 前传耗时
  • 每秒帧数 FPS (Frames Per Second)
  • 浮点运算量(FLOPS)

3.1 检测精度指标

(1)混淆矩阵(confusion matrix)

混淆矩阵(confusion matrix),是对分类问题预测结果的总结。使用计数值汇总正确和不正确预测的数量,并按每个类进行细分,显示了分类模型进行预测时会对哪一部分产生混淆。通过这个矩阵可以方便地看出机器是否将两个不同的类混淆了(即把一个类错认成了另一个)。🐳

混淆矩阵不仅可以让我们直观的了解分类模型所犯的错误,更重要的是可以了解哪些错误类型正在发生,正是这种对结果的分解克服了仅使用分类准确率带来的局限性(总体到细分)。❤️

总结:

精度Precision(查准率)是评估预测的准不准看预测列) 

召回率Recall(查全率)是评估找的全不全看实际行

(2)IoU (Intersection over Union )

IoU(Intersection over Union,IoU),即两个边界框相交面积相并面积的比值,边界框的准确度可以用IoU进行表示;一般约定,在检测中,IOU>0.5,则认为检测正确,IOU<0.5,则认为检测错误。一般阈值设为0.5(需要根据实际情况进行设定)🌱

说明:

IoU与混淆矩阵的关系:♨️♨️♨️

如果阈值设为0.5,那么

如果IOU ≥ 0.5,则认为检测正确,归类为TP

如果IOU<0.5,则认为检测错误,归类为FP

当图像中存在一个真实目标,而未能检测到目标时,将其归类为FN

当没有检测某图像的物体时(即没有对该图像进行检测,该图像其实没有用处),将其归类为TN

(3)P-R curve 

P-R curve (Precison-Recall curve)曲线体现的是精确率召回率的关系。在准确率很高的前提下,尽可能的检测到全部的类别。因此希望我们的曲线接近(1,1),即希望曲线的面积尽可能接近1。🌟

(4)AP和mAP

AP (Average Precision),衡量的是学习出来的模型在每个类别上的好坏。

mAP (mean Average Precision),衡量的是学习出来的模型在所有类别上的好坏。mAP就是取所有类别上AP的平均值。

用一个简单的例子来演示平均精度(AP)的计算。 假设数据集中总共有5个苹果。 我们收集模型为苹果作的所有预测(以10次预测举例),并根据预测的置信水平(从最高到最低)对其进行排名。 第二列表示预测是否正确。 如果它与 ground truth匹配并且IoU≥0.5,则是正确的。🌺

由下图可以看到,Recall随着包含更多预测而增加,但Precision会上下波动。

3.2 检测速度指标

前传耗时(ms):从输入一张图像到输出最终结果所消耗的时间,包括前处理耗时(如图像归一化)、网络前传耗时、后处理耗时(如非极大值抑制)。🌿

说明:

关于非极大值抑制,请参考我的另外一篇文章:♨️♨️♨️

目标检测中NMS(非极大值抑制)原理解析

每秒帧数 FPS(Frames Per Second):每秒钟能处理的图像数量 。

FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅。通常,要避免动作不流畅的最低是30。🍀

浮点运算量(FLOPS):处理一张图像所需要的浮点运算数量,跟具体软硬件没有关系,可以公平地比较不同算法之间的检测速度。

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

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

相关文章

运放电路笔记5-其它典型电路

电容的特性——“通交流,隔直流” 电容器可以用来对交流信号进行通路,同时隔离直流信号。这是因为电容器对交流信号具有低阻抗(通过)和对直流信号具有高阻抗(阻断)的特性。 在低频情况下,电容器…

Layui精简版,快速入门

目录 LayUI之入门 1.什么是layui 2.layui入门 3.自定义模块 4.用户登录 5.主页搭建 LayUI之动态树 main.jsp main.js LayUI之动态选项卡 1.选项卡 main.jsp main.js 2.用户登录 User.java UserDao.java UserAction.java R.java LayUI之用户管理 1.用户查询…

填补封闭社区一加ACE2V在151版本下安装KernelSU方式获取ROOT

背景需求,Android移动端软件太过流氓,随意驻留后台,其他root方案不满意 第一步,请将手机升级到你想稳定的版本 参考文档, 安装 | KernelSU https://kernelsu.org/zh_CN/guide/installation.html#patch-boot-image 免github下载地址 KernelSU https://mrzzoxo.lanzoub.com/b…

设计模式之工厂方法模式(FactoryMethod)

一、概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。 二、适用性 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。 3.当类将创建对象的职责委…

[ubuntu]创建root权限的用户 该用户登录后自动切换为root用户

一、创建新用户 1、创建新用户 sudo useradd -r -m -s /bin/bash 用户名 # -r:建立系统账号 -m:自动建立用户的登入目录 -s:指定用户登入后所使用的shell2、手动为用户设置密码 passwd 用户名 二、为用户增加root权限 1、添加写权限 ch…

DIP: NAS(Neural Architecture Search)论文阅读与总结(双份快乐)

文章地址: NAS-DIP: Learning Deep Image Prior with Neural Architecture SearchNeural Architecture Search for Deep Image Prior 参考博客:https://zhuanlan.zhihu.com/p/599390720 文章目录 NAS-DIP: Learning Deep Image Prior with Neural Architecture Search1. 方法…

ChatGPT等人工智能编写文章的内容今后将成为常态

BuzzFeed股价上涨200%可能标志着“转向人工智能”媒体趋势的开始。 周四,一份内部备忘录被华尔街日报透露BuzzFeed正计划使用ChatGPT聊天机器人-风格文本合成技术来自OpenAI,用于创建个性化盘问和将来可能的其他内容。消息传出后,BuzzFeed的…

SpringBoot 3自带的 HTTP 客户端工具

原理 Spring的HTTP 服务接口是一个带有HttpExchange方法的 Java 接口,它支持的支持的注解类型有: HttpExchange:是用于指定 HTTP 端点的通用注释。在接口级别使用时,它适用于所有方法。GetExchange:为 HTTP GET请求指…

题解:ABC276E - Round Trip

题解:ABC276E - Round Trip 题目 链接:Atcoder。 链接:洛谷。 难度 算法难度:普及。 思维难度:提高。 调码难度:提高。 综合评价:困难。 算法 bfs。 思路 从起点周围四个点中任选两…

jenkins自动化构建保姆级教程(持续更新中)

1.安装 1.1版本说明 访问jenkins官网 https://www.jenkins.io/,进入到首页 点击【Download】按钮进入到jenkins下载界面 左侧显示的是最新的长期支持版本,右侧显示的是最新的可测试版本(可能不稳定),建议使用最新的…

代码随想录算法学习心得 51 | 503、下一个更大的元素II 42、接雨水...

一、下一个更大元素II 链接:力扣 描述如下:给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序&am…

2023年五款免费高效的在线客服系统大揭秘!

近年来,随着移动互联网的蓬勃发展,企业与消费者之间的互动方式正在迅速演变,从传统的PC端转向了更加便捷灵活的移动端。在这个变革的大背景下,为了满足日益增长的客户需求,企业对于提供优质客户服务的迫切需求也逐渐凸…

【雕爷学编程】Arduino动手做(09)---火焰传感器模块4

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

基于时态差分法的强化学习:Sarsa和Q-learning

时态差分法(Temporal Difference, TD)是一类在强化学习中广泛应用的算法,用于学习价值函数或策略。Sarsa和Q-learning都是基于时态差分法的重要算法,用于解决马尔可夫决策过程(Markov Decision Process, MDP&#xff0…

LoadRunner(2)

一、Controller 1.1场景设计 1.通过VUG打开 施压机器:发起请求的角色(用户本地电脑) 被压机器:处理请求的角色(服务器) 2.直接双击Controller 场景设计:需要关注三个部分 第一部分: 第二部分: 2.1运行场景…

11-数据结构-栈和队列的应用(C语言)

栈和队列的应用 目录 栈和队列的应用 一、括号匹配(栈) 二、表达式的各种转换 (1)中缀转后缀(手工) (2)后缀转中缀表达式(手工) (3)中缀转后缀(栈) (4)中缀转后缀(树) (5)后缀表达式求值 (6)中缀表达式求值(栈…

2023杭电多校第8场J题-Rikka with Square Numbers

题目链接&#xff1a;csoj | J. Rikka with Square Numbers (scnu.edu.cn) 题目解析&#xff1a; 代码如下&#xff1a; #include<iostream> #include<math.h> #include<algorithm> using namespace std;int main() {ios::sync_with_stdio(0);cin.tie(0);c…

如何通过CSS选择器选择一个元素的子元素?如何选择第一个子元素和最后一个子元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 选择一个元素的子元素⭐ 选择第一个子元素和最后一个子元素⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…

【C语言】小游戏-三字棋

大家好&#xff0c;我是深鱼~ 目录 一、游戏介绍 二、文件分装 三、代码实现步骤 1.制作简易游戏菜单 2.初始化棋盘 3.打印棋盘 4.玩家下棋 5.电脑随机下棋 6.判断输赢 7.判断棋盘是否满了 四、完整代码 game.h(相关函数的声明&#xff0c;整个代码要引用的头文件以及宏…

五金仓库的管理数字化

随着信息技术的快速发展&#xff0c;数字化管理在各行各业中迅速普及。数字化管理可以让企业轻松高效地收集、存储和共享数据&#xff0c;并利用大数据分析和人工智能等工具进行精确分析和预测&#xff0c;从而更好地理解业务运作情况并做出相应调整&#xff0c;以提高企业效率…