yolov8涨点系列之替换幽灵卷积GhostConv

文章目录

    • 核心思想
    • 主要步骤
    • 优势
    • yolov8.yaml文件增加CBAM
      • yolov8.yaml
      • yolov8.yaml将Conv卷积替换成GhostConv

  幽灵卷积(Ghost Conv)是一种新颖的卷积操作方法,旨在解决传统卷积神经网络中参数量和计算量过大的问题,尤其适用于资源受限的设备。以下是对幽灵卷积的详细介绍:

核心思想

  常规的卷积操作会产生大量的特征图,其中存在一定的冗余信息。幽灵卷积的核心思想是先通过少量的卷积核进行常规卷积操作获得一部分 “固有特征图”,然后对这些固有特征图进行更廉价的线性变换操作,生成更多的 “幽灵特征图”。最后将固有特征图和幽灵特征图进行拼接,得到最终的特征图。

主要步骤

  常规卷积:使用少量的卷积核对输入特征图进行卷积操作,这一步的目的是提取输入特征图中的关键信息,生成固有特征图。这部分的计算量相对较小,但能够捕捉到特征图的主要特征。
  幽灵生成:对第一步得到的固有特征图进行线性变换操作,生成幽灵特征图。线性变换操作通常使用深度可分离卷积(Depthwise Convolution)等较为简单的操作方式,这些操作的计算成本较低,可以在不增加过多计算量的情况下生成大量的特征图。深度可分离卷积是将卷积操作分为深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)两个步骤,深度卷积负责对每个通道进行单独的卷积操作,逐点卷积则负责对深度卷积的结果进行通道间的组合,从而得到最终的输出特征图。
  特征图拼接:将固有特征图和生成的幽灵特征图进行拼接,得到最终的输出特征图。这样既保留了原始特征图的关键信息,又通过幽灵特征图增加了特征的多样性。

优势

  降低计算负载:通过使用线性变换从现有特征图生成更多特征图,相较于依赖大量卷积核的传统卷积方式,大大减少了所需的计算量。这对于在计算资源有限的设备上运行深度学习模型非常重要,例如嵌入式设备、移动设备等。
  高效利用资源:能够在不牺牲模型性能的前提下,最大限度地利用可用的计算和内存资源,提高模型的效率和运行速度。
  易于适应:由于其模块化设计,幽灵卷积模块可以无缝集成到现有的卷积神经网络架构中,作为即插即用组件来升级网络,提高网络的性能。
  应用场景:幽灵卷积在计算机视觉领域的各种任务中都有广泛的应用,例如图像分类、目标检测、语义分割等。特别是在对模型的计算效率和内存占用有较高要求的场景下,幽灵卷积能够发挥出重要的作用。
总之,幽灵卷积是一种创新的卷积操作方法,通过巧妙地利用线性变换生成幽灵特征图,在减少计算量和参数量的同时,保持了模型的性能,为深度学习模型在资源受限设备上的应用提供了一种有效的解决方案。

yolov8.yaml文件增加CBAM

yolov8.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters
nc: 80  # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'# [depth, width, max_channels]n: [0.33, 0.25, 1024]  # YOLOv8n summary: 225 layers,  3157200 parameters,  3157184 gradients,   8.9 GFLOPss: [0.33, 0.50, 1024]  # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients,  28.8 GFLOPsm: [0.67, 0.75, 768]   # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients,  79.3 GFLOPsl: [1.00, 1.00, 512]   # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPsx: [1.00, 1.25, 512]   # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs# YOLOv8.0n backbone
backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2- [-1, 1, Conv, [128, 3, 2]]  # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]]  # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]]  # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]]  # 7-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]]  # 9# YOLOv8.0n head
head:- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 6], 1, Concat, [1]]  # cat backbone P4- [-1, 3, C2f, [512]]  # 12- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 4], 1, Concat, [1]]  # cat backbone P3- [-1, 3, C2f, [256]]  # 15 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 12], 1, Concat, [1]]  # cat head P4- [-1, 3, C2f, [512]]  # 18 (P4/16-medium)- [-1, 1, Conv, [512, 3, 2]]- [[-1, 9], 1, Concat, [1]]  # cat head P5- [-1, 3, C2f, [1024]]  # 21 (P5/32-large)- [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)

yolov8.yaml将Conv卷积替换成GhostConv

# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters
nc: 80  # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'# [depth, width, max_channels]n: [0.33, 0.25, 1024]  # YOLOv8n summary: 225 layers,  3157200 parameters,  3157184 gradients,   8.9 GFLOPss: [0.33, 0.50, 1024]  # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients,  28.8 GFLOPsm: [0.67, 0.75, 768]   # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients,  79.3 GFLOPsl: [1.00, 1.00, 512]   # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPsx: [1.00, 1.25, 512]   # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs# YOLOv8.0n backbone
backbone:# [from, repeats, module, args]- [-1, 1, GhostConv, [64, 3, 2]]  # 0-P1/2- [-1, 1, GhostConv, [128, 3, 2]]  # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, GhostConv, [256, 3, 2]]  # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, GhostConv, [512, 3, 2]]  # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, GhostConv, [1024, 3, 2]]  # 7-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]]  # 9# YOLOv8.0n head
head:- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 6], 1, Concat, [1]]  # cat backbone P4- [-1, 3, C2f, [512]]  # 12- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 4], 1, Concat, [1]]  # cat backbone P3- [-1, 3, C2f, [256]]  # 15 (P3/8-small)- [-1, 1, GhostConv, [256, 3, 2]]- [[-1, 12], 1, Concat, [1]]  # cat head P4- [-1, 3, C2f, [512]]  # 18 (P4/16-medium)- [-1, 1, GhostConv, [512, 3, 2]]- [[-1, 9], 1, Concat, [1]]  # cat head P5- [-1, 3, C2f, [1024]]  # 21 (P5/32-large)- [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)

在这里插入图片描述

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

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

相关文章

MongoDB Shell 基本命令(三)聚合管道

管道含义 类似Linux中的管道,前一个命令的输出作为后一个命令的输入。 显示网络连接、路由表和网络接口统计信息 netstat -ano -netstat:network statistics 网络统计 -a:显示所有连接和监听端口,包括所有活动的TCP和UDP连接。 -n:以数字形式显示地址…

C++重启/秋招已保底备战春招

C面向对象高级开发(上)学习笔记 第三节: 问题1:C中对构造函数使用初始列和函数体中赋值结果是一样的,但是为什么使用初始列的形式更好 解答:最重要的还是1和2,效率更高避免调用默认构造函数&…

云渲染怎么用?一片看懂云渲染渲染农场渲染100操作指南

就拿“渲染 100”云渲染来说吧,它的使用教程是这样的: 1.安装客户端 在渲染之前要准备好安装“渲染 100”云渲染客户端,注册个账号然后登录客户端。 您可以在浏览器里打开渲染 100 云渲染的官网:xuanran100.com/?ycode5858, 在…

私有化视频平台EasyCVR海康大华宇视视频平台视频诊断技术是如何实时监测视频质量的?

在现代视频监控系统中,确保视频流的质量和稳定性至关重要。随着技术的进步,视频诊断技术已经成为实时监测视频质量的关键工具。这种技术通过智能分析算法对视频流进行实时评估和处理,能够自动识别视频中的各种质量问题,并给出相应…

ECRS工时分析软件:工业工程优化利器,引领生产工序革新

在竞争日益激烈的工业领域,生产效率的提升成为企业持续发展的关键。为此,工业工程学中的程序分析原则应运而生,其中最为核心的便是ECRS四大原则——取消、合并、调整顺序和简化。这些原则为生产工序的优化提供了有力的指导,旨在消…

端侧小模型新星,SmolLM2 1.7B击败了Llama 3.2、Qwen 2.5

SmolLM2开源了:更快、更好、更便宜, 包含三个尺寸:135M、360M 和 1.7B。 端侧小型语言模型新星——SmolLM2 1.7B击败了Qwen 2.5 1.5B和Llama 3.2 1B: Apache 2.0许可 训练于11万亿个令牌 在FineWeb-Edu、DCLM、The Stack以及新的…

[LeetCode-45] 基于贪心算法的跳跃游戏 II-最少跳跃次数的求解(C语言版)

/* 题目出处:LeetCode 题目序号:45. 跳跃游戏 II 题目叙述:给定一个长度为 n 的整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转…

数据结构 —— 红黑树

目录 1. 初识红黑树 1.1 红黑树的概念 1.2 红⿊树的规则 1.3 红黑树如何确保最长路径不超过最短路径的2倍 1.4 红黑树的效率:O(logN) 2. 红黑树的实现 2.1 红黑树的基础结构框架 2.2 红黑树的插⼊ 2.2.1 情况1:变色 2.2.2 情况2:单旋变色 2.2…

第J9周:Inception v3算法实战与解析(pytorch版)

>- **🍨 本文为[🔗365天深度学习训练营]中的学习记录博客** >- **🍖 原作者:[K同学啊]** 📌本周任务:📌 了解并学习InceptionV3相对与InceptionV1有哪些改进的地方 使用Inception完成天气…

什么是 AWS PrivateLink

您可以使用 Amazon VPC 定义虚拟私有云(VPC),这是一个逻辑隔离虚拟网络。您可以在 VPC 中启动 AWS 资源。您可以允许 VPC 中的资源连接到该 VPC 外部的资源。例如,向 VPC 添加互联网网关以允许访问互联网,或添加 VPN 连…

vue2 -- el-form组件动态增减表单项及表单项验证

需求 在数据录入场景(如订单信息录入)中,可根据实际情况(如商品种类增加)动态添加表单项(如商品相关信息)。包含必填项验证和数据格式验证(如邮箱、电话格式),防止错误数据提交。 效果 代码一 <template><div>

旧衣回收小程序:提高回收效率,扩大服务范围

近年来&#xff0c;旧衣回收作为一种新兴回收模式&#xff0c;逐渐走入了大众的生活中&#xff0c;在回收市场中形成了新的商业模式&#xff0c;也为大众带来了新的创业选择。 随着社会生活的快速发展&#xff0c;人们的生活水平不断提高&#xff0c;为旧衣市场发展提供了基础…

电子电气架构 --- Trace 32(劳特巴赫)多核系统的调试

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…

使用C++和QT开发应用程序入门以及开发实例分享

目录 1、搭建开发环境&#xff08;VS2010和QT4.8.2&#xff09; 2、创建一个QT窗口 3、在QT窗口中添加子窗口 4、QT界面布局 5、QT信号&#xff08;SIGNAL&#xff09;和槽&#xff08;SLOT&#xff09; 6、最后 C软件异常排查从入门到精通系列教程&#xff08;专栏文章列…

1553B总线协议

参考地址 MIL-STD-1553B时分制指令/响应多路传输数据总线采用半双工传输方式。 1553B总线协议概述 1553B总线协议是一种军用标准&#xff0c;主要用于飞机上的设备间的信息传输。这种协议由美国军方制定&#xff0c;被广泛应用于航空、航天和军事领域的电子联网系统中。1553B…

LVI-GS:港大待开源、雷达-视觉-惯紧耦合,实时渲染

文章目录 摘要一、 介绍二、相关工作A 基于NeRF的SLAMB 基于3DGS的SLAM 三、方法A 超原语B. 3D 高斯投影C. 关键帧管理D. 基于金字塔的训练E. 高斯映射 四、实验 摘要 文章&#xff1a;github 介绍&#xff1a;介绍 3D高斯溅射&#xff08;3DGS&#xff09;在快速渲染和高保真…

2024年中国AI大模型场景应用趋势蓝皮书【附47页PPT】

目录 01 AI大模型行业应用概况 02 AI大模型行业应用现状及案例 03 AI大模型行业应用痛点及解决方案 04 AI大模型行业应用前景趋势及投资机会分析 如何学习AI大模型 &#xff1f; “最先掌握AI的人&#xff0c;将会比较晚掌握AI的人有竞争优势”。 这句话&#xff0c;放在…

基于Zynq FPGA对雷龙SD NAND的测试

一、SD NAND 特征 1.1 SD 卡简介 雷龙的 SD NAND 有很多型号&#xff0c;在测试中使用的是 CSNP4GCR01-AMW 与 CSNP32GCR01-AOW。芯片是基于 NAND FLASH 和 SD 控制器实现的 SD 卡。具有强大的坏块管理和纠错功能&#xff0c;并且在意外掉电的情况下同样能保证数据的安全。 …

Spring Boot框架下的教育导师匹配系统

第一章 绪论 1.1 选题背景 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;尽管身边每时每刻都在产生大量信息&#xff0c;这些信息也都会在短时间内得到处理&#xff0c;并迅速传播。因为很多时候&#xff0c;管理层决策需要大量信…

鉴源实验室·加密技术在汽车系统中的应用

随着汽车技术的快速发展&#xff0c;现代汽车已经不再是简单的交通工具&#xff0c;而是融合了多种智能功能的移动终端。无论是自动驾驶、车联网&#xff08;V2X&#xff09;&#xff0c;还是车内娱乐系统&#xff0c;数据传输和存储已经成为汽车生态系统中的关键环节。然而&am…