当前位置: 首页 > news >正文

即插即用系列 | CVPR 2026 | SCFM:双路并行调制!空间-通道协同增强,高频细节精准补偿,性能轻量兼得! | 代码分享

0. 前言

本文介绍了SCFM空间-通道特征调制器,其通过双路并行注意力架构,分别从空间与通道两个维度协同增强特征表达,首次在视觉状态空间模型中实现对聚类过程中高频细节损失的有效补偿,精准破解了全局建模与局部细节不可兼得的难题。将其作为即插即用模块,轻松助力CNN、YOLO、Transformer等深度学习模型,在不增加显著计算负担的前提下,强化关键区域与关键通道的特征响应,让模型在面对复杂纹理、边缘细节或低对比度区域时,依然能够保持锐利的边界感知与卓越的重建精度。

专栏链接:即插即用系列专栏链接,可点击跳转免费订阅!!!

目录

0. 前言

1. SCFM注意力简介

2. SCFM注意力原理与创新点

🧠 SCFM注意力基本原理

🎯 SCFM注意力创新点

3. 适用范围与模块效果

🍀适用范围

⚡模块效果

4. SCFM注意力代码实现


1. SCFM注意力简介

超高清(UHD)图像修复正陷入可扩展性危机:现有模型受限于像素级操作,其计算需求难以持续。虽然Mamba等状态空间模型(SSM)承诺线性复杂度,但其像素级串行扫描对于UHD内容的数百万像素而言仍是根本瓶颈。我们不禁要问:必须处理每一个像素才能理解图像吗?本文提出C²SSM——一种视觉状态空间模型,通过从像素级串行扫描转向聚类中心级串行扫描,打破了这一禁忌。我们的核心发现是:UHD图像丰富的特征分布可以通过神经参数化的混合模型提炼为一组稀疏的语义聚类中心。C²SSM利用这一发现,将全局建模重构为一种新颖的双路径过程:它仅对少量聚类中心进行扫描和推理,然后通过一个原则性的相似度分布将全局上下文扩散回所有像素,同时由一个轻量级调制器保留细节。

原始论文:https://arxiv.org/pdf/2602.21917

原始代码:https://github.com/5chen/C2SSM/tree/main/


2. SCFM注意力原理与创新点

🧠 SCFM注意力基本原理

SCFM作为C²SSM架构中的关键组件,扮演着信息补偿器的角色,与主干的聚类扫描模块并行运行。它的核心设计思想是:当聚类操作将相似的像素聚合为语义中心时,虽然大幅压缩了计算量,但图像中那些独特的、难以被聚类代表的高频细节(如锐利边缘、精细纹理)可能会在聚合过程中被平滑或忽略。SCFM正是为解决这一问题而生,它通过一个精巧的双分支结构,在空间和通道两个维度上分别增强特征表达,确保这些关键细节能够被完整保留并传递到后续网络中。

具体而言,SCFM的实现包含以下三个关键步骤:

(1)空间注意力分支:首先对输入特征图分别进行最大池化和平均池化,提取出空间维度上的显著信息和整体分布信息。将这两个池化结果在通道维度上拼接后,通过一个卷积层和Sigmoid激活函数生成空间注意力权重图。该权重图能够突出图像中哪些空间位置包含更重要的结构信息,从而引导网络关注边缘、角点等关键区域。

(2)通道注意力分支:为了高效提取通道间的依赖关系,该分支先将输入特征通过两个连续的卷积层进行非线性变换,接着对变换后的特征分别进行最大池化和平均池化,将空间维度压缩为1×1的全局描述符,然后通过元素级相加融合两种池化结果,最后经Sigmoid激活生成通道注意力权重。该权重能够自适应地强调哪些通道特征对当前复原任务更为关键。

(3)特征融合与输出:将原始输入特征分别与空间注意力权重和通道注意力权重逐元素相乘,得到增强后的空间特征和通道特征。最后,将这两路增强后的特征通过独立的卷积层进行变换,并相加得到最终的输出特征。这种并行调制的设计使得空间与通道维度的增强互不干扰,各自聚焦于不同层面的信息补偿。

🎯 SCFM注意力创新点


3. 适用范围与模块效果

🍀适用范围

SCFM适用于通用视觉领域,特别是需要在高效率全局建模与高保真局部细节之间取得平衡的视觉任务。它尤其适合作为聚类类、下采样类或任何可能损失细节信息的模块的补充组件。

具体而言,以下场景特别适用SCFM:

⚡模块效果

结论:SCFM的引入使模型PSNR提升0.56 dB,同时仅增加0.18M参数量,验证了其以极小计算开销实现显著性能提升的有效性。


4. SCFM注意力代码实现

以下为SCFM注意力机制的官方pytorch实现代码,并提供了一个更轻量化的版本:

# 空间-通道特征调制器(Spatial-Channel Feature Modulator, SCFM) # 核心设计:基于“归一化+双注意力并行调制”的架构, # 通过LayerNorm稳定特征分布,并行引入通道注意力(Channel Attention)与空间注意力(Spatial Attention), # 分别强化关键通道特征与空间关键区域,再经独立卷积投影融合,实现特征的精准调制与增强, # 提升特征的辨识度与鲁棒性,且轻量化设计适配各类视觉模型 import torch import torch.nn as nn import numbers from einops import rearrange def to_3d(x): """将4D特征(B,C,H,W)转换为3D序列格式(B, H*W, C)""" return rearrange(x, 'b c h w -> b (h w) c') def to_4d(x, h, w): """将3D序列格式(B, H*W, C)转换回4D特征(B,C,H,W)""" return rearrange(x, 'b (h w) c -> b c h w', h=h, w=w) class WithBias_LayerNorm(nn.Module): """带偏置的LayerNorm实现""" def __init__(self, normalized_shape): super(WithBias_LayerNorm, self).__init__() if isinstance(normalized_shape, numbers.Integral): normalized_shape = (normalized_shape,) normalized_shape = torch.Size(normalized_shape) assert len(normalized_shape) == 1 self.weight = nn.Parameter(torch.ones(normalized_shape)) self.bias = nn.Parameter(torch.zeros(normalized_shape)) self.normalized_shape = normalized_shape def forward(self, x): return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + 1e-6) * self.weight + self.bias class LayerNorm(nn.Module): """2D特征的LayerNorm包装器""" def __init__(self, dim): super(LayerNorm, self).__init__() self.body = WithBias_LayerNorm(dim) def forward(self, x): h, w = x.shape[-2:] return to_4d(self.body(to_3d(x)), h, w) class ChannelAttention(nn.Module): """通道注意力模块,基于平均池化和最大池化的双池化融合""" def __init__(self, in_planes, ratio=16): super(ChannelAttention, self).__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.max_pool = nn.AdaptiveMaxPool2d(1) self.fc = nn.Sequential( nn.Conv2d(in_planes, in_planes // ratio, 1, bias=False), nn.ReLU(), nn.Conv2d(in_planes // ratio, in_planes, 1, bias=False) ) self.sigmoid = nn.Sigmoid() def forward(self, x): avg_out = self.fc(self.avg_pool(x)) max_out = self.fc(self.max_pool(x)) out = avg_out + max_out return self.sigmoid(out) class SpatialAttention(nn.Module): """空间注意力模块,基于通道维度的平均池化和最大池化拼接""" def __init__(self, kernel_size=7): super(SpatialAttention, self).__init__() self.conv1 = nn.Conv2d(2, 1, kernel_size, padding=kernel_size // 2, bias=False) self.sigmoid = nn.Sigmoid() def forward(self, x): avg_out = torch.mean(x, dim=1, keepdim=True) max_out, _ = torch.max(x, dim=1, keepdim=True) x_cat = torch.cat([avg_out, max_out], dim=1) x_out = self.conv1(x_cat) return self.sigmoid(x_out) class SCFM(nn.Module): """ 空间-通道特征调制器(Spatial-Channel Feature Modulator, SCFM) 功能:并行空间注意力与通道注意力,双路径调制特征,提升特征表达精准度 核心设计(严格遵循原始论文公式(14)): - 归一化先行:LayerNorm稳定特征分布,为注意力调制打基础 - 双注意力并行:通道注意力强化关键通道,空间注意力强化关键区域,互补增强 - 独立投影融合:双注意力调制后的特征经独立1×1卷积投影,避免信息干扰,融合更高效 - 轻量化架构:无复杂组件,计算成本低,即插即用 原始论文公式: F_d = Conv(ReLU(Conv(F_in))) W_c = δ(Max(F_d) + Avg(F_d)) W_s = δ(Conv([Max(F_in); Mean(F_in)])) F_out = Conv(W_s·F_in) + Conv(W_c·F_in) Args: feature_dim: 输入/输出特征通道数(需保持一致) reduction_ratio: 通道注意力的降维比率,默认16 kernel_size: 空间注意力的卷积核大小,默认7 """ def __init__(self, feature_dim, reduction_ratio=16, kernel_size=7): super().__init__() # 归一化层(对应论文Norm) self.norm = LayerNorm(feature_dim) # 双注意力模块(并行设计) self.chan_attn = ChannelAttention(feature_dim, ratio=reduction_ratio) self.spat_attn = SpatialAttention(kernel_size=kernel_size) # 独立投影层(对应论文中的Conv) self.conv_chan = nn.Conv2d(feature_dim, feature_dim, 1, 1, 0) self.conv_spat = nn.Conv2d(feature_dim, feature_dim, 1, 1, 0) def forward(self, x): """ Args: x: 输入特征图,形状为 (B, C, H, W) Returns: 调制后的特征图,形状与输入相同 """ # Step 1: LayerNorm稳定特征分布 x_norm = self.norm(x) # Step 2: 并行双注意力调制 + 独立投影 # 通道注意力分支:W_c·F_in x_chan = self.conv_chan(self.chan_attn(x_norm) * x_norm) # 空间注意力分支:W_s·F_in x_spat = self.conv_spat(self.spat_attn(x_norm) * x_norm) # Step 3: 融合输出 return x_chan + x_spat # 轻量化版本(减少计算量) class SCFMLight(nn.Module): """ SCFM轻量化版本,适用于资源受限场景 主要改动: - 通道注意力降维比率提升至32 - 空间注意力卷积核缩小至5 - 移除独立投影层的冗余计算(与注意力权重复用) """ def __init__(self, feature_dim, reduction_ratio=32, kernel_size=5): super().__init__() self.norm = LayerNorm(feature_dim) self.chan_attn = ChannelAttention(feature_dim, ratio=reduction_ratio) self.spat_attn = SpatialAttention(kernel_size=kernel_size) # 使用单一融合卷积,进一步降低参数量 self.fusion_conv = nn.Conv2d(feature_dim * 2, feature_dim, 1, 1, 0) def forward(self, x): x_norm = self.norm(x) x_chan = self.chan_attn(x_norm) * x_norm x_spat = self.spat_attn(x_norm) * x_norm return self.fusion_conv(torch.cat([x_chan, x_spat], dim=1)) if __name__ == "__main__": device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') # 测试标准SCFM x = torch.randn(1, 64, 32, 32).to(device) model = SCFM(64).to(device) y = model(x) print("【SCFM 测试结果】") print(f"输入特征维度:{x.shape}") print(f"输出特征维度:{y.shape}") print(f"模型参数量:{sum(p.numel() for p in model.parameters()):,}") print("=" * 60) # 测试轻量化版本 model_light = SCFMLight(64).to(device) y_light = model_light(x) print(f"【SCFMLight 测试结果】") print(f"输出特征维度:{y_light.shape}") print(f"轻量化模型参数量:{sum(p.numel() for p in model_light.parameters()):,}") print("=" * 60) # 测试梯度流动 loss = y.sum() loss.backward() print("梯度反向传播正常,模型可训练")

结合自己的思路,可将其即插即用至任何模型,做结构创新设计!

该模块博主已成功嵌入至YOLO26模型中,可订阅博主YOLO系列算法改进或YOLO26自研改进专栏:YOLO系列算法改进专栏链接YOLO26自研改进系列专栏

http://www.jsqmd.com/news/523402/

相关文章:

  • LangChain 与 LangGraph:如何根据任务复杂度选择合适框架
  • CSDN博客创作:记录Qwen3智能字幕对齐系统踩坑与优化历程
  • 华硕笔记本性能调优终极指南:G-Helper轻量级控制工具完整解析
  • 工业级声纹识别系统实战指南:基于PyTorch的落地应用
  • PowerBI杜邦分析实战:5步搭建动态财务仪表盘(附完整DAX公式)
  • 3D打印的动态参数革命:从机械限制到智能调节
  • 吃透 SAP Gateway Service Administration:从 OData V4 服务组、发布机制到排错实践的一体化理解
  • macOS通过VirtualBox沙盒化运行aTrust,保障宿主系统网络环境纯净
  • OpenCode 进阶指南:如何用 AI 编码助手提升 10 倍开发效率
  • 2026年律师律所推广获客推荐:律所线上获客软件与服务器部署方案分析 - 十大品牌推荐
  • 多智能体 + RL 强强联合!AT-GRPO 让 LLM 协作能力暴涨
  • 解密高通相机HAL:CamX与CHI的协作机制及性能优化技巧
  • 计费结算系统中,多层防护体系来严防资损
  • 【IEEE 出版 | IEEE Xplore 、EI 检索】第二届智慧能源与控制工程国际学术会议(SECE 2026)
  • 2026年同城推广推荐:中小企业精准获客口碑服务商系统化评测指南 - 十大品牌推荐
  • 直接上干货。今天咱们玩点实际的——用MATLAB搞OFDM通信系统里的IQ不平衡仿真。这玩意儿在现实通信里能把人折腾得够呛,特别是用廉价射频前端的时候
  • CRM客户管理系统一年费用多少?CRM客户管理系统收费标准 - 纷享销客智能型CRM
  • 快速排序 (Quick Sort)
  • 5个最实用的VSLAM开源算法对比:从ORB-SLAM到DROID-SLAM,哪个更适合你的项目?
  • 2025-2026年十大麻将机品牌推荐:智能娱乐空间升级靠谱品牌选购指南 - 十大品牌推荐
  • ODConv (Omni-Dimensional Convolution):全维动态卷积,学习卷积核的四维注意力——YOLOv8 改进实战
  • 2026年十大麻将机品牌推荐:棋牌室商用高性价比品牌及用户口碑真实评价 - 十大品牌推荐
  • 基于Loki+Grafana的Docker容器日志监控实践指南
  • Step3-VL-10B多模态模型与Python爬虫实战:数据采集与智能分析
  • 主流模型调用(二)Open AI
  • 同城推广服务如何选择不踩坑?2026年靠谱推荐软件系统办公高效方案 - 十大品牌推荐
  • 2026年国内沙盘模型优质厂商:实力强、口碑好、靠谱可靠的专业选择 - 深度智识库
  • ‌LTST-C171TGKT‌ 是什么芯片? LED发光二极管 LITE-ON(光宝)进口芯片IC全新原装
  • 隐私计算实践:OpenClaw+Qwen3-32B的本地化数据处理方案
  • 圣女司幼幽-造相Z-Turbo应用实战:生成古风角色图,打造专属视觉内容