目标检测之YOLOv1算法分析

news2024/11/18 5:39:15

网络结构

卷积层+池化层+全连接层
在这里插入图片描述

输入 448 ∗ 448 448*448 448448大小的图片
输出 7 ∗ 7 ∗ 30 7*7*30 7730的张量

30维张量包括20个对象的概率,2个bounding box的置信度及其位置(一个bounding box位置信息需要四个值,两个bounding box总需要8个值)

20个对象的概率即为条件概率,如果该网格中存在一个检测对象,那么该检测对象为类别A的概率: p ( P A ∣ e x i s t _ o b j e c t s ) p(P_A|exist\_objects) p(PAexist_objects)

2个bounding box的置信度,其中置信度=p(exist_objects) * 该预测的bounding box与该对象的真实边框的IOU值

两个bounding box的置信度分别于20个类别的概率相乘,可得到分在在两个bounding box中的每一类的概率。

重点分析

bounding box相关内容

每一个网格给出两个bounding box信息,但一个对象只需要一个bounding box。为此,通过一定的个标准进行舍取。
输出的30维向量中,包含两个bounding box的置信度,该置信度反应出预测框与真实框IOU交并比。那么两个框IOU交并比,谁大就由谁负责预测一个对象,并且 p ( e x i s t _ o b j e c t s ) p(exist\_objects) p(exist_objects)为1,另一个bounding box的 p ( e x i s t _ o b j e c t s ) p(exist\_objects) p(exist_objects)为0。那么根据公式可知置信度其实就为IOU交并比值。

grid cell 与 bounding box

将图片分成 7 ∗ 7 7*7 77的网格(grid cell),每一个grid cell生成两个预测框bounding box,该预测框的中心点都落在该grid cell格子内部。每一个grid cell只能预测一个物体。

损失函数

在这里插入图片描述

公式分析,其中 1 i o b j 1_i^{obj} 1iobj表示网格 i i i存在检测对象, 1 i j o b j 1_{ij}^{obj} 1ijobj表示网格 i i i的第 j j j个bounding box存在检测对象, 1 i j n o b j 1_{ij}^{nobj} 1ijnobj表示网格 i i i的第 j j j个bounding box不存在检测对象

第一行表示边框中心点的误差,grid cell中负责预测的bounding box框与真实框的误差

第二行表示预测框相对于真实框的宽和高的误差。其中开方旨在降低因为大小不同带来的敏感问题

第三行表示置信度误差,即边框内存在对象, C i ˉ \bar{C_i} Ciˉ越高越好

第四行也表示置信度误差,即边框内不存在对象, C i ˉ \bar{C_i} Ciˉ越低越好

最后一行表示对象分类误差

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/113060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C/C++】排序讲解,C语言实现各种排序

这篇文章会从思路到实现到分析时间空间复杂度,一次性搞懂各种排序 有帮助的话点个赞收藏一下不迷路啊 如果对时间空间复杂度还不熟悉的请去看 时间 空间复杂度 本文章不会讲堆排序,这部分内容会马上单写一篇博客介绍,和堆的和一些更复杂的问题…

C++基础之核心3

C核心编程 本阶段主要针对C面向对象编程技术做详细讲解,探讨C中的核心和精髓。 1 内存分区模型 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量…

海格里斯HEGERLS标准解析|夹抱式四向穿梭车医用行业现代物流解决方案

众所周知,随着当前电商、医用、新零售等领域的快速发展,各大中小企业对于存储的要求越来越高,为让仓储货架、仓储设备、仓储配件等更具有行业的适配性,传统固定的穿梭车已不能满足对不同尺寸料箱的处理。为此,河北沃克…

二叉树题型

目录 二叉数遍历迭代法 1.1前序遍历 1.2中序遍历 1.3后续遍历 二叉树最小深度 二叉树所有路径 中序后序构造二叉树 验证二叉搜素树 二叉数遍历迭代法 1.1前序遍历 前序遍历顺序:根—左—右; 解法1:用栈来进行中间过程处理&#xf…

Babel和devServer | Webpack

文章目录Babel和devServerbabelbabel命令行使用babel-loaderVue源码的打包VSCode对SFC文件的支持vue-loaderdevServerBabel和devServer babel babel命令行使用 babel-loader Vue源码的打包 VSCode对SFC文件的支持 vue-loader devServer

一键可以轻松替换人物背景图,效果出乎意料的好(附 Python 代码)

最近发现 BackgroundMattingV2 项目的一些使用上的小缺陷,但是他却可以做到头发丝精细的抠图效果。我将项目稍微魔改了一下,让他在可以选择单一图片的基础上,可以把抠好的图片贴在自定义的背景图上,这样就可以让照片中的人物&…

使用Tomcat时出现Access Error: 404 -- Not Found的解决办法

当时出现这种情况很迷惑,错误提示如下 突然想到大二上学模电的时候安装过multisim,这个软件的某些不必要的服务占用了8080端口(恼),出现这种情况应该是和Tomcat默认的端口冲突了。 于是就有了解决思路: …

stm32f407VET6 系统学习 day03 通用同步异步收发器

1.同步串行通信 同步通信发送端和接收端必须用共同的时钟源才能保持它们之间的准确同步。同步传输时,每个字 符没有起始位和停止位,它不是用起始位来标志字符的开始,而是用一串特定的二进制序列,称为 同步字符,去通知接…

[思维模式-14]:《复盘》-2- “知”篇 - 复盘之道

目录 前言: 一、U型学习法:复盘的学习机理 (1) 回顾、评估 (2)分析、反思 (3)萃取、提炼 (4)转化、应用 二、复盘与PDCA既有区别,也有联系…

solr 安装和使用

Solr是基于ApacheLucene构建的流行、快速、开源的企业搜索平台 Solr具有高度可靠性、可扩展性和容错性,提供分布式索引、复制和负载平衡查询、自动故障切换和恢复、集中配置等功能。Solr为许多世界上最大的互联网站点提供搜索和导航功能 环境准备 linux centos7 ja…

如何用iDesktop快速制作一幅研究区概况图

目录前言数据准备成果展示制作步骤前言 研究区概况图能直观展示研究区域的地理位置,在许多研究展示与论文撰写中必不可少。本文将以成都市为例,利用SuperMap桌面产品iDesktop快速制作一幅研究区概况图。 数据准备 四川省行政区划矢量数据(…

【语音处理】LQ/QR噪声估计器研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【Javascript】循环,函数,调用栈,闭包,递归

❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录函数作用域例子调用栈可选参数闭包递归函数 形参不需要定义var,函数可以付给一个变量…

Android Qcom USB Driver学习(八)

该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) 因为要看usb charging的问题,所以需要补充一下battery的相关知识,算是入门吧 BAT SCH (1)VBATT_VSNS_P (2)BAT_THERM (3)I2C_SDA (4)I2C_SCL (5)VBATT_VSNS_M (1)BATT…

【问题分析】解决java中epoll依赖缺失问题

【问题分析】解决java中epoll依赖缺失问题一、前言二、问题描述三、问题分析四、解决方法五、总结一、前言 在学习使用lettuce框架实现UNIX域套接字unix domain socket连接redis时,遇到了一个问题,提示java.lang.IllegalStateException: A unix domain …

Java Stream后续来了,汇总一些项目开发中高频使用的 Stream操作

不过讲解这些操作时用的都是非常简单的例子,流操作的数据也都是简单类型的,主要的目的是让大家能更快速地理解 Stream 的各种操作应用在数据上后,都有什么效果。 在现实场景中实际做项目的时候,我们使用Stream操作的数据大多数情…

OpenCV颜色识别

颜色分辨 单个颜色识别 代码 import cv2 import numpy as npdef color(lower, upper, name):Img cv2.imread(image/origin/all.png) # 读入一幅图像kernel_3 np.ones((3, 3), np.uint8) # 3x3的卷积核if Img is not None: # 判断图片是否读入HSV cv2.cvtColor(Img, cv2…

maven中profiles使用详解,多环境开发配置文件(开发,测试,生产)+ pom中resources部分标签介绍

一.maven中profiles使用详解(仅供参考) 使用的场景 常常遇到一些项目中多环境切换的问题。比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况。springboot中提供了 spring.profile.active的方式来实…

以mariadb为例介绍如何使用systemctl命令集设置服务开机自启动

以mariadb为例介绍如何使用systemctl命令集设置服务开机自启动一、systemd简介二、systemctl命令集常用命令三、以mariadb自启动为例四、更多说明一、systemd简介 systemd即为system daemon,是linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许…

[思维模式-13]:《复盘》-1- “知”篇 - 认识复盘

目录 前言 一、什么是复盘 二、复盘的三个关键词 三、复盘,而非总结 四、复盘的优势与局限 五、复盘与行动学习、培训、绩效改进的区别与联系 六、关于复盘的几个常见误解 误解1:可否对他人之事进行复盘 误解2:“项目后评估”是复盘吗…