【YOLO系列】YOLO V1论文总结

news2024/9/21 0:40:51

目标检测论文总结

【RCNN系列】
RCNN
Fast RCNN
Faster RCNN

【YOLO系列】
YOLO V1


文章目录

  • 目标检测论文总结
  • 前言
  • 一、Pipeline
  • 二、模型设计
    • 1.训练阶段
    • 2.损失函数
      • 2.1.框回归损失
      • 2.2.置信度损失
      • 2.3.分类损失
  • 总结


前言

一些经典论文的总结。


一、Pipeline

在这里插入图片描述
YOLO的pipeline很简单,将一张图片reshape后送入卷积网络,根据卷积网络最后得到的一个三维张量进行目标预测(越觉得和Faster RCNN的RPN网络很类似)。

RCNN系列都是要先获取可能的目标区域(region proposals),把这些可能的区域送进卷积网络进行检测。也就是two-stage检测器。YOLO不同于RCNN系列,它是one-stage检测器,直接根据input得到目标预测。

二、模型设计

1.训练阶段

在这里插入图片描述
首先,YOLO把一张图片分成SxS个网格,论文中S取7。也就是一张图片有49个网格,每个网格都会生成2个预测框,通过训练让模型能够生成准确的预测框,将目标标注出来。

回到pipeline,将一张图片送入卷积网络后,卷积网络最后得到的一个[30,7,7]三维张量即30个通道7*7的大小。30通道分别表示2个预测的box的信息(一个box5个:4个偏移+1个置信度),20分类的条件类别概率,即2*5+20=30

在这里插入图片描述

2.损失函数

在这里插入图片描述
YOLO损失函数分为三部分,中心损失和宽高损失都是框回归损失(坐标回归损失)、置信度损失(即预测的框包含物体的概率)、分类损失。
在这里插入图片描述
图来自B站同济子豪兄。

2.1.框回归损失

总共49个网格,共生成98个框。98个框要确定哪些是正样本也就是哪些是要计算框回归损失的,没有物体的负样本没有定位框自然不用计算框回归损失

下图标注了四个颜色(蓝色、黄色、红色、紫色)的方框,分别表示狗的中心、自行车的中心、汽车的中心、背景。YOLO预测的98个框中,只有物体中心生成的框,且与GT有最大IOU的框才能作为正样本。比如,蓝色方框是狗的中心,那么这个网格会预测两个框(蓝蓝色虚线框和绿色虚线框),绿色的框与GT(红色)框的IOU最大,所以正样本只有绿色虚线框。也就是只有绿色的框会计算框回归损失。图中只有三个物体,意味着98个框中只有3个框是正样本,参与计算框回归损失。
在这里插入图片描述


宽高损失取了根号,作者说大框对小偏移不敏感,即使偏移了也能保持较大的IoU,但小框对偏移很敏感。所以通过取根号来减少这种影响。目的就是要放大小预测框的损失,让小框的损失占比能比原来大一些,更好地反向传播。从图像也可以看出在自变量比较小时,两个自变量x1,x2,由于根号的斜率更大的,y2-y1 的差值也会被放大,即放大了小框的误差。
x (红色曲线)和 x 的图像 \sqrt{x}(红色曲线)和x的图像 x (红色曲线)和x的图像
在这里插入图片描述

2.2.置信度损失

置信度损失是是遍历98个框,每个框是否包含物体,如果包含那么这个框的置信度(图中的标签值)应该为1,如果不包含这个框的置信度应该为0。比如,蓝色方框是狗的中心,那么这个网格会预测两个框(蓝蓝色虚线框和绿色虚线框),这两个预测框的P(object)即置信度应该不断训练往1靠近。其他虽然也有包含狗的网格,但是这些网格生成的预测框都被视为不包含物体。汽车、自行车同理。也就是说只有物体中心在的Grid Cell才会被视为有目标,图中只有三个物体,意味着98个框中只有6个框的置信度标签值为1,其他都是0。

2.3.分类损失

卷积网络最后得到的一个[30,7,7]三维张量即30个通道7*7的大小。30通道分别表示2个预测的box的信息(一个box5个:4个偏移+1个置信度),20分类的条件类别概率,即2*5+20=30。卷积网络输出的是条件类别概率(即表示在包含物体的情况下属于某一类的概率),所以代入全概率公式,用预测框的置信度乘以条件类别概率计算分类损失。

类被损失是是遍历49个Grid Cell(网格),只有物体中心所在的Grid Cell才有分类损失。
在这里插入图片描述


这个设计也是YOLO的缺点所在,由于两个预测框共用一个条件类别概率,所以导致结果一个Grid Cell只能预测一个类别。如果一个Grid Cell里面出现两类物体,即使有两个预测框,但是也只会输出条件概率最大的那一类。这也是YOLO在小目标检测上不好的原因。不过后续的YOLO版本改进了这个缺点,每个预测框都单独有一个类别概率。


总结

You Only Look Once!

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

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

相关文章

排查 Hive 任务导致磁盘写满的过程

计算的中间结果会写到 HDFS,如果用户写的SQL 有问题。如用户的 SQL 如下: select * from A join B where a.dt20230101 and b.dt20230101,如 A 表 dt20230101 分区 1000万行,B 表 dt20230101 有 1万行记录。由于 SQL 没有关联条件…

Druid 连接池技术的使用

文章目录官网链接连接性能消耗问题分析数据库连接池的作用市面常见连接池产品和对比国货之光druid连接池使用导入druid依赖硬编码方式(了解)软编码方式druid配置(了解)官网链接 http://www.apache-druid.cn/GettingStarted/chapter-1.html 连接性能消耗…

[Vue组件及组件之间的通信]一.Vue脚手架的使用;二.Vue的组件和组件之间的通信

目录 一.Vue脚手架的使用 1.通过命令行使用vue-cli的指令创建:vue init webpack 项目名称 2使用webStorm软件:本质仍然使用vue脚手架 3.使用vue ui创建:vue提供的图形化的操作界面 二.Vue的组件和组件之间的通信 1.组件:是vu…

数字签名与签名验证过程

1.1 生成数字签名 1 利用RSA算法生成公钥、私钥。私钥由密钥持有者自主保存,公钥可对外发布。 2 准备好待签名的文档。 3 利用哈希算法(HASH),生成待签名文档的摘要。(文档摘要) 4 利用签名者的私钥&am…

谷粒学院——第十八章、统计分析

准备工作 需求分析 1、统计在线教育项目中,每一天有多少注册人数 2、把统计出来的注册人数,使用图表显示出来 创建数据库表 创建工程 service_statistics 配置文件 # 服务端口 server.port8008# 服务名 spring.application.nameservice-statistic…

Python基础(二十一):面向对象深入了解

文章目录 面向对象深入了解 一、魔法方法 1、__init__() 2、__str__() 3、__del__()

数据结构入门——二叉树(C语言实现)

数据结构入门——二叉树一. 树概念及结构1.1 树的概念1.2 树的相关概念1.3 树的表示1.4 树的应用二. 二叉树概念及结构2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储结构三. 二叉树的顺序结构及其实现(堆的实现)3.1 二叉树的顺序结构3.2 堆的实现(以大堆为…

要想宝宝吃得好,粮仓就要保护好,做好3点保护粮仓,防止皲裂

众所周知,母乳喂养的妈妈并不容易,因为母乳喂养也有很多“难题”,也会很痛,比如开奶痛、挂奶、堵奶等,疼痛的程度不亚于子宫收缩。还有一个,牛奶,牛奶。.头皲裂的时候,真的是含泪喂奶…

Python实现可视化大屏数据

参考网址如下: 【Python】全网最新最全Pyecharts可视化教程(三):制作多个子图_51CTO博客_python数据可视化pyecharts使用pyecharts拖拉,拽,创建大屏展示 - 简书 (jianshu.com) 智慧大屏是如何实现数据可视化的? - 知…

调查问卷考试问卷创建生成工具助手小程序开发

调查问卷考试问卷创建生成工具助手小程序开发 问卷调查考试软件,可以自由让每一个用户自由发起调查问卷、考试问卷。发布的问卷允许控制问卷的搜集、回答等各个环节的设置,同时支持系统模板问卷,选用模板问卷后可以一键创建属于自己的问卷&a…

JVM基础知识总结

日常工作中接触到的jvm相关的知识,和jvm相关书籍中汇总总结一下jvm相关基础知识,作为对jvm的了解。 文章目录jvm运行时数据区域程序计数器java虚拟机栈堆heap非堆内存 nonheap方法区直接内存 Direct Memory类加载机制类的加载过程类加载器加载过程的详细…

阿里云网络解决方案架构师任江波:全球一张网,支撑游戏业务高效互联

2022 年 8 月 30 日,阿里云用户组(AUG)第 9 期活动在北京举办。活动现场,阿里云网络解决方案架构师任江波,向参会企业代表分享了全球一张网,支撑游戏业务高效互联。本文根据演讲内容整理而成。 在座的很多我…

Web3中文|年度回顾:2022年Web3的发展情况

老生常谈的话题都有一个共同点,那就是它总是包含着一些无趣但至关重要的真理。例如,众所皆知天空是蓝色的,所以大家并不会把它纳入日常讨论,但这并不代表它对物理学、生物学和其他学科而言没有价值。 当我们回望2022年的Web3领域…

docker 部署maven服务器,并将代码发布到maven服务器,并kie-server关联

书接上文 已经搭建好了kie-server的docker swarm集群. 没有搭建business-central是集群是因为这是个页面的可视化的开发环境 一来面向开发人员,不需要集群部署 二来他的数据是放在本地的git服务器上的. 所以每个node的数据不会统一 三来部署好了之后页面也打不开… 四来busines…

推荐系统入门学习(一)【小白入门系列】

推荐系统入门学习(一) 前言:本博客不会采取大量的难懂的语言来介绍推荐系统,只会用一些简单的方式来介绍推荐系统,祝学习愉快! 1、推荐系统的概念 简单的说,推荐系统则是将产品推荐给用户的一…

判断点在多边形内部

一、问题描述已知点P(x,y)和多边形polygon,判断点P(x,y)是否在多边形内部。二、解决方案射线法以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外部。考虑沿着L从无究远处开始自左向右移动&#xff0c…

Android 更改鼠标样式

定义风格 鼠标风格定义位置&#xff1a;\frameworks\base\core\res\res\values\styles.xml 系统定义了两套鼠标的风格&#xff0c;一套是默认&#xff0c;一套是放大的图标的风格&#xff0c;在下面增加自己的鼠标风格图标 <style name"BluePointer"><ite…

Springboot Controller接口默认自动填充 业务实体参数值

前言 今天看有小伙伴求救&#xff1a; 我还是一贯如此&#xff0c; 有人不明白&#xff0c;没玩过HandlerMethodArgumentResolver 。 那么很可能不止他一个人&#xff0c; 那么我就有必要出手。 不多说&#xff0c;开搞。 正文 快速模拟出这个使用场景 &#xff1a; 假如有好多…

Allegro174版本新功能介绍之动态铜皮Fast模式设置

Allegro174版本新功能介绍之动态铜皮Fast模式设置 Allegro升级到了174版本后,相比于172版本把动态铜皮的FAST模式优化的更为到位,据介绍,铜皮smooth的时间可以缩短非常多,尤其是针对于数据量非常大PCB,效率提升不少,但是在出生产文件的时候,铜皮还是必须Smooth,见下面o…

Odoo 16 企业版手册 - 库存管理之作业类型

作业类型 Odoo库存模块是有效管理所有类型库存操作的最佳选择。为公司的库存管理提供适当的支持对于完美地运营业务至关重要。当我们谈论Odoo是库存管理的完美解决方案时&#xff0c;您会好奇它提供的功能。在本节中&#xff0c;我们将使用专用库存模块详细介绍Odoo管理的库存操…