【目标检测04】yolo v1 笔记

【参考资料】
【1】https://github.com/TowardsNorth/yolo_v1_tensorflow_guiyu/blob/master/yolo/yolo_net.py
【2】https://www.bilibili.com/video/BV15w411Z7LG?p=4

1 网络结构

在这里插入图片描述
在这里插入图片描述

2 输出向量

2.1 输出概述

在这里插入图片描述
● 在yolo v1中将图像归一化后,分拆成 7 * 7 个单元格grid;
● 针对每一个grid,网络进行目标检测,检测中包含如下信息:

○ 是否存在目标检测框,这个框的中心点属于该grid
○ 这个备选的目标检测框,它的置信度
○ 这个备选的目标检测框属于哪一个类别

● 针对每一个grid,上述备选的目标检测框有两个;
● yolo v1检测的目标分类为20种

2.2 向量定义

在这里插入图片描述
在这里插入图片描述

3 NMS非极大值抑制

在这里插入图片描述
Yolo v1的后处理操作NMS,本质上完成两项工作:
目标1:去除可能性低的目标检测结果
目标2:对重复检测的目标结果进行合并

在这里插入图片描述
● 【预处理】

○ 第一步:将 7*7*30 个向量根据不同的分类,转换成 98 * 20 向量,即98个备选框,每个框包含20种分类的概率
○ 第二步:将概率小于某一个阈值的置零  -- 完成目标1

● 【NMS操作】

○ 第一步:选择一个种类,如上图中为狗
○ 第二步:对此类型的98个备选框进行排序,概率由高到低
○ 第三步:以概率最高的备选框为基准,依次与其他备选框进行比较,若IOU(框的重复度)大于某一个阈值,则将另外一个框置零
○ 第四步:重新选取第二高概率的备选框进行上述工作
○ 第五步:遍历其他种类,依次执行二~四步 

4 损失函数

4.1 yolo v1标注

在这里插入图片描述
● 用户手工标注时会有一个【正确目标框】,即上述绿框
● 绿框的中心点落在哪个单元格l中,则由该单元格预测的备选框去拟合,并且类别相同
备注:这里就决定下面损失函数里 即该单元格中是否有目标
● yolo v1最多可以预测 7*7个目标

4.2 损失函数定义

在这里插入图片描述
在Yolo v1的损失函数设计分为三大块五项;

1、第一块为坐标相关损失函数,包含1、2两项;【如果单元格有目标的情况下】

  	1.1、其中第一项为若该grid cell需要负责对目标进行检测,
  	则检测结果的坐标中心点要尽可能接近
 	1.2、其中第二项为若该grid cell需要负责对目标进行检测,则高、宽需要尽可能接近

2、第二块为置信度损失函数,包含3、4项;

 	2.1、【如果单元格有目标的情况下】其中第四项为若该grid cell需要负责对目标进行检测,
 	则置信度要接近1
 	2.2、【如果单元格无目标的情况下】其中第五项为若该grid cell不需要负责对目标进行检测,
 	则置信度要接近于0

3、第三块为分类损失函数,包含第五项,该项为预测概率与正确概率的计算结果

 	3.1、对于正确概率即为【1,0,0,0,0】形式的向量,因为只有一个正确类

4、超参数备注:

  	4.1 此处和是两个超参数,默认是5和0.5,为了增加有目标时的权重
  	4.2 这里 B 是2,代表的是两个备选目标框

版权声明:本文为CSDN博主「Fred-XU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Fredric_2014/article/details/122702910

Fred-XU

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Day 14 - 安装与执行 YOLO

Day 14 - 安装与执行 YOLO 在 介绍影像辨识的处理流程 - Day 10 有提到 YOLO 模型是由 Joseph Redmon 所提出,而到了 YOLOV4 后才换成另外一群人继续发展,