当前位置: 首页 > news >正文

目标检测-One Stage-YOLOv1

文章目录

  • 前言
  • 一、YOLOv1的网络结构和流程
  • 二、YOLOv1的损失函数
  • 三、YOLOv1的创新点
  • 总结


前言

前文目标检测-Two Stage-Mask RCNN提到了Two Stage算法的局限性:

  • 速度上并不能满足实时的要求

因此出现了新的One Stage算法簇,YOLOv1是目标检测中One Stage方法的开山之作,不同于Two Stage需要先通过RPN网络得到候选区域的方法,YOLOv1将检测建模为一个回归问题,直接在整张图的特征图(Feature Map)上进行目标的定位和分类,因此速度比当时正红的Fast R-CNN快很多。而且,也正是因为YOLOv1看的是全局的信息,把背景误判成目标的错误率比只看候选区的Fast R-CNN低很多,但整体的准确率还是Fast R-CNN高。


提示:以下是本篇文章正文内容,下面内容可供参考

一、YOLOv1的网络结构和流程

  1. 首先将输入图像划分成7 * 7的网格
  2. 使用ImageNet数据集(224大小)对前20层卷积网络进行预训练
  3. 使用PASCAL VOC数据集(448大小)对完整的网络进行对象识别和定位的训练
  4. 对于每个网格都预测2个边框(bounding box),即预测98(7 * 7 * 2)个目标窗口,输出7 * 7 * 2 * 30 的张量。

ps:最后一维为30,包含每个预测框的分类与位置信息:20个类别的概率+2个边框的置信度+2*4(2个边框的位置,每个边框4个参数:x_center, y_center, width, height)

  1. 根据上一步预测出98个目标窗口,使用非极大值抑制NMS去除冗余窗口
    在这里插入图片描述

ps:YOLOv1的最后一层采用线性激活函数,其它层都是Leaky ReLU。训练中采用了drop out和数据增强(data augmentation)来防止过拟合。

二、YOLOv1的损失函数

在这里插入图片描述
可看出由5个部分组成:(真阳样本的中心定位误差、宽高误差、confidence误差),负样本confidence误差,正样本类别误差

  • 可以看到宽高误差先取了平方根,这样可以降低大小对象对差值敏感度的差异
  • 超参数 λ c o o r d = 5 , λ n o o b j = 0.5 \lambda_{coord}=5,\lambda_{noobj}=0.5 λcoord=5λnoobj=0.5,可看出真阳样本位置误差的权重较高,负样本置信度误差权重低

三、YOLOv1的创新点

  1. 去除候选区模块,直接将目标检测任务转换成一个简单的回归问题,大大加快了检测的速度(45fps-155fps)
  2. 由于每个网络预测目标窗口时使用的是全图信息(图片的全局特征),使得false positive比例大幅降低(充分的上下文信息),precision较高

总结

尽管YOLOv1速度提升很多,但是精度较低:

  • 每个格子只能预测一个物体,且仅利用了单尺度特征图,对较小对象和密集型的物体检测不友好
  • 7 * 7的粗糙网格内对目标框不加限制的回归预测,使得定位不够精准
  • 预训练时与实际训练时输入大小不一致,模型需要去适应这种分辨率的转换,会影响最终精度

相关文章:

目标检测-One Stage-YOLOv1

文章目录 前言一、YOLOv1的网络结构和流程二、YOLOv1的损失函数三、YOLOv1的创新点总结 前言 前文目标检测-Two Stage-Mask RCNN提到了Two Stage算法的局限性: 速度上并不能满足实时的要求 因此出现了新的One Stage算法簇,YOLOv1是目标检测中One Stag…...

PHP序列化总结3--反序列化的简单利用及案例分析

反序列化中生成对象里面的值,是由反序列化里面的值决定,与原类中预定义的值的值无关,穷反序列化的对象可以使用类中的变量和方法 案例分析 反序列化中的值可以覆盖原类中的值 我们创建一个对象,对象创建的时候触发了construct方…...

大一C语言程序细节复盘2

7-4 学生成绩排序 分数 27 全屏浏览题目 切换布局 作者 张泳 单位 浙大城市学院 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩&#xff0c;定义一个能够表示学生信息的结构类型。输入n&#xff08;n<50&#xff09;个学生的成绩信息&#xff0c;按照学生…...

【QT】跨平台区分32位和64位的宏

目录 0.背景 1.详细 0.背景 项目用到&#xff0c;原用的是 “WIN32”和“WIN64”,但是发现在64位下的时候&#xff0c;进了表示32位的代码&#xff0c;上网查找&#xff0c;原来是宏写错了&#xff0c;特此记录&#xff0c;适用windows和linux 1.详细 修改前&#xff1a; #…...

对抗AUTOMIXUP

文章目录 摘要1、简介2、相关工作3、ADAUTOMIX3.1、深度学习分类器3.2、生成器3.3 对抗增强3.3.1 对抗损失 3.4 对抗优化 4、实验4.1、分类结果4.1.1、数据集分类4.1.2、精细分类 4.2、校准4.3、鲁棒性4.4、遮挡鲁棒性4.5、迁移学习4.6、消融实验 5、结论附录AA.1 数据集信息A.…...

AMEYA360:什么是热敏电阻 热敏电阻基础知识详解

热敏电阻(thermistor)是对温度敏感的一种电子器件&#xff0c;其电阻值会随着温度的变化而发生改变。 热敏电阻按照温度系数不同分为正温度系数热敏电阻(PTC thermistor&#xff0c;即 Positive Temperature Coefficient thermistor)和负温度系数热敏电阻(NTC thermistor&#…...

RedisTemplate自增时保证原子性的lua脚本限制接口请求频率

场景&#xff1a;限制请求后端接口的频率&#xff0c;例如1秒钟只能请求次数不能超过10次&#xff0c;通常的写法是&#xff1a; 1.先去从redis里面拿到当前请求次数 2.判断当前次数是否大于或等于限制次数 3.当前请求次数小于限制次数时进行自增 这三步在请求不是很密集的时…...

《通信基站绿色低碳服务评价技术要求》团体标准顺利通过技术审查

2023年12月14日团体标准《通信基站绿色低碳服务评价技术要求》召开了技术审查视频会议。来自节能权威机构、科研院校、通信行业企业的专家以及标准编制组代表参加了本次会议。 技术审查专家组由郑州大学能动学院教授赵金辉、国家节能中心节能技术推广处处长辛升、中国标准化研…...

堆排序(C语言版)

一.堆排序 堆排序即利用堆的思想来进行排序&#xff0c;总共分为两个步骤&#xff1a; 1. 建堆 升序&#xff1a;建大堆 降序&#xff1a;建小堆 2. 利用堆删除思想来进行排序 1.1.利用上下调整法实现堆排序 第一步&#xff1a;建堆 好了&#xff0c;每次建堆都要问自己…...

实现区域地图散点图效果,vue+echart地图+散点图

需求&#xff1a;根据后端返回的定位坐标数据实现定位渲染 1.效果图 2.准备工作,在main.js和index.js文件中添加以下内容 main.js app.use(BaiduMap, {// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ak: sRDDfAKpCSG5iF1rvwph4Q95M…...

Kubernetes 学习总结(41)—— 云原生容器网络详解

背景 随着网络技术的发展&#xff0c;网络的虚拟化程度越来越高&#xff0c;特别是云原生网络&#xff0c;叠加了物理网络、虚机网络和容器网络&#xff0c;数据包在网络 OSI 七层网络模型、TCP/IP 五层网络模型的不同网络层进行封包、转发和解包。网络数据包跨主机网络、容器…...

多人协同开发git flow,创建初始化项目版本

文章目录 多人协同开发git flow&#xff0c;创建初始化项目版本1.gitee创建组织模拟多人协同开发2.git tag 打标签3.git push origin --tags 多人协同开发git flow&#xff0c;创建初始化项目版本 1.gitee创建组织模拟多人协同开发 组织中新建仓库 推送代码到我们组织的仓库 2…...

「Kafka」入门篇

「Kafka」入门篇 基础架构 Kafka 快速入门 集群规划 集群部署 官方下载地址&#xff1a;http://kafka.apache.org/downloads.html 解压安装包&#xff1a; [atguiguhadoop102 software]$ tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/修改解压后的文件名称&#xff1a; [a…...

PHP8的JIT(Just-In-Time)编译器是什么?

PHP8的JIT&#xff08;Just-In-Time&#xff09;编译器是什么&#xff1f; PHP8是最新的PHP版本&#xff0c;引入了JIT&#xff08;Just-In-Time&#xff09;编译器&#xff0c;以进一步提高性能和执行速度。 JIT编译器是一种在运行时将解释性语言转化为机器码的技术。在过去…...

【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数

文章目录 &#x1f680;前言&#x1f680;C有何过C之处&#xff1f;&#x1f680;C中的关键字&#x1f680;命名空间✈️为什么要引入命名空间&#xff1f;✈️命名空间的定义✈️如何使用命名空间中的内容呢&#xff1f; &#x1f680;C中的输入和输出✈️C标准库的命名空间✈…...

Excel中部分sheet页隐藏并设置访问密码

1、新建sheet1 2、新建sheet2 3、隐藏sheet2 4、保护工作簿、输密码 5、密码二次确认 6、隐藏的sheet2已经查看不了 7、想要查看时&#xff0c;按图示输入原密码即可 8、查看sheet2内容...

从零开始配置pwn环境:CTF PWN 做题环境

前期在kali2023环境安装的pwndocker使用发现不好用&#xff0c;so找了网上配置好pwn环境的虚拟机。 GitHub - giantbranch/pwn-env-init: CTF PWN 做题环境一键搭建脚本 可以直接下载我配置好的Ubuntu 16.04&#xff0c;为VMware导出的ovf格式 链接&#xff1a;百度网盘 请输…...

Vue3复习笔记

目录 挂载全局属性和方法 v-bind一次绑定多个值 v-bind用在样式中 Vue指令绑定值 Vue指令绑定属性 动态属性的约束 Dom更新时机 ”可写的“计算属性 v-if与v-for不建议同时使用 v-for遍历对象 数组变化检测 事件修饰符 v-model用在表单类标签上 v-model还可以绑定…...

【OpenCV】OpenCV:计算机视觉的强大工具库

摘要   OpenCV是一个广泛应用于计算机视觉领域的开源工具库&#xff0c;为开发者提供了丰富的图像处理和计算机视觉算法。本文将介绍OpenCV的功能和应用领域&#xff0c;并探讨它在实践中的重要性和前景。 计算机视觉的强大工具库 一、什么是OpenCV&#xff1f;二、OpenCV的功…...

spring-boot-autoconfigure误引入spring-boot-starter-data-jpa而导致数据源初始化异常

一、现状描述 某个Grade类引入了jpa的注解&#xff1a; import javax.persistence.Column; import javax.persistence.Embeddable;/*** 年级*/ Embeddable public class Grade {Column(name "code")private int code; }并且pom.xml中引入该jar包&#xff1a;sprin…...

工程(十六)——自己数据集跑Fast_livo

一、基础环境 Ubuntu20.04 ROS noetic PCL 1.8 Eigen 3.3.4 Sophus git clone https://github.com/strasdat/Sophus.git cd Sophus git checkout a621ff mkdir build && cd build && cmake .. make sudo make install 下面两个直接把包下载下来一起编译…...

PostgreSQL数据库的json操作

1.操作符 select json字段::json->key值 from order -- 对象域 select json字段::json->>key值 from order -- 文本 select json字段::json#>{key值} from order -- 对象域 select json字段::json#>>{key值} from order -- 文本对象域表示还能继续操作&#…...

gradio-osprey-demo

创建需要的dockerfle ################### # 使用 Ubuntu 作为基础镜像 FROM nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu22.04 # 更新软件包列表并安装依赖项 RUN apt update && \ apt install -y python3 python3-pip git ffmpeg libsm6 libxext6 curl wget …...

从仿写持久层框架到MyBatis核心源码阅读

接上篇手写持久层框架&#xff1a;https://blog.csdn.net/liwenyang1992/article/details/134884703 MyBatis源码 MyBatis架构原理&主要组件 MyBatis架构设计 MyBatis架构四层作用是什么呢&#xff1f; API接口层&#xff1a;提供API&#xff0c;增加、删除、修改、查询…...

浏览器常用基本操作之python3+selenium4自动化测试

1、打开指定的网页地址 我们使用selenium进行自动化测试时&#xff0c;打开浏览器之后&#xff0c;第一步就是让浏览器访问我们指定的地址&#xff0c;可使用get方法实现 1 2 3 from selenium import webdriver driver webdriver.Edge() driver.get(https://www.baidu.com/)…...

在MySQL中使用VARCHAR字段进行日期筛选

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

微信小程序自定义步骤条效果

微信小程序自定义一个步骤条组件&#xff0c;自定义文字在下面&#xff0c;已完成和未完成和当前进度都不一样的样式&#xff0c;可点击上一步和下一步切换流程状态&#xff0c;效果如下。 这是视频效果&#xff1a; 前端实现步骤条效果 下面我们一步步实现编码&#xff0c;自定…...

QT的信号与槽

QT的信号与槽 文章目录 QT的信号与槽前言一、QT 打印"hello QT"的dome二、信号和槽机制&#xff1f;二、信号与槽的用法1、QT5的方式1. 无参的信号与槽的dome2.带参的信号与槽dome 2、QT4的方式3、C11的语法 Lambda表达式1、函数对象参数2、操作符重载函数参数3、可修…...

Python 为UnityAndroid端自动化接入Tradplus广告SDK

Python 为UnityAndroid端自动化接入Tradplus广告SDK Tradplus介绍常规接入进入Android开发文档选择渠道配置生成接入代码人工依赖下载官网同版本的 Unity插件 使用自动化工具接入首次 你需要打两个标记来定位运行工具 控制台会列出最新的十个Tradplus版本 任选其一然后拖入项目…...

Matplotlib基础

目录&#xff1a; 一、绘制yx^2图像&#xff1a; 一、绘制yx^2图像&#xff1a; from matplotlib import pyplot as plt import numpy as np #生成&#xff08;-50,50&#xff09;的数组 x np.arange(-50,50) #计算因变量y的值 y x ** 2 #根据x、y数组绘制图形yx^2 plt.plot…...

2010网站建设管理/优化设计

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid6396 假设k为5&#xff0c;那么开5个数组用来分别存放每头怪兽对应的五个防御力 用五个指针去从头开始遍历&#xff0c;如果当前值小于对应的攻击力&#xff0c;就判断一下这头怪兽的五个值是不是都小于其对应…...

他达拉非片正确服用方法/搜索引擎优化包括哪些内容

tooltip样式主要通过formatter设置&#xff0c;官网明确指出支持字符串模板和回调函数两种形式。 1.字符串模板 举例&#xff1a; tooltip: {trigger: item,formatter: {a} <br/>{b} : {c} ({d}%),confine: true},结果如下图所示&#xff1a; 2.回调函数 回调函数 支…...

wordpress 英文/宁波seo关键词优化方法

敏捷领导力总结一下&#xff1a;您的敏捷转换被困住了。 您已经考虑了自己的原因&#xff0c;就像成为敏捷领导者一样&#xff0c;第1部分&#xff1a;定义原因 。 您已经开始衡量可能性。 您像要成为敏捷领导者&#xff0c;第2部分&#xff1a;与谁接触一样&#xff0c;对与谁…...

国际网站怎么做/app拉新推广平台渠道

由于种种原因&#xff0c;决定今天开始从centos7转为ubuntu14.0.但是一开始就遇到了一个问题。ubuntu的源貌似被墙了。没有办法&#xff0c;只好换源。如是参考了下面的帖子。 换源参考链接 但是又出现了一个问题,百度了好久才找到 zhaoubuntu:~$ sudo apt-get -f install gcc …...

ps做网站的分辨率多少/搜索引擎营销是指

Python进行PDF转图片pdfplumber的可视化调试使用pdfplumber这个Python工具库&#xff0c;pdfplumber基于pdfminer.six。使用pdfplumber进行PDF转图片&#xff0c;简单快捷。同时pdfplumber还提供可视化的PDF内容提取调试支持&#xff0c;如上图。import pdfplumberpdf pdfplum…...

四核网站建设/香飘飘奶茶软文

Solo 的 git 页面地址 https://github.com/AgoraIO-Community/Solo Solo 的 git 下载地址 https://github.com/AgoraIO-Community/Solo.git 我的 gitee 下载页面 https://gitee.com/hugang2021/Solo 在运行的时候会报错 已启动生成… 1>------ 已启动生成: 项目: SATECod…...