IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Yolo - 学习笔记 -> 正文阅读

[人工智能]Yolo - 学习笔记

图像分割分类:

  • 语义分割: 是把每一个像素它的类别输出出来,但是并不区分物体的像素。(画框框)
  • 实例分割:只要区分同一类别、不同物体的像素。(抠图)

预测阶段

模型已经训练完成后,输入未知图片来对未知图片进行预测、测试,此时不需要训练、反向传播,而是只需要前向推断、运行这个模型。在这里插入图片描述
过程:将输入图片划分为SxS(S=7)个grid cell(网格),每个grid cell预测B(B=2)个bounding box(预测框)。
(bounding box无关形状,只要中心点落在grid cell里面,就说明这个bounding box是由这个grid cell生成的。)
包含四个位置参数和一个执行度参数(xyhw表示框框的位置,c表示置信度。)
框框的粗细代表置信度,粗的代表置信度高。
如下图:
在这里插入图片描述
那每一个gird cell还能够生成所有类别的条件概率。就是假设在他已经包含物体的情况下,他是某一个类别的概率。如下面彩色的图,把每一个bounding box的置信度乘以这个类别的条件概率,就能够获得每一个bounding box的各类别的概率。结合这两个信息,一个是bounding box的信息,一个是grid cell的类别信息,就可以获得最后的预测结果了。
这些信息都是从7x7x30维的张量中获取的。
在这里插入图片描述

(30的由来:每个grid cell包含2个预测框,每个预测框有5个参数,在Pascal VOC里面有20个类别的该grid cell对20个类别的条件类别概率,一共是20+5+5=30个参数。这30是一个grid cell的信息,一共有7x7个grid cell)
7x7x30是1470为的一个数组,所以我们就当作YOLO模型,就是一个黑箱,输入的是48×48×3的图像,输出的是1470个数字。
在这里插入图片描述

这个图展示了条件概率最高的那些点所占有的框,比如说紫色的是自行车类别比较高的区域。

预测阶段后处理-NMS非极大值抑制

对于目标检测的预测阶段后处理是非常的重要的,对于yolo而言,后处理就是把纷繁复杂的预测出来的,98个预测框进行筛选过滤,把重复的预测框只保留一个,最后获得目标检测的结果。
把第一个预测框的置信度乘以该grid cell的20个类别的条件概率得到第一个预测框的20个类别的全概率。
一共有49个grid cell,每一个grid cell能够获得两个20维的向量 。98个Bounding box就可以获得98个20位的向量。每一列表示对于某一个Bounding box而言,20个类别的概率是多少。
在这里插入图片描述
现在把乱图经过后处理NMS非极大值抑制,得到在这里插入图片描述
假如说狗是这20个类别中的第一个类别,那么这些概率里面肯定会有特别小的:比如说0.01、0.02。比如说把小于0.2的概率一律抹零,那么有很多概率都被抹零了。我们再根据狗的概率高低来进行排序,把狗的概率高的放在前面,抹零的放在后面 然后再对排序后的结果进行非极大值抑制。
在这里插入图片描述
来仔细看看非极大值抑制是怎么做的:
在这里插入图片描述先把最高的概率拿出来,然后把每一个与最高的做比较,比如一个和第二个做比较,如果这两个的IOU大于某个阈值,那么就认为他俩就重复识别了一个物体,就把低置信度的过滤掉。假如黄框和绿框的IOU大于0.5,认为重复识别了一个物体。就把绿框(低概率的)去掉。(0.5这个阈值可以调)
此时绿框框为0。
如果阈值很低,则稍微有一点重叠,就会被剔除掉。如果想加强NMS就把阈值设置的低一点。
在这里插入图片描述
比如蓝框和黄框的IOU比值没有超过0.5,则依旧保留。
在这里插入图片描述
再将剩下的框框和蓝框比,粉框被干掉……
在这里插入图片描述
是bb3、 bb4、bb97有一些类别是不为零的,把不为零的类别索引找出来,然后把它代表什么是猫还是狗找出来,再把概率找出来,那么在这个目标检测结果上就获得了最终的目标检测结果。
关键:
后处理只是针对预测阶段,训练阶段不需要进行nms。因为每一个筐,(不管是被打入冷宫的,还是负责预测物体的)都会影响损失函数,所以不能随随便便的把在训练阶段把预测框剃掉,或者把概率抹零。这是在预测阶段(已经训练出来这个模型之后,进行图片的预测时)才需要通过后处理把低置信度的过滤掉,再把重复识别同样物体的重复框挑出。

训练阶段

每一个grid cell生成两个Bounding box,两个Bounding box的中心点都落在这个grid cell中。
Yolo的缺点:对于对象比较多的图片较难检测。

损失函数

在这里插入图片描述

论文精读

  • 先前的目标检测是分类问题,现在转成了回归问题。(变成了预测出一系列连续的数值,把编辑框定位和分类从空间中分离开,使用一个单独的神经网络,可以预测预测框的坐标,也可以预测类别。直接把全图输入神经网络,做一次前向推断就可以输出bounding box的类别,可以进行端到端的优化。)
  • 基础的yolo模型可以实现每秒钟45帧的目标检测性能。(一般我们认为每秒超过30帧就是目标检测)
  • YOLO出现了分类正确,但是定位误差的情况较多。但是减少了背景误判为物体的错误。

参考视频:https://www.bilibili.com/video/BV15w411Z7LG?p=11

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 11:51:08  更:2021-08-27 11:52:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 17:59:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码