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

【Block总结】SAFMN,空间自适应调制与局部特征增强的协同设计|即插即用

论文信息

  • 标题:Spatially-Adaptive Feature Modulation for Efficient Image Super-Resolution
  • 论文链接:https://arxiv.org/pdf/2302.13800
  • 代码与模型:https://github.com/sunny2109/SAFMN
    在这里插入图片描述

创新点

  1. 空间自适应特征调制(SAFM):通过独立计算多尺度特征并动态聚合,实现非局部特征依赖的高效建模[6][8]。
  2. 卷积通道混合器(CCM):在SAFM基础上补充局部上下文信息,同时完成通道混合,提升局部特征表达能力[6][13]。
  3. 轻量化设计:模型参数量仅为同类高效超分方法(如IMDN)的1/3,内存占用更低,适用于低功耗设备[6][9]。

在这里插入图片描述

方法

整体架构

  1. 特征提取:使用卷积层将低分辨率图像映射到特征空间。
  2. 特征混合模块(FMM):由SAFM和CCM组成,堆叠多个FMM模块进行特征增强。
  3. 重建模块:通过上采样生成高分辨率图像[6][10][16]。

核心模块细节

  • SAFM层
    • 通过多分支结构学习不同尺度特征,动态调整空间权重以融合全局信息。
    • 类似ViT的非局部建模能力,但计算复杂度更低[10][13]。
  • CCM模块
    • 使用深度可分离卷积提取局部特征,减少参数量。
    • 引入通道注意力机制优化特征通道关系[6][13]。

效果与实验结果

定量评估

  • 在Set5、Set14等基准数据集上,SAFMN在PSNR/SSIM指标上与IMDN等模型相当,但参数量减少70%[6][9]。
  • 在NTIRE2023高效超分挑战赛中:
    • 基础版SAFMN获整体性能赛道Top6,模型复杂度赛道Top3[7]。
    • 改进版SAFMN++在NTIRE2024挑战赛的保真度赛道排名第一[7]。

效率优势

  • 参数量:SAFMN为0.95M,IMDN为3.2M[6][9]。
  • 内存占用:相比IMDN减少50%,适合移动端部署[6][8]。

总结

SAFMN通过空间自适应调制与局部特征增强的协同设计,在超分任务中实现了精度与效率的平衡。其轻量化特性使其在低功耗设备(如手机、嵌入式系统)中具有实际应用潜力。后续改进版本(如SAFMN++)进一步验证了该框架的可扩展性[7][17]。

代码

import torch
import torch.nn as nn
import torch.nn.functional as F# Spatially-Adaptive Feature Modulation
class SAFM(nn.Module):def __init__(self, dim, n_levels=4):super().__init__()self.n_levels = n_levelschunk_dim = dim // n_levels# Multiscale feature representationself.mfr = nn.ModuleList([nn.Conv2d(chunk_dim, chunk_dim, 3, 1, 1, groups=chunk_dim, bias=False) for i in range(self.n_levels)])# Feature aggregationself.aggr = nn.Conv2d(dim, dim, 1, 1, 0, bias=False)# Activationself.act = nn.GELU()def forward(self, x):h, w = x.size()[-2:]xc = x.chunk(self.n_levels, dim=1)out = []for i in range(self.n_levels):if i > 0:p_size = (h//2**(i+1), w//2**(i+1))s = F.adaptive_max_pool2d(xc[i], p_size)s = self.mfr[i](s)s = F.interpolate(s, size=(h, w), mode='nearest')else:s = self.mfr[i](xc[i])out.append(s)out = self.aggr(torch.cat(out, dim=1))# Feature modulationout = self.act(out) * xreturn outif __name__ == "__main__":if __name__ == '__main__':# 定义输入张量大小(Batch、Channel、Height、Wight)B, C, H, W = 1, 64, 40, 40input_tensor = torch.randn(B, C, H, W)  # 随机生成输入张量# 初始化 SAFMdim = C  # 输入和输出通道数# 创建 SAFM 实例block = SAFM(dim=dim)# 如果GPU可用将模块移动到 GPUdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")sablock = block.to(device)print(sablock)input_tensor = input_tensor.to(device)# 执行前向传播output = sablock(input_tensor)# 打印输入和输出的形状print(f"Input: {input_tensor.shape}")print(f"Output: {output.shape}")

输出结果:
在这里插入图片描述

相关文章:

【Block总结】SAFMN,空间自适应调制与局部特征增强的协同设计|即插即用

论文信息 标题:Spatially-Adaptive Feature Modulation for Efficient Image Super-Resolution论文链接:https://arxiv.org/pdf/2302.13800代码与模型:https://github.com/sunny2109/SAFMN 创新点 空间自适应特征调制(SAFM&…...

Python爬虫:一文掌握PyQuery模块

文章目录 1. PyQuery 简介2. PyQuery 的安装2.1 安装 PyQuery2.2 安装依赖库3. PyQuery 的基本使用3.1 初始化 PyQuery 对象3.2 选择元素3.3 获取元素内容3.4 遍历元素4. PyQuery 的高级用法4.1 过滤元素4.2 查找子元素4.3 获取属性值4.4 修改元素4.5 添加和删除元素4.6 遍历文…...

LearnOpenGL之Shader编程用算法绘画

———————————————————— 前序 ——————————————————— AndroidLearnOpenGL是本博主自己实现的LearnOpenGL练习集合: Github地址:GitHub - wangyongyao1989/AndroidLearnOpenGL: OpenGL基础及运用 系列文章&#xff…...

如何使用Spring Boot框架整合Redis:超详细案例教程

目录 # 为什么选择Spring Boot与Redis整合? 1. 更新 pom.xml 2. 配置application.yml 3. 创建 Redis 配置类 4. Redis 操作类 5. 创建控制器 6. 启动应用程序 7. 测试 # 为什么选择Spring Boot与Redis整合? 将Spring Boot与Redis整合可以充分利…...

算法--贪心

贪心 原理经典例题[860. 柠檬水找零](https://leetcode.cn/problems/lemonade-change/description/)[2208. 将数组和减半的最少操作次数](https://leetcode.cn/problems/minimum-operations-to-halve-array-sum/description/)[179. 最大数](https://leetcode.cn/problems/large…...

线程控制(创建、终止、等待、分离)

目录 1.前言 2.创建线程 pthread_create函数 3.线程终止 pthread_exit函数 pthread_cancel函数 4.线程等待 5.线程分离 1.前言 在Linux系统中,并不存在真正的线程,只有轻量级进程。所以,Linux系统只提供了操作轻量级进程的系统调用…...

【备份】php项目处理跨域请求踩坑

这都是老生常谈的东西了。我还在踩坑,记录一下。 我在项目入口明明写了如下代码: // 处理预检请求 (OPTIONS) if ($_SERVER[REQUEST_METHOD] OPTIONS) {header("Access-Control-Allow-Origin: https://xxx.vip");header("Access-Cont…...

目标检测YOLO实战应用案例100讲-面向无人机图像的小目标检测

目录 知识储备 YOLO v8无人机拍摄视角小目标检测 数据集结构 环境部署说明 安装依赖 模型训练权重和指标可视化展示 训练 YOLOv8 PyQt5 GUI 开发 主窗口代码 main_window.py 使用说明 无人机目标跟踪 一、目标跟踪的基本原理 二、常用的目标跟踪算法 基于YOLOv…...

实现 Leaflet 多类型点位标记与聚合功能的实战经验分享

在现代的地理信息系统(GIS)应用中,地图功能是不可或缺的一部分。无论是展示商业网点、旅游景点还是公共服务设施,地图都能以直观的方式呈现数据。然而,当数据量较大时,地图上可能会出现大量的标记点&#x…...

Linux 环境“从零”部署 MongoDB 6.0:mongosh 安装与数据操作全攻略

前提 完成linux平台部署MongoDB【部署教程】且完成mongosh的安装 由于本人使用的是6.0版本的MongoDB,新版本 MongoDB(尤其是 6.0 及以上版本)已经不再默认捆绑传统的 mongo shell,而改用新的 MongoDB Shell(mongosh&am…...

深度学习五大模型:CNN、Transformer、BERT、RNN、GAN详细解析

# 深度学习五虎将:当CNN遇见Transformer的奇幻漂流 ## 序章:AI江湖的兵器谱排行 2012年,多伦多大学的厨房里,Hinton的学生们用GPU煎了个"AlexNet"荷包蛋,从此开启了深度学习的热兵器时代。如今五大模型各显…...

004 rocketmq集群

1、集群模式 在RocketMQ中,集群的部署模式是比较多的,有以下几种: public class ConsumerDemo {public static void main(String[] args) throws Exception {DefaultMQPushConsumer consumer new DefaultMQPushConsumer("test-group&qu…...

基于 Python 深度学习的电影评论情感分析可视化系统(2.0 全新升级)

基于 Python 深度学习的电影评论情感分析可视化系统,基于 Flask 深度学习,构建了一个 影评情感分析系统,能够 自动分析影评、计算情感趋势 并 可视化展示,对于电影行业具有重要参考价值! 基于 Python 深度学习的电影评…...

Linux内核配置与构建原理

Kconfig文件 Kconfig是Linux内核中用于配置功能的脚本语言系统,由众多内核源码树中每个目录下的Kconfig文件组成。它定义Linux相关的配置选项层次结构和依赖关系。 menuconfig工具,会抓取Kconfig中的信息,为用户输出友好的交互式菜单选项配…...

大语言模型微调的基本概念介绍

大型语言模型(LLMs)正在以惊人的速度发展,LLM微调的潜力更是如此。大型语言模型的生命周期有几个关键步骤,今天我们将要介绍这个周期中最丰富、最耗时的一部分——LLM微调过程。 大语言模型的生命周期 在深入了解大型语言模型&a…...

实例分割 | yolov11训练自己的数据集

前言 因工作要求使用的都是yolov5系列的模型,今天学习一下最先进的yolov11,记录一下环境配置及训练过程。 1.项目下载及环境安装 源码位置:yolov11 可以看到,这里要求python版本大于等于3.8,我这里安装python3.10.…...

vue3:四嵌套路由的实现

一、前言 1、嵌套路由的含义 嵌套路由的核心思想是&#xff1a;在某个路由的组件内部&#xff0c;可以定义子路由&#xff0c;这些子路由会渲染在父路由组件的特定位置&#xff08;通常是 <router-view> 标签所在的位置&#xff09;。通过嵌套路由&#xff0c;你可以实…...

AIGC和搜索引擎的异同

AIGC&#xff08;生成式人工智能&#xff09;与搜索引擎的核心差异体现在信息处理方式和输出形态上&#xff0c;我们可以从以下维度对比&#xff1a; 一、工作原理的本质差异 信息检索机制 搜索引擎&#xff1a;基于关键词匹配&#xff08;如"中暑怎么办"→返回相关…...

ES批量查询

在 Elasticsearch 中&#xff0c;multi_search&#xff08;也称为 msearch&#xff09;是一种允许你在单个请求中执行多个搜索操作的 API。它可以显著减少网络开销&#xff0c;尤其是在需要执行多个查询时。multi_search 会将多个查询打包成一个请求发送给 Elasticsearch&#…...

Vue2学习

一、Vue3 基础 监视属性 天气案例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>天气案例</…...

终极智慧树刷课插件指南:如何实现自动化高效学习

终极智慧树刷课插件指南&#xff1a;如何实现自动化高效学习 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台枯燥的手动操作而烦恼吗&#xff1f;智慧…...

Spring AI Alibaba 1.x 系列【55】Interrupts 中断机制:静态中断源码分析

文章目录 1. interruptBefore 模式1.1 中断判断逻辑1.2 构建中断元数据1.3 返回中断响应1.4 初始化【中断执行】上下文1.5 合并状态&#xff08;BUG&#xff09;1.6 执行结束 2. interruptsAfter 模式2.1 设置 INTERRUPT_AFTER 标记2.2 动态计算下一个节点 3. 中断时机对比 1. …...

硬件工程师,每天5分钟(5)——为什么 DDR5 最怕地不好?回流路径,才是高速设计真正的灵魂

讲透&#xff1a; 回流路径 为什么 Split Plane 最危险 为什么加地孔有时候能救命 为什么 GPS 会被 DDR 干扰 为什么 EMC 挂的根因常是地 &#x1f697;《硬件工程师&#xff0c;每天5分钟》第5篇 &#x1f525;《为什么 DDR5 最怕地不好&#xff1f;回流路径&#xff0c;才是高…...

10B小模型为何在真实业务中碾压百B大模型

1. 项目概述&#xff1a;小模型正在悄悄改写大模型的游戏规则最近在几个技术团队的内部分享会上&#xff0c;我连续三次被问到同一个问题&#xff1a;“你们还在追着百B参数的大模型跑吗&#xff1f;”——问话的人里&#xff0c;有刚从云厂商调来的架构师&#xff0c;有带AI产…...

2026免费在线去水印软件怎么选?实测5款推荐+功能对比指南

为什么需要去水印工具&#xff1f; 在内容创作和日常使用中&#xff0c;水印是版权保护的重要标志&#xff0c;但有时我们需要处理自己拥有版权的内容或进行合法的编辑操作。无论是整理自己的工作素材、编辑设计稿&#xff0c;还是去除合法获取内容上的平台标记&#xff0c;都需…...

Unity哥特UI资源包:SDF字体与Shader Graph工程化实践

1. 为什么哥特UI在游戏开发中长期被低估&#xff0c;又为何现在必须认真对待“哥特UI”这个词&#xff0c;很多Unity开发者第一反应是&#xff1a;不就是黑底、尖角、浮雕字、带玫瑰纹样的按钮吗&#xff1f;配个暗红渐变完事。我2019年接手一个中世纪黑暗奇幻RPG时也这么想——…...

如何在Mayo中使用剪辑平面和爆炸视图:复杂装配体分析利器

如何在Mayo中使用剪辑平面和爆炸视图&#xff1a;复杂装配体分析利器 【免费下载链接】mayo 3D CAD viewer and converter based on Qt OpenCascade 项目地址: https://gitcode.com/gh_mirrors/ma/mayo Mayo是一款功能强大的开源3D CAD查看器和转换器&#xff0c;基于Q…...

2026年京东云OpenClaw/Hermes Agent配置Token Plan全步骤操作指南

2026年京东云OpenClaw/Hermes Agent配置Token Plan全步骤操作指南。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具…...

巨亏47亿,市值5000亿:拆解智谱AI的定价逻辑

2026年1月8日&#xff0c;智谱以每股116.2港元登陆港交所。截至5月中旬&#xff0c;其股价一度冲上1160港元&#xff0c;市值突破5000亿港元&#xff0c;较发行价累涨近10倍。而同期披露的2025年财报显示&#xff0c;公司全年营收7.24亿元&#xff0c;经调整净亏损31.82亿元。来…...

Internet Archive Downloader终极指南:三步永久保存数字图书馆书籍

Internet Archive Downloader终极指南&#xff1a;三步永久保存数字图书馆书籍 【免费下载链接】internet_archive_downloader A chrome/firefox extension that download books from Internet Archive(archive.org) and HathiTrust Digital Library (hathitrust.org) 项目地…...