首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >YOLOv12优化:遥感去雾 | 新颖的双注意力块(DAB)

YOLOv12优化:遥感去雾 | 新颖的双注意力块(DAB)

原创
作者头像
AI小怪兽
修改于 2025-04-16 02:13:26
修改于 2025-04-16 02:13:26
57502
代码可运行
举报
文章被收录于专栏:毕业设计毕业设计YOLO大作战
运行总次数:2
代码可运行

💡💡💡 本文目的:通过利用一个新颖的双注意力块实现了更好的去雾性能,同时大幅降低了模型复杂度。这个双注意力块串联了两个模块:通道-空间注意力和并行注意力。我们提出了一种新的并行注意力架构,通过并行连接三种不同的注意力机制(全局通道注意力、局部通道注意力和空间注意力),实现了更好的去雾效果。

💡💡💡如何使用:1)结合A2C2f、C3k2二次创新使用;

1.YOLOv12介绍

论文:[2502.12524] YOLOv12: Attention-Centric Real-Time Object Detectors

摘要:

长期以来,提升YOLO框架的网络架构至关重要,但相关改进主要聚焦于基于CNN的优化,尽管注意力机制已被证实具备更卓越的建模能力。这种现状源于注意力模型在速度上始终无法与CNN模型相媲美。本研究提出了一种以注意力机制为核心的YOLO框架——YOLOv12,在保持与先前CNN模型相当速度的同时,充分释放了注意力机制的性能优势。

YOLOv12在保持具有竞争力的推理速度下,其准确率超越了所有主流实时目标检测器。具体而言,YOLOv12-N在T4 GPU上以1.64ms的推理延迟实现了40.6%的mAP,相较先进的YOLOv10-N/YOLOv11-N分别提升2.1%/1.2%的mAP,同时保持相近速度。该优势在其他模型规模上同样显著。相较于改进DETR的端到端实时检测器,YOLOv12也展现出优越性:例如YOLOv12-S以42%的速度优势超越RT-DETR-R18/RT-DETRv2-R18,仅需36%的计算量和45%的参数量。更多对比详见图1。

结构图如下:

本文旨在解决这些挑战,并进一步构建了一个以注意力为中心的YOLO框架,即YOLOv12。我们引入了三项关键改进。首先,我们提出了一个简单高效的区域注意力模块(A²),它以一种非常简单的方式在保持较大感受野的同时减少了注意力的计算复杂度,从而提高了速度。其次,我们引入了残差高效层聚合网络(R-ELAN),以应对注意力机制(尤其是大规模模型)引入的优化挑战。R-ELAN在原始ELAN的基础上引入了两项改进:(i)基于块的残差设计与缩放技术;(ii)重新设计的特征聚合方法。第三,我们在传统注意力机制的基础上进行了一些架构改进,以适应YOLO系统。我们升级了传统的注意力中心架构,包括:引入FlashAttention以解决注意力的内存访问问题,移除位置编码等设计以使模型更快速、更简洁,将MLP比率从4调整为1.2以平衡注意力机制和前馈网络之间的计算量,从而获得更好的性能,减少堆叠块的深度以促进优化,以及尽可能多地利用卷积操作来发挥其计算效率。

总之,YOLOv12的贡献可以概括为以下两点:1)它建立了一个以注意力为中心的、简单而高效的YOLO框架,通过方法创新和架构改进,打破了CNN模型在YOLO系列中的主导地位。2)YOLOv12在不依赖预训练等额外技术的情况下,实现了快速推理速度和更高的检测精度的最新成果,展现了其潜力。

1.1 Area Attention

YOLOv12设计了区域注意力模块(A2),将特征图划分为简单的垂直或水平区域,减少了注意力机制的计算复杂度,同时保持了较大的感受野。

核心源码如下:

代码位置ultralytics/nn/modules/block.py

1.2 A2C2f

A2C2f模块全称为“Area-Attention Enhanced Cross-Feature module”,是YOLOv12中提出的一种改进型特征提取模块,结合了区域注意力(Area-Attention)和残差连接,主要用于提升特征提取的效率和精度

A2C2f模块由以下关键部分组成:

  • cv1和cv2:两层1×1卷积,分别用于输入特征的降维和输出特征的升维。
  • ABlock模块:A2C2f的核心,包含区域注意力(Area-Attention)和MLP(多层感知机)层,用于快速特征提取和注意力机制的增强。
  • 残差连接:可选的残差连接,用于稳定训练并增强特征的表达能力。

代码位置ultralytics/nn/modules/block.py

2.原理介绍

论文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10679105

摘要:在遥感图像中去除雾霾对于天气预报、监测、矿产勘探和灾害管理等各个领域的实际应用至关重要。之前的深度学习模型利用大卷积核和注意力机制来高效去雾。然而,这些方法存在一些缺点,比如图像细节丢失和性能低下。本文将介绍一种新的双注意力网络,称为DA-Net,用于去雾遥感图像。该网络通过利用一个新颖的双注意力块实现了更好的去雾性能,同时大幅降低了模型复杂度。这个双注意力块串联了两个模块:通道-空间注意力和并行注意力。我们提出了一种新的并行注意力架构,通过并行连接三种不同的注意力机制(全局通道注意力、局部通道注意力和空间注意力),实现了更好的去雾效果。此外,我们将展示,通过把通道-空间注意力与并行注意力模块串联起来,可以更准确地检测出雾霾成分信息,同时通过结合两个不同的通道和空间分支分别生成的通道和空间信息,成比例地减少了模型复杂度。我们的实验结果表明,无论是在合成数据还是真实图像数据集上,DA-Net在定量和定性评估方面都比其他去雾模型表现得更好。

在这部分中,我们将详细描述DA-Net用于遥感图像(RSI)去雾的架构。如图1所示,DA-Net包含五个阶段,每个阶段都有一个双注意力块(DAB)。与之前的结果相比,DA-Net通过DAB的新颖结构设计显著提高了整体去雾性能,这种设计通过利用两个注意力模块而不是一个注意力模块,高效地结合了通道和空间信息。下采样用于减小特征图的大小,同时增加通道数量以捕获上下文信息;而上采样则用于减少通道数量,同时增加特征图大小以找到详细信息。此外,选择性核特征融合(SKFF)被用来通过合并两种不同的特征图来提取有用的特征[67]。使用重建过程从观测图像中获得去雾后的图像。在接下来的部分中,我们将更详细地解释DAB。

DAB由两个模块串联而成:通道-空间注意力模块(CSAM)和并行注意力模块(PAM),如图2所示。从理论上讲,DAB的结构设计可以减少模型的复杂度。现有的基于深度学习的模型通常需要大量的参数来准确捕捉雾霾成分,从而增加了模型的复杂性。相比之下,DAB中的CSAM和PAM基于注意力机制,可以在保持较少参数的情况下高效检测雾霾成分。此外,将CSAM与PAM串联起来可以互补,增强DAB的有效性。因此,DAB通过利用一种结构设计——即两个模块CSAM和PAM串联连接,能够更精确地检测雾霾成分,同时按比例减少模型的复杂度。

3.如何将入到YOLOv12

3.1 新建ultralytics/nn/block/DA_Net.py

核心代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
######################################## DA_Net IEEE Access 2024   by AI Little monster start  ########################################
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.nn.init import _calculate_fan_in_and_fan_out
from timm.models.layers import trunc_normal_
import math
 
 
# https://blog.csdn.net/m0_63774211?type=lately
from ultralytics.nn.modules.conv import Conv, autopad
from ultralytics.nn.modules.block import Bottleneck, C2f,C3k,ABlock,C3k2,A2C2f
 
 
# This is the official code of DA-Net for haze removal in remote sensing images (RSI).
# DA-Net: Dual Attention Network for Haze Removal in Remote Sensing Image
# IEEE Access
# 09/12/2024
# Namwon Kim (namwon@korea.ac.kr)
 
class ChannelBranch(nn.Module):
    # Channel Branch
    def __init__(self, in_channels, reduction_ratio=16):
        super(ChannelBranch, self).__init__()
        self.fc = nn.Sequential(
            nn.Linear(in_channels, in_channels // reduction_ratio),
            nn.GELU(),
            nn.Linear(in_channels // reduction_ratio, in_channels)
        )
        self.avg_pool = nn.AdaptiveAvgPool2d((1, 1))
 
    def forward(self, x):
        avg_pool = self.avg_pool(x).view(x.size(0), -1)
        channel_att_raw = self.fc(avg_pool)
        channel_att = torch.sigmoid(channel_att_raw).unsqueeze(-1).unsqueeze(-1)
        return x * channel_att
 
 
class SpatialBranch(nn.Module):
    # Spatial Branch
    def __init__(self, in_channels):
        super(SpatialBranch, self).__init__()
        self.spatial = nn.Sequential(
            nn.Conv2d(in_channels, 1, kernel_size=7, padding=3, padding_mode='reflect'),
            nn.Sigmoid()
        )
 
    def forward(self, x):
        scale = self.spatial(x)
        return x * scale
 
 
# Channel Spatial Attention Module
class ChannelSpatialAttentionModule(nn.Module):
    def __init__(self, in_channels):
        super(ChannelSpatialAttentionModule, self).__init__()
        self.channel_attention = ChannelBranch(in_channels)
        self.spatial_attention = SpatialBranch(in_channels)
 
    def forward(self, x):
        out = self.channel_attention(x) + self.spatial_attention(x)
        return out
 
 
class LocalChannelAttention(nn.Module):
    def __init__(self, dim):
        super(LocalChannelAttention, self).__init__()
 
        self.conv = nn.Conv1d(1, 1, kernel_size=3, padding=1, padding_mode='reflect')
 
        self.GAP = nn.AdaptiveAvgPool2d(1)
 
        self.local = nn.Sequential(
            nn.Conv2d(dim, dim, kernel_size=3, padding=1, groups=dim, padding_mode='reflect'),
            nn.Sigmoid()
        )
 
    def forward(self, x):
        N, C, H, W = x.shape
        att = self.GAP(x).reshape(N, 1, C)
        att = self.conv(att).sigmoid()
        att = att.reshape(N, C, 1, 1)
        out = ((x * att) + x) + (self.local(x) * x)
        return out
 
 
class Mlp(nn.Module):
    def __init__(self, network_depth, in_features, hidden_features=None, out_features=None):
        super().__init__()
        out_features = out_features or in_features
        hidden_features = hidden_features or in_features
 
        self.network_depth = network_depth
 
        self.mlp = nn.Sequential(
            nn.Conv2d(in_features, hidden_features, 1),
            nn.Mish(True),
            nn.Conv2d(hidden_features, out_features, 1)
        )
 
        self.apply(self._init_weights)
 
    def _init_weights(self, m):
        if isinstance(m, nn.Conv2d):
            gain = (8 * self.network_depth) ** (-1 / 4)
            fan_in, fan_out = _calculate_fan_in_and_fan_out(m.weight)
            std = gain * math.sqrt(2.0 / float(fan_in + fan_out))
            trunc_normal_(m.weight, std=std)
            if m.bias is not None:
                nn.init.constant_(m.bias, 0)
 
    def forward(self, x):
        return self.mlp(x)
 
 
class DualAttentionBlock(nn.Module):
    def __init__(self, dim, network_depth=1):
        super().__init__()
 
        self.norm1 = nn.BatchNorm2d(dim)
        self.norm2 = nn.BatchNorm2d(dim)
 
        self.dim = dim
 
        # shallow feature extraction layer
        self.conv1 = nn.Conv2d(dim, dim, kernel_size=1)  # main
        self.conv2 = nn.Conv2d(dim, dim, kernel_size=5, padding=2, groups=dim, padding_mode='reflect')  # main
 
        self.attn = ChannelSpatialAttentionModule(dim)
 
        # Local Channel Attention
        self.gp = LocalChannelAttention(dim)
 
        # Global Channel Attention
        self.cam = GlobalChannelAttention(dim)
 
        # Spatial Attention
        self.pam = SpatialAttention(dim)
 
        self.mlp = Mlp(network_depth, dim, hidden_features=int(dim * 4.), out_features=dim)
        self.mlp2 = Mlp(network_depth, dim * 3, hidden_features=int(dim * 4.), out_features=dim)
 
    def forward(self, x):
        # Channel Spatial Attention Module
        identity = x
        x = self.norm1(x)
        x = self.attn(x)
        x = self.mlp(x)
        x = identity + x
 
        # Parallel Attention Module
        identity = x
        x = self.norm2(x)
        x = self.conv1(x)
        x = self.conv2(x)
        x = torch.cat([self.gp(x), self.cam(x), self.pam(x)], dim=1)
        x = self.mlp2(x)
        x = identity + x
 
        return x

3.2 yolov12-A2C2f_DAB.yaml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# YOLOv12 🚀, AGPL-3.0 license
# YOLOv12 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=yolov12n.yaml' will call yolov12.yaml with scale 'n'
  # [depth, width, max_channels]
  n: [0.50, 0.25, 1024] # summary: 465 layers, 2,603,056 parameters, 2,603,040 gradients, 6.7 GFLOPs
  s: [0.50, 0.50, 1024] # summary: 465 layers, 9,285,632 parameters, 9,285,616 gradients, 21.7 GFLOPs
  m: [0.50, 1.00, 512] # summary: 501 layers, 20,201,216 parameters, 20,201,200 gradients, 68.1 GFLOPs
  l: [1.00, 1.00, 512] # summary: 831 layers, 26,454,880 parameters, 26,454,864 gradients, 89.7 GFLOPs
  x: [1.00, 1.50, 512] # summary: 831 layers, 59,216,928 parameters, 59,216,912 gradients, 200.3 GFLOPs

# YOLO12n 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, 2, C3k2_DAB,  [256, False, 0.25]]
  - [-1, 1, Conv,  [256, 3, 2]] # 3-P3/8
  - [-1, 2, C3k2_DAB,  [512, False, 0.25]]
  - [-1, 1, Conv,  [512, 3, 2]] # 5-P4/16
  - [-1, 4, A2C2f_DAB, [512, True, 4]]
  - [-1, 1, Conv,  [1024, 3, 2]] # 7-P5/32
  - [-1, 4, A2C2f_DAB, [1024, True, 1]] # 8

# YOLO12n head
head:
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
  - [-1, 2, A2C2f_DAB, [512, False, -1]] # 11

  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 4], 1, Concat, [1]] # cat backbone P3
  - [-1, 2, A2C2f_DAB, [256, False, -1]] # 14

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 11], 1, Concat, [1]] # cat head P4
  - [-1, 2, A2C2f_DAB, [512, False, -1]] # 17

  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 8], 1, Concat, [1]] # cat head P5
  - [-1, 2, C3k2_DAB, [1024, True]] # 20 (P5/32-large)

  - [[14, 17, 20], 1, Detect, [nc]] # Detect(P3, P4, P5)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
YOLOv12优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测
💡💡💡本文改进:多尺度卷积注意力(MSCA),有效地提取上下文信息,新颖度高,创新十足。
AI小怪兽
2025/03/10
1.3K0
YOLOv8独家原创改进:SPPF自研创新 | 可变形大核注意力(D-LKA Attention),大卷积核提升不同特征感受野的注意力机制
💡💡💡本文自研创新改进: 可变形大核注意力(D-LKA Attention)高效结合SPPF进行二次创新,大卷积核提升不同特征感受野的注意力机制。
AI小怪兽
2023/12/09
3.4K1
注意力机制---Yolov5/Yolov7引入CBAM、GAM、Resnet_CBAM
论文题目:《CBAM: Convolutional Block Attention Module》 论文地址: https://arxiv.org/pdf/1807.06521.pdf
AI小怪兽
2023/11/30
2.4K0
RT-DETR改进策略:自研独家创新BSAM注意力 ,基于CBAM升级 | 注意力机制大作战
本文全网首发独家改进:提出新颖的注意力BSAM(BiLevel Spatial Attention Module),创新度极佳,适合科研创新,效果秒杀CBAM,Channel Attention+Spartial Attention升级为新颖的 BiLevel Attention+Spartial Attention
AI小怪兽
2023/11/20
8400
YOLO11涨点优化:注意力魔改 | 通道注意力和空间注意力CBAM | 全新注意力GAM:超越CBAM,不计成本提高精度
💡💡💡提供两种经典注意力改进方法,涨点小能手:1)通道注意力和空间注意力CBAM;2)全新注意力GAM:超越CBAM,不计成本提高精度;
AI小怪兽
2024/11/04
5.1K1
即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)
卷积神经网络已广泛应用于计算机视觉领域的许多任务和应用中。研究人员发现,CNN在提取深度视觉表征方面表现良好。随着CNN相关技术的改进,ImageNet数据集的图像分类准确率在过去9年里从63%提高到了90%。这一成就也归功于ImageNet数据集的复杂性,这为相关研究提供了难得的机会。由于它覆盖的真实场景的多样性和规模,有利于传统的图像分类、表征学习、迁移学习等研究。特别是,它也给注意力机制带来了挑战。
集智书童公众号
2021/12/15
6.9K0
即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)
YOLO11优化:图像去噪 | AAAI2025 Transformer |一种基于Transformer的盲点网络(TBSN)架构 ,结合空间和通道自注意力层
💡💡💡 提出了一种基于Transformer的盲点网络(TBSN)架构,通过分析和重新设计Transformer运算符以满足盲点要求。TBSN遵循扩张BSN的架构原则,并结合空间和通道自注意力层来增强网络能力。
AI小怪兽
2025/01/15
7640
【CV中的Attention机制】并行版的CBAM-BAM模块
BAM全程是bottlenect attention module,与CBAM很相似的起名,还是CBAM的团队完成的作品。
BBuf
2020/02/12
2.6K0
【CV中的Attention机制】并行版的CBAM-BAM模块
【Academic tailor】学术小裁缝必备知识点:全局注意力机制(GAM)
注意力机制是深度学习中的重要技术,尤其在序列到序列(sequence-to-sequence)任务中广泛应用,例如机器翻译、文本摘要和问答系统等。这一机制由 Bahdanau 等人在其论文《Neural Machine Translation by Jointly Learning to Align and Translate》中首次提出。以下将详细介绍这一机制的背景、核心原理及相关公式。
不去幼儿园
2024/12/03
1.1K0
【Academic tailor】学术小裁缝必备知识点:全局注意力机制(GAM)
YOLO11优化:卷积创新结合频域 | 一种名为频率动态卷积(FDConv)的创新方法,CVPR2025
💡💡💡我们引入了一种名为频率动态卷积(FDConv)的创新方法,通过在傅里叶域中学习固定参数预算来缓解这些问题。FDConv 将这些预算分配到具有不相交傅里叶索引的频率组中,从而能够在不增加参数成本的情况下构建频率多样的权重。
AI小怪兽
2025/07/21
1370
基于多尺度动态卷积的图像分类
在计算机视觉领域,图像分类是非常重要的任务之一。近年来,深度学习的兴起极大提升了图像分类的精度和效率。本文将介绍一种基于动态卷积网络(Dynamic Convolutional Networks)、多尺度特征融合网络(Multi-scale Feature Fusion Networks)和自适应损失函数(Adaptive Loss Functions)的智能图像分类模型,采用了PyTorch框架进行实现,并通过PyQt构建了简洁的用户图像分类界面。该模型能够处理多分类任务,并且提供了良好的可扩展性和轻量化设计,使其适用于多种不同的图像分类场景。
Srlua
2024/12/21
2820
基于多尺度动态卷积的图像分类
YOLOv12源码分析+如何训练自己的数据集(NEU-DET缺陷检测为案列)
💡💡💡本文内容:YOLOv12创新点A2C2f和Area Attention结构分析,以及如何训练自己的私有数据集
AI小怪兽
2025/02/25
1.2K2
【YOLOv8】YOLOv8改进系列(7)----替换主干网络之LSKNet
文章提出了一种名为 Large Selective Kernel Network(LSKNet)的新型网络架构,专门用于遥感图像中的目标检测任务。LSKNet 通过动态调整其大空间感受野,能够更好地模拟遥感场景中不同目标所需的长程上下文信息,从而显著提高了遥感目标检测的性能。
HABuo
2025/03/17
3300
【YOLOv8】YOLOv8改进系列(7)----替换主干网络之LSKNet
YOLOv13改进:注意力独家魔改 | 可变形双级路由注意力(DBRA),魔改动态稀疏注意力的双层路由方法BiLevelRoutingAttention
💡💡💡BRA问题点:由可变形点选择的键值对缺乏语义相关性。BiFormer中的查询感知稀疏注意力旨在让每个查询聚焦于top-k路由区域。然而,在计算注意力时,选定的键值对受到太多无关查询的影响,减弱了对更重要查询的注意力。
AI小怪兽
2025/07/21
1810
YOLOv8改进:Triplet注意力模块,即插即用,效果优于cbam、se,涨点明显
本文提出了可以有效解决跨维度交互的triplet attention。相较于以往的注意力方法,主要有两个优点:
AI小怪兽
2023/11/23
1.3K0
YOLOv5改进---注意力机制:DoubleAttention注意力,SENet进阶版本
摘要:DoubleAttention注意力助力YOLOv5,即插即用,性能优于SENet
AI小怪兽
2023/11/30
7450
YoloV5/YoloV7改进---注意力机制:引入瓶颈注意力模块BAM,对标CBAM
摘要:提出了一种简单有效的注意力模块,称为瓶颈注意力模块(BAM),可以与任何前馈卷积神经网络集成。我们的模块沿着两条独立的路径,通道和空间,推断出一张注意力图。我们将我们的模块放置在模型的每个瓶颈处,在那里会发生特征图的下采样。我们的模块用许多参数在瓶颈处构建了分层注意力,并且它可以以端到端的方式与任何前馈模型联合训练。我们通过在CIFAR-100、ImageNet-1K、VOC 2007和MS COCO基准上进行大量实验来验证我们的BAM。我们的实验表明,各种模型在分类和检测性能上都有持续的改进,证明了BAM的广泛适用性。
AI小怪兽
2023/11/30
7710
YOLOv12优化:卷积魔改创新 | AAAI 2025 | 一种新颖的风车形卷积(PConv)符合微弱小目标的像素高斯空间分布,增强特征提取,显著增加接受野
💡💡💡 我们提出了一种新颖的风车形卷积(PConv)作为骨干网络下层标准卷积的替代品。PConv能更好地符合微弱小目标的像素高斯空间分布,增强特征提取,显著增加接受野,且只引入最小的参数增加。
AI小怪兽
2025/03/19
7000
计算机视觉中常用的注意力机制
注意力机制起初是作为自然语言处理中的工作Attention Is All You Need被大家所熟知,从而也引发了一系列的XX is All You Need的论文命题,SENET-Squeeze-and-Excitation Networks是注意力机制在计算机视觉中应用的早期工作之一,并获得了2017年imagenet, 同时也是最后一届Imagenet比赛的冠军,后面就又出现了各种各样的注意力机制,应用在计算机视觉的任务中。
为为为什么
2022/08/09
8960
计算机视觉中常用的注意力机制
【YOLOv8】YOLOv8改进系列(5)----替换主干网络之EfficientFormerV2
这篇论文介绍了一种名为 EfficientFormerV2 的新型高效视觉模型,旨在解决如何在移动设备上实现与 MobileNet 相当的模型大小和推理速度的同时,达到与 Vision Transformers (ViTs) 相似的高性能。
HABuo
2025/03/11
3880
【YOLOv8】YOLOv8改进系列(5)----替换主干网络之EfficientFormerV2
推荐阅读
YOLOv12优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测
1.3K0
YOLOv8独家原创改进:SPPF自研创新 | 可变形大核注意力(D-LKA Attention),大卷积核提升不同特征感受野的注意力机制
3.4K1
注意力机制---Yolov5/Yolov7引入CBAM、GAM、Resnet_CBAM
2.4K0
RT-DETR改进策略:自研独家创新BSAM注意力 ,基于CBAM升级 | 注意力机制大作战
8400
YOLO11涨点优化:注意力魔改 | 通道注意力和空间注意力CBAM | 全新注意力GAM:超越CBAM,不计成本提高精度
5.1K1
即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)
6.9K0
YOLO11优化:图像去噪 | AAAI2025 Transformer |一种基于Transformer的盲点网络(TBSN)架构 ,结合空间和通道自注意力层
7640
【CV中的Attention机制】并行版的CBAM-BAM模块
2.6K0
【Academic tailor】学术小裁缝必备知识点:全局注意力机制(GAM)
1.1K0
YOLO11优化:卷积创新结合频域 | 一种名为频率动态卷积(FDConv)的创新方法,CVPR2025
1370
基于多尺度动态卷积的图像分类
2820
YOLOv12源码分析+如何训练自己的数据集(NEU-DET缺陷检测为案列)
1.2K2
【YOLOv8】YOLOv8改进系列(7)----替换主干网络之LSKNet
3300
YOLOv13改进:注意力独家魔改 | 可变形双级路由注意力(DBRA),魔改动态稀疏注意力的双层路由方法BiLevelRoutingAttention
1810
YOLOv8改进:Triplet注意力模块,即插即用,效果优于cbam、se,涨点明显
1.3K0
YOLOv5改进---注意力机制:DoubleAttention注意力,SENet进阶版本
7450
YoloV5/YoloV7改进---注意力机制:引入瓶颈注意力模块BAM,对标CBAM
7710
YOLOv12优化:卷积魔改创新 | AAAI 2025 | 一种新颖的风车形卷积(PConv)符合微弱小目标的像素高斯空间分布,增强特征提取,显著增加接受野
7000
计算机视觉中常用的注意力机制
8960
【YOLOv8】YOLOv8改进系列(5)----替换主干网络之EfficientFormerV2
3880
相关推荐
YOLOv12优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档