YOLO目标检测1

一. 参考资料

《YOLO目标检测》 by 杨建华博士

二. 背景

2.1 目标检测发展简史

2014年,RCNN问世,R-CNN的思路是先使用一个搜索算法从图像中提取出若干感兴趣区域(region of interest,RoI),然后使用一个卷积神经网络(convolutionalneural network,CNN)分别处理每一个感兴趣区域,提取特征,最后用一个支持向量机来完成最终的分类,如下图所示。


RCNN被称为两阶段检测范式,主要问题在于检测速度较为缓慢,基于此方面的改进有提出Fast R-CNN和Faster R-CNN。

2015年,YOLO(You Only Look Once)问世。不同于R-CNN的两阶段检测范式,YOLO的作者团队认为,提取候选区域(定位)和逐一识别(分类)完全可由一个单独的网络来同时完成,无须分成两个阶段,不需要对每一个特征区域进行依次分类,从而能够减少处理过程中的大量冗余操作,如下图所示。

在这样的设计理念下,YOLO凭借着其在TITAN X型号的GPU上以每秒处理超过40张图像的检测速度(即40 FPS)超越了当时所有的通用目标检测器。尽管YOLO的检测性能要略逊于当时最新的Faster R-CNN检测器,但其显著的速度优势使其成为一个可以满足实时检测需求的通用目标检测器。

2.2 目标检测网络框架

一个常见的目标检测网络往往可以分为三大部分:主干网络(backbone network)、颈部网络(necknetwork)和检测头(detection head)。

  • 主干网络。主干网络是目标检测网络中最核心的部分,其关键作用就是提取输入图像中的高级特征,减少图像中的冗余信息,以便于后续的网络去做深入的处理。在大多数情况下,主干网络选择的成败对检测性能的影响是十分巨大的。
  • 颈部网络。颈部网络的主要作用是将由主干网络输出的特征进行二次处理。其整合方式有很多,最为常见的就是特征金字塔网络(feature pyramid network,FPN)[插图],其核心是将不同尺度的特征进行充分的融合,以提升检测器的多尺度检测的性能。除此之外,还有很多单独的、可即插即用的模块,如RFB[插图]、ASPP[插图]和YOLOv4[插图]所使用的SPP模块等,这些模块都可以添加在主干网络之后,以进一步地处理和丰富特 征信息,扩大模型的感受野。
  • 检测头。检测头的结构相对简单,其主要作用就是提取类别信息和位置信息,输出最终的预测结果。在某些工作里,检测头也被称为解码器(decoder),这种称呼不无道理,因为检测头的作用就是从前两个部分所输出的特征中提取并预测图像中的目标的空间位置和类别,它相当于一个解码器。

2.3 目标检测网络框架浅析

  • 主干网络:大家一般采用在Image Net上预训练的方法,研究者们将在ImageNet数据集上训练好的分类网络做一些适当的调整—去掉最后的global avgpooling层和Softmax层后,将其作为目标检测网络中的主干网络,可以有效加快收敛速度,常用的主干网络有VGG,ResNet,DarkNet,MobileNet,ShuffleNet等。
  • 颈部网络:主干网络毕竟是从图像分类任务中迁移过来的,在大多数情况下,这些网络的设计很少会考虑到包括目标检测、语义分割等下游任务,它们提取的特征也就有可能不太适合目标检测任务
    • 特征金字塔网络:特征金字塔网络(feature pyramid network,FPN)是目前目标检测领域最有名的结构之一,几乎是当下目标检测网络的标准配置,其多尺度特征融合与多级检测思想影响了后续许多目标检测网络结构。FPN认为网络中的不同大小的特征图所包含的信息是不一样的,即浅层特征图包含更多的位置信息,且分辨率较高,感受野较小,便于检测小物体;而深层特征图包含更多的语义信息,且分辨率较低,感受野较大,便于检测大物体。因此,FPN设计了一种自顶向下的融合方式,将深层的特征不断融合到浅层特征中,通过将浅层与深层的信息进行融合,可以有效地提升网络对不同尺度物体的检测性能。图1-5展示了特征金字塔网络的结构。
    • 空间金字塔池化模块:空间金字塔池化模块是由YOLOv3工作的作者团队所设计的SPP结构,包含4条并行的分支,且每条分支用了不同大小的池化核。SPP结构可以有效地聚合不同尺度的显著特征,同时扩大网络的感受野,进而提升模型的性能。SPP模块是一个性价比很高的结构,被广泛地应用在YOLOv4、YOLOv6和YOLOv7等工作中。图1-6展示了SPP模块的网络结构。
  • 检测头:大多数的检测框架所采用的技术路线都是在处理好的特征图上,通过部署数层卷积来完成定位和分类。

三. 常用的数据集&下载方法

3.1 VOC数据集

PASCAL VOC(PASCAL Visual Object Classes)数据集[插图]是目标检测领域中的经典数据集,该数据集中共包含20类目标,一万多张图像。该数据集中最为常用的是VOC2007和VOC2012数据集。通常,VOC2007的train/val数据与VOC2012的train/val数据会被组合在一起用于训练网络,共包含16551张图像,而VOC2007的test数据则作为测试集来验证网络的性能,共包含4952张图像。

数据集下载可以参考这个blog,voc2007,voc2012数据集快速下载方法_voc拓展数据集下载-CSDN博客

3.2 COCO数据集

MS COCO(简称COCO)数据集是微软公司于2014年公布的大型图像数据集,包含诸如目标检测、图像分割、实例分割和图像标注等丰富的数据标签,是计算机视觉领域最受关注、最为重要的大型数据集之一。相较于VOC数据集,COCO数据集包含更多的图像,场景更加丰富和复杂,用于训练的图像数量高达11万余张,包含80个类别,远远大于VOC数据集。COCO数据集不仅所包含的图像更多,而且更重要的是,COCO数据集的图像具有更加贴近自然生活、场景更加复杂、目标尺度多变、光线变化显著等特点,这些特点不仅使得COCO数据集极具挑战性,同时也赋予了检测算法良好的泛化性能,使得在该数据集上训练好的检测器可以被部署到实际场景中。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Qt 常用控件】显示类控件——QLabel

目录 1.QLabel 1.1 textFormat 文本类型 普通文本和富文本 Markdown格式 1.2 alignment 文本对齐方式 1.3 wordWrap 自动换行 1.4 indent 文本缩进 1.5 margin 边距 1.6 buddy,qlabel伙伴 1.7 pixmap图片 和 scaledContents自动填充 1.QLabel 功能&#x…

vif-方差膨胀因子计算

vif-方差膨胀因子 使用statsmodels中的variance_inflation_factor,数据集使用乳腺癌数据集 import pandas as pd import numpy as np from sklearn.datasets import load_breast_cancer from tqdm import notebook from statsmodels.stats.outliers_influence impor…

查看电脑或笔记本CPU的核心数方法及CPU详细信息

一、通过任务管理器查看 1.打开任务管理器 可以按下“Ctrl Shift Esc”组合键,或者按下“Ctrl Alt Delete”组合键后选择“任务管理器”来打开。 2.查看CPU信息 在任务管理器界面中,点击“性能”标签页,找到CPU使用记录区域&#xff0c…

数据恢复常见故障(四)关键信号的耦合电容撞件后导致SATA前端通信异常

数据恢复常见故障(四)关键信号耦合电容撞件后导致SATA前端通信异常 SATA固态硬盘SATA差分信号上有耦合电容,电容被撞件后,偏移,导致接触不良,引起SATA前端信号通信异常,故障现象表现为不认盘&a…

[HCTF 2018]WarmUp

题目&#xff1a;一上来给了个图片还是很懵的&#xff0c;于是尝试查看一下源代码&#xff1a;发现有提示&#xff1a;于是访问source.php得到了php代码&#xff1a;(这里将代码和代码分析放一块) <?phphighlight_file(__FILE__); class emmm{public static function chec…

MYSQL数据库基础-01.数据库的基本操作

数据库的语法是大小写不敏感的&#xff0c;可以使用大写&#xff0c;也可以使用小写。 每条语句要以&#xff1b;结尾&#xff0c;可以多行输入。 名称不能是关键字,若想用关键字命名,要用反引号 引起来。 目录 一.数据库的基本操作 1.创建数据库&#xff1a; 2.查看数据库…

Decode Global专注金融创新,构建便捷的交易平台

随着金融市场持续进阶&#xff0c;越来越多的年轻正在涌入金融交易的体系中&#xff0c;针对当下年轻人崇尚精简&#xff0c;优中取优的特点&#xff0c;Decode Global紧跟金融市场发展的步伐&#xff0c;不断创新体验&#xff0c;致力于打造一个精简快捷&#xff0c;安全便捷的…

系统思考—转型

我们大多数问题的来源是&#xff1a;人们的思考方式与大自然的运作方式之间的差异。——葛雷果利贝特森&#xff08;人类学家、生物学家及系统思考先驱&#xff09; 在企业转型的过程中&#xff0c;许多企业创始人常常面临一个困境——过去的成功经验和旧有的思维方式&#xf…

Flutter:carousel_slider 横向轮播图、垂直轮播公告栏实现

安装依赖 carousel_slider: ^5.0.01、垂直滚动公告栏 import package:carousel_slider/carousel_options.dart;// 垂直滚动公告栏Widget _buildNotice() {return <Widget>[<Widget>[TDImage(assetUrl: "assets/img/home11.png",width: 60.w,height: 60.w…

【二叉树的深搜】计算布尔二叉树的值 求根节点到叶节点数字之和

文章目录 2331. 计算布尔二叉树的值解题思路&#xff1a;后序遍历129. 求根节点到叶节点数字之和解题思路&#xff1a;深度优先搜索 前序遍历 2331. 计算布尔二叉树的值 2331. 计算布尔二叉树的值 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节…

【高阶数据结构】布隆过滤器(BloomFilter)

1. 概念 1.1 背景引入 背景&#xff1a;在计算机软件中&#xff0c;一个常见的需求就是 在一个集合中查找一个元素是否存在 &#xff0c;比如&#xff1a;1. Word 等打字软件需要判断用户键入的单词是否在字典中存在 2. 浏览器等网络爬虫程序需要保存一个列表来记录已经遍历过…

偏序关系.

一、偏序&#xff08;半序&#xff09;关系 偏序关系 自反反对称传递性 二、全序&#xff08;线序、链&#xff09;关系 三、偏序集中的重要元素 1. 极大元与极小元 极大元找所在集合的一个或几个最高点&#xff1b; 极小元找所在集合的一个或几个最低点。 2. 最大元与最小…

国产编辑器EverEdit - 列编辑模式

1 列模式 1.1 应用背景 在编辑CSV格式&#xff0c;或者比较规整的配置文件时&#xff0c;可能会用到一列的内容都要进行修改的情况&#xff0c;在不支持列模式的编辑器中&#xff0c;可能需要用户逐行去编辑&#xff0c;比如有下面一段扯淡文本&#xff1a; ADD NRNFREQ:LOCA…

论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(一)

Understanding Diffusion Models: A Unified Perspective&#xff08;一&#xff09; 文章概括引言&#xff1a;生成模型背景&#xff1a;ELBO、VAE 和分层 VAE证据下界&#xff08;Evidence Lower Bound&#xff09;变分自编码器 &#xff08;Variational Autoencoders&#x…

【重庆市乡镇界】面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移内容测评

标题中的“最新重庆市乡镇界面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移最新”指的是一个地理信息系统&#xff08;GIS&#xff09;的数据集&#xff0c;特别设计用于ArcGIS软件。这个数据集包含了重庆市所有乡镇的边界信息&#xff0c;以Shapefile&#xff08;.shp…

【0x04】HCI_Connection_Request事件详解

目录 一、事件概述 二、事件格式及参数 2.1. HCI_Connection_Request 事件格式 2.2. BD_ADDR 2.3. Class_Of_Device 2.4. Link_Type 三、主机响应 3.1. ACL链接类型 3.2. SCO或eSCO链接类型 四、应用场景 4.1. 设备配对场景 4.2. 蓝牙文件传输场景 4.3. 蓝牙物联网…

9. 神经网络(一.神经元模型)

首先&#xff0c;先看一个简化的生物神经元结构&#xff1a; 生物神经元有多种类型&#xff0c;内部也有复杂的结构&#xff0c;但是可以把单个神经元简化为3部分组成&#xff1a; 树突&#xff1a;一个神经元往往有多个树突&#xff0c;用于接收传入的信息。轴突&#xff1a;…

CTTSHOW-WEB入门-爆破25-28

web25 题目&#xff1a;解题思路及步骤&#xff1a;分析代码&#xff1a; error_reporting(0); include("flag.php");//包含文件flag.php if(isset($_GET[r])){$r $_GET[r];//获取参数rmt_srand(hexdec(substr(md5($flag), 0,8)));$rand intval($r)-intval(mt_ra…

win32汇编环境,对多行编辑框添加或删除文本

;运行效果 ;win32汇编环境,对多行编辑框添加或删除文本 ;主要要先设置文本的开始点与结束点&#xff0c;然后把一段文本顶替上去。没有添加文本或删除文本的概念&#xff0c;只有顶替。如果开始点与结束点都是前面文本的长度值&#xff0c;则成了从后面添加文本的效果。如果结束…

AutoGen入门——快速实现多角色、多用户、多智能体对话系统

1.前言 如https://github.com/microsoft/autogen所述&#xff0c;autogen是一多智能体的框架&#xff0c;属于微软旗下的产品。 依靠AutoGen我们可以快速构建出一个多智能体应用&#xff0c;以满足我们各种业务场景。 本文将以几个示例场景&#xff0c;使用AutoGen快速构建出…