YOLO v1(2016.5)

文章目录
- Abstract
- Introduction
- 过去方法存在的问题
- 我们提出的方法解决了...
- Unified Detection
- Network Design
- Training
- Inference
- Comparison to Other Detection Systems
- Deformable parts models
- R-CNN
- Other Fast Detectors
- Deep MultiBox
- OverFeat
- MultiGrasp
- Experiments
- Conclusion
原文链接
代码
Abstract
我们提出了一种新的目标检测方法YOLO,先前在目标检测方面的工作将分类器重新用于执行形式检测。相反,我们将目标检测框架视为空间分离边界框和相关类概率的回归问题。单个神经网络在一次评估中直接从完整图像中预测边界框和类别概率。由于整个检测管道是一个单一的网络,因此可以直接对检测性能进行端到端的优化
我们的统一架构非常快。我们的基本YOLO模型以每秒45帧的速度实时处理图像。一个更小的网络版本,Fast YOLO,每秒处理惊人的155帧,同时仍然达到其他实时探测器的两倍mAP。与最先进的检测系统相比,YOLO会产生更多的定位错误,但背景误差小得多
最后,YOLO学习对象的通用表示,当从自然图像泛化到其他领域(如艺术品)时,它优于其他检测方法,包括DPM和R-CNN
Introduction
过去方法存在的问题
当前的检测系统使用分类器来执行检测,最近的一些方法,如R-CNN,首先使用区域生成方法在图像中生成潜在的边界框,然后在这些候选框上运行分类器,然而这些复杂的管道是缓慢的和难以优化的,因为每个单独的组件必须单独训练
我们提出的方法解决了…
我们将目标检测重新定义为一个单一的回归问题,直接从图像像素到边界框坐标和类概率。使用我们的系统,你只看一次(YOLO)图像,以预测什么物体存在和他们在哪里
用YOLO处理图像是简单和直接的。(1)将输入图像的大小调整为448 × 448,(2)在图像上运行单个卷积网络,(3)通过模型的置信度对结果检测进行阈值
单个卷积网络同时预测多个边界框和这些框的分类概率,YOLO在完整的图像上进行训练,并直接优化检测性能。与传统的目标检测方法相比,这种统一的模型有几个优点:
首先,YOLO非常快
其次,YOLO在进行预测时对图像进行全局推理,因此,YOLO的背景误差很小
第三,YOLO学习对象的通用表征,YOLO是高度可泛化的,当应用到新的领域或意想不到的输入时,它不太可能崩溃
YOLO在精度上仍然落后于最先进的探测系统。虽然它可以快速识别图像中的物体,但很难精确定位某些物体,尤其是小物体
Unified Detection
我们将目标检测的独立组件统一到一个单一的神经网络中,YOLO设计使端到端训练和实时速度,同时保持高平均精度
我们定义置信度as Pr(Object) ∗ IOU truth pred
每个边界框由5个预测组成:x, y, w, h和置信度
置信度预测表示预测框与任何真实框之间的IOU
Pr(Classi|Object):条件类概率

条件类概率 × 个体置信度预测 = 类别置信度预测
这些分数编码了该类别出现在框中的概率以及预测框与该对象的匹配程度
Network Design
网络的初始卷积层从图像中提取特征,而全连接层预测输出概率和坐标
我们的检测网络有24个卷积层,后面是2个全连接层,交替的1 × 1卷积层减少了前一层的特征空间。我们在ImageNet分类任务上以一半的分辨率(224 × 224输入图像)预训练卷积层,然后将分辨率提高一倍用于检测
Training
我们对最后一层使用线性激活函数,所有其他层使用以下漏整流线性激活
每张图像中,许多网格单元不包含任何对象,这可能导致模型不稳定,导致训练在早期出现分歧,我们使用两个参数,λcoord和λnoobj来实现这一点。设λcoord =5, λnoobj = .5
我们对模型输出中的和平方误差进行了优化
我们的误差度量应该反映出大盒子里的小偏差比小盒子里的小偏差影响小。为了部分解决这个问题,我们预测边界框宽度和高度的平方根,而不是直接预测宽度和高度
1obji 表示目标是否出现在单元格 i 中,1objij表示单元格 i 中的第 j 个边界框预测器“负责”该预测
损失函数只在对象存在于该网格单元中时惩罚分类错误(因此前面讨论了条件类概率)。它也只有在预测器“负责”地面真值框(即在该网格单元中具有最高的预测器IOU)时才会对边界框坐标误差进行化
为了避免过拟合,我们使用dropout和广泛的数据增强
Inference
就像在训练中一样,预测测试图像的检测只需要一次网络评估。在PASCAL VOC上,网络预测每张图像的98个边界框和每个框的类概率。YOLO在测试时非常快,因为它只需要一个网络评估,不像基于分类器的方法
网格设计加强了绑定框预测的空间多样性。通常情况下,一个对象落在哪个网格单元是很清楚的,网络只预测每个对象的一个框。然而,一些较大的物体或靠近多个单元边界的物体可以被多个单元很好地定位。非最大抑制可以用来固定这些多重检测。虽然不像R-CNN或DPM那样对性能至关重要,但非最大抑制在mAP中增加了2- 3%
Comparison to Other Detection Systems
目标检测是计算机视觉中的一个核心问题。检测管道通常首先从输入图像中提取一组鲁棒特征(Haar [25], SIFT [23], HOG[4],卷积特征[6])。然后,使用分类器[36,21,13,10]或定位器[1,32]来识别特征空间中的对象。这些分类器或定位器要么在整个图像上以滑动窗口的方式运行,要么在图像中的某些区域子集上运行[35,15,39]。我们将YOLO检测系统与几个顶级检测框架进行了比较,突出了关键的相似点和不同点
Deformable parts models
可变形部件模型(DPM)使用滑动窗口方法进行对象检测[10]。DPM使用一个不相交的管道来提取静态特征,对区域进行分类,预测高分区域的边界框等
我们的系统用一个卷积神经网络取代了所有这些不同的部分。该网络可以同时进行特征提取、边界框预测、非最大值抑制和上下文推理。与静态特征不同,该网络在线训练特征,并针对检测任务对其进行优化。我们的统一架构带来了更快、更准确的模型
R-CNN
R-CNN及其变体使用区域候选框而不是滑动窗口来查找图像中的对象。选择性搜索[35]生成潜在的边界框,卷积网络提取特征,支持向量机对边界框进行评分,线性模型调整边界框,非最大压缩消除重复检测。这个复杂管道的每个阶段都必须精确地独立调整,结果系统非常慢,在测试时每个图像需要40多秒
YOLO与R-CNN有一些相似之处。每个网格单元提出潜在的边界框,并使用卷积特征对这些框进行评分。然而,我们的系统对网格单元候选框施加了空间约束,这有助于减少对同一目标的多次检测。我们的系统提出的边界框也少得多,每张图像只有98个,而选择性搜索大约有2000个。最后,我们的系统将这些单独的组件组合成一个单一的、共同优化的模型
Other Fast Detectors
Fast 和 Faster R-CNN专注于通过共享计算和使用神经网络提出区域而不是选择性搜索[14]b[28]来加速R-CNN框架。虽然它们在速度和准确性上都比R-CNN有所提高,但两者的实时性仍然不足
Deep MultiBox
与R-CNN不同,Szegedy等人训练卷积神经网络来预测感兴趣的区域[8],而不是使用选择性搜索。MultiBox还可以通过用单个类预测代替置信度预测来执行单个对象检测。然而,Multi- Box不能执行通用的目标检测,仍然只是在一个更大的检测管道中,需要进一步的图像补丁分类
YOLO和MultiBox都使用卷积网络来预测图像中的边界框,但YOLO是一个完整的检测系统
OverFeat
OverFeat可以有效地进行滑动窗口检测,但它仍然是一个不相交的系统。Over- Feat优化了定位,而不是检测性能。与DPM一样,本地化器在进行预测时只看到本地信息。OverFeat不能对全局上下文进行推理,因此需要大量的后处理来产生连贯的检测
MultiGrasp
我们的工作在设计上与Redmon等人的抓取检测工作相似。我们对边界框预测的网格方法是基于MultiGrasp系统对抓点的回归。然而,抓握检测是一个比物体检测简单得多的任务。MultiGrasp只需要为包含一个对象的图像预测单个可抓取区域,它不需要估计物体的大小、位置或边界,也不需要预测物体的类别,只需要找到一个适合抓取的区域。YOLO预测图像中多个类别的多个对象的边界框和类别概率
Experiments
首先,我们将YOLO与其他基于PASCAL VOC 2007的实时检测系统进行了比较。为了理解YOLO和R-CNN变体之间的差异,我们探讨了YOLO和Fast R-CNN (R-CNN b[14]的最高表现版本之一)在VOC 2007上的错误。基于不同的误差分布,我们表明YOLO可以用于快速R-CNN检测的重分,并减少背景假阳性的误差,从而显着提高性能。我们还介绍了VOC 2012的结果,并将mAP与当前最先进的方法进行了比较。最后,我们在两个艺术品数据集上证明了YOLO比其他检测器更好地泛化到新的领域






Conclusion
我们的模型构造简单,可以直接在完整的图像上进行训练。与基于分类器的方法不同,YOLO是在直接对应于检测性能的损失函数上进行训练的,整个模型是联合训练的。Fast YOLO是最快的通用对象检测器,YOLO推动了最先进的实时对象检测。YOLO还可以很好地推广到新的领域,使其成为依赖于快速、健壮的对象检测的应用程序的理想选择
相关文章:
YOLO v1(2016.5)
文章目录 AbstractIntroduction过去方法存在的问题我们提出的方法解决了... Unified DetectionNetwork DesignTrainingInference Comparison to Other Detection SystemsDeformable parts modelsR-CNNOther Fast DetectorsDeep MultiBoxOverFeatMultiGrasp ExperimentsConclusi…...
SQL比较两次的字段集合,找出并返回差异,主要用于更新记录事件
Create PROCEDURE [dbo].[SysGetTableFieldsCompare] -- Description: <比较两次的字段集合,找出并返回差异,主要用于更新记录事件> -- Return 0- 成功, -1- 没有这个表 -- Rev: 1.00 -- FieldsSource Nvarchar(max) , FieldsTarg…...
muduo源码剖析之Acceptor监听类
简介 Acceptor类用于创建套接字,设置套接字选项,调用socket()->bind()->listen()->accept()函数,接受连接,然后调用TcpServer设置的connect事件的回调。 listen()//在TcpServer::start中调用 封装了一个listen fd相关…...
express session JWT JSON Web Token
了解 Session 认证的局限性 Session 认证机制需要配合 cookie 才能实现。由于 Cookie 默认不支持跨域访问,所以,当涉及到前端跨域请求后端接口的时候,需要做很多额外的配置,才能实现跨域 Session 认证。 注意: 当前端…...
负载均衡策略 LVS
一、集群功能分类 1、LB (1) 概念: LB:负载均衡 (Load Balancing) 是一种分发网络流量的技术,LB 负载均衡的基本原理是将传入的网络流量分发到多个后端服务器,以确保这些服务器都承担相似的工作负载,从而避免某一台…...
驱动开发6 IO多路复用——epoll
核心操作:一棵树、一张表、三个接口 相关案例 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys…...
【python学习笔记——列表】
1、列表定义 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。 空列表 list[]非空列表 列表定义时例如list[‘csdn’, ‘is’ ,‘good’ ,2023],直接给列表内赋值 2、列表索引规则 列表名[start:stop:step],前闭后开,即取索引为start…...
TensorRT量化实战课YOLOv7量化:YOLOv7-PTQ量化(一)
目录 前言1. YOLOv7-PTQ量化流程2. 准备工作3. 插入QDQ节点3.1 自动插入QDQ节点3.2 手动插入QDQ节点 前言 手写 AI 推出的全新 TensorRT 模型量化实战课程,链接。记录下个人学习笔记,仅供自己参考。 该实战课程主要基于手写 AI 的 Latte 老师所出的 Tens…...
[微信小程序踩坑]微信小程序editor富文本组件渲染字符串时,内部图片超出大小导致无法正常渲染或回显(数据传输长度为 3458 KB,存在有性能问题!)
坑一:回显问题 富文本组件: <editor id"editor" name"{{name}}" style"font-size: 28rpx;color: #C9CDD4" read-only"{{true}}" placeholder"{{placeholder}}" bind:input"onChange11"…...
USACO12OPEN Balanced Cow Subsets G(meet in the middle)
洛谷P3067 [USACO12OPEN] Balanced Cow Subsets G 题目大意 我们定义一个奶牛集合 S S S是平衡的,当且仅当满足以下两个条件: S S S非空 S S S可以被划分为两个集合 A , B A,B A,B,满足 A A A里的奶牛产量之和等于 B B B里的牛奶产量之和 …...
GIT常用操作记录
1、后悔药:强制回退到某个具体历史提交记录,并强制推送到远程仓库 强制回退到某个具体历史提交记录,即要删除它之后的所有提交,可以用 git reset 命令。 首先找到目标提交记录的ID,可以在github远程仓库的历史提交记…...
【ETL工具】Datax-ETL-SqlServerToHDFS
🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!&…...
Kubernetes (K8S)概述
1、K8S 是什么? K8S 的全称为 Kubernetes (K12345678S),PS:“嘛,写全称也太累了吧,不如整个缩写”。 1.1 作用 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。 可以…...
11月14号|Move生态Meetup相约浪漫土耳其
Move是基于Rust编程语言,由Mysten Labs联合创始人兼CTO Sam Blackshear在Meta的Libra项目中开发而来,旨在为开发者提供比现有区块链语言更通用的开发语言。Sam的目标是创建Web3的JavaScript,即一种跨平台语言,使开发人员能够在多个…...
mac vim没有颜色 问题
vim ~/.vimrc syntax on set nu! set autoindent...
Servlet核心API
目录 HttpServlet init destory service 实例:处理get、post、put、delete请求 1.通过postman得到请求 2.通过ajax得到请求 HttpServletRequest 常见方法 前端给后端传参 1.GET,query string 2.POST,form 3.POST,json HttpSeverletRespons…...
crs 维护模式 exclusive mode
How To Validate ASM Instances And Diskgroups On A RAC Cluster (When CRS Does Not Start). (Doc ID 1609127.1)编辑To Bottom [rootrac1 ~]# ps -ef|grep grid root 2477 1 1 20:47 ? 00:00:51 /opt/oracle.ahf/jre/bin/java -server -Xms32m -Xmx64…...
【OpenCV实现平滑图像形态学变化】
文章目录 概要目标腐蚀膨胀开运算结构元素(内核)小结 概要 形态学变化是一组简单的图像操作,主要用于处理二值图像,即只包含黑和白两种颜色的图像。这些操作通常需要两个输入,原始图像和一个内核(kernel&a…...
Ubuntu服务器中java -jar 后台运行Spring Boot项目
问:我在我的服务器中java -jar 运行springboot项目,但是我操作不了命令了,必须要终止掉才能执行后面的操作,怎么样才能让他后台运行呢?比如我的jar包名是tools-boot-0.0.1-SNAPSHOT.jar 使用nohup命令: 在…...
微服务parent工程和子工程pom文件配置注意
parent工程 重要配置: <!-- 父工程 --><packaging>pom</packaging><!-- 聚合 --><modules><module>../base</module><module>../gateway</module><module>../user-service</module><mod…...
3步告别GitHub英文界面:GitHub中文化插件终极解决方案
3步告别GitHub英文界面:GitHub中文化插件终极解决方案 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 还在为GitHub的英文…...
仅剩最后47个印尼语专属Voice ID配额!ElevenLabs企业版印尼语音定制通道即将关闭——附2024Q3合规接入白皮书
更多请点击: https://codechina.net 第一章:印尼语Voice ID配额告急与企业定制通道关闭预警 近期,多家使用印尼语(Bahasa Indonesia)语音身份验证(Voice ID)服务的企业客户收到平台侧自动通知&…...
如何找到最适合你的私有化IM?
跳出公有云的舒适区,决心搭建私有化IM,并不是一件能一蹴而就的事。市面上打着私有化旗号的软件鱼龙混杂,有的安装环境要求极高,有的功能华而不实。如何在复杂的选型迷雾中,找到最适合组织基因的那一款?你可…...
意法半导体STM32F407VET6现货
在当今快速发展的电子技术领域,选择一款合适的微控制器对于项目成功至关重要。意法半导体(STMicroelectronics)推出的STM32F407VET6凭借其卓越性能、丰富的外设接口及广泛的应用场景,成为了众多开发者和工程师的首选。本文将深入探…...
别再手动Cherry-pick了!用IDEA的Squash功能,3步合并Git提交历史
告别零碎Commit:IDEA交互式变基实战指南 在团队协作开发中,每个开发者都经历过这样的场景:为了修复一个看似简单的Bug,你在本地分支上提交了五六个"WIP"(Work in Progress)或"fix typo"…...
从零手写K-Means聚类算法:理解初始化、分配与收敛的底层原理
1. 项目概述:从零手写K-Means,不只是调包,而是真正理解聚类的“心跳”你有没有过这种感觉:调用sklearn.cluster.KMeans跑完一个聚类任务,结果图一出、轮廓系数一算,好像就结束了?但当同事问起“…...
python健身服务管理系统_健身房教练预约系统qeif6f6f
目录同行可拿货,招校园代理 ,本人源头供货商项目概述核心功能技术实现项目特点应用场景项目技术支持源码获取详细视频演示 :同行可合作点击我获取源码->获取博主联系方式->进我个人主页-->同行可拿货,招校园代理 ,本人源头供货商 项目概述 Python健身服务…...
远程技术面试的潜规则:摄像头角度可能影响你的录用
一、摄像头角度:被忽视的专业细节在软件测试的工作中,我们习惯用严谨的态度去排查代码里的每一个bug,用精准的测试用例去验证产品的每一项功能。但在远程技术面试这个特殊的“测试场景”里,很多人却忽略了一个看似无关紧要&#x…...
突破内存瓶颈:HBM、CXL与GPU新部署策略
训练生成式AI模型本身已是一项成本高昂、能耗巨大的工作。随着超大规模数据中心和前沿研究机构竞相扩展边缘推理与智能体AI能力,GPU的部署正变得愈加复杂,尤其是在内存层面。在数据中心中,对先进内存配置的需求日益迫切。不断增多的AI处理器正…...
Captain AI:Ozon俄文内容本地化,打破语言壁垒,贴合本土需求
俄文内容本地化是Ozon商家立足俄罗斯市场的核心前提,Ozon平台95%以上的用户为俄语母语者,纯中文或机翻的内容不仅会导致搜索曝光降低,还可能因语言错误引发合规风险、影响买家信任。然而,国内商家普遍面临“俄语专业人才短缺、机翻…...
