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

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

文章目录

  • [1. 基础概念](#1. 基础概念)
    • [1.1 目标检测定义](#1.1 目标检测定义)
    • [1.2 图像识别任务](#1.2 图像识别任务)
    • [1.3 目标检测核心问题](#1.3 目标检测核心问题)
    • [1.4 物体检测概述](#1.4 物体检测概述)
    • [1.5 锚框](#1.5 锚框)
  • [2. 评价指标](#2. 评价指标)
    • [2.1 TP、TN、FP、FN](#2.1 TP、TN、FP、FN)
    • [2.2 precision和recall](#2.2 precision和recall)
    • [2.3 置信度](#2.3 置信度)
    • [2.4 AP和mAP](#2.4 AP和mAP)
  • [3. 参考资料](#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. 参考资料

相关推荐
同聘云几秒前
网络安全防火墙技术有哪些?网络防火墙的主要作用
网络
kyle~10 分钟前
如何阅读GitHub上的深度学习项目
人工智能·深度学习·github
小黑随笔1 小时前
【Golang玩转本地大模型实战(二):基于Golang + Web实现AI对话页面】
前端·人工智能·golang
上海源易1 小时前
GEO vs SEO:从搜索引擎到生成引擎的优化新思路
人工智能·搜索引擎·chatgpt·deepseek·ai搜索优化
从零开始学习人工智能1 小时前
深度解析 MindTorch:无缝迁移 PyTorch 到 MindSpore 的高效工具
人工智能·pytorch·python
Cleo_Gao1 小时前
交我算使用保姆教程:在计算中心利用singularity容器训练深度学习模型
人工智能·深度学习·容器·计算中心
古希腊掌管学习的神1 小时前
[Agent]AI Agent入门02——ReAct 基本理论与实战
人工智能·语言模型·chatgpt·gpt-3·agent
C灿灿数模1 小时前
2025五一杯数学建模C题:社交媒体平台用户分析问题;思路分析+模型代码
数据库·人工智能·python
__Benco2 小时前
OpenHarmony - 小型系统内核(LiteOS-A)(十三),LMS调测
人工智能·harmonyos
Takoony2 小时前
Transformer Prefill阶段并行计算:本质、流程与思考
人工智能·深度学习·transformer