【TGRS 2026即插即用模块】FSConv新颖的频域-空间卷积,同时利用局部目标特征和全局背景信息,适合红外小目标检测、图像分类、目标检测、实例分割、遥感目标检测等任务中均表现优异
一、论文信息本文目录一、论文信息二、论文摘要概况三、 FSConv模块结构图四、 FSConv模块的作用五、 FSConv模块的原理六、 FSConv模块的优势七、即插即用模块代码论文题目Think Locally and Act Globally: A Frequency–Spatial Fusion Network forInfrared Small Target Detection中文题目“立足本地放眼全球一种用于红外小目标检测的频域-空间融合网络”论文链接https://ieeexplore.ieee.org/stamp/stamp.jsp?tparnumber11175146所属单位南京信息工程大学二、论文摘要概况红外小目标检测IRSTD由于信噪比极低而仍面临诸多挑战。现有方法难以在精度与速度之间取得平衡尤其是在计算资源有限的情况下。为解决这些问题我们提出了基于YOLO v10n架构的频域-空间上下文融合网络FSCFNet。特别地我们设计了新颖的频域-空间卷积FSConv该模块通过Haar小波变换WT对输入特征进行分解高频线索聚焦于局部细节以突出小目标而低频线索则提供全局信息以补充空间特征。随后我们开发了非对称跨域注意力机制ACA用于增强局部中心特征提取从而反映小目标典型的空间高斯分布模式。此外我们引入了定制化的多尺度感受上下文块MRCB通过利用多样化的膨胀卷积来捕捉长程信息。同时采用Wasserstein距离损失函数WDL以提升边界框的质量。我们在三个公开数据集—— IRSTD -1k、 NUDT - SIRST 和 NUAA - SIRST 上进行了大量实验结果证实了FSCFNet的有效性。值得注意的是在 IRSTD -1k数据集上FSCFNet在精确率、召回率和AP50指标上均优于基线模型分别高出4.7%、3.3%和3.9%且参数量仅增加了3.6%。FSCFNet为资源受限环境下的实时红外监控系统提供了鲁棒的解决方案。与其它最先进的目标检测器在参数量、GFLOPs及FPS方面进行对比。每个气泡的大小均对应模型参数量。来自 IRSTD -1k的 IRST 数据的灰度三维可视化图[6]。右下角图像索引.三、 FSConv模块结构图四、 FSConv模块的作用1. 保留红外小目标的细节信息。红外小目标通常只占几个或几十个像素经过连续卷积和下采样后目标的亮度变化、边缘以及局部纹理很容易被平滑掉。FSConv引入频率域处理将目标周围的细微灰度变化单独提取出来使这些容易丢失的特征在网络深层仍能保持较明显的响应从而降低小目标漏检的概率。2. 同时利用局部目标特征和全局背景信息。在红外图像中真实目标往往与云层亮点、海面反光、建筑热源等背景干扰较为相似只观察局部区域容易产生误判。FSConv一方面利用高频信息突出目标的局部变化另一方面利用低频信息描述较大范围的背景结构使网络能够结合目标本身和周围环境进行判断。3. 减少下采样造成的特征损失。FSCFNet将FSConv放在骨干网络的深层阶段用来替换原有的SCDown模块。此时网络已经获得了一定的语义信息FSConv能够在完成特征压缩的同时继续保留小目标结构避免目标在深层语义提取过程中被背景特征覆盖。4. 增强复杂背景下的目标识别能力。红外小目标检测的难点不仅在于目标尺寸小还在于背景噪声多、信噪比较低。FSConv通过联合分析频率特征和空间特征增强与目标相关的响应同时削弱平滑背景和无关杂波使目标与背景之间的差异更加清晰。五、 FSConv模块的原理1. 先扩展通道再划分为两条处理分支。设输入特征为 XXXFSConv首先使用深度卷积对其进行通道扩展可简单表示为扩展后的特征沿通道方向被分成两部分一部分进入频率分支另一部分进入空间分支。这样设计可以让频率信息和空间信息分别提取避免两类特征在处理初期相互干扰。2. 使用Haar小波变换分解频率信息。频率分支采用Haar离散小波变换将输入特征分解为一个低频分量和三个高频分量其中AAA是低频近似分量主要保存图像的整体结构和背景分布HHH、VVV和DDD分别表示水平、垂直和对角方向的高频分量主要反映边缘、纹理以及局部灰度突变。3. 融合三个方向的高频细节。三个高频分量先在通道维度上进行拼接随后使用分组卷积提取高频特征。水平、垂直和对角方向的信息经过融合后可以较完整地描述小目标周围的局部变化。由于红外小目标通常表现为与周围背景存在灰度差异的点状区域因此高频特征对目标识别具有较强的辅助作用。4. 单独处理低频背景信息。低频分量通过深度卷积进行处理得到低频特征 FlF_lFl​。这部分特征主要描述场景轮廓、背景亮度分布和较大尺度的结构变化。它虽然不能直接突出微小目标但可以帮助网络判断局部亮点所处的背景环境从而减少由云层、建筑或热源造成的误检。5. 保留一条独立的空间特征分支。空间分支直接使用三乘三深度卷积提取特征得到空间特征 FsF_sFs​。该分支主要保存目标的位置、轮廓、灰度分布以及像素之间的邻接关系。这样即使经过小波分解网络仍然能够保留目标定位所需要的原始空间结构。6. 利用高频特征调整空间通道权重。FSConv先对高频特征进行全局平均池化得到各个通道的整体响应随后通过两层映射和Sigmoid函数计算通道权重这些权重用于重新调整空间特征。与目标边缘和局部变化关系较强的通道会得到增强主要表示平滑背景或无关内容的通道则会受到抑制。因此高频特征不仅提供局部细节还承担了引导空间特征筛选的作用。7. 完成频率域与空间域特征融合。经过高频信息调整后的空间特征与低频特征进行拼接再通过卷积完成通道压缩最终输出可以简化表示为融合后的特征同时包含目标的局部细节、背景的整体结构以及目标的空间位置信息。因此FSConv并不是简单地用小波变换代替普通卷积而是在原有空间卷积的基础上增加频率分析并通过通道权重实现有选择的信息融合。六、 FSConv模块的优势1. 对小目标细节的保留效果更好。普通卷积在下采样时容易削弱尺寸较小、对比度较低的目标而FSConv可以通过高频分量保留目标的边缘和局部灰度变化。论文中的特征可视化结果表明与标准卷积相比FSConv在特征图尺寸缩小后仍能保留更多无人机的纹理和结构信息。2. 能够兼顾目标增强和背景抑制。只使用高频信息虽然可以突出目标但也可能放大噪声和复杂纹理只依赖低频信息又容易忽略微小目标。FSConv将高频细节、低频背景和空间结构结合起来使网络在增强目标响应的同时能够利用整体背景判断目标的真实性。3. 更适合复杂红外场景。海面、云层、城市建筑和高亮区域中经常存在与小目标外观相近的干扰。FSConv利用低频分量分析较大范围的背景再利用高频分量寻找局部异常有助于区分真实目标和背景热斑进而减少误检。4. 在深层网络中表现更加稳定。论文的位置消融实验表明FSConv放置在骨干网络较深的层级时综合效果更好。浅层特征中包含大量纹理和噪声直接增强高频信息可能引入无关响应深层特征经过语义提炼后高频成分更接近真实目标结构低频成分也能提供更可靠的背景语义。5. 参数量和计算开销较低。FSConv内部主要采用深度卷积和分组卷积减少了普通卷积中的密集跨通道计算。论文指出在YOLO系列常见的通道规模下FSConv相比标准三乘三卷积能够减少约68.2%的参数量适合计算资源有限或对实时性要求较高的红外监测设备。6. 可以嵌入不同检测网络。FSConv属于可插拔卷积模块不依赖固定的检测头或骨干结构。论文分别在YOLOv10n和VFNet中进行了实验两种网络在替换为FSConv后均取得了较好的综合检测结果说明该模块具有一定的迁移能力和通用性。7. 在精度与效率之间取得较好平衡。在YOLOv10n的卷积模块对比实验中FSConv取得了0.897的精确率、0.882的AP50和0.544的AP50:95同时只带来了较小的参数增量。这说明其性能提升主要来自频率域与空间域的有效互补而不是简单依靠扩大模型规模。基于 IRSTD -1k数据集[6]中红外图像的FSConv与标准Conv的输出可视化结果右下角显示FSConv在保持无人机纹理与结构细节方面优于Conv。七、即插即用模块代码import math import torch from pytorch_wavelets import DWTForward import torch.nn as nn from torch.nn import init from ultralytics.nn.modules import Conv class SEAttention(nn.Module): def __init__(self, channel512,reduction16): super().__init__() self.avg_pool nn.AdaptiveAvgPool2d(1) self.fc nn.Sequential( nn.Linear(channel, channel // reduction, biasFalse), nn.ReLU(inplaceTrue), nn.Linear(channel // reduction, channel, biasFalse), nn.Sigmoid() ) def init_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, modefan_out) if m.bias is not None: init.constant_(m.bias, 0) elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias, 0) elif isinstance(m, nn.Linear): init.normal_(m.weight, std0.001) if m.bias is not None: init.constant_(m.bias, 0) def forward(self, x): b, c, _, _ x.size() y self.avg_pool(x).view(b, c) y self.fc(y).view(b, c, 1, 1) return x * y.expand_as(x) class FSConv(nn.Module): def __init__(self, c1, c2, k3): super().__init__() self.c1 c1 self.conv1 Conv(c1, 2 * c1, 1, gc1) self.wt DWTForward(J1, modezero, wavehaar) self.conv2 Conv(c1, c2, k, 2, gmath.gcd(c1, c2)) self.conv3 Conv(c1 * 3, c2, 3, d1, gmath.gcd(c1 * 3, c2)) self.se SEAttention(c2) self.conv4 Conv(c1, c2, 3, gmath.gcd(c1, c2)) self.conv5 Conv(2 * c2, c2, 1) def forward(self, x): x0 self.conv1(x) x1, x2 torch.split(x0, self.c1, dim1) conv_spatial self.conv2(x1) yL, yH self.wt(x2) y_HL yH[0][:, :, 0, :] y_LH yH[0][:, :, 1, :] y_HH yH[0][:, :, 2, :] high_frequency_fused torch.cat([y_HL, y_LH, y_HH], dim1) high_frequency_fused_output self.conv3(high_frequency_fused) high_frequency_fused_output self.se(high_frequency_fused_output) low_frequency_fused_output self.conv4(yL) spatial_output conv_spatial * high_frequency_fused_output fused torch.cat([spatial_output, low_frequency_fused_output], dim1) out self.conv5(fused) return out if __name__ __main__: input torch.randn(2, 32, 128, 128) model FSConv(32, 32) print(model) print(CSDN:AI魔改博士) output model(input) print(FSConv input_size:, input.size()) print(FSConv output_size:, output.size())

相关新闻

Dijkstra算法C++实现:从原理到工业级最短路径优化

Dijkstra算法C++实现:从原理到工业级最短路径优化

1. 从地图导航到代码实现:Dijkstra算法的核心价值 如果你用过任何一款地图导航软件,比如高德或者百度地图,当你输入起点和终点,它几乎能在瞬间为你规划出一条“最短”或“最快”的路线。这个看似简单的功能背后,其核心…

2026/10/15 2:41:55 阅读更多 →
单级共射放大电路实验:从静态工作点到动态调试的完整实战指南

单级共射放大电路实验:从静态工作点到动态调试的完整实战指南

1. 从“搭积木”到“调电路”:单级共射放大电路的核心价值 如果你刚接触模拟电子技术,面对一堆电阻、电容和三极管,感觉无从下手,那太正常了。我第一次做单级共射放大电路实验时,也以为就是照着电路图把元件连起来&…

2026/10/14 18:11:15 阅读更多 →
AI决议跟踪系统上线即崩溃?——20年IT治理专家总结的6类反模式(附自检评分表+整改优先级矩阵)

AI决议跟踪系统上线即崩溃?——20年IT治理专家总结的6类反模式(附自检评分表+整改优先级矩阵)

更多请点击: https://kaifayun.com 第一章:AI决议跟踪系统上线即崩溃?——现象复盘与根因初判 凌晨两点十七分,生产环境告警平台连续推送 17 条 P0 级错误:HTTP 503、数据库连接池耗尽、Kubernetes Pod 频繁 CrashLoo…

2026/10/2 17:39:20 阅读更多 →

最新新闻

IDEA 2025.3 新功能实战:多光标、调试数据流与临时文件提升编码效率

IDEA 2025.3 新功能实战:多光标、调试数据流与临时文件提升编码效率

IDEA 2025.3 的更新日志刚出来那会儿,我真没当回事,毕竟每个大版本都爱说“更快、更智能、更好用”。直到上周把开发环境从旧版本升上来,试了一圈新功能,才意识到这波“骚操作”是真的多,甚至有点跟不上了。这篇文章不…

2026/10/15 4:27:50 阅读更多 →
贝叶斯网络学习指南:从结构、参数到推断的完整实践

贝叶斯网络学习指南:从结构、参数到推断的完整实践

简介:《贝叶斯网络学习指南》是一份面向机器学习、概率建模与数据科学初学者的PDF电子书,系统覆盖从概率论基础到贝叶斯网络建模、推理与参数学习的完整知识链。全书从概率函数与空间、条件概率与独立性、贝叶斯定理、随机变量及联合概率分布讲起&#x…

2026/10/15 4:27:50 阅读更多 →
STM32F072C8T6裸机开发实战:从寄存器到USB/CAN外设

STM32F072C8T6裸机开发实战:从寄存器到USB/CAN外设

简介:这份资料面向嵌入式初学者与有一定经验的开发者,围绕意法半导体STM32F072C8T6(ARM Cortex-M0内核、48MHz主频、32KB闪存与2KB RAM)学习板展开,帮助读者快速掌握该芯片的初始化配置、中断处理、内存管理及驱动编写…

2026/10/15 4:27:50 阅读更多 →
C/C++不同位数数据互转的进制转换实现与避坑指南

C/C++不同位数数据互转的进制转换实现与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 4:27:50 阅读更多 →
NC65销售订单批量导入全攻略:从模板准备到成功入库的避坑指南

NC65销售订单批量导入全攻略:从模板准备到成功入库的避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 4:27:50 阅读更多 →
Linux下C/C++动静态库制作与使用实战指南

Linux下C/C++动静态库制作与使用实战指南

长期以来在Linux下做C/C开发,动静态库始终是绕不开的一个核心技能。无论是自己封装模块、分发二进制产物,还是处理第三方依赖,理解库的制作与使用直接决定了你在编译链接这块能不能少掉头发。我见过不少开发者写业务逻辑很熟练,一…

2026/10/15 4:26:50 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →