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

即插即用系列 | 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注意力创新点双路并行调制架构SCFM首次在视觉状态空间模型中引入空间与通道双路并行的注意力调制机制两条支路独立计算、协同增强实现对高频细节的精准补偿。轻量化设计整个模块仅使用池化、卷积等基础操作计算开销极小可作为即插即用组件灵活嵌入各类模型无需担心显著增加推理负担。信息补偿定位精准SCFM被设计为与聚类主干并行运行而非串联堆叠这种架构使得它能够专门负责补偿聚类过程中丢失的高频信息与主干形成完美互补。3. 适用范围与模块效果适用范围SCFM适用于通用视觉领域特别是需要在高效率全局建模与高保真局部细节之间取得平衡的视觉任务。它尤其适合作为聚类类、下采样类或任何可能损失细节信息的模块的补充组件。具体而言以下场景特别适用SCFMUHD图像复原任务如超分辨率、去雨、去模糊、低光增强等这些任务对高频细节的恢复要求极高SCFM能够有效补偿全局建模过程中的细节损失。轻量化视觉模型对于追求高效率的模型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, hh, ww) 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, keepdimTrue) 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, ratio16): 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, biasFalse), nn.ReLU(), nn.Conv2d(in_planes // ratio, in_planes, 1, biasFalse) ) 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_size7): super(SpatialAttention, self).__init__() self.conv1 nn.Conv2d(2, 1, kernel_size, paddingkernel_size // 2, biasFalse) self.sigmoid nn.Sigmoid() def forward(self, x): avg_out torch.mean(x, dim1, keepdimTrue) max_out, _ torch.max(x, dim1, keepdimTrue) x_cat torch.cat([avg_out, max_out], dim1) 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_ratio16, kernel_size7): super().__init__() # 归一化层对应论文Norm self.norm LayerNorm(feature_dim) # 双注意力模块并行设计 self.chan_attn ChannelAttention(feature_dim, ratioreduction_ratio) self.spat_attn SpatialAttention(kernel_sizekernel_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_ratio32, kernel_size5): super().__init__() self.norm LayerNorm(feature_dim) self.chan_attn ChannelAttention(feature_dim, ratioreduction_ratio) self.spat_attn SpatialAttention(kernel_sizekernel_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], dim1)) 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自研改进系列专栏

相关文章:

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

0. 前言 本文介绍了SCFM空间-通道特征调制器,其通过双路并行注意力架构,分别从空间与通道两个维度协同增强特征表达,首次在视觉状态空间模型中实现对聚类过程中高频细节损失的有效补偿,精准破解了全局建模与局部细节不可兼得的难…...

ClaudeCode开发环境完整版

Claude Code 开发环境搭建与项目初始化 适用系统:Windows 10 / Windows 11 本文档整合以下内容: Claude Code 安装VSCode 插件Windows 快捷命令项目初始化XX配置Codex 初始化Claude Code 常用命令Context7 MCP 文档增强一、安装 Node.js Claude Code 依赖…...

即插即用系列 | CVPR 2026 | CCSM:创新Mamba块!打破像素级扫描桎梏!首创聚类中心状态空间建模,实现UHD图像修复效率与精度的双重飞跃! | 代码分享

0. 前言 本文介绍了CCSM(Cluster-Centric Scanning Module)聚类中心扫描模块,其通过创新的“特征聚合分数扩散”双阶段机制,首次在视觉状态空间模型中实现从像素级串行扫描到聚类中心级并行推理的根本性范式转变,有效…...

Pyside6快速入门:从环境搭建到第一个GUI应用

1. 为什么选择Pyside6开发GUI 如果你正在寻找一个既强大又简单的Python GUI开发工具,Pyside6绝对值得考虑。我第一次接触Pyside6是在一个需要快速开发跨平台桌面应用的项目中,当时对比了Tkinter、PyQt和Pyside6,最终选择了后者,原…...

基于博途1200PLC + HMI的自动轧钢机控制系统仿真之旅

基于博途1200PLCHMI自动轧钢机控制系统仿真 程序: 1、任务:PLC.人机界面控制自动轧钢机 2、系统说明: 系统设有启动,停止,复位 轧钢机博途仿真工程配套有博途PLC程序IO点表PLC接线图主电路图控制流程图,附赠…...

【实践指南】CasADi在模型预测控制(MPC)中的高效应用

1. 为什么选择CasADi做模型预测控制? 第一次接触模型预测控制(MPC)时,我被各种复杂的数学推导和实时计算需求搞得头大。直到发现CasADi这个神器,才真正体会到什么叫"用Python玩转控制算法"。CasADi最吸引我的…...

Asian Beauty Z-Image Turbo 模型原理浅析:LSTM在序列生成中的角色

Asian Beauty Z-Image Turbo 模型原理浅析:LSTM在序列生成中的角色 最近在体验一些图像生成模型时,我发现一个挺有意思的现象。像Asian Beauty Z-Image Turbo这类主打特定风格和快速生成的模型,虽然核心架构肯定是基于当下最流行的Transform…...

Dify异步处理插件安装失败率下降76%的关键操作:GPG密钥绑定、离线bundle构建与CI/CD流水线嵌入技巧

第一章:Dify自定义节点异步处理插件下载与安装概述Dify 平台通过自定义节点(Custom Node)机制支持扩展工作流能力,其中异步处理插件可显著提升长耗时任务(如大模型推理后处理、文件转换、外部 API 轮询等)的…...

终极指南:如何在Linux系统上安装和优化Realtek 8852CE无线网卡驱动

终极指南:如何在Linux系统上安装和优化Realtek 8852CE无线网卡驱动 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 你是否曾经在Linux系统上遇到过Wi-Fi 6无线网卡无法正常工作的…...

如何快速转换加密音频:ncmppGui完整使用教程

如何快速转换加密音频:ncmppGui完整使用教程 【免费下载链接】ncmppGui 一个使用C编写的转换ncm文件的GUI工具 项目地址: https://gitcode.com/gh_mirrors/nc/ncmppGui 你是否曾在网易云音乐下载了喜欢的歌曲,却发现只能在特定播放器中播放&#…...

AI Coding工具分析项目结构:代码量会影响分析准确性吗?

AI Coding工具分析项目结构:代码量会影响分析准确性吗? 更多问题讨论和资料获取,请关注文章最后的微信公众号随着AI编程助手成为开发者的日常工具,一个关键问题浮出水面:当项目代码量庞大时,AI的分析能力是…...

基于llm-compressor的Qwen2.5-1.5B-Instruct模型INT8量化实战指南

1. 为什么需要量化Qwen2.5-1.5B-Instruct模型 当你第一次接触大语言模型时,可能会被它的体积吓到。就拿Qwen2.5-1.5B-Instruct来说,这个拥有15亿参数的模型,原始大小接近6GB。在实际部署时,这会导致三个头疼的问题:显存…...

从同源策略到CORS:浏览器跨域问题的前世今生与最佳实践

从同源策略到CORS:浏览器跨域问题的前世今生与最佳实践 在Web开发的世界里,跨域问题就像一道无形的墙,既保护着用户的安全,又给开发者带来了诸多挑战。想象一下,当你精心设计的前端页面试图从另一个域名的API获取数据时…...

【Docker】国内镜像源配置全攻略:阿里云加速实战

1. Docker国内镜像源的必要性 刚开始用Docker那会儿,每次拉取镜像都像在等一场不知道什么时候会来的雨。官方镜像库在国外,下载速度经常只有几十KB/s,一个稍微大点的镜像能下半小时。后来发现国内各大云服务商都提供了镜像加速服务&#xff…...

VSCode调试利器:Turbo Console Log插件的高效使用技巧

1. 为什么你需要Turbo Console Log插件 每次调试JavaScript代码时,你是不是也经常在编辑器里疯狂敲打console.log?我刚开始写前端的时候,一个文件里能有二三十个console.log,调试完还要一个个删除,经常漏删导致测试同事…...

STM32F103驱动RC522:从零构建M1卡读写器与扇区权限管理实战

1. 项目背景与硬件准备 第一次接触RC522模块时,我被这个小巧的RFID读卡器惊艳到了——只需要几根杜邦线连接STM32,就能读取公交卡、门禁卡的数据。这次我们用STM32F103C8T6(蓝 pill开发板)搭配RC522模块,构建完整的M1卡…...

深入解析BLE GATT:从属性表到数据交互实战

1. BLE GATT协议基础入门 第一次接触BLE开发时,我被GATT这个术语搞得一头雾水。直到实际调试一个智能手环项目,才真正理解GATT就像快递公司的物流系统——它规定了数据该怎么打包、贴标签、以及如何安全送达。GATT全称Generic Attribute Profile&#xf…...

OpenClaw 搭团队太折腾?这个 Skill 一键搞定多智能体协作

作者:黄震 单个 Agent 面对复杂任务时存在明显局限:一个 Agent 很难在所有环节都做到最好,而且把所有任务塞进一个 Agent,会导致 Prompt 过长、注意力分散。多智能体协作通过专业分工解决这些问题:每个 Agent 专注自己…...

核桃编程携手阿里云 RocketMQ 打造高可靠、弹性可扩展的在线教育消息中枢

作者:九通、复礼、文婷 核桃编程:青少年编程教育领先企业面临的核心挑战 核桃编程是青少年编程教育行业的领先企业。自 2017 年 8 月成立以来,核桃编程通过打造智能实操产品与服务矩阵,发展成为了包含编程系列产品、编程硬件、赛级…...

‌LTST-C171TGKT‌ 是什么芯片? LED发光二极管 LITE-ON(光宝)进口芯片IC全新原装

‌LTST-C171TGKT‌ 是一款由 LITE-ON(光宝)生产的翠绿色表面贴装LED发光二极管,该型号采用0805(2012公制)封装,主波长为525nm,视角达130,以其高亮度、宽视角和低功耗特性&#xff0c…...

计算机毕业设计springboot投资担保管理系统 基于SpringBoot的融资担保业务管理平台 基于Java的金融投资风控与担保系统

计算机毕业设计springboot投资担保管理系统57mtt9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着金融市场的快速发展和数字化转型的深入推进,传统投资担保业务面…...

一文讲透|全学科适配的降AI率工具 —— 千笔·降AIGC助手

在AI技术迅猛发展的今天,越来越多的学生和研究人员开始依赖AI工具辅助论文写作,以提高效率、优化内容。然而,随着学术审查标准的不断升级,AI生成内容的痕迹越来越容易被查重系统识别,导致论文因“AI率超标”而被退回修…...

(超实用)嵌入式C语言基础精讲:从入门到实战

1. 嵌入式C语言入门:为什么选择它? 我第一次接触嵌入式C语言是在大学电子设计比赛上。当时需要让一块单片机控制LED流水灯,用其他语言折腾了半天都没成功,最后用C语言十几行代码就搞定了——那一刻我就知道,这就是嵌入…...

Python实战:用汉明距离和汉明损失优化你的文本比对算法(附sklearn代码)

Python实战:用汉明距离和汉明损失优化文本比对算法 在文本处理和机器学习领域,衡量两个序列之间的差异是许多应用的核心需求。无论是拼写检查、抄袭检测还是推荐系统中的相似度计算,都需要高效可靠的比对算法。本文将深入探讨两种强大的度量工…...

毕设程序java基于Vue的家政服务系统 SpringBoot与Vue.js融合的智慧家庭服务管理平台设计与实现 基于微服务架构的家政O2O服务平台构建研究——前后端分离技术实践

毕设程序java基于Vue的家政服务系统y43x4io1(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着社会经济发展和生活节奏加快,家庭服务需求呈现爆发式增长&#xff0c…...

TI LaunchPad嵌入式SD卡驱动封装库详解

1. 项目概述 SD库是面向TI LaunchPad平台(LM4F120 / TM4C123 / MSP432P401R)的轻量级SD卡驱动封装层,其核心定位并非从零实现完整的FAT文件系统,而是对开源SdFatLib(William Greiman开发)进行硬件抽象与接…...

嵌入式C/C++编程修养:代码规范与系统可靠性

1. 嵌入式C/C编程修养:从代码规范到系统可靠性的工程实践在嵌入式系统开发中,硬件资源受限、运行环境严苛、调试手段有限等特点,使得代码质量不再仅仅是风格问题,而是直接关系到系统稳定性、可维护性与长期可靠性的核心工程要素。…...

避坑指南:在Gazebo仿真中为walking机器人配置实时加载地图(解决多楼层导航常见问题)

避坑指南:Gazebo仿真中walking机器人实时地图加载与多楼层导航实战 第一次在Gazebo中尝试为walking机器人配置实时地图加载功能时,我遇到了一个令人抓狂的问题——机器人明明已经到达电梯口,却死活不肯进入。调试了整整两天才发现&#xff0c…...

从气象小白到分析达人:用Python玩转中国地面气候数据的3种可视化技巧

从气象小白到分析达人:用Python玩转中国地面气候数据的3种可视化技巧 当气象数据遇上Python,枯燥的数字就能变成会讲故事的图表。想象一下,你手头有一份中国地面气候资料日值数据集,里面记录着全国气象站点的温度、降水、风速等指…...

计算机毕业设计springboot旅游平台 基于SpringBoot的文旅信息服务平台设计与实现 基于SpringBoot的智慧旅行综合服务系统设计与实现

计算机毕业设计springboot旅游平台7t6e55vm (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 在当今快节奏的社会中,旅游已成为人们放松身心、丰富生活的重要方式。随…...