《深度学习》YOLO v1网络架构 、损失值、NMS极大值抑制

目录

一、Yolo系列v1

1、核心思想

2、示例

3、流程图解析

二、YOLO系列v1损失函数

1、位置误差

2、置信度误差

3、类别概率损失

三、NMS非极大值抑制

1、概念

2、步骤

[四、YOLO v1优缺点](#四、YOLO v1优缺点)

1、优点

1)速度快

2)端到端

3)多尺度预测

4)网络结构简单

2、缺点

1)对小目标检测效果差

2)每个网格只能生成两个框,且只能预测一个类别


一、Yolo系列v1

1、核心思想

将一幅图像分成SxS个网格(grid cell),如果某个object的中心落在这个网格中,则这个网格就负责预测这个object。YOLO v1将图像分为7*7个网格

2、示例

对于上图,YOLOv1将输入图片划分成7×7的网格 ,每个网格允许预测出2个边框 (bounding box),这些边框的大小可以超出当前网格的范围,对于每个边框,YOLOv1都预测了5个参数 ,分别是中心坐标(x, y)、宽度w、高度h以及置信度confidence。置信度反映了模型对边框内包含物体的信心程度以及边框的准确度。

3、流程图解析

YOLOv1的网络结构主要由卷积层、池化层 以及最后的全连接层组成。

网络的输入448x448x3的彩色图片输出是7x7x30的张量(tensor)。

7x7 表示将输入图片划分成了7*7个网格(grid),每个网格负责检测其内的物体。

30 表示每个网格内的30个预测信息,包括20个类别概率 (以PASCAL VOC数据集为例,该数据集共20个类别)、2个预选框( bounding box)及其置信度(每个边界框包含中心点坐标x、y,宽度w、高度h以及一个置信度分数)。

坐标点x,y(相对于网格单元格边界的框的中心)用对应网格的归一化到0-1之间,w,h用图像的width和height归一化到0-1之间。

二、YOLO系列v1损失函数

1、位置误差

如上图所示,其为位置误差的计算公式,其中对应的值为一个系数,表示如果你觉得位置误差更重要,那么就设置大一点,置信度误差与分类误差也是同样的意思

第二个红框内的符号表示第i个网格的第j个预选框,如果负责预测物体,那么整体的值为1,反之为0

前面的求和符号s平方表示网格的格式,例如YOLO v1中的网格个数为7*7,然后B表示预选框的个数,此处数值为2,后面的x表示预选框的中心点的坐标x,y,以及预选框的宽w、高h。

2、置信度误差

的值所表示的意思和上述一致,但是第二个像阿拉伯数字1noobj的符号,其所表示的值和上述位置误差中的相反,此处表示第i个网格,第j个预选框,如果不负责预测物体,那么他的值为1,否则为0,

C的表示置信度的值,置信度C的值 = Pr类别概率 * IOU

类别概率表示边界框(预选框)内存在对象的概率,若存在对象则为1,不存在则为0,IOU为预测的位置框和真实值的框相交集的值除以并集的值的大小。

Ci表示模型预测出来的置信度的值,C^i的值表示实际计算得到的置信度的值

3、类别概率损失

这里第一个求和符号后面的小符号,表示第i个网格是否包含物体,如果包含,那么其值为1,否则为0

pi(C)-p^i(C)表示预测的类别的概率减去真实标签的概率,例如模型输出20类别的结果,即有20个数据,其中有预测到狗的概率,加入标签打的是狗,只需要将20个数据中预测狗额概率的值取出来,然后减去1,在对结果平方即可

三、NMS非极大值抑制

1、概念

在目标检测过程中,通常会生成大量的候选框,当前v1版本有2个复选框,这些候选框可能会有重叠 或者包含关系。为了减少重叠的候选框,避免重复检测同一个目标,使用非极大值抑制可以筛选出最佳的目标框。

例如上图中,同一个人脸被多个预选框预测出来,导致了预选框的重叠,此时可以将置信度低的抑制了,只保留最大的那个。

2、步骤

1)对所有的候选框根据某个评分指标(例如置信度得分)进行排序,得到一个有序列表;

2)选择评分最高的候选框,并将其添加到最终的目标框列表中;

3)计算当前选择的候选框与其他未选择的候选框的重叠区域,并计算重叠区域与两个候选框面积的比值;

4)如果重叠区域与两个候选框面积的比值超过了设定的阈值,则将该候选框从列表中移除;

5)重复步骤2~4,直到所有的候选框都被处理完毕。

四、YOLO v1优缺点

1、优点

1)速度快

YOLO v1的设计初衷就是实现实时目标检测,相较于其它目标检测算法如R-CNN和SSD,YOLO v1在保持较高准确率的同时,能够达到更快的检测速度,每秒处理上百张图片。

2)端到端

YOLO v1是一个端到端的算法,它将目标检测任务作为一个单一的回归问题进行处理,通过在全局上直接预测目标的类别和位置,避免了复杂的后处理步骤。

3)多尺度预测

YOLO v1在训练和测试阶段都会对不同尺度的图像进行处理,通过将输入图像划分为网格单元,并生成边界框,确保对不同尺度的目标能够进行有效的检测。

4)网络结构简单

YOLO v1的网络结构相对简单,由24个卷积层和2个全连接层组成。这种端到端的网络结构使得YOLO v1易于实现和部署。

2、缺点

1)对小目标检测效果差

由于输入图像大小为448x448,而输出特征图大小为7x7,因此YOLO v1在下采样过程中会丢失大量小目标的特征信息。这导致YOLO v1对小目标的检测效果不理想,容易出现漏检或误检的情况。

2)每个网格只能生成两个框,且只能预测一个类别

这一限制使得YOLO v1在处理多类别、多目标的情况时存在一定的局限性,例如图像重叠时,无法预测

相关推荐
Misnearch12 分钟前
我的创作纪念日
人工智能
facaixxx20241 小时前
DeepSeek-R1大模型一键部署安装教程by腾讯云HAI,0基础免安装
人工智能·云计算·腾讯云
Snasph1 小时前
AI技术路线(marked)
人工智能
oneway_up1 小时前
神经网络参数量和运算量的计算- 基于deepspeed库和thop库函数
人工智能·深度学习·神经网络
远洋录2 小时前
构建一个研发助手Agent:提升开发效率的实践
人工智能·ai·ai agent
goomind3 小时前
opencv实现边缘模板匹配
c++·人工智能·opencv·计算机视觉·模板匹配
人工智能教学实践3 小时前
基于 YOLOv8+PyQt5 的无人机红外目标检测系统:开启智能监测新时代
qt·yolo·无人机
稚辉君.MCA_P8_Java3 小时前
SpringAI 人工智能
大数据·linux·人工智能·分布式·spring
pps-key3 小时前
汽车自动驾驶AI
人工智能·自动驾驶·汽车
一水鉴天3 小时前
为AI聊天工具添加一个知识系统 之73 详细设计之14 正则表达式 之1
网络·人工智能