深度学习基础--目标检测入门简介

在这里插入图片描述

博主简介:努力学习的22级本科生一枚 🌟​
博客主页:羊小猪~~-CSDN博客
内容简介:探索AI算法,C++,go语言的世界;在迷茫中寻找光芒​🌸​
往期回顾:yolov5基础–一步一步教你训练自己的数据集-CSDN博客

文章目录

  • 1. 基础概念
    • 1.1 目标检测定义
    • 1.2 图像识别任务
    • 1.3 目标检测核心问题
    • 1.4 物体检测概述
    • 1.5 锚框
      • 概念
      • IoU–交并比
      • 赋予锚框标号
      • NMS
  • 2. 评价指标
    • 2.1 TP、TN、FP、FN
    • 2.2 precision和recall
    • 2.3 置信度
    • 2.4 AP和mAP
  • 3. 参考资料

1. 基础概念

1.1 目标检测定义

📚 一句话,找出图像中感兴趣的物体,确定其位置和类别。

由于物体类别不同,其形状、外观、姿态都不同,而且还受环境的影响,故在cv领域,目标检测一直都是一个很热门的话题。

1.2 图像识别任务

  • 分类:解决“是什么”,给一张图判断包含什么类别物体;
  • 定位:解决“在哪里”,即定位目标的位置;
  • 👀 目标检测“:解决是什么,在哪里”,定位这个目标的位置并且知道目标检测的物体的位置,本人感觉是分类和定位的结合体
  • 分割:解决“每个像素点属于哪个目标物体”;

1.3 目标检测核心问题

  • 位置的任意性,目标可以出现在图片的任何位置;

    • 在这里插入图片描述
  • 大小的多样性,同一张图像可能同时出现多个不同或者相同的目标,但是他们大小差异大;

    • 在这里插入图片描述
  • 形态的差异性,同一目标的形态差异可能很大,故同一个物体在目标检测中可能形状各部相同;

    • 在这里插入图片描述

1.4 物体检测概述

🐶 目标检测任务:找出每个物体,类别标注出来,还需要找出具体的位置,位置通常用边缘框表示

在这里插入图片描述


边缘框概念

用一个边框框主一个物体,如图:

在这里插入图片描述

这个图要注意一下:坐标系和普通不太一样,主要是坐标。

所以,如果物体很多,那需要的成本也是需要很高的。


目标检测数据集

  • 每一行表示一个物体
    • 图片文件名,物体类别,边缘框

1.5 锚框

概念

📄 用李沐老师的话说:就是计算机视觉的算法生成的一些框用来预测变化的框。

一类目标检测的算法是基础锚框的,如图:
在这里插入图片描述

提出多个框(锚框),首先做分类,是否有需要的目标物体,如果有则以这个框为主移动,直到框住的是目标物体,即真实的边缘框。

IoU–交并比

👀 上面提到,物体检测首先是用多个框框物体,所以这就涉及到如何进行不同框合并的问题,因为对于一个物体来说(假设他比较大哈),那么在他附近的图相识度一定很高,故需要进行框的合并。

在这里插入图片描述

Jacqard指数是衡量两个框的相似度。

赋予锚框标号

🔬 假设:一个没有训练的模型,每个像素都需要生产几个锚框;

📚 假设结果

  • 这样就造成了一张图片需要生成大量的锚框,导致大量的负类样本框(框住的不是目标物体);
  • 无论图片物体多还是少,对于需要预测的一个物体来说,这个模型在这种图片分类只有两种,一个是目标物体,一个是其他,故,这里就需要一个标注的东西,来标注生成的锚框是目标物体来说其他

在这里插入图片描述


给锚框分配对应的真实框

📘 以李沐老师上课图所示:

在这里插入图片描述

提示:本文给图片进行标号,从左到右为图1,图2,图3。

👀 图片描述,以图片1为例,列向表示真实物体的边缘框,行表示生产的锚框。

🍲 步骤:

  1. 先计算出所有的锚框和真实框的IoU,IoU值填入对应的格子中,;
  2. 找到矩阵中最大的元素,如图1,假设最大值为x23的框,说明锚框2和边缘框重合度最高,即用锚框2代表真实边缘框3;
  3. 每次找到后,将那一行、列删除,继续重复步骤2.

NMS

预测时,传入一张图片,模型依然生成一大堆框,然后会根据训练出来的偏移等参数预测锚框;这些框,会有很多重叠的类似的框,围着同一个目标输出;所以,就需要一个算法来去重,NMS就是其中之一。

在这里插入图片描述

🔬 分析,以狗分析。

  • 第一步,选取预测概率最大的,这里是dog=0.9
  • 第二步是去除,就是去除重复面积大于某一个IoU值的预测,这里出去的是dog=0.8,dog=0.7,这样就剩下一个框,就是第一步选中的;
  • 重复第二步操作。

2. 评价指标

2.1 TP、TN、FP、FN

这四个是分类最常用的了,无论是图像分类还是文本分类,都用这几个作为评价指标。

👀 T或者F代表的是该样本是否被正确分类,P或者N代表的是该样本被预测成了正样本还是负样本。

  • TP(True Positives)意思就是被分为了正样本,而且分对了,
  • TN(True Negatives)意思就是被分为了负样本,而且分对了
  • FP(False Positives)意思就是被分为了正样本,但是分错了(事实上这个样本是负样本)
  • FN(False Negatives)意思就是被分为了负样本,但是分错了(事实上这个样本是正样本)

一般对于分类来说,一般都会制作一个混淆矩阵,以上指标都很直观的展示出来了。

2.2 precision和recall

这个也是分类的常用指标。

precision

在这里插入图片描述

👀 解释:分类器分类的正类占总样本正类的比例,说白了就是分类模型预测为正的占总体样本的比例;

recall

在这里插入图片描述

👀 解释:分类器认为的正类样本且确实是正类的样本占所有样本中确实是正类样本的比例。

2.3 置信度

这个是一个统计学的概念,举个例子,一个样本中:

在这里插入图片描述

如果说置信度设置为0.95的话,那么目标检测算法将把1设置为正样本,其他都是负样本。

2.4 AP和mAP

AP其实就是precision和recall的组合画出的图像,如下图所示:

在这里插入图片描述

AP值就是上图画的那条曲线下的面积,面积越大,代表模型效果越好,这个和AUC值我感觉很像。

mAP就是AP的平均值。

3. 参考资料

  • 【41 物体检测和数据集【动手学深度学习v2】】https://www.bilibili.com/video/BV1Lh411Y7LX?vd_source=1fd424333dd77a7d3e2e741f7d6fd4ee
  • 【42 锚框【动手学深度学习v2】】https://www.bilibili.com/video/BV1aB4y1K7za?vd_source=1fd424333dd77a7d3e2e741f7d6fd4ee
  • 简单理解锚框(anchor box)生成过程 - 知乎
  • 《目标检测蓝皮书》第5篇 目标检测基础-CSDN博客

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

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

相关文章

雅思写作--70个高频表达

文章目录 1. learn new skills学生通过户外活动学到很多新技2. take immediate action to do各国采取有效行动以保护环境政府采取了必要行动以减少失业。你应该立即采取行动来解3. communication skills4. grow significantly5. have many advantages1. learn new skills “lea…

深入理解虚拟机与容器:原理、对比与应用场景分析

目录 前言1 虚拟机技术详解1.1 虚拟机的基本原理1.2 虚拟机的优势与局限 2 容器技术详解2.1 容器的运行机制2.2 容器的优势与局限 3 虚拟机与容器的核心差异对比3.1 架构对比3.2 启动速度与资源消耗3.3 安全性与隔离性3.4 兼容性与迁移性 4 实际应用场景分析4.1 适合使用虚拟机…

SQL Server数据库提权的几种方法——提权教程

SQL Server数据库提权的几种方法——提权教程 一、简介 在利用系统溢出漏洞没有效果的情况下,可以采用数据库进行提权。 数据库提权的前提条件: 1、服务器开启数据库服务 2、获取到最高权限用户密码 (除Access数据库外,其他数据库基本都存在数据库提权的可能) 二、使用x…

【第19节 信息加解密技术】

本章目录: 一、节概述二、知识详解1. 信息加密的基本分类2. 对称加密算法详解3. 非对称加密算法详解4. 密钥控制技术5. 密钥分发机制6. 公钥体系的密钥管理机制7. 密钥分类与生成 三、关键点提炼四、考试提示五、总结与建议 一、节概述 在信息安全体系中,信息加解密…

记录搭建自己的应用中心-需求看板搭建

记录搭建自己的应用中心-需求看板搭建 人员管理新增用户组织用户登录和操作看板状态看板任务通知任务详情 人员管理 由于不是所有人都有应用管理权限,所以额外做了一套应用登录权限,做了一个新的组织人员表,一个登录账户下的所有应用人员共享…

Java从入门到精通 - Java入门

Java 入门 此笔记参考黑马教程,仅学习使用,如有侵权,联系必删 文章目录 Java 入门01 Java快速入门1. Java 是什么?能干什么?1.1 Java 背景知识1.2 Java 能做什么?1.3 Java 技术体系 2. 如何使用 Java&…

MySQL-排序

介绍 在MySQL中,排序查询结果可以使用 ORDER BY 子句来实现。这个子句允许你根据一个或多个列进行排序,并且可以选择升序(ASC)或者降序(DESC)的方式。以下是基本的语法结构: SELECT column1, …

当插入排序遇上“凌波微步“——希尔排序的奇幻漂流

文章目录 一、排序江湖的隐藏高手二、分而治之的魔法1. 核心思想拆解2. 动态演示(脑补版) 三、C语言实现大揭秘代码要点解析: 四、性能分析与实战技巧1. 时间复杂度迷思2. 实测性能对比 五、为什么说它永不过时?六、进阶思考题 一…

一种导弹追踪算法的MATLAB仿真实现

代码说明: 参数设置:设定时间步长、总模拟时间、初始位置和速度等参数。空气动力学模型:利用简化的空气阻力公式来计算两个导弹所受的阻力。追踪算法:采用比例导引算法,让防空导弹追踪机动变轨导弹。机动变轨模拟&…

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(13): ておきます ています & てあります

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(13): ておきます &ています & てあります 。 1、前言(1)情况说明(2)工程师的信仰 2、知识点(1)&#x…

基于tabula对pdf中多个excel进行识别并转换成word中的优化(五)

优化地方:处理合并的单元格内容。 1、修改为stream"complex" 2、增加换行符f"{table_data[i - 1][j]}\n{table_data[i][j]}".strip() 一、pdf中excel样例 二、完整代码 import tabula import numpy as np from docx import Document from docx…

pytest基础知识----配置

1、自动化主流框架介绍 当前业界基于python语言的自动化框架主要包括:Unittest,Pytest这2种,其中:Unittest是Python标 准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框…

Python实现简易博客系统

下面我将介绍如何使用Python实现一个简易的博客系统,包含前后端完整功能。这个系统将使用Flask作为Web框架,SQLite作为数据库,并包含用户认证、文章发布、评论等基本功能。 1. 系统架构设计 技术栈选择 ​​后端​​:Flask (Python Web框架)​​数据库​​:SQLite (轻量…

蓝桥杯比赛

蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心主办,国信蓝桥教育科技(北京)股份有限公司承办的计算机类学科竞赛。以下是其相关信息: 参赛对象 具有正式全日制学籍且符合相关科目报名要求的研究生、本科生…

高性能、云原生的对象存储服务MinIO 详细介绍与案例应用

什么是MinIO? MinIO是一个高性能、云原生的对象存储服务,采用Apache License v2.0开源协议发布。它与Amazon S3云存储服务API兼容,适合构建高性能、可扩展的存储基础设施。支持大规模非结构化数据的存储,适合图片、视频、日志、备…

Transformer架构的解耦重组现象

技术演进图谱与技术成熟度曲线 (一)架构创新范式迭代 1.1 Transformer架构的解耦重组现象 以2025年Opt模型为例,其通过引入强化学习微调模块实现了传统单层堆叠架构向"感知-推理分离"模式的转型。实验数据显示,该架构…

Linux——线程(3)线程同步

一、线程同步的引入 通过上面的抢票系统我们发现,有的线程,进行工作(挂锁),当其马上结束工作(解锁),发现外面有很多线程在排队等着加锁执行任务,这个线程解锁后就立马给…

基于go的简单管理系统(增删改查)

package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )var db *sql.DBtype user struct {id intname stringage int }// 建立连接 func initDB() (err error) {dsn : "root:123456tcp(127.0.0.1:3306)/mysqltes…

HTN77A0原理图提供聚能芯半导体禾润一级代理技术支持免费送样

在电源管理需求日益严苛的当下,禾润 HTN77A0 以卓越性能脱颖而出。它不仅适配多种应用场景,还兼具高效节能与稳定输出,为设备供能带来革新体验。 禾润 HTN77A0 同步降压变换器,凭借5V~130V 超宽输入电压范围,打破传统供…

小程序中的页面跳转

小程序中的页面跳转 在之前网页的学习中,我们往往采用超链接,或者定义方法、函数等方式来实现页面的跳转,但是微信小程序中没有超链接,那我们该如何实现呢?微信小程序的页面跳转包括两个,一个是tabBar页面…