iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【YOLOX简述】
  • 702
分享到

【YOLOX简述】

深度学习计算机视觉人工智能 2023-10-25 12:10:57 702人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

YOLOX的简述 一、 原因1. 背景2. 概念 二、 算法介绍2.1 YOLOX算法结构图:2.2 算法独特点2.3 Focus网络结构2.4 FPN,PAN2.5 BaseConv2.

YOLOX的简述

一、 原因

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(负例), 预测错了,本来是正样本,检测为负样本。

来源地址:https://blog.csdn.net/m0_64384233/article/details/130046457

--结束END--

本文标题: 【YOLOX简述】

本文链接: https://www.lsjlt.com/news/442389.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【YOLOX简述】
    YOLOX的简述 一、 原因1. 背景2. 概念 二、 算法介绍2.1 YOLOX算法结构图:2.2 算法独特点2.3 Focus网络结构2.4 FPN,PAN2.5 BaseConv2....
    99+
    2023-10-25
    深度学习 计算机视觉 人工智能
  • 简述SpringMVC
    一、典型的Servlet + JSP + JavaBean UserServlet看作业务逻辑处理(Controller)User看作模型(Model)user.jsp看作渲染(View) 二、高级MVC 由DispatcherServ...
    99+
    2023-08-30
    java spring servlet
  • java Zookeeper简述
    目录Zookeeper 角色LeaderFollowerObserverZookeeper 工作原理(原子广播) Znode 四种形式的目录节点ZooKeeper 安装和使...
    99+
    2024-04-02
  • Android WIFI使用简述
    前言   随着Android版本的更新,目前最新的版本是Android 13,并且已经有部分国产手机更新了此版本,对于Android开发者来说,变化其实不那么大,而对于本文章来说就有一些变化。 正文 ...
    99+
    2023-10-12
    android android studio gradle
  • Java注解(annotation)简述
    目录Java注解(annotation)简单上手1、什么是注解?2、java内置注解3、注解的基本运总结Java注解(annotation)简单上手 反射reflect:https:...
    99+
    2024-04-02
  • Android中的ANR简述
    ANR是Application Not responding,指应用程序未响应,Android系统如果超过预定时间未能得到有效响应或者响应时间过长,都会造成ANR,因为Android系统对于一些事件需要在一定的时间范围内...
    99+
    2023-06-04
  • Android RecyclerView使用简述
    RecyclerView使用简述 前言正文一、创建项目二、RecyclerView基本使用① item布局和适配器② 显示数据③ 添加Item点击事件④ 添加Item子控件点击事件⑤ 添加长按事件⑥ 多个子控件点击事件 三、R...
    99+
    2023-08-21
    RecyclerView 多级列表 滑动拖动 多布局 动态数据
  • Java中List的简述
    Java中的List是一种有序的集合,它允许存储重复的元素。List接口是Java集合框架中的一部分,它继承自Collection接...
    99+
    2023-09-13
    Java
  • 高并发级别简述
    术语说明:QPS = req/sec = 请求数/秒QPS: 每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS...
    99+
    2023-06-02
  • 【JAVA】 String 类简述笔记
    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言String类创建一个String类 常用方法字符串长度 length() 方法连接字符串 concat() 方法创建...
    99+
    2023-08-16
    java 笔记 python
  • Spring Security+JWT简述(附源码)
    目录一. 什么是Spring Security1. 登陆校验的流程2. SpringSecurity基础案例二. Spring Security原理流程1. 大致流程三. JWT1....
    99+
    2023-05-16
    spring security+jwt springsecurity spring security与jwtjwt前后端分离
  • python中魔术方法简述
    魔术方法:***实例化:new :实例化一个对象 方法很少使用,一般使用return super().))new(cls)基类ibject方法来创建实例并返回。 hash:返回一个整数,如果定义这个方法该类的实例就可hash。eq:...
    99+
    2023-01-31
    魔术 方法 python
  • 简述traceroute命令的原理
    Traceroute命令是用于诊断网络上的数据包传输路径的工具。它通过发送一系列的ICMP回显请求报文,并在每次请求报文的时间戳上增...
    99+
    2023-09-15
    traceroute
  • SAP HANA Delivery Unit概念简述
    介绍 在SAP HANA应用开发领域里,我们通常用package来存储modeler views和XS工程等模型。这些包应该被部署到最终的生产服务器上。 Delivery Unit是SAP HAN...
    99+
    2024-04-02
  • 简述Python2与Python3的区别
    Python2与Python3的区别 python解释器默认编码(python2与python3的区别一) python2 解释器默认编码:ascii python3 解释器默认编码:utf-8 输入(python2与pyth...
    99+
    2023-01-31
    区别
  • DevOps,CI,CD,自动化简述
    前言:   随着企业应用的不断迭代,不断扩大,应用的发布发布可能涉及多个团队,如pc端,手机端,小程序端等等。应用发布也就成为了一项高风险,高压力的超过过程,以及应用的开发迭代的沟通...
    99+
    2024-04-02
  • 简述什么是云服务器的简称
    云服务器(Cloud Storage)是一种服务器虚拟化技术,它将计算资源(通常是硬件,如服务器)分配给各种用户,这些用户可以基于需要访问计算资源来完成各种应用程序或服务。云服务器通常通过互联网连接到公共云平台上,以便用户可以使用各种在线服...
    99+
    2023-10-27
    服务器
  • 云服务器发展史简述
    云服务器(Cloud Directed Cloud Server)是一种基于云计算技术的服务器,可以在网络上提供虚拟化和负载均衡等功能。随着云计算和虚拟化技术的不断发展,云服务器已经成为企业和个人日常应用中不可或缺的服务器之一。以下是云服务...
    99+
    2023-10-27
    发展史 服务器
  • python描述符的简单介绍
    这篇文章主要介绍“python描述符的简单介绍”,在日常操作中,相信很多人在python描述符的简单介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python描述符的简单介绍”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-01
  • Java中简单实用Quartz概述
    目录1.Quartz是什么2. Quartz谁维护?3. 简单的应用3.1 需求描述3.1.1. Spring中自带的3.1.2. Quartz的简单使用4. Quartz相较Spr...
    99+
    2023-02-15
    java  quartz java  quartz使用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作