多篇论文介绍-DSConv-原文

2024-01-05 05:50

本文主要是介绍多篇论文介绍-DSConv-原文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址 https://arxiv.org/pdf/1901.01928v1.pdf

目录

01 改进 YOLOv5的交通灯实时检测鲁棒算法

01 作用

02 模型介绍

02 基于改进YOLOv7一tiny 算法的输电线路螺栓缺销检测

01 作用

02 模型介绍

03 结合注意力机制的 YOLOv5红绿灯检测算法

01 作用

02 模型介绍

04 基于改进YOLOv7的SAR图像舰船目标检测算法

01 作用

02 模型介绍


01 改进 YOLOv5的交通灯实时检测鲁棒算法

01 作用

        使用 DSConv卷积核减少模型参数;

02 模型介绍

02 基于改进YOLOv7一tiny 算法的输电线路螺栓缺销检测

01 作用

        该算法采用高效的分布移位卷积(distibution shiting convolution,DSConv)来替换YOLOv7-tiny网络中的3x3卷积,以提高模型的计算速度并降低计算复杂度;

02 模型介绍

        在网络设计中,DSConv是可用于各种卷积神经网络推理和训练的即插即用替代品,具有2个主要优点:首先,DSConv可以提高标准卷积的存储效率和速度;其次,通过将网络中的3x3卷积替换为DSConv,可以在略微降低模型精度的情况下提高检测速度,并降低模型的运算量。以往的实验结果表明,将DSConv应用于神经网络中,可以有效降低计算复杂度,每秒10亿次的浮点运算数(giga floating-point operations per second,GFLOPs)可从13.2降低至5.6。因此,DSConv是有效的优化选择,其基本结构如图2所示。

        由图2可知,DSConv是使用量化和分布位移来模拟卷积行为的方法;其中,☉表示哈达玛算子(Hadamard operator)。该方法由2个部分组成:可变量化内核( variable quantizedkernel, VQK)和分布位移。VQK仅保存位长可变的整数值,这是DSConv量化分量的一部分,可以使乘法速度更快,存储效率更高;分布位移目的是移动VQK的分布,以模拟原始卷积核的分布,“位移”是指缩放和偏置操作,用2个张量来实现:内核分布移位器(kernel distribution shifter ,KDS)和通道分布移位器(channeldistribution shifier ,CDS),前者移动VQK每个块中的分布,后者移动每个通道中的分布。通过DSConv,卷积核可以减少到原始大小的一部分,从而实现更快、更节省内存的计算。

03 结合注意力机制的YOLOv5红绿灯检测算法

01 作用

        针对引入注意力和检测层导致计算量增大、速度降低的问题,采用分布移位卷积替换部分主干卷积的方法,简化模型,提升速度。

02 模型介绍

        分析模型规模时发现,引入CA注意力机制和增加检测层在提高精度和召回率的同时,也增加了参数量,使模型复杂程度加深,为解决这一问题,利用分布移位卷积(DSConv)替换主干网络的部分标准正则卷积,在保证精度的同时,减少参数量,简化模型的复杂程度。
        DSConv是标准卷积的即插即用替代品,可直接用于任何卷积神经网络,如图5所示,DSconv卷积层将传统的卷积内核分解为2个组件:可变量化内核(VQK)和分布式移位。DSConv利用量化和分布移位来模拟卷积层的行为,首先通过在VQK中存储整数值来实现较低的存储器使用和较高的速度,然后通过应用基于内核和基于通道的分布偏移来保持与原始卷积相同的输出,达到提高模型速度和减少参数量的目的。

        通过对标准卷积的分析,设计了2种新的主干网络卷积结构,如图6所示。Backbone-1 结构将第三层和第五层的卷积核替换成DSConv ,参数量减少约5% ,如图6( a)所示;在 Backbone-1 结构的基础上,将第一层和第七层卷积核替换成DSConv ,进一步降低了15%的参数量,提升了运行速度,如图6(b)所示。

04 基于改进YOLOv7SAR图像舰船目标检测算法

01 作用

        其次,引入卷积变体DSConv,通过在可变量化内核中仅储存整数来实现减少计算量;同时引入卷积层变体DSConv,将原始浮点卷积核参数量化,再通过分布偏移还原原始参数,实现减少内存加快运算速度。引入高效卷积算子DSConv[19]使用量化技术压缩神经网络,减少储存网络占用率。

02 模型介绍

        量化是一种提高卷积神经网络运行速度和缩减内存的流行方法,本文引用一种分布偏移卷积(DSConv)。DSConv是一种灵敏的量化卷积算子,用成本低的多的整数运算代替单精度运算,同时保证卷积内核权重及输出的概率分布。DSConv将原始卷积核拆为两个部分:其中一部分仅有整数值张量,不能训练,并依据预训练网络中浮点的权重分布计算。另一个部分由分布偏移器张量组成:一个分布偏移分布偏移器移动所有内核的分布,另一个移动所有通道。分布偏移部分的权重可以被训练,使网络适应新的任务。

        在可变量化核中仅存放整数值,与原始张量大小一样,参数值一旦设置不能更改,同时通过分布偏移以保存与原始卷积内核相同的输出。在预训练网络时,将权重张量滤波器按深度划分为长度为 B 的块,所有的块共享一个浮点值,然后对所有块量化处理,每个张量节约的内存为公式

5 )。

        其中 C i 为通道数, b 为所选的超参数设置。

这篇关于多篇论文介绍-DSConv-原文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/571852

相关文章

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题