YOLO26改进 - SPPF模块 | AIFI基于注意力的尺度内特征交互:替代SPPF构建高效混合编码器,提升模型综合效能

前言

本文介绍了实时检测Transformer(RT-DETR)及其核心AIFI模块在YOLO26中的结合应用。RT-DETR旨在解决YOLO速度和准确性受NMS负面影响、DETRs计算成本高的问题,通过设计高效混合编码器和解码器层数调整来提升性能。AIFI作为Transformer编码器层,通过构建2D正弦 - 余弦位置嵌入处理多尺度特征。我们将AIFI集成进YOLO26,实验表明,改进后的模型在COCO数据集上的速度和准确性超越了先进的YOLO模型,展现出良好的性能表现。

文章目录: YOLO26改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

专栏链接: YOLO26改进专栏

文章目录

  • 前言
  • 介绍
    • 摘要
  • 文章链接
  • 基本原理
  • 核心代码
  • YOLO26已经集成AIFI
  • 实验
    • 脚本
    • 结果

介绍

摘要

YOLO系列因其在速度和准确性之间的合理权衡,成为了实时目标检测中最受欢迎的框架。然而,我们观察到YOLO的速度和准确性受NMS(非极大值抑制)的负面影响。最近,基于Transformer的端到端检测器(DETRs)提供了一种消除NMS的替代方案,但其高计算成本限制了其实用性,并阻碍了其完全利用排除NMS的优势。在本文中,我们提出了实时检测Transformer(RT-DETR),据我们所知,这是第一个解决上述困境的实时端到端目标检测器。我们借鉴先进的DETR,分两步构建RT-DETR:首先,我们专注于在提高速度的同时保持准确性,然后在保持速度的同时提高准确性。具体而言,我们设计了一种高效的混合编码器,通过解耦内尺度交互和跨尺度融合来快速处理多尺度特征,从而提高速度。然后,我们提出了不确定性最小化查询选择,以向解码器提供高质量的初始查询,从而提高准确性。此外,RT-DETR通过调整解码器层数支持灵活的速度调节,以适应各种场景,而无需重新训练。我们的RT-DETR-R50/R101在COCO数据集上分别达到了53.1%和54.3%的AP,并在T4 GPU上达到了108 FPS和74 FPS,超越了之前先进的YOLOs在速度和准确性上的表现。此外,RT-DETR-R50在准确性上比DINO-R50高2.2% AP,且FPS高约21倍。经过Objects365的预训练后,RT-DETR-R50/R101分别达到了55.3%和56.2%的AP。项目页面:https://zhao-yian.github.io/RTDETR。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

核心代码

classAIFI(TransformerEncoderLayer):"""Defines the AIFI transformer layer."""def__init__(self,c1,cm=2048,num_heads=8,dropout=0,act=nn.GELU(),normalize_before=False):"""Initialize the AIFI instance with specified parameters."""super().__init__(c1,cm,num_heads,dropout,act,normalize_before)defforward(self,x):"""Forward pass for the AIFI transformer layer."""c,h,w=x.shape[1:]pos_embed=self.build_2d_sincos_position_embedding(w,h,c)# Flatten [B, C, H, W] to [B, HxW, C]x=super().forward(x.flatten(2).permute(0,2,1),pos=pos_embed.to(device=x.device,dtype=x.dtype))returnx.permute(0,2,1).view([-1,c,h,w]).contiguous()@staticmethoddefbuild_2d_sincos_position_embedding(w,h,embed_dim=256,temperature=10000.0):"""Builds 2D sine-cosine position embedding."""grid_w=torch.arange(int(w),dtype=torch.float32)grid_h=torch.arange(int(h),dtype=torch.float32)grid_w,grid_h=torch.meshgrid(grid_w,grid_h,indexing="ij")assertembed_dim%4==0,"Embed dimension must be divisible by 4 for 2D sin-cos position embedding"pos_dim=embed_dim//4omega=torch.arange(pos_dim,dtype=torch.float32)/pos_dim omega=1.0/(temperature**omega)out_w=grid_w.flatten()[...,None]@ omega[None]out_h=grid_h.flatten()[...,None]@ omega[None]returntorch.cat([torch.sin(out_w),torch.cos(out_w),torch.sin(out_h),torch.cos(out_h)],1)[None]

YOLO26已经集成AIFI

请注意AIFI以及被官方集成到了 YOLO26中,具体路径是:ultralytics/ultralytics/nn/modules/transformer.py

直接配置yaml进行训练即可:

ultralytics/cfg/models/26/yolo26-AIFI.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license# YOLO26 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parametersnc:80# number of classesscales:# model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'# [depth, width, max_channels]n:[0.50,0.25,1024]# summary: 319 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPss:[0.50,0.50,1024]# summary: 319 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPsm:[0.50,1.00,512]# summary: 409 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPsl:[1.00,1.00,512]# summary: 631 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPsx:[1.00,1.50,512]# summary: 631 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs# YOLO26n backbonebackbone:# [from, repeats, module, args]-[-1,1,Conv,[64,3,2]]# 0-P1/2-[-1,1,Conv,[128,3,2]]# 1-P2/4-[-1,2,C3k2,[256,False,0.25]]-[-1,1,Conv,[256,3,2]]# 3-P3/8-[-1,2,C3k2,[512,False,0.25]]-[-1,1,Conv,[512,3,2]]# 5-P4/16-[-1,2,C3k2,[512,True]]-[-1,1,Conv,[1024,3,2]]# 7-P5/32-[-1,2,C3k2,[1024,True]]-[-1,1,AIFI,[1024,8]]# 9-[-1,2,C2PSA,[1024]]# 10# YOLO26n headhead:-[-1,1,nn.Upsample,[None,2,"nearest"]]-[[-1,6],1,Concat,[1]]# cat backbone P4-[-1,2,C3k2,[512,False]]# 13-[-1,1,nn.Upsample,[None,2,"nearest"]]-[[-1,4],1,Concat,[1]]# cat backbone P3-[-1,2,C3k2,[256,False]]# 16 (P3/8-small)-[-1,1,Conv,[256,3,2]]-[[-1,13],1,Concat,[1]]# cat head P4-[-1,2,C3k2,[512,False]]# 19 (P4/16-medium)-[-1,1,Conv,[512,3,2]]-[[-1,10],1,Concat,[1]]# cat head P5-[-1,2,C3k2,[1024,True]]# 22 (P5/32-large)-[[16,19,22],1,Detect,[nc]]# Detect(P3, P4, P5)

实验

脚本

importwarnings warnings.filterwarnings('ignore')fromultralyticsimportYOLOif__name__=='__main__':# 修改为自己的配置文件地址model=YOLO('./ultralytics/cfg/models/26/yolo26-AIFI.yaml')# 修改为自己的数据集地址model.train(data='./ultralytics/cfg/datasets/coco8.yaml',cache=False,imgsz=640,epochs=10,single_cls=False,# 是否是单类别检测batch=8,close_mosaic=10,workers=0,optimizer='MuSGD',# optimizer='SGD',amp=False,project='runs/train',name='yolo26-AIFI',)

结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1211254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026.1.24 作业 - # P1362 兔子数

2026.1.24 作业 - # P1362 兔子数题目描述 设 \(S(N)\) 表示 \(N\) 的各位数字之和,如 \(S(484) = 4+8+4 = 16\), \(S(22) = 2+2 = 4\)。如果一个正整数满足 \(S(x \cdot x) = S(x) \cdot S(x)\),我们称之为 Rabbit…

YOLO26改进 - SPPF模块 | 替代SPPF,FFocal Modulation焦点调制:即插即用轻量设计优化全局语义捕获

前言 本文介绍了焦点调制网络(FocalNets)及其在YOLO26中的结合应用。FocalNets完全用焦点调制模块替代自注意力,该模块由焦点上下文化、门控聚合和逐元素仿射变换组成,能有效建模视觉中的标记交互。它通过局部特征聚焦、全局信息…

大模型微调技术详解:从LoRA到P-Tuning v2,一文掌握高效微调方法

文章详解7种大模型微调技术,包括LoRA、QLoRA、适配器调整等参数高效微调(PEFT)方法。这些技术通过冻结主干参数,引入少量可训练参数,显著降低微调时的显存和计算需求,使资源有限环境下也能高效微调大模型。同时提供从零基础到进阶…

用通俗的方式介绍大语言模型训练过程,非常详细收藏我这一篇就够了

站在大语言模型外部看需要准备些什么样的训练数据,分什么阶段,怎样去训练大语言模型,把大语言模型看成一个黑盒。 LLM都是如何训练出来的呢? GPT的训练分为以下3个阶段: 1、预训练Pretrain 2、监督微调SFT (Supervised…

程序员收藏!AI产品经理转型与大模型学习全攻略,抢占AI时代先机,传统PM如何快速转型成AI产品经理?

文章详细介绍了人工智能时代产品经理的转型路径,包括AI基础知识学习、思维模式转变、算法边界熟悉和工作流程规划,强调抢走饭碗的不是AI本身,而是会利用AI的人。文章还提供了系统学习大模型(LLM)的资源包,帮助程序员建立AI认知体系…

大模型训练全攻略:从监督学习到数据预处理的完整指南

文章系统介绍大模型训练的五种学习方法:有监督学习(基于标注数据)、无监督学习(基于数据内在结构)、自监督学习(自动构造伪标签)、半监督学习(少量标注大量未标注数据)和…

字节序及IP地址转换

文章目录字节序检测主机字节序字节序转换函数函数原型示例IP地址字符串与二进制转换传统转换函数(IPv4专用)现代转换函数(支持IPv4/IPv6)线程安全的转换字节序 定义:多字节数据在内存中存储或网络传输时各字节的顺序两…

LeetCode 134. 加油站(O(n)时间+O(1)空间最优解)

✨ 本文针对 LeetCode 中等难度题目 134. 加油站,提供一种时间复杂度 O(n)、空间复杂度 O(1) 的最优解法,结合具体思路推导和代码实现,帮你快速吃透这道题。一、题目描述在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i…

【计算机毕业设计案例】基于Springboot的幼儿园综合管理系统基于springboot的幼儿园管理系统基于SpringBoot+Vue的幼儿园管理系统(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

提示工程架构设计实战:旅游行业智能推荐提示系统架构设计全流程

提示工程架构设计实战:旅游行业智能推荐提示系统架构设计全流程 一、标题选项 《提示工程落地指南:旅游行业智能推荐系统架构设计全流程》《从0到1:旅游行业智能推荐提示系统架构实战解析》《旅游推荐智能化:基于提示工程的系统…

【计算机毕业设计案例】基于Java的养老院管理系统的设计与实现基于springboot的养老院管理系统的设计与实现(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

深度学习篇---初看transformer

核心比喻:一个超级强大的“翻译官” 想象一下,你要把一段中文翻译成英文。一个传统的“翻译官”(老式模型)会这样做: 从左到右,一个字一个字地看,看完前面再猜后面。 像个记性不太好的人&…

固高控制板卡驱动安装教程

固高控制板卡驱动安装教程

基于大数据的图书推荐系统的设计与实现-计算机毕业设计源码+LW文档

基于大数据的图书推荐系统的设计与实现 摘要:本文详细阐述了基于大数据的图书推荐系统的研究背景意义、需求分析以及功能设计。该系统旨在解决信息过载下读者选书难和图书销售效率低的问题,通过大数据技术实现精准推荐。需求分析涵盖用户、商家等多方面需…

学术研究的第一步不再困难,AI工具助你轻松优化开题报告模板内容

AI开题报告工具对比速览 工具名称 核心功能 生成速度 适用场景 独特优势 AIbiye 全流程论文辅助 3-5分钟 从开题到定稿 深度学术逻辑构建 AIcheck 精准开题生成 2-3分钟 快速产出初稿 国内院校模板库 AskPaper 文献综述辅助 实时响应 研究现状分析 海量文献…

想要高效完成学术写作?这份AI辅助的开题报告模板是你的最佳选择

AI开题报告工具对比速览 工具名称 核心功能 生成速度 适用场景 独特优势 AIbiye 全流程论文辅助 3-5分钟 从开题到定稿 深度学术逻辑构建 AIcheck 精准开题生成 2-3分钟 快速产出初稿 国内院校模板库 AskPaper 文献综述辅助 实时响应 研究现状分析 海量文献…

Java毕设选题推荐:基于springboot的幼儿园管理系统基于springboot的实验幼儿园信息管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

区间并查集|树状数组

lc3245 lc3244 区间并查集 _并边 i set.find(i 1)) set.merge(i, q[1]-1); 这步实现跳跃 class UFS { public: vector<int> fa; int size; UFS(int n) { fa.resize(n); iota(fa.begin(), fa.end(), 0); size n; }…

计算机Java毕设实战-基于springboot的幼儿园管理系统基于Springboot的幼儿园综合管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【课程设计/毕业设计】基于springboot+vue的实验幼儿园信息管理系统基于springboot的幼儿园管理系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…