目标检测算法——YOLOv5/YOLOv7改进之结合​ASPP(空洞空间卷积池化金字塔)

news2025/1/9 1:09:11

>>>深度学习Tricks,第一时间送达<<<


目录

一、前沿介绍

1.空洞卷积(Atrous Convolution)

2.空洞空间卷积池化金字塔(Atrous Spatial Pyramid Pooling)

二、YOLOv5/YOLOv7改进之结合​​ASPP

1.配置common.py文件

2.配置yolo.py文件

3.配置yolov5/yolov7_​​ASPP.yaml文件

>>>一起交流!互相学习!共同进步!<<<


一、前沿介绍

首先要介绍Atrous Convolution(空洞卷积),它是一种增加感受野的方法。

1.空洞卷积(Atrous Convolution)

空洞卷积和普通的卷积操作不同的地方在于卷积核中按照一定的规律插入了一些(rate-1)为零的值,使得感受野增加,而无需通过减小图像大小来增加感受野。

在这里插入图片描述

2.空洞空间卷积池化金字塔(Atrous Spatial Pyramid Pooling)

空洞空间卷积池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)对所给定的输入以不同采样率的空洞卷积并行采样,相当于以多个比例捕捉图像的上下文。

二、YOLOv5/YOLOv7改进之结合​​ASPP

共分三步走:

1.配置common.py文件

#ASPP——————————————————————————————————————————————————————————————
class ASPP(nn.Module):
    def __init__(self, in_channel=512, depth=256):
        super(ASPP,self).__init__()
        self.mean = nn.AdaptiveAvgPool2d((1, 1)) #(1,1)means ouput_dim
        self.conv = nn.Conv2d(in_channel, depth, 1, 1)
        self.atrous_block1 = nn.Conv2d(in_channel, depth, 1, 1)
        self.atrous_block6 = nn.Conv2d(in_channel, depth, 3, 1, padding=6, dilation=6)
        self.atrous_block12 = nn.Conv2d(in_channel, depth, 3, 1, padding=12, dilation=12)
        self.atrous_block18 = nn.Conv2d(in_channel, depth, 3, 1, padding=18, dilation=18)
        self.conv_1x1_output = nn.Conv2d(depth * 5, depth, 1, 1)
 
    def forward(self, x):
        size = x.shape[2:]
 
        image_features = self.mean(x)
        image_features = self.conv(image_features)
        image_features = F.upsample(image_features, size=size, mode='bilinear')
 
        atrous_block1 = self.atrous_block1(x)
        atrous_block6 = self.atrous_block6(x)
        atrous_block12 = self.atrous_block12(x)
        atrous_block18 = self.atrous_block18(x)
 
        net = self.conv_1x1_output(torch.cat([image_features, atrous_block1, atrous_block6,
                                              atrous_block12, atrous_block18], dim=1))
        return net

2.配置yolo.py文件

加入ASPP模块。

3.配置yolov5/yolov7_​​ASPP.yaml文件

# anchors
anchors:
  - [10,13, 16,30, 33,23]  # P3/8
  - [30,61, 62,45, 59,119]  # P4/16
  - [116,90, 156,198, 373,326]  # P5/32

# YOLOv5 backbone
backbone:
  # [from, number, module, args]
  [[-1, 1, Focus, [64, 3]],  # 0-P1/2
   [-1, 1, Conv, [128, 3, 2]],  # 1-P2/4
   [-1, 3, C3, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 9, C3, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, C3, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 1, ASPP, [1024]],
   [-1, 3, C3, [1024, False]],  # 9
  ]

# YOLOv5 head
head:
  [[-1, 1, Conv, [512, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P4
   [-1, 3, C3, [512, False]],  # 13

   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 4], 1, Concat, [1]],  # cat backbone P3
   [-1, 3, C3, [256, False]],  # 17 (P3/8-small)

   [-1, 1, Conv, [256, 3, 2]],
   [[-1, 14], 1, Concat, [1]],  # cat head P4
   [-1, 3, C3, [512, False]],  # 20 (P4/16-medium)

   [-1, 1, Conv, [512, 3, 2]],
   [[-1, 10], 1, Concat, [1]],  # cat head P5
   [-1, 3, C3, [1024, False]],  # 23 (P5/32-large)

   [[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)
  ]

关于算法改进及论文投稿可关注并留言博主的CSDN/QQ

>>>一起交流!互相学习!共同进步!<<<

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

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

相关文章

CANoe-Ethernet IG和Ethernet Packet Builder的使用和区别

Ethernet IG和Ethernet Packet Builder都是CANoe仿真以太网报文发送的模块,但是在用途上各有不同 1. Ethernet IG 以太网IG模块允许用户以多种方式发送以太网帧、UDP报文和TCP报文。可以发送一次,也可以按照指定的周期时间循环发送 创建以太网IG的步骤如下: 在Simulation …

2.5A强驱动能力,舞台灯光驱动TMI8263锻造“中国芯”

舞台艺术&#xff0c;自古以来就是人们享受生活不可或缺的艺术形式&#xff0c;一段赏心悦目的舞台表演能为观众带来从视听感官到心灵的艺术洗礼。 现在的舞台艺术&#xff0c;越来越追求极致的视觉效果&#xff0c;舞台灯光起着非常关键的作用。 一场舞台表演&#xff0c;需要…

Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理

Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理 目录 Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理 一、简单介绍 二、常用命令 1、 打开终端 &#xff1a;Ctrl Alt T 2、退出终端&#xff1a;exit 3、查看安装 Ubuntu 版本/显示系统等信息&#xff1a;uname…

豆瓣评分9.0,《Java核心技术与面试》神作,已帮助1374人拿到Offer

Java的知识点实在太多&#xff0c;如果什么都去学&#xff0c;而不是精学工作和面试中常用的知识点&#xff0c;那不仅会造成学习效率低下&#xff0c;而且会让大家迷失在海量的知识中。结果是&#xff0c;大家投入了大量时间&#xff0c;也学了不少知识点&#xff0c;但是无法…

汇编逆向-入门

Qt源码解析 索引 汇编逆向— 授权破解示例分析 问题模拟 运行环境 x64dbgWindows 10serial.exe 运行效果 输入注册信息不对提示错误。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tV3bdLGO-1669017713175)(D:\Work\Code\luxiang\CSDN\ASM-…

element 表格字段过长

element 表格 - 表头太长换行 解决方案一&#xff1a;show-overflow-tooltip Table表格&#xff0c;如果每列显示的内容过长则可以使用该属性&#xff0c;即 :show-overflow-tooltip“true”&#xff0c;该属性可以让内容在一行显示&#xff0c;如果显示不下时&#xff0c;显示…

智能晾衣架(一)--设计

本文素材来源于红河学院 工学院 作者&#xff1a;赵德森 张艺锦 潘志慧 曹紫康 指导老师&#xff1a;江洁 张龙超 一、简介 本作品设计的晾衣系统从人们日常生活研究设计&#xff0c;体积小&#xff0c;收纳方便&#xff0c;不占空间可以在日常生活中极大的便利用户。我们…

MyBatis 源码分析之 Select 语句执行(上)

三哥 内容来自【自学星球】 欢迎大家来了解我的星球&#xff0c;和星主&#xff08;也就是我&#xff09;一起学习 Java &#xff0c;深入 Java 体系中的所有技术。我给自己定的时间是一年&#xff0c;无论结果如何&#xff0c;必定能给星球中的各位带来点东西。 想要了解更多&…

盘点敏捷项目失败的6个主要原因

敏捷项目管理及其相关的方法和价值观正在迅速改变着许多企业的运作方式。改善灵活性、提高协作和生产力以及加强客户联系的承诺&#xff0c;敏捷的种种好处摆在企业决策者面前。 然而&#xff0c;直接运行成功的敏捷项目并不是必然的。是什么原因导致敏捷管理失败&#xff1f…

公众号免费调用题库

公众号免费调用题库 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击…

Reading Note(8) ——GNN for DSE

这篇博客是一篇论文阅读札记&#xff0c;这篇论文的主题是使用GNN来优化加速器设计中的设计空间探索耗时过长的问题。 这篇文章的标题是《Enabling Automated FPGA Accelerator Optimization Using Graph Neural Networks》&#xff0c;值得注意的是这是它的预印版&#xff0c…

Java-内部类

内部类的概念 认识内部类 一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称之为内部类inner class&#xff0c;嵌套该内部类的类称为外部类。就像双重for循环&#xff0c;外部for循环里面包含着另一个内层循环。内部类是类的第5大成员&#xff0c;[属性&#xff0c;方法…

让我们进入面向对象的世界(一)

让我们进入面向对象的世界 文章目录让我们进入面向对象的世界开场白一.面向对象概述二.认识对象和类2.1什么是类2.2 什么是对象呢&#xff1f;2.3 让我们来创建第一个对象2.3 让我们进一步了解&#xff0c;我们针对对象的操作&#xff0c;是怎样的开场白 大家好&#xff01;&a…

SpringMVC请求、响应与异步请求

文章目录SpringMVC核心架构的具体流程步骤一、SpringMVC请求与响应1、SpringMVC Handle原理与应用1.1 概念1.2 Spring MVC Handler的三种写法2、SpringMVC 视图解析器2.1 概念2.2 配置视图解析器二、SpringMVC异步请求1、 Ajax基本配置2、 异步与同步优缺点&#xff1a;如何设置…

基于TMI8421的3D打印机步进电机解决方案

打印机一直是工作中不可缺少的一部分&#xff0c;当下&#xff0c;随着3D打印技术的推广&#xff0c;3D打印机逐渐进入我们的生活与工作当中。每个人都期望可以在办公室环境下安静快速的打印&#xff0c;更高效地完成每项打印工作&#xff1b;更生动逼真的重现理想的3D模型。而…

实战:如何优雅地扩展Log4j配置?

前言 Log4j 日志框架我们经常会使用到&#xff0c;最近&#xff0c;我就遇到了一个与日志配置相关的问题。简单来说&#xff0c;就是在原来日志配置的基础上&#xff0c;指定类的日志打印到指定的日志文件中。 这样讲述可能不是那么好理解&#xff0c;且听我从需求来源讲起。…

【10】leetcode note

题目&#xff1a; 799. 香槟塔 个人总结 799. 香槟 我们把玻璃杯摆成金字塔的形状&#xff0c;其中 第一层 有 1 个玻璃杯&#xff0c; 第二层 有 2 个&#xff0c;依次类推到第 100 层&#xff0c;每个玻璃杯 (250ml) 将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟&…

基于铁犀牛ironrhino平台的税务档案管理系统

目录 摘要 2 引言 5 1.1 选题背景 6 1.2 国内外研究现状 7 1.3课题研究的重要性 8 2. 系统的需求与分析 8 2.1 系统的功能介绍 9 2.1.1 业务信息描述 9 2.1.2 系统功能说明 10 2.1.3 系统的开发目标 11 2.2 系统分析 12 2.2.1 铁犀牛的功能 12 2.2.2 铁犀牛工作原理 13 2.2.3 铁…

翻阅必备----Java窗口组件,容器,布局,监听,事件 API大全

---------------------------------------------------------------------------------------- &#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏 java ⭐Jav…

将存在课题的过程可视化,丰田的“自工程完结”是什么?

将存在课题的过程可视化&#xff0c;丰田的“自工程完结”是什么? “全日本的公司是不是都发生了奇怪的事情呢?人们常说日本人很勤劳。所以要拼命努力。但是&#xff0c;有很多人拼命努力却毫无成果。(中略)这样才不会有动力。明明很努力却没有成果&#xff0c;我认为这才是奇…