【YOLOX简述】

news2024/11/29 10:55:08

YOLOX的简述

  • 一、 原因
    • 1. 背景
    • 2. 概念
  • 二、 算法介绍
    • 2.1 YOLOX算法结构图:
    • 2.2 算法独特点
    • 2.3 Focus网络结构
    • 2.4 FPN,PAN
    • 2.5 BaseConv
    • 2.6 SPP
    • 2.7 CSPDarknet
    • 2.8 YOlO Head
  • 三、预测曲线
    • 3.1 曲线

一、 原因

1. 背景

工业的缺陷检测是计算机视觉中不可缺少的一环之一,在实际的工程项目中具有广泛的应用价值。
YOLOX是目前较为新颖的算法之一,其丰富的权重模型,优秀的实时检测速度,以及精准的检测性能,独特的解耦头处理方式,使其在YOLO系列算法中脱颖而出。

2. 概念

YOLOX依据YOLOv3和YOLOv5,使用了CSPNet,SiLU激活函数以及PANet,并遵循缩放规则设计了YOLOX-S/M/L/X等四种模型。
此次以YOLOX-S模型为介绍,YOLOX-S模型参数量少,对实时性要求较高,适配度更优,与YOLOX-Nano等模型相比,YOLOX-S模型保有一定的模型体量,具有较高的检测精确率。

二、 算法介绍

2.1 YOLOX算法结构图:

在这里插入图片描述

2.2 算法独特点

解耦头: YOLOX的解耦头(Decoupled head)与以往的YOLO不同,它包含一个1*1的卷积层以调整通道数量,之后是两个并行分支,每个分支上包含两个卷积层,两条分支分别用于分类和回归任务,计算重叠度分支被添加在回归分支上。

2.3 Focus网络结构

YOLOX使用了Focus网络结构,这个网络结构是在YoloV5里面使用到比较有趣的网络结构,具体操作是在一张图片中每隔一个像素拿到一个值,这个时候获得了四个独立的特征层,然后将四个独立的特征层进行堆叠,此时宽高信息就集中到了通道信息,输入通道扩充了四倍。拼接起来的特征层相对于原先的三通道变成了十二个通道。
在这里插入图片描述

2.4 FPN,PAN

FPN可以被称作YoloX的强特征提取网络,在主干部分获得的三个有效特征层会在这一部分进行特征融合,特征融合目的是结合不同尺度的特征信息。
在FPN部分,已经获得的有效特征层被用于继续提取特征。
YOLOX网络的颈部还在FPN层后面增加了一个与FPN相对的结构,即包含两个PAN结构的自下而上的特征金字塔。
FPN自上而下,将浅层特征与上采样后的上层特征信息进行传递融合,而PAN自下而上,将下采样后的小尺寸特征图像与大尺寸特征图像进行融合,并成对组合,对不同的检测层进行两次参数融合。

2.5 BaseConv

BaseConv是YOLOX网络中的基本卷积,它包括Conv、BN、SiLu,卷积操作在网络中主要负责特征提取,是模型最重要的操作之一。
BN让每层的输出和下层的输入数据分布尽量保持一致,模型在训练的时候更加稳定。激活函数为网络提供了非线性变化的能力,实现深度模型中层次化逐级抽象特征的能力。
在这里插入图片描述
使用了SiLU激活函数, SiLU具备无上界有下界、平滑、非单调的特性。SiLU在深层模型上的效果优于 ReLU。可以看做是平滑的ReLU激活函数
激活函数是连续,且可导的,其目标是将神经网络非线性化。
激活函数为有下界无上界,其下界避免了网络训练时因梯度为零导致的收敛缓慢,同时有利于网络参数的正则化。
由于激活函数本身是非线性的,所以在神经网络中引入激活函数可以使神经网络任意逼近非线性函数,从而可以增强深度神经网络的表达能力。

2.6 SPP

SPP结构,通过不同池化核大小的最大池化进行特征提取,提高网络的感受野。
在这里插入图片描述
感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的 神经元感受野的值越大表示其能接触到的原始图像范围就越大,它可能蕴含的更为全局
空间金字塔池化层(Spatial Pyramid Pooling)主要解决了输入图片大小不统一的问题,通过三种不同的池化操作融合多重感受野。

2.7 CSPDarknet

在这里插入图片描述
YoloX所使用的主干特征提取网络为CSPDarknet,它具有以下特点:
1、使用了残差网络Residual,CSPDarknet中的残差卷积可以分为两个部分,主干部分是一次1X1的卷积和一次3X3的卷积;
残差边部分不做任何处理,直接将主干的输入与输出结合。
2、整个YoloX的主干部分都由残差卷积构成:
残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。
其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题

2.8 YOlO Head

在这里插入图片描述
Yolo Head通过CSPDarknet和FPN,可以获得三个加强过的有效特征层。每一个特征层都有宽、高和通道数,此时我们可以将特征图看作一个又一个特征点的集合,每一个特征点都有通道数个特征。
Yolo Head实际上所做的工作就是对特征点进行判断,判断特征点是否有物体与其对应。利用FPN特征金字塔,我们可以获得三个加强特征,这三个加强特征的shape分别为(20,20,1024)、(40,40,512)、(80,80,256),然后我们利用这三个shape的特征层传入Yolo Head获得预测结果。

三、预测曲线

3.1 曲线

得到最终的预测结果后还要进行得分筛选与非极大抑制筛选,得分筛选就是筛选出得分满足confidence置信度的预测框,非极大抑制就是筛选出一定区域内属于同一种类得分最大的框。
得分筛选与非极大抑制筛选后的结果就可以用于绘制预测框,未经过抑制的会出现多重框。
经过训练后可产生Precision与Pecall图:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
TP— 本来是正样本,检测为正样本(真阳性)。
TN—本来是负样本,检测为负样本
FP—预测错了,本来是负样本,检测为正样本。
FN— 预测为 N(负例), 预测错了,本来是正样本,检测为负样本。

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

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

相关文章

2022年第八届美亚杯个人赛复盘

以学生的身份最后一次打美亚杯了还是要记录一下的写个wp告别哈哈。 1.[单选题] 王晓琳在这本电子书籍里最后对哪段文字加入了重点标示效果(Highlight)?(2分) A. 卿有何妙计 B. 宝玉已是三杯过去了 C. 武松那日早饭罢 D. 就除他做个强马温罢 2.[多选题] 王晓的手机里有一个 …

c#之反射详解

总目录 文章目录 总目录一、反射是什么?1、C#编译运行过程2、反射与元数据3、反射的优缺点 二、反射的使用1、反射相关的类和命名空间1、System.Type类的应用2、System.Activator类的应用3、System.Reflection.Assembly类的应用4、System.Reflection.Module类的应用…

销售管道管理软件推荐:提升销售业绩与效率

在企业中销售部门扮演着锐意进取的尖刀部队的角色,肩负着拓展公司发展领土的重要责任。销售管理是一个漫长而复杂的过程,需要经历潜在的商机、联系跟进、签订合同以及赢得订单等关键里程碑,无论是面向C端用户的销售还是面向企业复杂产品的销售…

TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…

前台页面从数据库中获取下拉框值

后端&#xff1a;查询所有信息 前台&#xff1a;elementUI <el-select v-model"searchData.stationName" clearable> <el-option :label"item.stationName" :value"item.stationName" v-for"item in stationNameList&quo…

根据店铺ID/店铺链接/店铺昵称获取京东店铺所有商品数据接口|京东店铺所有商品数据接口|京东API接口

要获取京东店铺的所有商品数据&#xff0c;您需要使用京东开放平台提供的API接口。以下是一些可能有用的API接口&#xff1a; 商品SKU列表接口&#xff1a;该接口可以获取指定店铺下的所有商品SKU列表&#xff0c;包括商品ID、名称、价格等信息。您可以使用该接口来获取店铺中…

SpringBoot3新特性

本篇文章参考尚硅谷springboot3课程: https://www.bilibili.com/video/BV1Es4y1q7Bf?p94&vd_sourced6deb2b69988de2ae72087817e5143d7 原版笔记: https://www.yuque.com/leifengyang/springboot3/xy9gqc2ezocvz4wn 1.自动配置包位置变化 现在指定自动配置类放在了下面这…

俄罗斯方块小游戏

框架 package 框架;import java.awt.image.BufferedImage; import java.util.Objects;/*** author xiaoZhao* date 2022/5/7* describe* 小方块类* 方法&#xff1a; 左移、右移、下落*/ public class Cell {// 行private int row;// 列private int col;private BufferedIm…

kubernetes集群编排——etcd

备份 从镜像中拷贝etcdctl二进制命令 [rootk8s1 ~]# docker run -it --rm reg.westos.org/k8s/etcd:3.5.6-0 sh 输入ctrlpq快捷键&#xff0c;把容器打入后台 获取容器id [rootk8s1 ~]# docker ps 从容器拷贝命令到本机 docker container cp c7e28b381f07:/usr/local/bin/etcdc…

python爬虫概述及简单实践:获取豆瓣电影排行榜

目录 前言 Python爬虫概述 简单实践 - 获取豆瓣电影排行榜 1. 分析目标网页 2. 获取页面内容 3. 解析页面 4. 数据存储 5. 使用代理IP 总结 前言 Python爬虫是指通过程序自动化地对互联网上的信息进行抓取和分析的一种技术。Python作为一门易于学习且强大的编程语言&…

mysql数据模型

创建数据库 命令 create database hellox &#xff1a; &#xff08; hellox名字&#xff09; sql语句 创建 数据库 命令 create database hell&#xff1b; 也是创建但是有数据库不创建 命令 create database if not exists hell ; 切换数据库 命令 use hello&…

Facebook内容的类型

随着人们日益依赖的社交媒体来进行信息获取与交流&#xff0c;Facebook作为全球最大的社交媒体平台之一&#xff0c;那么Facebook的内容都有哪些类型呢&#xff1f;下面小编来讲讲吧&#xff01; 1、实时发生的事 我们需要实时了解时事动态&#xff0c;这样可以使用户对品牌发…

android PopupWindow设置

记录一个小功能&#xff0c;使用场景&#xff0c;列表项点击弹出 如图&#xff1a; java类代码&#xff1a; public class PopupUtil extends PopupWindow {private Activity context;private View view;private ListView listView;private TextView m_tv_reminderm, m_tv_Wa…

React-Router源码分析-History库

history源码 history 在 v5 之前使用单独的包&#xff0c; v6 之后再 router 包中单独实现。 history源码 Action 路由切换的动作类型&#xff0c;包含三种类型&#xff1a; POPREPLACEPUSH Action 枚举&#xff1a; export enum Action {Pop "POP",Push &quo…

BI 数据可视化平台建设(2)—筛选器组件升级实践

作者&#xff1a;vivo 互联网大数据团队-Wang Lei 本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第2篇 -筛选器组件。 本文主要介绍了BI数据可视化平台建设中比较核心的筛选器组件&#xff0c; 涉及组件分类、组件库开发等升级实践经验&#xff0c;通过分享一些…

Redis分布式锁(上)

不论面试还是实际工作中&#xff0c;Redis都是避无可避的技术点。在我心里&#xff0c;MySQL和Redis是衡量一个程序员是否“小有所成”的两把标尺。如果他能熟练使用MySQL和Redis&#xff0c;以小化大&#xff0c;充分利用现有资源出色地完成当下需求&#xff0c;说明他已经成长…

性能测试知多少---系统架构分析

之前有对性能需求进行过分析&#xff0c;那篇主要从项目业务、背景等角度如何抽丝剥茧的将项目的需求抽离出来。在我们进行需求的时候也需要对被测项目的架构有一定的认识&#xff0c;如果不了解被测系统的架构&#xff0c;那么在后期的性能分析与调优阶段将无从下手。 简单系…

亚马逊EC2服务器搭建Linux系统宝塔环境

目录 &#x1f4dd;摘要 &#x1f4a1;引言 一. 购买亚马逊服务器EC2 二. 安装Linux系统 三. 在终端安装宝塔 3.1 安装宝塔 3.2安装成功 四. 配置宝塔 五 应用场景 六 代码案例演示 七 为什么选择亚马逊EC2服务器部署&#xff1f; &#x1f4aa; 可靠性和高可用性 灵…

jff2文件系统(一)

jff2概述 JFFS2全称jouranlling Flash File System Version2,即日志文件系统&#xff0c;是Redhat公司开发的开源闪存文件系统&#xff0c;其前身是JFFS, 最早只支持NOR Flash, 自2.6版以后开始支持NAND Flash&#xff0c; 在闪存上使用非常广泛&#xff0c;同时在嵌入式系统中…

ChatGPT Plus暂停注册,用户激增压力太大!

11月15日&#xff0c;OpenAI联合创始人兼首席执行官Sam Altman在社交平台宣布&#xff0c;暂停ChatGPT Plus注册。 Sam表示&#xff0c;在首次开发者大会上发布了自定义GPT、GPT-4 Turbo等一系列重磅产品后&#xff0c;用户激增对服务器产生了巨大压力&#xff0c;不得已才做出…