YOLO26 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点
前言本文介绍了面向复杂背景小目标检测的时空特征融合模块——STFFM。该模块通过空间分支与时间/运动分支的特征拼接引入通道注意力和空间注意力对融合特征进行自适应筛选并结合残差增强与通道压缩突出目标区域、抑制背景噪声。我们将 STFFM 集成进 YOLO26 的 Neck 特征融合阶段替代传统 Concat 操作使跨层特征不再简单拼接而是在融合前完成时空信息重标定从而提升红外小目标、弱纹理目标及复杂场景下的检测鲁棒性。文章目录 YOLO26改进大全卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总专栏链接: YOLO26改进专栏介绍复杂地面场景下的红外小目标检测仍面临巨大挑战。当目标淹没于背景中时多帧方法能够利用时域运动信息缓解该难题。然而现有多帧方法在时域运动信息提取与时空信息融合两方面均存在缺陷限制了其检测性能。本文提出一种全局时空红外小目标检测框架。该检测框架包含两大模块用于计算小目标相对运动图RMM的相对运动模式提取RMPE模块以及同时接收图像与相对运动图作为输入的全局时空特征融合网络GST-Net。相对运动模式提取模块在各个时间步计算稠密光流图OFMs并做归一化处理通过累加操作完成小目标相对运动模式的提取。全局时空特征融合网络包含两个核心子模块时空特征融合模块STFFM实现特征编码中间阶段的特征交互全局时空依赖提取模块GSTDEM在深层时空语义特征图中挖掘目标与背景间的长距离依赖关系提升模型区分目标、噪声与背景的能力。多帧数据集上的实验结果表明本文方法能够在复杂背景下有效检测小目标性能优于其他当前最优SOTA算法。相关代码开源地址https://github.com/elvintanhust/GST-Det文章链接论文地址论文地址代码地址代码地址基本原理解决的关键问题STFFM即 Spatial-Temporal Feature Fusion Module主要解决空间特征与时间/运动特征融合不足的问题。原论文面向红外小目标检测目标通常尺寸极小、对比度低容易被地物纹理、噪声和复杂背景淹没。单纯依赖空间特征时模型难以在强杂波背景中稳定区分目标单纯依赖时间或运动信息时又可能因为目标运动不明显、运动噪声强或背景扰动复杂而产生漏检和误检。因此STFFM的核心价值在于让两类特征在浅层或中间层阶段就发生交互使空间分支提供位置、纹理和边缘信息时间分支提供运动差异和动态线索通过互补与过滤减少单一模态信息不足带来的检测不稳定。整体架构STFFM通常嵌入双分支特征编码网络中作为空间分支和时间分支之间的桥梁。两个分支分别提取图像空间特征与运动/时序特征在中间层将两路特征送入STFFM。模块先对两路特征进行通道对齐然后沿通道维度拼接形成联合的时空特征表达。随后通过通道注意力和空间注意力对融合特征进行增强使模型自动判断哪些通道更重要、哪些空间区域更值得关注。经过多次残差式注意力增强后再使用1×1卷积将通道数压回目标输出通道最后用ReLU激活输出融合特征。在YOLO中我将它设计为可直接替代neck中Concat的位置输入两路特征输出单路融合特征。技术原理STFFM的关键技术思想是“拼接融合 注意力筛选 残差增强 通道压缩”。拼接操作保留两路特征的完整信息通道注意力通过全局平均池化和最大池化提取通道重要性增强有利于目标识别的语义响应空间注意力通过平均图和最大图生成空间权重突出疑似目标区域并抑制背景干扰。残差结构避免注意力筛选过强导致信息损失使原始特征和增强特征共同参与表达。最后1×1卷积完成通道调整使输出形状能与YOLO后续C3k2等模块自然衔接。用于YOLO11/YOLO26时STFFM不再只是简单把特征拼起来而是先完成一次自适应的时空/跨层特征重标定有助于提升小目标、弱纹理目标和复杂背景场景下的检测鲁棒性。核心代码classfea_add_module(nn.Module):def__init__(self,channels):super(fea_add_module,self).__init__()self.ca1ChannelAttention(channels*2)self.ca2ChannelAttention(channels)self.saSpatialAttention()self.relunn.ReLU(inplaceTrue)self.shortcut1nn.Sequential(nn.Conv2d(channels*2,channels*2,kernel_size1,stride1),nn.BatchNorm2d(channels*2))self.shortcut2nn.Sequential(nn.Conv2d(channels,channels,kernel_size1,stride1),nn.BatchNorm2d(channels))self.center_layernn.Sequential(nn.Conv2d(2*channels,channels,kernel_size3,stride1,padding1),nn.BatchNorm2d(channels),nn.ReLU(inplaceTrue),nn.Conv2d(channels,channels,kernel_size3,padding1),nn.BatchNorm2d(channels))defforward(self,S,T):STtorch.cat((S,T),dim1)out1self.ca1(ST)*self.sa(ST)*ST res1self.shortcut1(ST)out1res1 out2self.center_layer(out1)res2self.shortcut2(out2)outself.ca2(out2)*self.sa(out2)*out2 outres2 outself.relu(out)returnoutYOLO26引入代码在根目录下的ultralytics/nn/目录新建一个featureFusion目录然后新建一个以STFFM为文件名的py文件 把代码拷贝进去。importtorchimporttorch.nnasnnclassChannelAttention(nn.Module):def__init__(self,channels,reduction16):super().__init__()hiddenmax(channels//reduction,1)self.avg_poolnn.AdaptiveAvgPool2d(1)self.max_poolnn.AdaptiveMaxPool2d(1)self.mlpnn.Sequential(nn.Conv2d(channels,hidden,1,biasFalse),nn.ReLU(inplaceTrue),nn.Conv2d(hidden,channels,1,biasFalse),)self.sigmoidnn.Sigmoid()defforward(self,x):returnself.sigmoid(self.mlp(self.avg_pool(x))self.mlp(self.max_pool(x)))classSpatialAttention(nn.Module):def__init__(self,kernel_size7):super().__init__()paddingkernel_size//2self.convnn.Conv2d(2,1,kernel_size,paddingpadding,biasFalse)self.sigmoidnn.Sigmoid()defforward(self,x):avg_maptorch.mean(x,dim1,keepdimTrue)max_map,_torch.max(x,dim1,keepdimTrue)xtorch.cat((avg_map,max_map),dim1)returnself.sigmoid(self.conv(x))classSTFFMUnit(nn.Module):def__init__(self,channels):super().__init__()self.caChannelAttention(channels)self.saSpatialAttention()defforward(self,x):yx*self.sa(x)yy*self.ca(y)returnxyclassSTFFM(nn.Module): Spatial-Temporal Feature Fusion Module. YOLO-adapted implementation: two inputs - concat - attention refinement - 1x1 projection. def__init__(self,channels):super().__init__()ifisinstance(channels,int):channels[channels,channels]iflen(channels)!2:raiseValueError(fSTFFM expects exactly two input feature maps, but got{len(channels)}.)out_channelschannels[1]self.proj1nn.Sequential(nn.Conv2d(channels[0],out_channels,1,biasFalse),nn.BatchNorm2d(out_channels),nn.ReLU(inplaceTrue),)self.proj2nn.Sequential(nn.Conv2d(channels[1],out_channels,1,biasFalse),nn.BatchNorm2d(out_channels),nn.ReLU(inplaceTrue),)self.refinenn.Sequential(STFFMUnit(out_channels*2),STFFMUnit(out_channels*2),STFFMUnit(out_channels*2),)self.reducenn.Sequential(nn.Conv2d(out_channels*2,out_channels,1,biasFalse),nn.BatchNorm2d(out_channels),nn.ReLU(inplaceTrue),)defforward(self,x):x1,x2x x1self.proj1(x1)x2self.proj2(x2)xtorch.cat((x1,x2),dim1)xself.refine(x)returnself.reduce(x)注册在ultralytics/nn/tasks.py中进行如下操作步骤1:fromultralytics.nn.featureFusion.STFFMimportSTFFM步骤2修改def parse_model(d, ch, verboseTrue):elifmisSTFFM:c2ch[f[1]]args[[ch[x]forxinf],*args]配置yolo26-STFFM.yaml# Ultralytics YOLO26 object detection model with STFFM fusion blocks.nc:80end2end:Truereg_max:1scales:n:[0.50,0.25,1024]s:[0.50,0.50,1024]m:[0.50,1.00,512]l:[1.00,1.00,512]x:[1.00,1.50,512]backbone:-[-1,1,Conv,[64,3,2]]-[-1,1,Conv,[128,3,2]]-[-1,2,C3k2,[256,False,0.25]]-[-1,1,Conv,[256,3,2]]-[-1,2,C3k2,[512,False,0.25]]-[-1,1,Conv,[512,3,2]]-[-1,2,C3k2,[512,True]]-[-1,1,Conv,[1024,3,2]]-[-1,2,C3k2,[1024,True]]-[-1,1,SPPF,[1024,5,3,True]]-[-1,2,C2PSA,[1024]]head:-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,6],1,STFFM,[]]-[-1,2,C3k2,[512,True]]-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,4],1,STFFM,[]]-[-1,2,C3k2,[256,True]]-[-1,1,Conv,[256,3,2]]-[[-1,13],1,STFFM,[]]-[-1,2,C3k2,[512,True]]-[-1,1,Conv,[512,3,2]]-[[-1,10],1,STFFM,[]]-[-1,1,C3k2,[1024,True,0.5,True]]-[[16,19,22],1,Detect,[nc]]实验脚本importwarnings warnings.filterwarnings(ignore)fromultralyticsimportYOLOif__name____main__:# 修改为自己的配置文件地址modelYOLO(./ultralytics/cfg/models/26/yolo26-STFFM.yaml)# 修改为自己的数据集地址model.train(data./ultralytics/cfg/datasets/coco8.yaml,cacheFalse,imgsz640,epochs10,single_clsFalse,# 是否是单类别检测batch8,close_mosaic10,workers0,optimizerMuSGD,# optimizerSGD,ampFalse,projectruns/train,nameSTFFM,)结果

相关新闻

YOLO11 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点

YOLO11 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点

前言 本文介绍了面向红外小目标检测的时空特征融合模块——STFFM,用于增强复杂背景下目标与噪声、杂波的区分能力。该方法通过拼接空间特征与时间/运动特征,并结合通道注意力、空间注意力和残差增强机制,实现对关键语义通道与疑似目标区域的…

2026/7/15 0:01:00 阅读更多 →
数字电路时序控制:基于74LS193的八路流水灯Multisim仿真与优化

数字电路时序控制:基于74LS193的八路流水灯Multisim仿真与优化

1. 74LS193计数器与流水灯控制基础74LS193是一款经典的4位同步可逆计数器芯片,在数字电路设计中扮演着重要角色。我第一次接触这个芯片是在大学电子实验课上,当时用它做了一个简单的二进制计数器。没想到十年后,我依然会在各种时序控制项目中…

2026/7/14 23:58:57 阅读更多 →
Java接入大模型的4个坑和生产级框架实践

Java接入大模型的4个坑和生产级框架实践

本文梳理Java接入大模型时踩过的4个坑,以及用框架解决这些问题的工程实践。 第一个坑:连接池打满 大模型API的响应时间在2到8秒,远高于传统REST API的百毫秒级响应。用默认连接池配置,并发量稍微上来就会打满连接。 某制造企业的实…

2026/7/14 23:54:56 阅读更多 →

最新新闻

华北赛道铺设情况

华北赛道铺设情况

简 介: 华北赛场筹备工作进展顺利,工作人员对疯狂电路、蚂蚁搬家和智能视觉组等赛道进行了全面检查与整改。主要问题包括路肩铺设不规范、计时器使用不当、场地空间不足、设备未就绪等,均已及时调整。室外场地因天气原因暂未安装计时器&#…

2026/7/15 0:45:14 阅读更多 →
四个月速成AI工程师:薪资翻倍,转行者的黄金窗口期已开启!

四个月速成AI工程师:薪资翻倍,转行者的黄金窗口期已开启!

AI 工程正在成为科技行业薪资最高、增长最快的岗位之一。 而进入这个行业的门,比历史上任何时候都要宽。 大多数路线图犯的是同一个错误:要么甩给你一墙理论,从线性代数、神经网络数学开始,第二周就把你劝退;要么丢给你…

2026/7/15 0:45:13 阅读更多 →
Java二分查找:别再傻傻遍历了,O(log n)效率直接封神

Java二分查找:别再傻傻遍历了,O(log n)效率直接封神

Java 中的二分查找( )那种被称作折半查找的二分查找,是针对有序数组去查找特定元素的一种高效算法, 和顺序查找比起来, 它的时间复杂度是O(log n), 极大地提升了查找效率, 在Java里, 实现二分查找存在多种方式, 本文会深入探究其基础概念、使用方法、常见…

2026/7/15 0:43:12 阅读更多 →
JBoltAI V5.0核心能力解析

JBoltAI V5.0核心能力解析

作为向量空间JBoltAI推出的Java生态企业级AI开发框架,JBoltAI V5.0版本围绕两大核心方向完成了深度重构,进一步完善企业AI应用落地的基础设施能力。本体语义:让AI真正理解企业业务向量空间JBoltAI在V5.0版本中搭建的本体语义能力,…

2026/7/15 0:37:11 阅读更多 →
YOLO-World 零样本目标检测实战:文本类别提示与视频筛选

YOLO-World 零样本目标检测实战:文本类别提示与视频筛选

YOLO-World 零样本目标检测实战:文本类别提示与视频筛选 这篇教程根据我复现 YOLO-World 零样本目标检测流程时整理,重点演示如何设置文本类别提示、跑通图片推理、再把同一套模型迁移到视频帧上做目标筛选。 YOLO-World 的特点是不用重新训练就能通过文…

2026/7/15 0:31:10 阅读更多 →
计算机毕业设计之jsp校医院预约挂号平台的设计与实现

计算机毕业设计之jsp校医院预约挂号平台的设计与实现

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&#xf…

2026/7/15 0:31:10 阅读更多 →

日新闻

YOLO11 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点

YOLO11 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点

前言 本文介绍了面向红外小目标检测的时空特征融合模块——STFFM,用于增强复杂背景下目标与噪声、杂波的区分能力。该方法通过拼接空间特征与时间/运动特征,并结合通道注意力、空间注意力和残差增强机制,实现对关键语义通道与疑似目标区域的…

2026/7/15 0:01:00 阅读更多 →
YOLO26 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点

YOLO26 改进 - 特征融合 | STFFM空间时间特征融合模块,强化时空互补、抑制噪声,助力小目标检测高效涨点

前言 本文介绍了面向复杂背景小目标检测的时空特征融合模块——STFFM。该模块通过空间分支与时间/运动分支的特征拼接,引入通道注意力和空间注意力对融合特征进行自适应筛选,并结合残差增强与通道压缩,突出目标区域、抑制背景噪声。我们将 S…

2026/7/15 0:01:00 阅读更多 →
行星减速机为什么能提高扭矩?从功率守恒到输出扭矩校核

行星减速机为什么能提高扭矩?从功率守恒到输出扭矩校核

一、为什么减速以后扭矩会增大 旋转机械的功率、转速和扭矩之间存在以下关系: T 9550 P n 其中: T为扭矩,单位Nm; P为功率,单位kW; n为转速,单位r/min。 在功率基本不变的情况下:…

2026/7/15 0:03:00 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/14 16:53:23 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/14 14:00:13 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/14 7:15:24 阅读更多 →

月新闻