目标检测之YOLOv1算法分析

2023-11-18

网络结构

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

输入 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ˉ越低越好

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测之YOLOv1算法分析 的相关文章

随机推荐

  • easyexcel读取excel将数据存到mysql【一个简单的例子】

    读取excel 1 xml里面增加maven
  • 使用Java程序向手机发送短信

    JAVA发送手机短信 有几种方法 1 使用webservice接口发送手机短信 这个可以使用sina提供的webservice进行发送 需要进行注册 2 使用短信mao的方式进行短信的发送 这种方式应该是比较的常用 前提是需要购买硬件设备
  • 变分推断

    一 概述 对于概率模型来说 如果从频率派角度来看就会是一个优化问题 从贝叶斯角度来看就会是一个积分问题 从贝叶斯角度来看 如果已有数据 x x x 对于新的样本 x hat x
  • 转债打新监听

    不炒股 只打新捡点小钱 package com github niefy modules job run import cn hutool core convert Convert import cn hutool core util Nu
  • 软件测试基础知识个人笔记

    一 为什么要测试 软件系统越来越成为生活中不可或缺的一部分 缺陷不可避免 软件不正确执行可能会导致很多问题 二 软件测试的定义 软件测试 描述一种用来促进鉴定软件的正确性 完整性 安全性和质量的过程 维基百科 公司主流观点 测试是一个包含计
  • eclipse注释模板

    eclipse注释模板 一 配置步骤 Eclipse中 gt Window gt Preferences gt Java gt Code Style gt Code Templates 二 模板示例 Files 文件 Title file
  • java 多线程执行时间测试,TestNG中实现多线程并行,提速用例的执行时间

    TestNG是一个开源自动化测试工具 TestNG源于Junit 最初用来做单元测试 可支持异常测试 忽略测试 超时测试 参数化测试和依赖测试 除了单元测试 TestNG的强大功能让他在接口和UI自动化中也占有一席之地 以Java为例 目前
  • Spring源码之Bean的生命周期

    Spring已经成为了目前最流行的第三方开源框架之一 我们在充分享受Spring IOC容器带来的便捷时 也应该考虑一下Spring这个大工厂是如何将一个个的Bean生产出来的 我们一起来讨论一下Spring中Bean的生命周期 Sprin
  • 内容提供者ContentProvider和内容解析者ContentResolver

    简介 ContentProvider 在android中的作用是对外共享数据 也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问 其他应用可以通过ContentProvider 对你应用中的数据进行添删改查 关
  • 微信小程序第三篇:获取页面节点信息

    文章目录 获取节点信息 createSelectorQuery selectViewport boundingClientRect fields 获取节点信息 createSelectorQuery wx createSelectorQue
  • MySQL数据库基础学习小终结:连接查询、表结构的修改、约束条件、MySQL与python交互

    目录 一 连接查询 1 内连接 2 外连接 二 表结构的修改 alter 1 修改表名 2 修改字段名 3 修改字段类型 modify 4 添加字段 1 添加日期字段 datetime 2 enum字段 5 删除字段 三 约束条件 1 默认
  • <artifactId>mysql-connector-java</artifactId>

    加载MySQL驱动程序 Class forName com mysql cj jdbc Driver 建立连接 String url jdbc mysql localhost database name String username us
  • CAS乐观锁使用AtomicStampedReference版本号控制手动实现原子计数

    原子计数可以直接使用AtomicInteger 下面采用AtomicStampedReference的版本号控制原子操作解决ABA问题 最终结果一定最大的是200000 1A gt 2B gt 3A public class AtomicR
  • Nginx+uWSGI+Supervisor配置

    目录 一 Nginx 1 Nginx是什么 Nginx的特点 Nginx的事件处理机制 Nginx的内部 进程 模型 Nginx是如何处理一个请求 2 部署nginx 安装nginx nginx操作 测试nginx是否能用 配置nginx
  • Android bpf简单上手教程

    背景 业界对Android的性能监控 hook 系统分析 抓包 逆向等领域的关注和投入在不断提升 作为Linux Kernel中新兴的优美的一套技术框架 bpf逐渐在Android中被用于监控 分析 优化和逆向 产出了众多的工具 此外 Go
  • 一个程序员的现状

    前一阵子读了 Java夜未眠 有一个系列是说台湾程序员的的生活现状的 看后还真是有够感慨的 于是就想把自己的现状整理一下 再结合自己的工作经历 看看是否能反映出我们这一批程序员的普遍的生存状态 一 从专业说起 论程序员的出身专业 那无非就两
  • twaver html5 如何设置节点不可拖动

    解决思路 1 创建一个不可移动的图层 layer 2 设置不可拖动的节点node 的图层为 layer 见代码 var box new twaver ElementBox var network new twaver vector Netw
  • Debug Hacks学习笔记-1

    大多数Linux发行版关闭了内存转储功能 使用ulimit命令查看当前的内存转储是否有效 ulimit c 如果为0则关闭了 使用ulimit c unlimited或者设置一个上限可开启内核转储 当发生问题时进程的内存就会全部转储到内存转
  • mobaxterm设置中文界面显示_Adobe系列2020如何更改界面显示语言

    关于这个问题 网上有很多教程 最近几年版本的Adobe全家桶将界面显示语言设置放在了 AMT 文件夹下的 application xml 文件内 但我照着这些方法找了半天 发现application xml文件里根本就没有 zh CN 或
  • 目标检测之YOLOv1算法分析

    网络结构 卷积层 池化层 全连接层 输入 448 448 448 448 448 448大小的图片 输出 7 7