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

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

在这里插入图片描述

博主简介:努力学习的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博客

相关文章:

  • 软件工程国考
  • 使用Python和Pandas实现的Azure Synapse Dedicated SQL pool权限检查与SQL生成用于IT审计
  • PyTorch 与 TensorFlow:深度学习框架的深度剖析与实战对比
  • 等保系列(一):网络安全等级保护介绍
  • 第四章 Maven
  • 世纪华通:从财报数据看其在游戏领域的成功与未来
  • 3D版同步帧游戏
  • PyTorch中“原地”赋值的思考
  • GPU虚拟化实现(六)
  • 线段树原理和代码详解
  • 课题推荐——通信信号处理中的非线性系统状态估计(如信号跟踪、相位恢复等场景),使用无迹卡尔曼滤波(UKF)的非线性滤波算法,MATLAB实现
  • 【C++重载操作符与转换】输入和输出操作符
  • 深入解析Session与Cookie:从HTTP无状态到现代会话管理
  • 【kafka系列】消费者组
  • 使用Nexus搭建远程maven仓库
  • MySQL零基础入门:Ubuntu环境安装与操作精解
  • AWK 文本分析工具核心总结
  • HashMap,高效 哈希
  • Python生活手册-文件二进制:从快递柜到生鲜冷链的数据保鲜术
  • 业务流程BPM能力框架体系及华为中兴流程变革案例P83(83页PPT)(文末有下载方式)
  • 贵州赤水丹霞大瀑布附近山体塌方车辆被埋,景区:无伤亡,道路已恢复
  • 家政阿姨如何炼成全国劳模?做饭、收纳、养老、外语样样都会
  • 宁波市纪委监委通报4起违反中央八项规定精神典型问题
  • 气候资讯|4月全球前沿气候科学研究&极端天气气候事件
  • 复星医药换帅:陈玉卿接棒吴以芳任董事长,吴以芳改任复星国际执行总裁
  • 发布亮眼一季度报后,东阿阿胶股价跌停:现金流隐忧引发争议