关于YOLOv9项目中使用已有模块自由改进的教程

news2024/9/23 7:32:03


专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,助力高效涨点!!!


1. 文件说明

        在YOLOv5-v9,模型的结构是以yaml文件的存储。我们可以在原有的yaml基础上增、减、改模块,创作我们自己的模型。

YOLO系列 “.yaml“文件解读


2. 改进示例

        以下分别以ACmix与C2f-SCConv为例,演示如何加入到YOLOv9-c.yaml文件中。

2.1 加入ACmix

2.1.1创建yaml文件

         首先复制一个yolov9-c.yaml文件,重命名为yolov9-ACmix-SCConv.yaml(其他命名也可)

2.1.2 加入模块

        在想加入ACmix模块的位置,按照使用说明的格式(或查看ACmix模块所需的初始化参数)插入模块。这里以在“#9”层后加入为例:

2.1.3 函数说明

        使用说明中的格式与ACmix的“init”函数。

2.1 加入C2f-SCConv

        查看C2f-SCConv的使用说明,需要填入的参数为c2,即输出通道数,其他括号中的参数可不填。

# YOLOv9

# parameters
nc: 80  # number of classes
depth_multiple: 1.0  # model depth multiple
width_multiple: 1.0  # layer channel multiple
#activation: nn.LeakyReLU(0.1)
#activation: nn.ReLU()

# anchors
anchors: 3

# YOLOv9 backbone
backbone:
  [
   [-1, 1, Silence, []],  
   
   # conv down
   [-1, 1, Conv, [64, 3, 2]],  # 1-P1/2

   # conv down
   [-1, 1, Conv, [128, 3, 2]],  # 2-P2/4

   # elan-1 block
   [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]],  # 3

   # avg-conv down
   [-1, 1, ADown, [256]],  # 4-P3/8

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]],  # 5

   [-1, 1, C2fSCConv, [512]],  # 6

   # avg-conv down
   [-1, 1, ADown, [512]],  # 7-P4/16

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 8

   # avg-conv down
   [-1, 1, ADown, [512]],  # 9-P5/32

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 10
   [-1, 1, ACmix, [7]],  # 11
  ]

# YOLOv9 head
head:
  [
   # elan-spp block
   [-1, 1, SPPELAN, [512, 256]],  # 12

   # up-concat merge
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 8], 1, Concat, [1]],  # cat backbone P4

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 15

   # up-concat merge
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P3

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]],  # 18 (P3/8-small)

   # avg-conv-down merge
   [-1, 1, ADown, [256]],
   [[-1, 15], 1, Concat, [1]],  # cat head P4

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 21 (P4/16-medium)

   # avg-conv-down merge
   [-1, 1, ADown, [512]],
   [[-1, 12], 1, Concat, [1]],  # cat head P5

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 24 (P5/32-large)
   

   # multi-level reversible auxiliary branch

   # routing
   [6, 1, CBLinear, [[256]]], # 25
   [8, 1, CBLinear, [[256, 512]]], # 26
   [11, 1, CBLinear, [[256, 512, 512]]], # 27

   # conv down
   [0, 1, Conv, [64, 3, 2]],  # 28-P1/2

   # conv down
   [-1, 1, Conv, [128, 3, 2]],  # 29-P2/4

   # elan-1 block
   [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]],  # 30

   # avg-conv down fuse
   [-1, 1, ADown, [256]],  # 31-P3/8
   [[25, 26, 27, -1], 1, CBFuse, [[0, 0, 0]]], # 32

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]],  # 33

   # avg-conv down fuse
   [-1, 1, ADown, [512]],  # 34-P4/16
   [[26, 27, -1], 1, CBFuse, [[1, 1]]], # 35

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 36

   # avg-conv down fuse
   [-1, 1, ADown, [512]],  # 37-P5/32
   [[27, -1], 1, CBFuse, [[2]]], # 38

   # elan-2 block
   [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]],  # 39
   
   
   
   # detection head

   # detect
   [[33, 36, 39, 18, 21, 24], 1, DualDDetect, [nc]],  # DualDDetect(A3, A4, A5, P3, P4, P5)
  ]

3 运行查看结果


欢迎关注!


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

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

相关文章

蓝桥杯刷题-串的处理

串的处理 代码 s input().split() l_new [] for i in s:i list(i)new""for j in range(len(i)-1): # 遍历newi[j]if i[j].isdigit() and i[j1].isalpha(): # 在字母和数字之间添加“_”new_if i[j].isalpha() and i[j1].isdigit(): # 同上new_newi[-1]l_new.appe…

高德地图加遮罩灯光效果

最近做大屏展示,UI突然有一个大胆的想法,他想把地图做成那种有点灯光照在上面的感觉,经过几番尝试后终于实现了相关效果,特此分享; 效果图 实现方式-css /* 高德地图加载成功有一个amap-layers类名的标签,…

论文不再难写:ChatGPT带你飞

目录 一、ChatGPT:您的个人写作顾问 1.打造个性化的论文框架 2.提升写作质量与效率 3.丰富表达方式,增强文章吸引力 二、结语:开启写作新篇章 在这个信息迅速发展、日新月异的时代里,写作已成为我们表达自我、在学术界或职场…

406. 根据身高重建队列(力扣LeetCode)

文章目录 406. 根据身高重建队列题目描述贪心算法代码 406. 根据身高重建队列 题目描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &…

瑞萨杯(一)

基础信息 RA6M5:ARM V8架构,24MHz外置晶振,200MHz主频 SCI(Serial Communications Interface),意为串行通信接口 参考链接: 【瑞萨RA系列FSP库开发】RASCKeil的环境搭建_瑞萨ra mdk-CSDN博客…

24 OpenCV直方图反向投影

文章目录 参考反向投影作用calceackProject 反向投影mixchannels 通道图像分割示例 参考 直方图反向投影 反向投影 反向投影是反映直方图模型在目标图像中的分布情况简单点说就是用直方图模型去目标图像中寻找是否有相似的对象。通常用HSV色彩空间的HS两个通道直方图模型 作用…

Excel表格中函数CEILING的用法

这里写目录标题 CEILING函数将参数Number向上舍入 CEILING函数将参数Number向上舍入 CEILING函数是将参数Number向上舍入,沿绝对值增大的方向,为最接近的 significance 的倍数。其语言表达为:CEILING(number, significance)

[flask]cookie的基本使用/

彻底理解 Cookie - 知乎 (zhihu.com) 是什么 cookie是当你浏览某个网站的时候,由web服务器存储在你的机器硬盘上的一个小的文本文件。它其中记录了你的用户名、密码、浏览的网页、停留的时间等等信息。当你再次来到这个网站时,web服务器会先看看有没有…

简析:创业老隋推荐的蓝海项目到底好不好做?

在当前的创业浪潮中,网红创业凭借其独特的优势和影响力,成为了不少年轻人追逐的梦想。老隋,作为网红创业领域的佼佼者,凭借其丰富的经验和敏锐的洞察力,经常为粉丝们推荐一些看似前景广阔的蓝海项目。那么,…

吴恩达2022机器学习专项课程(一) 3.3 成本函数的公式

问题预览 模型的参数(w和b)有什么作用?不同的w和b对线性回归模型有什么影响?训练集里的y和线性回归模型预测的y(y帽)的区别是什么?成本函数的作用是什么?成本函数的公式是什么&…

众邦科技CRMEB商城商业版任意文件写入getshell 0day

代码审计 接口:/adminapi/system/crud 处理的代码如下 public function save(SystemCrudDataService $service, $id 0){$data $this->request->postMore([[pid, 0],//上级菜单id[menuName, ],//菜单名[tableName, ],//表名[modelName, ],//模块名称[table…

代码随想录训练营第55天 | LeetCode 583. 两个字符串的删除操作、​​​​​​LeetCode 72. 编辑距离、总结

目录 LeetCode 583. 两个字符串的删除操作 文章讲解:代码随想录(programmercarl.com) 视频讲解:LeetCode:583.两个字符串的删除操_哔哩哔哩_bilibili 思路 ​​​​​​LeetCode 72. 编辑距离 文章讲解:代码随想录(programm…

恢复 Linux 上已删除的文件:extundelete 、PhotoRec (***)

为什么Linux的命令 rm 没有回收站呢?Trash-Cli:Linux 命令行回收站工具 (***) https://blog.csdn.net/ken2232/article/details/136981360 后悔药 使用回收站,这是第一次的后悔药; 使用 extundelete 等&a…

网络电视盒子哪个品牌好?2024畅销电视盒子排行榜

电视盒子的品牌和产品非常多,让新手在选购时难度增大,大部分消费者在此时会选择参考销量排名情况,小编这次结合各个电商平台的销量和用户评价整理了电视盒子排行榜,想买电视盒子不知道网络电视盒子哪个品牌好可以收藏。 TOP 1.泰捷…

如何做试卷的ocr识别算法?

要实现试卷的OCR识别算法,可以采取以下步骤: 数据预处理:首先需要对试卷图片进行预处理,包括图像降噪、灰度化、二值化等操作,以便提高后续文字识别的准确性。 文字检测:利用文字检测算法定位试卷图片中的…

.NET Framework 服务实现监控可观测性最佳实践

环境信息 系统环境:Windows Server开发语言:.NET Framework > 4.6.1APM探针包:ddtrace 准备工作 安装 Datakit 主机部署: 主机安装 - 观测云文档 打开采集 APM 采集器 Windows 主机配置 # 到如下路径,把ddtr…

【探索多模态视觉问答】数据集概览及特点分析

【探索多模态视觉问答】数据集概览及特点分析 引言 在计算机视觉和自然语言处理领域,视觉问答(VQA)是一个重要的任务,旨在让计算机理解图像内容并回答关于图像的问题。为了促进和评估多模态模型在视觉问答任务上的表现&#xff…

WordPress Wholesale Market 插件 任意文件读取漏洞复现

0x01 产品简介 WordPress plugin Wholesale Market 是一个woocommerce扩展插件,使您的商店能够创建批发用户,并通过设置产品的批发价格。 0x02 漏洞概述 WordPress plugin Wholesale Market 2.2.1之前版本存在路径遍历漏洞,该漏洞源于没有…

Elasticsearch8 - Docker安装Elasticsearch8.12.2

前言 最近在学习 ES,所以需要在服务器上装一个单节点的 ES 服务器环境:centos 7.9 安装 下载镜像 目前最新版本是 8.12.2 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2创建配置 新增配置文件 elasticsearch.yml http.host…

Linux常见指令解析一

Linux常见指令解析一 常见指令1. ls 指令2.pwd 命令3.cd 命令4.touch 命令5.mkdir 命令6.rmdir指令 && rm 指令7.man 指令8.cp 指令9.cat 命令 && tac 命令10.mv 指令11.more 指令12.less 指令13.head 指令14.tail 指令15.cal 指令 常见指令 1. ls 指令 语法…