当前位置: 首页 > news >正文

【YOLOv5入门】目标检测

【大家好,我是爱干饭的猿,本文重点介绍YOLOv5入门-目标检测的任务、性能指标、yolo算法基本思想、yolov5网络架构图。

后续会继续分享其他重要知识点总结,如果喜欢这篇文章,点个赞👍,关注一下吧】

上一篇文章:《【python高级】asyncio 并发编程》

YOLOv5入门

1. 目标检测-任务

目标检测 (Object Detection ) = What, and Where
类别标签(Category label)
置信度得分(Confidence score)

定位和检测:

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

在这里插入图片描述

2. 目标检测-性能指标

检测精度

  • 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)

在这里插入图片描述

  • 精度Precision(查准率)是评估预测的准不准(看预测列)
  • 召回率Recall(查全率)是评估找的全不全(看实际行)

2.1 检测精度

  • IoU:
    An IoU of 1 implies that predicted and the ground-truth bounding boxes perfectly overlap.
    You can set a threshold value for the IoU to determine if the object detection is valid or not.
    Let’s say you set IoU to 0.5, in that case
    • if IoU ≥0.5, classify the object detection as True Positive(TP)
    • if IoU <0.5, then it is a wrong detection and classify it as False Positive(FP)
    • When a ground truth is present in the image and model failed to detect the object, classify it as False Negative(FN).
    • True Negative (TN): TN is every part of the image where we did not predict an object. This metrics is not useful for object detection, hence we ignore TN.

  • AP衡量的是学习出来的模型在每个类别上的好坏

  • mAP衡量的是学出的模型在所有类别上的好坏。mAP就是取所有类别上AP的平均值。
    对于PASCAL VOC挑战,如果IoU> 0.5,则预测为正样本(TP)。 但是,如果检测到同一目标的多个检测,则视第一个检测为正样本(TP),而视其余检测为负样本(FP)。

2.2 检测速度

  • 前传耗时(ms): 从输入一张图像到输出最终结果所消耗的时间,包括前处理耗时(如图像归一化)、网络前传耗时、后处理耗时(如非极大值抑制)
  • 每秒帧数 FPS (Frames Per Second):每秒钟能处理的图像数量
  • 浮点运算量(FLOPS):处理一张图像所需要的浮点运算数量, 跟具体软硬件没有关系,可以公平地比较不同算法之间的检测速度。

3. YOLO算法的基本思想

3.1 基本思想

在这里插入图片描述
首先通过特征提取网络对输入图像提取特征,得到一定大小的特征图,比如1313(相当于416416图片大小 ),然后将输入图像分成13*13个grid cells
➢ YOLOv3/v4: 如果GT中某个目标的中心坐标落在哪个grid cell中,那么就由该grid cell来预测该目标。每个grid cell都会预测3个不同尺度的边界框 。
➢ YOLOv5: 不同于yolov3/v4,其GT可以跨层预测,即有些bbox在多个预测层都算正样本;匹配数范围可以是3-9个。

  • 预测得到的输出特征图有两个维度是提取到的特征的维度,比如13
    *13,还有一个维度(深度)是 B *(5+C)
    ➢ 注:B表示每个grid cell预测的边界框的数量 (YOLO v3/v4中是3个);
    C表示边界框的类别数(没有背景类,所以对于VOC数据集是20); 5表示4个坐标信息和一个目标性得分(objectness score)。

3.2 计算

在这里插入图片描述
每个预测框的类别置信度得分(class confidence score ) 计算如下:
在这里插入图片描述
它测量分类和定位(目标对象所在的位置)的置信度。

3.3 NMS (Non-Maximum Suppression) 非极大抑制

测试时没有GT框,只能比较多个预测框,比较相互之间的IOU,做NMS

3.4 损失函数(Loss function)

损失函数包括:
• classification loss, 分类损失
• localization loss, 定位损失(预测边界框与GT之间的误差)
• confidence loss, 置信度损失(框的目标性;objectness of the box)
总的损失函数:
classification loss + localization loss + confidence loss

4. YOLOv5的网络架构图

在这里插入图片描述

相关文章:

【YOLOv5入门】目标检测

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍YOLOv5入门-目标检测的任务、性能指标、yolo算法基本思想、yolov5网络架构图。 后续会继续分享其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下吧】 上一篇…...

可验证随机函数(VRF)

文章目录 一、背景以及场景共识发展第一代 POW “以力取胜”第二代 POS/DPOS “民主投票”第三代 VRF “运气抽签” 二、可验证随机函数&#xff08;VRF&#xff09;快速开始1. VRF是什么?2. MD5 hash函数和VRF&#xff08;Verifiable Random Function&#xff09;区别3. VRF-…...

Node.js与npm的准备与操作

1.下载 Node.js官网&#xff1a;Node.jsNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/en 打开后的界面如下&#xff1a; LTS&#xff08;Long Term Support&#xff09;&#xff1a;长期支持版&#xff0c;稳定版 Current&am…...

ui设计师简历自我评价的范文(合集)

ui设计师简历自我评价的范文篇一 本人毕业于艺术设计专业&#xff0c;具有较高的艺术素养&#xff0c;平时注重设计理论知识的积累&#xff0c;并将理论应用到作品中。了解当下设计的流行趋势&#xff0c;设计注重细节、重视用户体验&#xff0c;对色彩搭配有着浓厚的兴趣&…...

sqli-labs靶场详解(less32-less37)

宽字节注入 原理在下方 目录 less-32 less-33 less-34 less-35 less-36 less-37 less-32 正常页面 ?id1 下面有提示 获取到了Hint: The Query String you input is escaped as : 1\ ?id1 看来是把参数中的非法字符就加上了转义 从而在数据库中只能把单引号当成普通的字…...

如何保证缓存和数据库的双写一致性?

一、什么是数据库和缓存双写一致性&#xff1f; 在分布式系统中&#xff0c;数据库和缓存会搭配一起使用&#xff0c;以此来保证程序的整体查询性能。也就说&#xff0c;分布式系统为了缓解数据库查询的压力&#xff0c;会将查出来的数据保存在缓存中&#xff0c;下次再查询时…...

Rosbag 制作 TUM数据集

Rosbag 制作 TUM数据集 一、创建rgb和depth文件夹和txt文件 mkdir rgb mkdir depth touch rgb.txt touch depth.txt 二、替换 bag 路径 和 topic tum.py&#xff1a; import os import cv2 import numpy as np import rosbag from sensor_msgs.msg import Image from cv_b…...

本地websocket服务端暴露至公网访问【cpolar内网穿透】

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…...

男UI设计师主要是做什么的优漫教育

1、根据各种相关软件的用户群&#xff0c;提出构思新颖、有高度吸引力的创意设计&#xff1b;   2、对页面进行优化&#xff0c;使用户操作更趋于人性化&#xff1b;   3、维护现有的应用产品&#xff1b;   4、收集和分析用户对于GUI的需求。   二、需要学什么…...

超实用!Spring Boot 常用注解详解与应用场景

目录 一、Web MVC 开发时&#xff0c;对于三层的类注解 1.1 Controller 1.2 Service 1.3 Repository 1.4 Component 二、依赖注入的注解 2.1 Autowired 2.2 Resource 2.3 Resource 与 Autowired 的区别 2.3.1 实例讲解 2.4 Value 2.5 Data 三、Web 常用的注解 3.1…...

【古月居《ros入门21讲》学习笔记】11_客户端Client的编程实现

目录 说明&#xff1a; 1. 服务模型 2. 实现过程&#xff08;C&#xff09; 创建功能包 创建客户端代码&#xff08;C&#xff09; 配置客户端代码编译规则 编译 运行 3. 实现过程&#xff08;Python&#xff09; 创建客户端代码&#xff08;Python&#xff09; 运行…...

小程序和Vue写法的区别主要有什么不同

1.语法不同&#xff1a;小程序使用的是WXML、WXSS和JS&#xff0c;而Vue使用的是HTML、CSS和JSX。 2.数据绑定方式不同&#xff1a;小程序使用的是双向数据绑定&#xff0c;而Vue使用的是单向数据流。 1&#xff09;在小程序中需要使用e.currentTarget.dataset.*的方式获取&…...

Flutter之MQTT使用

1.添加依赖: 首先&#xff0c;需要在Flutter项目的​​pubspec.yaml​​​文件中添加​​mqtt_client​​依赖。 dependencies:#https://pub.dev/packages/mqtt_clientmqtt_client: ^10.0.02.创建MQTT客户端并连接到MQTT服务器:2.创建一个MQTT客户端实例来进行连接和通信 Fu…...

vr红色教育虚拟展馆全景制作提升单位品牌形象

720全景展馆编辑平台以其独特的优势&#xff0c;为展览行业带来了革命性的变革。这种创新的技术应用为参展商提供了更高效、更便捷、更全面的展示解决方案&#xff0c;进一步提升了展览行业的水平和影响力。 一、提升展示效果&#xff0c;增强品牌形象 720全景展馆编辑平台通过…...

【Spring】Spring是什么?

文章目录 前言什么是Spring什么是容器什么是 IoC传统程序开发控制反转式程序开发理解Spring IoCDI Spring帮助网站 前言 前面我们学习了 servlet 的相关知识&#xff0c;但是呢&#xff1f;使用 servlet 进行网站的开发步骤还是比较麻烦的&#xff0c;而我们本身程序员就属于是…...

事件循环机制及常见面试题

借鉴&#xff1a; 《Javascript 忍者秘籍》第二版&#xff0c;事件循环篇 面试 | JS 事件循环 event loop 经典面试题含答案 - 知乎 (zhihu.com) 概念 主栈队列就是一个宏任务&#xff0c;每一个宏任务执行完就会执行宏任务中的微任务&#xff0c;直到微任务全部都执行完&a…...

智能监控平台/视频共享融合系统EasyCVR接入RTSP协议视频流无法播放原因是什么?

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能/大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼…...

c# statusStrip 显示电脑主机名、IP地址、MAC地址

控件&#xff1a; ToolStripStatusLabel 主机名&#xff1a; Dns.GetHostName() IP地址&#xff1a; Dns.GetHostAddresses(Dns.GetHostName())[0].ToString() 当前程序的版本&#xff1a; Assembly.GetExecutingAssembly().GetName().Version.ToString() 获取系统版本 …...

Cesium.CustomShader颜色值显示错误

官方示例&#xff1a; Cesium Sandcastle 测试过程&#xff1a; 1、修改示例&#xff0c;把customshader中的fragmentShaderText替换为如下代码 void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {//注意&#xff1a;下述颜色的b值是0.1&#x…...

XSLVGL2.0 User Manual 页面管理器(v2.0)

XSLVGL2.0 开发手册 XSLVGL2.0 User Manual 页面管理器 1、概述2、特性3、APIs3.1、xs_page_init3.2、xs_page_wait_inited3.3、xs_page_exit3.4、xs_page_acquire3.5、xs_page_release3.6、xs_page_set_bootlogo3.7、xs_page_setup_clear_finish3.8、xs_page_setup_is_finish…...

Claude在国内用不了?我挨个试了一遍

你有没有这种感觉—— 每次看到Claude又出新版本,心里痒痒的。别人都在讨论Sonnet多好用、Opus推理多强,你打开官网,要么打不开,要么要翻墙,要么要国外手机号验证。 好不容易折腾注册上了,用了两周,某天突然收到封号邮件。 烦不烦? 说实话,作为一个重度AI用户,我…...

徒手撸极简前后端分离Demo!吃透原生JS动态渲染底层

之前一直觉得前后端分离是个特别高大上的工程化概念&#xff0c;总以为得学一堆框架、接口规范、部署流程才能上手。 直到昨天我没用Vue、没用React&#xff0c;纯靠原生JSHTMLCSSjson-server&#xff0c;手写了一套最朴素的前后端分离小案例&#xff0c;瞬间把底层逻辑彻底打通…...

【限时解析】DeepSeek 2024 Q3计费规则更新:2项重大变更将影响92%高频用户

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek计费模式分析 DeepSeek 提供的 API 服务采用按量计费&#xff08;Pay-as-you-go&#xff09;模式&#xff0c;核心计费维度为模型调用所消耗的 Token 总数&#xff0c;包含输入&#xff08;prompt&…...

网站内容创作团队如何利用多模型聚合平台提升效率

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 网站内容创作团队如何利用多模型聚合平台提升效率 对于网站内容运营或编辑团队而言&#xff0c;持续产出高质量、多样化的内容是一…...

上下文是新的算力吗?

在过去六个月里&#xff0c;前沿级AI能力的推理成本下降了约85%。来自Meta、阿里巴巴等公司的开放权重模型&#xff0c;如今在关键基准测试上已经能匹敌上个季度最好的闭源模型。一个曾经每月花费数千美元运行在领先专有模型上的生产工作负载&#xff0c;现在可以用开源替代方案…...

因果机器学习在制造业返工决策中的应用:以白光LED产线为例

1. 项目概述&#xff1a;当因果推断遇上产线返工在制造业&#xff0c;尤其是像白光LED芯片制造这样的精密流程工业里&#xff0c;每天都有成千上万个生产批次&#xff08;Lot&#xff09;在产线上流转。每个批次在经过磷光体转换&#xff08;Color Conversion&#xff09;这一关…...

桌面实时股票监控终极指南:5分钟打造你的Windows投资助手

桌面实时股票监控终极指南&#xff1a;5分钟打造你的Windows投资助手 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 在当今快节奏的数字时代&#xff0c;投资者们常常需要在工作…...

Taotoken 的 API Key 分级管理与审计日志功能在安全合规中的实际价值

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken 的 API Key 分级管理与审计日志功能在安全合规中的实际价值 在企业级应用开发中&#xff0c;将大模型能力集成到业务系统…...

如何在VSCode中快速配置专业级R语言开发环境:终极实战指南

如何在VSCode中快速配置专业级R语言开发环境&#xff1a;终极实战指南 【免费下载链接】vscode-R R Extension for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-R 你是否正在寻找一个现代化的R语言开发环境&#xff0c;能够提供智能代码补全…...

DeepSeek负载均衡方案竟被90%团队忽略的3个致命盲区:长连接保活、gRPC流式重试、Token级会话粘滞(附Checklist)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek负载均衡方案的演进与核心挑战 DeepSeek作为高性能开源大语言模型推理框架&#xff0c;其负载均衡方案经历了从静态路由到动态感知、从单层代理到多级协同的持续演进。早期版本依赖Nginx反向代…...