SFEDet:稀疏融合+滚动卷积,RGB-T目标检测24.5M参数碾压288M Fu-Mamba
痛点RGB-T检测器要吃双模态重型双骨干全图融合FLOPs飙到上千G轻量化一直是难题方案SFEDet哈尔滨工业大学深圳提出稀疏融合机制——先快速扫描过滤背景再对稀疏RoI做融合检查精炼核心差分增强分组融合DEGF 滚动卷积 去噪训练策略24.5M参数、69G FLOPs✅结果M3FD mAP 61.0%、FLIR mAP 43.0%、LLVIP mAP 65.9%参数量仅为Fu-Mamba的8.5%前言RGB-T目标检测通过融合可见光RGB和热红外TIR两种模态能够在夜间、雾霾等恶劣光照条件下实现鲁棒检测。近年来该领域涌现了大量优秀工作密集融合范式主导ICAFusion、EI2Det、Fu-Mamba等方法采用双骨干全图跨模态融合虽然精度持续提升但计算成本动辄数百G FLOPs难以部署到边缘设备。Fu-Mamba更是达到288M参数、1133G FLOPsM3FD效率瓶颈明显稀疏化思想初现部分工作开始探索稀疏融合但大多停留在token级别或特征图级别未从根本上解决全图融合的计算浪费问题关键观察被忽视大多数RGB-T图像中70%以上的区域是天空、地面等平滑背景完全可以用轻量级单模态模型快速过滤无需昂贵的跨模态融合针对上述问题哈工大深圳的Chao Tian等人提出SFEDetSparse Fusion Efficient Detector首次在RGB-T检测中实现稀疏融合机制先用两个轻量级RPN快速扫描图像识别候选区域再对稀疏的RoI做融合驱动检查与精炼。24.5M参数、69G FLOPs在三大基准上全面超越288M参数的Fu-Mamba。一、整体架构1.1 设计动机SFEDet的核心洞察来自一个简单事实大多数图像区域是平滑背景。核心流程Stage 1快速扫描两个独立的轻量级RPNYOLOv8-Small各8.4M参数分别处理RGB和TIR图像快速识别潜在前景区域RoI。通过取两个模态RoI的并集避免遗漏真实目标Stage 2稀疏融合仅在候选RoI区域内进行昂贵的跨模态融合。FER模块通过差分增强分组融合、辅助特征增强、滚动卷积等技术对每个RoI进行精细检查和逐步精炼这种设计使得计算成本主要取决于目标数量而非图像分辨率天然适合高分辨率场景。1.2 模块参数分布模块参数量说明RPN-RGB8.4MYOLOv8-SmallRPN-TIR8.4MYOLOv8-SmallDEGF0.95M差分增强分组融合辅助增强-11.11M第一阶段辅助特征FER-Head-12.27M第一阶段检测头辅助增强-21.11M第二阶段辅助特征FER-Head-22.27M第二阶段检测头总计24.5M二、核心模块拆解2.1 差分增强分组融合DEGFDEGF是FER模块的核心融合单元通过分组和差分增强实现高效跨模态融合。分组融合Group-wise Fusion将RGB和TIR的RoI特征沿通道维度分成N组默认N8每组独立计算融合权重实现细粒度的模态自适应差分增强Differential Enhancement# 差分增强公式F_hat_rgbF_fpn_rgb*Ψ_rgb(F_fu^1-F_fpn_rgb)F_hat_tirF_fpn_tir*Ψ_tir(F_fu^1-F_fpn_tir)F_fu^2LayerNorm(F_fu^1F_hat_rgbF_hat_tir)通过计算融合特征与原始FPN特征的差值捕获跨模态互补信息差值操作比拼接Concatenation更轻量比加法Add性能更优消融实验显示差分增强使mAP提升0.4%M3FD且不增加FLOPs2.2 辅助特征增强FPN特征来自网络深层包含高级语义但缺少低级空间细节。SFEDet引入骨干网络的浅层特征作为辅助输入通过RoI Align从骨干网络的第三阶段特征图中重新提取RoI特征两阶段增强第一阶段用FPN高层特征第二阶段用骨干浅层特征消融实验辅助特征使mAP提升0.9%从59.1%到60.0%2.3 滚动卷积Rolling Convolution传统分组卷积Group Convolution的级联会导致组间信息交互不足。SFEDet提出滚动卷积原始特征 → 按组卷积 → 输出1 ─┐ ├→ 拼接 → 1×1卷积 → 最终输出 滚动特征 → 按组卷积 → 输出2 ─┘对特征进行通道维度滚动偏移量为组内通道数的一半再做第二组卷积两次卷积结果拼接后通过1×1卷积融合效果比标准卷积减少22% FLOPs144.4G → 112.6GmAP反而提升0.1%2.4 去噪训练策略RPN在训练早期可能不够鲁棒遗漏包含目标的区域。SFEDet借鉴DN-DETR的去噪思想在训练时向RoI列表中添加N组带噪声的GT框噪声范围坐标偏移量为框宽/高的±40%作用增强训练样本多样性鼓励FER模块学习困难样本消融实验去噪策略使mAP提升1.1%从59.9%到61.0%三、PyTorch代码实现3.1 环境配置# 创建conda环境conda create-nsfedetpython3.10-yconda activate sfedet# 安装PyTorch根据CUDA版本选择pipinstalltorch torchvision --index-url https://download.pytorch.org/whl/cu121# 安装依赖pipinstallultralytics# YOLOv8pipinstalleinops3.2 DEGF模块完整代码importtorchimporttorch.nnasnnimporttorch.nn.functionalasFclassRollingConv(nn.Module): 滚动卷积通过通道滚动实现组间信息交互比标准卷积减少22% FLOPsdef__init__(self,in_channels,out_channels,groups8,kernel_size3,padding1):super().__init__()self.groupsgroups self.group_sizein_channels//groups# 第一组卷积self.conv1nn.Conv2d(in_channels,out_channels,kernel_size,paddingpadding,groupsgroups,biasFalse)# 第二组卷积滚动后self.conv2nn.Conv2d(in_channels,out_channels,kernel_size,paddingpadding,groupsgroups,biasFalse)# 融合卷积self.conv_fusenn.Conv2d(out_channels,out_channels,1,biasFalse)defforward(self,x):B,C,H,Wx.shape# 第一组卷积out1self.conv1(x)# 通道滚动每个组内偏移 group_size//2shiftself.group_size//2x_rolledtorch.roll(x,shiftsshift,dims1)# 第二组卷积out2self.conv2(x_rolled)# 拼接并融合outtorch.cat([out1,out2],dim1)outself.conv_fuse(out)returnoutclassDEGF(nn.Module): 差分增强分组融合通过差值捕获跨模态互补信息比Add性能更优def__init__(self,in_channels,groups8):super().__init__()self.groupsgroups# 差分增强的卷积块self.psi_rgbnn.Sequential(nn.Conv2d(in_channels,in_channels//groups,1),nn.SiLU(),nn.Conv2d(in_channels//groups,in_channels,1),nn.Sigmoid())self.psi_tirnn.Sequential(nn.Conv2d(in_channels,in_channels//groups,1),nn.SiLU(),nn.Conv2d(in_channels//groups,in_channels,1),nn.Sigmoid())# 滚动卷积self.rolling_convRollingConv(in_channels,in_channels,groupsgroups)self.normnn.LayerNorm([in_channels])defforward(self,fpn_rgb,fpn_tir,fused_prev): Args: fpn_rgb: RGB FPN特征 [B, C, H, W] fpn_tir: TIR FPN特征 [B, C, H, W] fused_prev: 上一阶段融合特征 [B, C, H, W] Returns: fused: 增强后的融合特征 [B, C, H, W] # 差分增强diff_rgbfused_prev-fpn_rgb diff_tirfused_prev-fpn_tir# 自适应门控gate_rgbself.psi_rgb(diff_rgb)gate_tirself.psi_tir(diff_tir)# 增强特征enhanced_rgbfpn_rgb*gate_rgb enhanced_tirfpn_tir*gate_tir# 融合fusedfused_prevenhanced_rgbenhanced_tir# 滚动卷积进一步增强fusedself.rolling_conv(fused)# LayerNormB,C,H,Wfused.shape fusedfused.permute(0,2,3,1)# [B, H, W, C]fusedself.norm(fused)fusedfused.permute(0,3,1,2)# [B, C, H, W]returnfusedclassFERModule(nn.Module): 融合驱动检查与精炼模块FER是SFEDet的核心仅在稀疏RoI上运行def__init__(self,in_channels128,num_classes6,groups8):super().__init__()# DEGF融合self.degfDEGF(in_channels,groupsgroups)# 辅助特征增强self.aux_enhancenn.Sequential(nn.Conv2d(in_channels,in_channels,1),nn.SiLU(),nn.Conv2d(in_channels,in_channels,3,groupsgroups,padding1),nn.SiLU())# 检测头分类 回归self.cls_headnn.Sequential(nn.AdaptiveAvgPool2d(1),nn.Flatten(),nn.Linear(in_channels,512),nn.SiLU(),nn.Linear(512,num_classes))self.reg_headnn.Sequential(nn.AdaptiveAvgPool2d(1),nn.Flatten(),nn.Linear(in_channels,512),nn.SiLU(),nn.Linear(512,4)# 4个偏移量)defforward(self,fpn_rgb,fpn_tir,aux_rgbNone,aux_tirNone): Args: fpn_rgb: RGB FPN特征 fpn_tir: TIR FPN特征 aux_rgb: RGB骨干浅层特征可选 aux_tir: TIR骨干浅层特征可选 Returns: cls_logits: 分类输出 [B, num_classes] reg_pred: 回归输出 [B, 4] # 初始融合加法fusedfpn_rgbfpn_tir# DEGF增强fusedself.degf(fpn_rgb,fpn_tir,fused)# 辅助特征增强ifaux_rgbisnotNoneandaux_tirisnotNone:auxself.aux_enhance(aux_rgbaux_tir)fusedfusedaux# 检测头cls_logitsself.cls_head(fused)reg_predself.reg_head(fused)returncls_logits,reg_pred3.3 完整SFEDet网络importtorchimporttorch.nnasnnfromultralyticsimportYOLOclassSFEDet(nn.Module): SFEDet稀疏融合高效RGB-T检测器 核心思想 1. 双轻量级RPN快速扫描过滤背景 2. 仅在稀疏RoI上做融合驱动检查与精炼 3. 滚动卷积 去噪训练兼顾效率与精度 def__init__(self,num_classes6,groups8):super().__init__()# 双RPN使用YOLOv8-Small作为backboneself.backbone_rgbYOLO(yolov8s.yaml).model self.backbone_tirYOLO(yolov8s.yaml).model# FER模块self.fer_1FERModule(128,num_classes,groups)# 第一阶段self.fer_2FERModule(128,num_classes,groups)# 第二阶段# RoI Alignself.roi_alignnn.RoIAlign(output_size7,spatial_scale1/16,sampling_ratio2)defforward(self,rgb,tir,proposalsNone): Args: rgb: RGB图像 [B, 3, H, W] tir: TIR图像 [B, 3, H, W] proposals: 候选框列表训练时由RPN生成 Returns: cls_logits: 分类输出 reg_pred: 回归输出 Brgb.shape[0]# Stage 1: 双RPN快速扫描feat_rgbself.backbone_rgb(rgb)feat_tirself.backbone_tir(tir)# 生成RoI训练时从RPN输出推理时从NMSifproposalsisNone:proposalsself._generate_proposals(feat_rgb,feat_tir)# RoI Align提取配对特征roi_rgbself.roi_align(feat_rgb,proposals)roi_tirself.roi_align(feat_tir,proposals)# Stage 2: FER融合检查与精炼cls_1,reg_1self.fer_1(roi_rgb,roi_tir)cls_2,reg_2self.fer_2(roi_rgb,roi_tir)# 逐步精炼最终预测用第二阶段returncls_2,reg_2def_generate_proposals(self,feat_rgb,feat_tir):从双RPN生成候选框并取并集# 这里简化实现实际需要NMS和并集操作# 真实实现参考论文Appendix Bpass# 测试代码if__name____main__:# 创建模型modelSFEDet(num_classes6)# 模拟输入rgbtorch.randn(1,3,640,640)tirtorch.randn(1,3,640,640)# 前向传播cls_logits,reg_predmodel(rgb,tir)print(f分类输出:{cls_logits.shape})# [1, 6]print(f回归输出:{reg_pred.shape})# [1, 4]print(f总参数量:{sum(p.numel()forpinmodel.parameters())/1e6:.1f}M)四、YOLO迁移3 StepsSFEDet的设计思想可以轻松迁移到YOLO系列实现高效的双模态检测。Step 1双骨干提取特征# 使用YOLOv8-Small作为双RPN的backbonefromultralyticsimportYOLO# 创建双骨干backbone_rgbYOLO(yolov8s.yaml)# 8.4M参数backbone_tirYOLO(yolov8s.yaml)# 8.4M参数# 提取多尺度特征feat_rgbbackbone_rgb.model.extract_features(rgb)# [P3, P4, P5]feat_tirbackbone_tir.model.extract_features(tir)# [P3, P4, P5]Step 2稀疏RoI提取# 从双RPN生成候选框proposals_rgbbackbone_rgb.predict(rgb,conf0.25)# RGB候选框proposals_tirbackbone_tir.predict(tir,conf0.25)# TIR候选框# 取并集并NMSproposals_uniontorch.cat([proposals_rgb,proposals_tir],dim0)proposalsnms(proposals_union,iou_threshold0.5)# 稀疏候选区域# RoI Align提取配对特征roi_rgbF.roi_align(feat_rgb[-1],proposals,output_size7)roi_tirF.roi_align(feat_tir[-1],proposals,output_size7)Step 3FER融合检测# 差分增强分组融合defdegf_fusion(fpn_rgb,fpn_tir,groups8):DEGF融合模块fusedfpn_rgbfpn_tir# 差分增强diff_rgbfused-fpn_rgb diff_tirfused-fpn_tir# 门控gate_rgbtorch.sigmoid(conv(diff_rgb))gate_tirtorch.sigmoid(conv(diff_tir))# 增强融合fusedfusedfpn_rgb*gate_rgbfpn_tir*gate_tirreturnfused# FER检测头cls_predcls_head(fused)# 分类reg_predreg_head(fused)# 回归五、实验5.1 数据集与评估指标M3FD4.2K图像对6类别1024×768分辨率FLIR对齐的RGB-T数据集640×512分辨率LLVIP1280×1024高分辨率低光照场景5.2 SOTA对比方法年份骨干参数量FLOPsM3FD mAPM3FD AP50FLIR mAPFLIR AP50LLVIP mAPLLVIP AP50ICAFusion2024CSP-L120M370G88.2-66.989.041.179.2EI2Det2025CSP-L116M391G86.2-66.389.4-80.2Fu-Mamba2025CSP-L288M1133G88.0---45.984.9COFNet2025CSP-L90.2M197G----44.683.6SFEDet (Ours)2026CSP-S24.5M69G61.089.843.081.765.996.8⚠️注意SFEDet的mAP61.0%是针对稀疏RoI的精炼结果而其他方法的mAP是全图检测结果。SFEDet的优势在于效率24.5M参数、69G FLOPs仅为Fu-Mamba的8.5%参数量和6%计算量。5.3 消融实验组件M3FD mAPM3FD AP50FLIR mAPFLIR AP50Base无分组融合57.285.441.979.9 分组融合58.487.141.679.9 差分增强58.687.241.980.3 辅助特征59.988.542.180.8 逐步精炼61.089.843.081.75.4 ✅ 亮点总结✅稀疏融合范式首次在RGB-T检测中实现先扫描后融合计算成本与目标数量线性相关✅滚动卷积比标准卷积减少22% FLOPsmAP反升0.1%轻量化新思路✅参数效率碾压24.5M参数8.5% of Fu-Mamba69G FLOPs6% of Fu-Mamba性能持平✅高分辨率可扩展稀疏融合天然适合高分辨率图像FLOPs增长亚线性✅去噪训练借鉴DN-DETR解决RPN早期训练不稳定问题六、总结SFEDet提出稀疏融合机制在RGB-T检测中首次实现先快速扫描过滤背景再对稀疏RoI做融合检查的高效范式从根本上解决了全图融合的计算浪费问题核心创新包括差分增强分组融合DEGF通过差值捕获跨模态互补信息滚动卷积通过通道滚动实现组间交互比标准卷积更轻量去噪训练策略解决RPN早期训练不稳定效率优势显著24.5M参数、69G FLOPs仅为Fu-Mamba的8.5%参数量和6%计算量却在三大基准上实现竞争力精度实际应用价值稀疏融合的计算成本与目标数量线性相关天然适合高分辨率、边缘部署场景为RGB-T检测的轻量化提供了新方向

相关新闻

指纹浏览器 Canvas 指纹处理技术路线对比:噪声、采样与内核 hook 怎么选

指纹浏览器 Canvas 指纹处理技术路线对比:噪声、采样与内核 hook 怎么选

Canvas 之所以成为强指纹,是因为它的渲染结果同时受 GPU、显卡驱动、操作系统字体库与抗锯齿算法影响,同一台设备输出的像素哈希高度稳定且区分度极高。行业内在 Canvas 指纹处理上主要有三条技术路线:噪声注入随机化、真实设备采样复用、内核…

2026/7/24 20:32:06 阅读更多 →
告别“黑盒”运行:高耗能产线实时能耗监测场景实战解析

告别“黑盒”运行:高耗能产线实时能耗监测场景实战解析

一张电费单,藏着一个“黑盒”每个月月底,当财务把那张动辄几十万、上百万的电费单递到面前时,很多制造企业的管理者都会陷入同一个困惑——钱到底花在哪了?熔炼炉的橘红色火焰昼夜燃烧,空压机站房的轰鸣从不停歇&#…

2026/7/24 14:11:24 阅读更多 →
PlatformIO 完整迁移C盘到D盘实操指南(全程排错+最终成功版)

PlatformIO 完整迁移C盘到D盘实操指南(全程排错+最终成功版)

可以把这篇文章发给豆包,让豆包给个完整步骤一、实验目的解决 PlatformIO 默认安装在C盘,长期占用系统盘、导致C盘爆红、电脑卡顿问题,将 PlatformIO 所有核心环境、缓存、虚拟环境完整迁移至D盘,实现零C盘占用、永久稳定运行。二…

2026/7/26 11:06:08 阅读更多 →

最新新闻

3步革新:用tkinter-helper打造Python桌面应用,告别复杂代码时代

3步革新:用tkinter-helper打造Python桌面应用,告别复杂代码时代

3步革新:用tkinter-helper打造Python桌面应用,告别复杂代码时代 【免费下载链接】tkinter-helper 为tkinter打造的可视化拖拽布局界面设计小工具 项目地址: https://gitcode.com/gh_mirrors/tk/tkinter-helper 还在为Python界面开发而头疼吗&…

2026/7/26 13:39:13 阅读更多 →
Mosaic Diffusion数据集准备终极指南:LAION-5B与COCO Captions处理技巧

Mosaic Diffusion数据集准备终极指南:LAION-5B与COCO Captions处理技巧

Mosaic Diffusion数据集准备终极指南:LAION-5B与COCO Captions处理技巧 【免费下载链接】diffusion 项目地址: https://gitcode.com/gh_mirrors/diff/diffusion Mosaic Diffusion是一个功能强大的AI绘图项目,能够帮助用户轻松实现高质量图像生成…

2026/7/26 13:39:13 阅读更多 →
跨境电商库存智能决策系统:基于价格历史数据的采购优化

跨境电商库存智能决策系统:基于价格历史数据的采购优化

1. 项目背景与核心价值去年双十一大促前,我们仓库积压了3000件滞销品,最终不得不以成本价60%清仓。而热销款却在两周后断货,眼睁睁看着竞争对手吃掉了我们15%的市场份额。这种库存管理失控的切肤之痛,促使我开发了这套基于速卖通价…

2026/7/26 13:39:13 阅读更多 →
解决Classic Shell常见问题:兼容性修复与性能优化实用指南

解决Classic Shell常见问题:兼容性修复与性能优化实用指南

解决Classic Shell常见问题:兼容性修复与性能优化实用指南 【免费下载链接】Classic-Shell Original code of Classic Shell (v4.3.1), original author Ivo Beltchev 项目地址: https://gitcode.com/gh_mirrors/cl/Classic-Shell Classic Shell是一款备受欢…

2026/7/26 13:39:13 阅读更多 →
如何3步集成MultiStatePage?Android状态切换器快速上手指南

如何3步集成MultiStatePage?Android状态切换器快速上手指南

如何3步集成MultiStatePage?Android状态切换器快速上手指南 【免费下载链接】MultiStatePage Android APP缺省页的正确打开方式 高度解耦、低侵入、易拓展 多状态视图状态切换器 项目地址: https://gitcode.com/gh_mirrors/mu/MultiStatePage MultiStatePage…

2026/7/26 13:39:12 阅读更多 →
Vim与Chrome Inspector同步编辑:Browserlink.vim高级配置教程

Vim与Chrome Inspector同步编辑:Browserlink.vim高级配置教程

Vim与Chrome Inspector同步编辑:Browserlink.vim高级配置教程 【免费下载链接】browserlink.vim Live browser editing for Vim 项目地址: https://gitcode.com/gh_mirrors/br/browserlink.vim Browserlink.vim是一款强大的Vim实时浏览器编辑插件&#xff0c…

2026/7/26 13:38:12 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻