YOLOv3分析

news2024/11/17 8:24:46

参考链接:霹雳吧啦b站

主要参考了b站霹雳吧啦的视频《深度学习目标检测篇》。



前言

YOLOv3的精度虽然已经过时,但思想仍旧值得学习,本帖记录所需所想的一些内容。


YOLOv3

网络结构

请添加图片描述

一共53层,利用了FPN特征金字塔结构,在不同的层进行预测,具体信息如图所示。

特征层预测目标框

请添加图片描述

图中展示了 ( 1 3 2 , 2 6 2 , 5 2 2 ) (13^2,26^2,52^2) (132,262,522)三种特征图上的9种 anchor \text{anchor} anchor大小,红色为 GT \text{GT} GT框。一个 GT \text{GT} GT框由哪一个输出特征层进行预测,取决于当前层对应尺寸的 anchor \text{anchor} anchor GT \text{GT} GT IoU \text{IoU} IoU值,从图中可以看出,狗的目标框适合特征图层1(深层预测大目标)进行预测。

边界框预测回归

在这里插入图片描述

图中黑色的虚线框为 anchor \text{anchor} anchor模板,蓝色实线框为预测的目标框。 ( t x , t y , t w , t h ) (t_x,t_y,t_w,t_h) (tx,ty,tw,th) anchor \text{anchor} anchor预测的目标框的偏移量,利用这些偏移量我们最终可以得到预测的目标框的绝对坐标 ( b x , b y , b w , b h ) (b_x,b_y,b_w,b_h) (bx,by,bw,bh)。其中 σ ( x ) \sigma(x) σ(x) sigmoid \text{sigmoid} sigmoid函数,目的是将预测的偏移量缩放至0-1之间(相对坐标),这样可以将每个Grid Cell中预测的目标框的中心坐标限制在当前Cell中,加速网络收敛。

问题
Q:anchor对应预测的目标框偏移量是怎样计算出来的?
A:偏移量是连同目标置信度以及类别置信度(4+1+80)一同被网络的最后一层输出直接预测得到的。


YOLOv3 SPP

在这里插入图片描述

  • mosaic数据增强:将多张图拼接到一张图上(label同步),增加了数据的多样性、目标个数(训练时增加了正样本个数),同时BN能一次性统计多张图片的参数。

正负样本匹配

  1. 假设 G T GT GT的中心点落在特征图的哪一个 c e l l cell cell内,哪一个 c e l l cell cell的3个 anchor \text{anchor} anchor就负责预测。首先一共会有 ( 16 × 16 + 32 × 32 + 64 × 64 ) × 3 = 16128 (16×16+32×32+64×64)×3=16128 (16×16+32×32+64×64)×3=16128 anchor \text{anchor} anchor,即16128个样本。其中仅选取与 G T GT GT最大 I o U IoU IoU anchor \text{anchor} anchor当做正样本,又由于每个预测目标框根据计算的 I o U IoU IoU来确定由哪个尺度的特征图负责预测,则基本上相当于一个真实目标框对应一个正样本 anchor \text{anchor} anchor(由于 mosaic \text{mosaic} mosaic,单图目标数量还可以),所以一张图像的正样本一般只有十几个或几十个,而负样本大概有 1 0 4 − 1 0 5 10^4 - 10^5 104105个。

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

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

相关文章

软件著作权申请:保障开发者权益,促进软件创新

一、引言 在数字化时代,软件作为信息技术的核心,已成为推动社会进步和经济发展的重要力量。然而,随着软件产业的蓬勃发展,软件侵权和抄袭现象也日益严重。为了保护软件开发者的合法权益,促进软件产业的健康发展&#…

一维信号短时傅里叶变换域邻域降噪方法(MATLAB)

噪声在人类日常生活中无处不在,其会降低语音信号的质量和可懂度。在低信噪比的恶劣环境中,这种负面影响愈发严重。为了解决这个问题,众多研究人员在过去的几十年里提出了许多降噪算法。 根据原理的不同,降噪算法可大致分为五类:谱减法、最优滤波法、基于统计模型的方法、子空间…

【Java EE】Spring IOCDI

Spring IOC & DI 文章目录 Spring IOC & DI一、Spring是什么?二、IOC(控制反转)2.1 通俗理解2.2 造汽车的例子理解IOC2.3 IOC详解1. 获取Bean2. 方法注解——Bean1. 应用场景:2. 应用方法:3. 注意要点: 特别注意: 四、DI4…

基于springboot+vue+uniapp的超市售货管理平台

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

工具网源码|计算某一天是当年的第几周,第几天,黄历工具

源码简介: 工具网源码|计算某一天是当年的第几周,第几天,黄历工具,无文章系统,全站同过算法实现,并在前台展示,页面多,很适合seo。 演示站: https://dijizhou.wengu8.com…

从项目中学习Bus-Off的快慢恢复

0 前言 说到Bus-Off,大家应该都不陌生,使用VH6501干扰仪进行测试的文章在网上数不胜数,但是一般大家都是教怎么去干扰,但是说如何去看快慢恢复以及对快慢恢复做出解释比较少,因此本文以实践的视角来讲解Bus-Off的快慢恢…

期末复习---程序填空

注意&#xff1a; 1.数组后移 *p *(p-1) //把前一个数赋值到后一个数的位置上来覆盖后一个数 2.指针找最大字符 max *p while( *p){ if( max< *p) { max*p; qp;/ 用新的指针指向这个已经找到的最大位置&#xff1b;!!!!!!!!! } p; //因为开始没有next &#xff…

网络爬虫(二) 哔哩哔哩热榜高频词按照图片形状排列

我们有时候需要爬取结果生成为自定义的词云图 生成自定义的词云图通常需要以下步骤&#xff1a; 1. 爬取数据&#xff1a;使用爬虫工具或库&#xff0c;如requests、BeautifulSoup等&#xff0c;可以爬取网页、论坛、社交媒体等平台上的文本数据。 2. 数据预处理&#xff1a…

走进开源企业 | 湖南大学OpenHarmony技术实训活动在开鸿智谷顺利举办!

6月24日-6月26日&#xff0c;2024开放原子校源行之湖南大学信息科学与工程学院师生走进开源企业实训交流活动顺利落下帷幕。湖南大学信息科学与工程学院的师生代表团一行90人参与了湖南开鸿智谷数字产业有限公司&#xff08;以下简称“开鸿智谷”&#xff09;与母公司拓维信息系…

计算机的错误计算(十八)

摘要 计算机的错误计算&#xff08;四&#xff09;指出一元二次方程的计算精度问题。本节给出其一种解决方案。 计算机的错误计算&#xff08;四&#xff09;与&#xff08;十七&#xff09;分别指出一元二次方程的求解是具有挑战性的难题&#xff0c;其出错原因是因为相减相消…

(超详细)数据结构——“队列”的深度解析

目录 前言&#xff1a; 1.队列的概念 2.队列的实现 3.代码实现队列 3.1 队列的初始化 3.2 插入 3.3 删除 3.4 队列的队头&#xff0c;队尾和大小 3.5 判空 3.6 销毁 3.7 测试 前言&#xff1a; 队列与栈都是线性表&#xff0c;它们的结构也非常类似&#…

一维信号全变分(TV)降噪方法(MATLAB)

信号降噪一直是领域研究的热点&#xff0c;这是一项十分有意义并且极具挑战性的工作&#xff0c;经过几十年来相关科研人员的共同努力&#xff0c;降噪技术得到了极大的发展&#xff0c;并在现实生活中也得到了广泛的应用。其中&#xff0c;许多常用的方法有&#xff1a;小波变…

2024 年江西省研究生数学建模竞赛题目 B题投标中的竞争策略问题--完整思路、代码结果分享(仅供学习)

招投标问题是企业运营过程中必须面对的基本问题之一。现有的招投标平台有国家级的&#xff0c;也有地方性的。在招投标过程中&#xff0c;企业需要全面了解招标公告中的相关信息&#xff0c;在遵守招投标各种规范和制度的基础上&#xff0c;选择有效的竞争策略和技巧&#xff0…

【PB案例学习笔记】-26制作一个带浮动图标的工具栏

写在前面 这是PB案例学习笔记系列文章的第26篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

Python处理excel数据详解

1.导入文件 注意&#xff1a;要把excel放到跟你的python文件在同一个地方 import pandas as pd import numpy as np dfpd.read_excel("鸢尾花训练数据.xlsx",engine"openpyxl") import pandas 先引入 (若没有下载 需要在终端下载 pip install pandas)…

【Spring Boot】基于 JPA 开发的文章管理系统(CRUD)

基于 JPA 开发的文章管理系统&#xff08;CRUD&#xff09; 1.实现文章实体2.实现数据持久层3.实现服务接口和服务接口的实现类3.1 创建服务接口3.2 编写服务接口的实现 4.实现增、删、改、查的控制层 API 功能4.1 获取文章列表4.2 根据 id 获取文章对象4.3 新增4.4 保存4.5 删…

安全隔离上网的有效途径:沙箱

在数字化浪潮日益汹涌的今天&#xff0c;网络安全成为了不可忽视的重要议题。沙箱技术作为一种高效的隔离机制&#xff0c;为企业和个人提供了一种在享受网络便利的同时&#xff0c;保障系统安全的解决方案。本文旨在深入探讨沙箱技术如何做到隔离上网&#xff0c;从而为用户提…

cube-studio 开源一站式云原生机器学习/深度学习/大模型训练推理平台介绍

全栈工程师开发手册 &#xff08;作者&#xff1a;栾鹏&#xff09; 一站式云原生机器学习平台 前言 开源地址&#xff1a;https://github.com/tencentmusic/cube-studio cube studio 腾讯开源的国内最热门的一站式机器学习mlops/大模型训练平台&#xff0c;支持多租户&…

Java的日期类常用方法

Java_Date 第一代日期类 获取当前时间 Date date new Date(); System.out.printf("当前时间" date); 格式化时间信息 SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E); System.out.printf("格式化后时间" si…

使用PHP解析和处理HTML/XML以创建Web爬虫的示例

使用PHP解析和处理HTML/XML以创建Web爬虫的示例 引言&#xff1a; Web爬虫是一种自动化工具&#xff0c;用于从万维网&#xff08;World Wide Web&#xff09;上抓取数据。PHP作为一种流行的服务器端脚本语言&#xff0c;具有丰富的库和功能&#xff0c;可以方便地解析和处理H…