首页 > 编程语言 >论文研读之“YOLO v1”目标检测深度学习算法一文看懂

论文研读之“YOLO v1”目标检测深度学习算法一文看懂

时间:2025-01-14 10:01:35浏览次数:3  
标签:box 类别 研读 YOLO cell v1 grid 中心点 bounding

文章目录

YOLO v1笔记

一、推理阶段

1、模型结构

在这里插入图片描述

2、推理过程解析

在这里插入图片描述

该图为数据集为VOC时的情况,S=7,B=2。

生成预测框

在这里插入图片描述

生成条件概率

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

输出tensor解析

在这里插入图片描述

1-5、6-10为两个bounding box的(x,y,w,h,conf)。11-30为20个类别的置信度。
x,y是相对于grid cell的中心点,w,h是相对于整张图片的宽高,所以都是0-1的值。

在这里插入图片描述

模型训练成功之后,输入未知图片,通过运行模型的前向计算得到一个7x7x30的tensor。该tensor划分为7x7个网格,每个网格预测两个bounding box,每个bounding box包含(x,y,w,h,conf)(x,y为中心点坐标)。

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

该bounding box的置信度乘以20个类别的条件概率得到该bounding box的20个类别的全概率。
每个grid cell 的每个bounding box都做该操作获得该框的类别概率,最终每一个类别都有98个类别分数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、后处理

去掉置信度低的框、重复的框。

对每个类别进行非极大值抑制。

在这里插入图片描述

选得分最大的框bbmax,将后面得分低且非零的框 b b m i n i bbmin_i bbmini​与bbmax进行比较。
如果两个框的交并比大于阈值时,将 b b m i n i bbmin_i bbmini​的分数设为0。

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

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

所有框比较完后,只有两个框的得分非零。
对所有类都重复上面的过程。

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

二、训练阶段

1、confidence计算

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

每个gt由它的中心点位于的grid cell来负责拟合它。根据gt 框和该grid cell的两个框的iou来选择其中一个bounding box进行拟合,另外一个bounding box丢弃。其他没有gt 中心点的grid cell也丢弃。
注:每个grid cell生成的两个bounding box的中心点都位于所属的grid cell中。

在这里插入图片描述

2、损失函数

在这里插入图片描述
end~

本人水平有限,有错的地方还请批评指正。
本文参考同济子豪兄。

什么是精神内耗?
简单地说,就是心理戏太多,自己消耗自己。
所谓:
言未出,结局已演千百遍;
身未动,心中已过万重山;
行未果,假想灾难愁不展;
事已闭,过往仍在脑中演。

标签:box,类别,研读,YOLO,cell,v1,grid,中心点,bounding
From: https://blog.csdn.net/Shine19/article/details/145057655

相关文章

  • windows下安装yolov11的GPU版本
    在CSDN下搜索了一圈,给yolov11配置环境,已经有很多博主写了详细的文章。刚好我自己的笔记本电脑需要安装yolov11,把配置过程记录下。1、配置思路使用miniconda作为包管理工具,先单独安装pytorch、torchvision,再安装yolov11,最后通过condainstall安装cudatoolkit。2、安装流程......
  • 《ESP32-S3使用指南—IDF版 V1.6》第二章 常用的C语言知识点
    第二章常用的C语言知识点1)实验平台:正点原子DNESP32S3开发板2)章节摘自【正点原子】ESP32-S3使用指南—IDF版V1.63)购买链接:https://detail.tmall.com/item.htm?&id=7684993426594)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/esp32/ATK-DNESP32S3.html......
  • YOLOv10-1.1部分代码阅读笔记-downloads.py
    downloads.pyultralytics\utils\downloads.py目录downloads.py1.所需的库和模块2.defis_url(url,check=False): 3.defdelete_dsstore(path,files_to_delete=(".DS_Store","__MACOSX")): 4.defzip_directory(directory,compress=True,exclude=(&qu......
  • 扫雷v1.14版本
    更新:删除了雷数不对的bug#include<iostream>#include<cstdlib>#include<ctime>#include<windows.h>usingnamespacestd;intmain(){ srand(time(NULL)); inthp=3,zgls=0,hdls=0,inls=0; charez[10][10]={ '#','#','#&#......
  • 基于YOLOv8与CGNet的鸟类智能识别系统 深度学习图像分类 鸟类目标检测与分类 图像特征
    博主介绍:  ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生......
  • 基于YOLOv5的手语识别系统:深度学习应用与实现
    手语是聋人和听力障碍者与他人交流的主要方式之一。随着社会的进步,手语的识别技术逐渐成为研究的热点,尤其在智能助残设备和多模态人机交互中,手语识别的应用越来越广泛。尽管手语是一种自然语言,但其表达方式非常丰富,包括了不同的手势、姿势、动作轨迹和面部表情等。为了能够......
  • 基于YOLOv5的医学影像病变区域识别:深度学习在医学诊断中的应用
    随着医疗技术的进步,医学影像成为了辅助医生进行疾病诊断的重要工具。医学影像不仅能帮助医生观察到患者体内的病变区域,还能为疾病的早期发现和精准治疗提供关键线索。传统的医学影像分析方法依赖于医生的经验和人工判断,效率低且容易受到人为因素的影响。而随着深度学习技术,......
  • 地平线 LiDAR-Camera 融合多任务 BEVFusion 参考算法-V1.0
    该示例为参考算法,仅作为在征程6上模型部署的设计参考,非量产算法。1.简介激光雷达天然地具有深度信息,摄像头可以提供丰富的语义信息,它们是车载视觉感知系统中两个最关键的传感器。但是,如果激光雷达或者摄像头发生故障,则整个感知框架不能做出任何预测,这在根本上限制了实际自......
  • 跟着问题学3.6——YOLO v1&v2&v3 详解
    目标检测任务描述(1)输入一张图片,图片上有个目标,那么该如何描述目标在图像上的位置呢?我们知道,图像是长*宽的尺寸的像素点组成的,可以在图像上设置图像坐标系(比如以左上角为坐标原点,向右向下分别为x,y轴正方向),然后就可以使用边界框选中目标,边界框使用在图像坐标系上的坐标来表......
  • yolov8旋转目标检测部署教程(附代码c++_python)
    文章目录简介旋转目标检测的重要性挑战与难点技术方法数据增强特征提取旋转敏感的损失函数多任务学习先验知识引导后处理策略现有框架和技术未来趋势1.准备环境2.模型转换为ONNX格式导入库转换为ONNX3.ONNX模型部署导入库加载ONNX模型预处理后处理推理过程可视化结......