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

博主简介:努力学习的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. 参考资料

相关推荐
FL16238631296 分钟前
智慧城市-城市道路塌方检测数据集VOC+YOLO格式768张1类别
深度学习·yolo·智慧城市
腾讯云大数据13 分钟前
大模型驱动数据分析范式重构,腾讯云Data+AI实践亮相2025数据智能大会
人工智能·重构·数据挖掘·数据分析·腾讯云
king of code porter19 分钟前
目标检测之YOLOV11自定义数据使用OBB训练与验证
人工智能·yolo·目标检测
天天进步201522 分钟前
Python图像处理与计算机视觉:OpenCV实战指南
图像处理·python·计算机视觉
码农幻想梦25 分钟前
医学图像处理期末复习
图像处理·人工智能
云天徽上26 分钟前
【目标检测】什么是目标检测?应用场景与基本流程
人工智能·yolo·目标检测·计算机视觉
jndingxin27 分钟前
OpenCV CUDA模块设备层-----原子操作函数atomicAdd()
人工智能·opencv·计算机视觉
zh4men936 分钟前
Mac Parallels Desktop Kali 2025 代理设置
服务器·网络·macos·kali·pdesktop
小猴崽38 分钟前
腾讯云智能媒体处理(Intelligent Media Processing, IMP)技术评估报告
人工智能·腾讯云·媒体
金融小师妹1 小时前
黄金价格触及3400美元临界点:AI量化模型揭示美元强势的“逆周期”压制力与零售数据爆冷信号
大数据·人工智能·算法