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

YOLOv12来了!最快的速度学习她,改进它并发表成果!赋能AI,改变世界! [特殊字符] YOLOv12 不仅是技术的飞跃,更是推动人工智能应用的强大引擎!选择 YOLOv12,开启智能未来!

YOLOv12来了!最快的速度学习她,改进它并发表成果!赋能AI,改变世界! 🌍

YOLOv12 不仅是技术的飞跃,更是推动人工智能应用的强大引擎!选择 YOLOv12,开启智能未来

立即体验 YOLOv12,感受极速检测的魅力! 👈

环境以及代码等去全部配置好,一键即可跑通!
在B站详细教程!
B站:Ai学术叫叫兽


详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!

摘要

长期以来,增强活在当下框架的网络架构至关重要,但尽管注意力机制在建模能力方面证明具有优势,但仍专注于基于CNN的改进。这是因为基于注意力的模型无法与基于CNN的模型的速度相匹配。本文提出了一个以注意力为中心的活在当下框架,即YOLOv12,它在利用注意力机制的性能优势的同时,与以前基于CNN的框架的速度相匹配。

YOLOv12以具有竞争力的速度在精度上超越了所有流行的实时对象检测器。例如,YOLOv12-N实现了40.6%mAP,推理延迟为1.64ms,在T4 GPU上优于高级YOLOv10-N/YOLOv11-N2.1%/1.2%42%更快,仅使用36%的计算和45%的参数。更多比较如图1所示
在这里插入图片描述

一、介绍

这种情况的主要原因在于注意机制的效率低下,这是两个主要因素:二次计算复杂性和注意机制的记忆访问操作效率低下(后者是FlashEntions提出的主要问题[13,14]) 。 结果,在类似的计算预算下,基于CNN的体系结构的表现优于基于注意力的架构的限制约为3×[38],这显着限制了高推理速度至关重要的Yolo系统中的注意机制。 本文旨在应对这些挑战,并进一步建立一个以注意力为中心的Yolo框架,即Yolov12。 我们介绍了三个主要的改进。 首先,我们提出了一个简单而有效的区域注意模块(A2),该模块保持了一个较大的接收场,同时以非常简单的方式降低了注意力的计算复杂性,从而提高了速度。 其次,我们介绍了剩余的效率层聚集网络(R-Elan),以应对注意力(主要是大型模型)引入的优化挑战。 R-Elan基于原始Elan [57]引入了两项改进[57]:(i)具有缩放技术的块级剩余设计以及(ii)重新设计的特征聚合方法。 第三,我们对香草的关注进行了一些建筑改进,以适合Yolo系统。 我们升级了传统的以注意力为中心的体系结构,包括:引入闪光发明以征服注意力访问问题,删除设计(例如位置编码),以使模型快速而干净,将MLP比率从4到1.2调整到1.2,以平衡注意力和饲料之间的计算 前向网络以提高性能,减少堆叠块的深度以促进优化,并尽可能多地利用卷积运算符来利用其计算效率。 根据上面概述的设计,我们开发了一个具有5个型号的实时探测器的新家族:Yolov12-N,S,M,L和X。我们在没有Yolov11 [28]的标准对象检测基准[28]上进行了广泛的实验。 任何其他技巧,表明Yolov12就这些量表的潜伏期 - 准确性和拖曳 - 准确性的权衡提供了对以前流行模型的重大改进,如说明 在图1中。例如,Yolov12-N可实现40.6%的地图,在保持更快的推理速度的同时超过2.1%的Yolov10-N [53],而Yolov11-N [28]乘以1.2%的地图,速度可比。 在其他规模模型中,此优势仍然保持一致。 与RT-DETR-R18 [66]/RT-DETRV2R18 [40]相比,Yolov12-S的映射更好,而报告的延迟速度更快42%/42%,仅需要36%/36% 计算和45%/45%的参数。 总而言之,Yolov12的贡献是双重的:1)它建立了一个以注意力为中心,简单而有效的Yolo框架,通过方法论创新和建筑改进,破坏了CNN模型在Yolo系列中的优势。 2)在不依赖其他技术(例如预处理)的情况下,Yolov12以快速的推理速度和更高的检测准确性实现了最先进的结果,这表明了其潜力。

2 相关工作

实时对象探测器由于其巨大的实际价值而一直吸引社区的注意力。 Yolo系列[3,9,24,28,29,32,45-47,53,54,57,58]已成为实时对象检测的领先框架。 早期的Yolo Systems [45-47]主要是从模型设​​计的角度来建立Yolo系列的框架。 Yolov4 [3]和Yolov5 [29]添加CSPNET [55],数据增强和多个特征量表到框架。 Yolov6 [32]与锚固辅助训练一起使用BIC和SIMCSPPPF模块,以骨干和颈部的bic和simcspsppf模块进一步前进。 Yolov7 [57]引入Eelan [56](有效的层聚集网络),以改善梯度流和各种释放额,而Yolov8 [24] [24]集成了有效的C2F块,以增强功能提取。 在最近的迭代中,Yolov9 [58]介绍了架构优化的Gelan和PGI以进行培训改进,而Yolov10 [53] [53]将NMSFree培训和双分配进行效率提高。 Yolov11 [28]通过采用C3K2模块(GELAN [58]的规范)和检测头中轻巧的深度卷积,进一步降低了潜伏期并提高了准确性。 最近,一种端到端对象检测方法,即RT-DETR [66],改进了传统的端到端检测器[7,33,37,42,71],通过设计有效的编码器和一个来满足实时要求 不确定性最小查询选择机制。 RTDETRV2 [40]进一步通过释放额的养蜂来增强它。 与以前的Yolo系列不同,这项研究旨在建立一个围绕注意力的YOLO框架,以利用注意机制的优越性。 有效的视觉变压器。 从全球自我注意力中降低计算成本对于有效应用视觉变压器在下游任务中至关重要。 PVT [61]使用多分辨率阶段和下采样功能来解决此问题。
在这里插入图片描述

Swin Transformer [39]将自我关注限制在本地窗口中,并将窗口划分样式调整以连接非重叠的窗口,平衡通信需求与内存和计算需求。 其他方法,例如轴向自我注意力[26]和纵横交错[27],计算水平和垂直窗户内的注意力。 CSWIN Transformer [16]通过引入横形窗户自我注意力,并并联沿水平和垂直条纹计算注意力。 此外,在[12,64]等作品中建立了局部全球关系,从而通过降低依赖全球自我注意力来提高效率。 Fast-ITPN [50]通过令牌迁移和令牌收集机制提高了下游任务推理速度。 一些方法[31,49,60,62]使用线性注意来降低注意力的复杂性。 尽管基于Mamba的视觉模型[38,70]的目的是线性复杂性,但它们仍然没有实时速度[38]。 Flashattention [13,14]标识了高带宽内存瓶颈,从而导致注意力效率低下,并通过I/O优化来解决它们,从而降低内存访问以提高计算效率。 在这项研究中,我们丢弃了复杂的设计,并提出了一种简单的区域注意机制,以减少注意力的复杂性。 此外,我们采用闪光发音来克服固有的记忆,从而访问注意机制的问题[13,14]。

三、 方法

本节介绍了Yolov12,这是通过关注机制的网络体系结构的角度,在Yolo框架中的创新。

3.1。 效率分析

注意机制虽然在捕获全球依赖性和促进自然语言处理[5,15]和计算机视觉[19,39]等任务方面非常有效,但本质上比卷积神经网络(CNN)慢。 两个主要因素导致了这种速度差异。 复杂。 首先,自我发挥操作的计算复杂性与输入序列长度L二次缩放。具体来说,对于具有长度l和特征维度D的输入序列D,注意矩阵的计算需要O(L2D)操作,因为每个操作都需要O(L2D)操作 参加其他所有令牌。 相反,CNN中卷积操作的复杂性相对于空间或时间维度,即O(KLD),k是核的大小,通常比L小得多。因此,自我注意力的自我注意力变为 计算上的过敏性,尤其是对于大型输入(例如高分辨率图像或长序列)。 此外,另一个重要因素是,大多数基于注意力的视觉变压器由于其复杂的设计(例如,在Swin Transformer [39]中进行窗口划分/反向)以及引入其他模块(例如位置编码),因此逐渐累积了速度的速度开销。 ,与CNN体系结构相比,总体速度较慢[38]。 在本文中,设计模块利用简单和干净的操作来实施注意力,从而在很大程度上确保效率。 计算。 其次,在注意力计算过程中,与CNN相比,内存访问模式效率较低[13,14]。 具体而言,在自我注意事项期间,需要从高速GPUSRAM(计算的实际位置)到高带宽GPU(HBM)中的中间图(QKT)和SoftMax地图(L×L)。 ),然后在计算过程中检索,前者的读写速度是后者的10倍以上,从而导致大量内存访问开销和增加的壁式锁定 时间1。 此外,与CNN相比,注意力不规则的内存访问模式会引入进一步的延迟,该CNN利用结构化和局部内存访问。 CNN受益于空间约束的内核,可实现有效的内存缓存,并由于其固定的接收场和滑动窗口操作而减少了潜伏期。 这两个因素,即二次计算复杂性和效率低下的内存访问,使注意机制比CNN慢,特别是在实时或资源约束的情况下。 解决这些局限性已成为研究的关键领域,诸如稀疏注意机制和记忆效率近似(例如Linformer [60]或表演者[11])旨在减轻二次缩放的方法。

3.2 区域关注

是一种简单的方法来降低香草注意的计算成本,是使用线性注意机制[49,60],从而降低了Vanilla注意力的复杂性,从二次进行线性。 对于具有尺寸(n,h,d)的视觉特征f,其中n是令牌的数量,h是头部的数量,d是头大小,线性注意力从2N2HD降低到2NHD2,降低了计算成本 自n> d。 但是,线性注意力受到全局依赖性降解[30],不稳定性[11]和分布敏感性[63]。 此外,由于较低的瓶颈[2,10],仅在640×640的输入分辨率应用于Yolo时才提供有限的速度优势。有效降低复杂性的另一种方法是本地注意力机制(例如,Shift Shift Window窗口 [39],纵横交错[27]和轴向注意[16]),如图2所示,它将全局注意力转化为局部,从而减少了计算 费用。 但是,将功能图分配到窗口中可以引入开销或减少接受场,从而影响速度和准确性。 在这项研究中,我们提出了简单而有效的区域注意模块。 如图2所示,分辨率为(H,W)的特征图分为大小(H L,W)或(H,W L)的L段。 这消除了明确的窗口分区,只需要简单的重塑操作,从而实现更快的速度。 我们从经验上将L的默认值设置为4,将接受场降低到原始的1 4,但仍然保持大型接受场。 通过这种方法,注意机制的计算成本从2N2HD降低到1 2N2HD。 我们表明,尽管n2复杂,但当n固定为640时,这仍然足够有效,可以满足YOLO系统的实时要求(如果输入分辨率增加,则N会增加N)。 有趣的是,我们发现这种修饰只会对性能产生略有影响,但会大大提高速度。

3.3 剩余有效层聚合网络有效层聚集网络(ELAN)

如图3(b)所示,Elan分解了过渡层的输出(1×1卷积),处理一个通过多个模块分裂,然后将所有输出串联并应用另一个过渡层(1×1卷积) 对齐维度。 但是,正如[57]分析的那样,该体系结构可以引入不稳定性。 我们认为这种设计会导致梯度阻塞,并且缺乏从输入到输出的剩余连接。 此外,我们围绕着注意机制建立网络,这提出了其他优化挑战。 从经验上讲,即使使用ADAM或ADAMW优化器,L-和X尺度模型也无法收敛或保持不稳定。 为了解决这个问题,我们提出了剩余的有效层聚集网络(R-Elan),图3(d)。 相比之下,我们以缩放系数(默认为0.01)引入了从输入到输出的残留捷径。 该设计类似于层缩放[52],它被引入以构建深视力变压器。 但是,为每个区域的关注应用层缩放将不会征服优化挑战,并引入延迟的放缓。 这表明,注意机制的引入不是融合的唯一原因,而是Elan架构本身,它验证了我们R-Elan设计背后的原理。 我们还设计了一种新的聚合方法,如图3(d)所示。 原始的Elan层通过首先将其通过过渡层来处理模块的输入,然后将其分成两个部分。 随后的块进一步处理一个部分,最后两个部分被连接以产生输出。 相比之下,我们的设计应用了一个过渡层来调整通道尺寸并生成单个特征图。 然后,通过随后的块处理此特征图,然后进行连接,形成瓶颈结构。 这种方法
![在这里插入图片描在这里插入图片描述

3.4改进

许多以注意力为中心的视觉变压器都是使用普通风格的架构[1,18,19,21,25,51]设计的,而我们保留了先前Yolo系统的层次设计[3,24,28,29,29,32, 45-47、53、57、58],将证明这一点的必要性。 我们删除了在骨干的最后阶段堆叠三个块的设计,该骨骼的最新版本中存在[24、28、53、58]。 取而代之的是,我们仅保留一个R-Elan块,减少了块的总数并有助于优化。 我们从Yolov11 [28]继承了主链的前两个阶段,并且不使用建议的R-Elan。 此外,我们修改了香草注意机制中的几种默认配置,以更好地适合Yolo系统。 这些修改包括将MLP比率从4到1.2(或为N- / S- / M-Scale型号为2)用于更好地分配计算资源,以提高性能,采用NN.Conv2d+BN而不是NN.lin.lin.lin.linear+ LN充分利用卷积操作员的效率,删除位置编码,并引入大型可分离卷积(7×7)(即位置感知器) 帮助该地区注意力感知位置信息。 这些修改的有效性将在第4.5节中进行验证。

4 实验

本节分为四个部分:实验设置,与流行方法的系统比较,验证我们的方法的消融研究以及具有可视化的分析以进一步探索Yolov12。

4.1。 实验设置

我们验证了MSCOCO 2017数据集[36]上提出的方法。 Yolov12家族包括5种变体:Yolov12-N,Yolov12-S,Yolov12-M,Yolov12-L和Yolov12-X。 所有模型均使用SGD优化器培训600个时期,初始学习速率为0.01,与Yolov11保持不变[28]。 我们采用线性学习率衰减时间表,并为前3个时期进行线性热身。 遵循[53,66]中的方法,所有模型的潜伏期在带有张力FP16的T4 GPU上进行了测试。 基线。 我们选择以前的Yolov11 [28]作为我们的基线。 模型缩放策略也与之一致。 我们使用其提出的几个C3K2块(这是Gelan [58]的特殊情况)。 我们不再使用Yolov11以外的其他技巧[28]。

4.2 与最先进的比较

我们在表1中介绍了Yolov12与其他流行的实时探测器之间的性能比较。对于N-Scale模型,Yolov12-N优于Yolov6-3.0-N [32],Yolov8-N [Yolov8-n [ 58],Yolov10-N [53]和Yolov11 [28]分别为3.6%,3.3%,2.1%和1.2%,同时保持相似 甚至更少的计算和参数,并达到1.64 ms/image的快速延迟速度。 对于S级型号,Yolov12-S,具有21.4G拖鞋和930万参数,可实现48.0 MAP,具有2.61 ms/Image Latency。 它的表现优于Yolov8-S [24],Yolov9-S [58],Yolov10-S [53]和Yolov11-S [28],分别为3.0%,1.2%,1.7%和1.1%,同时保持相似或相似或 较少的计算。 与端到端检测器RT-DETR-R18 [66] / RT-DETRV2R18 [41]相比,Yolov12-S可实现可打击的性能,但推断速度较高,计算成本较小,参数较少。 对于M尺度型号,Yolov12-M,具有67.5G拖失板和2020万参数,可实现52.5 MAP性能和4.86 ms/图像速度。 与Goldyolo-M [54],Yolov8-M [24],Yolov9-M [58],Yolov10 [53],Yolov11 [28]和RT-DETR-R34 [66] / RT-DETRV2-R34 [40 [40 ],Yolov12-S具有优势。 对于L尺度模型,Yolov12-L甚至超过了Yolov10-L [53],较少31.4克。 Yolov12L击败了Yolov11 [28],比0.4%地图,具有可比的拖鞋和参数。 Yolov12-L的表现也优于RTDERT-R50 [66] / RT-DERTV2-R50 [41]的速度更快,较少的FLOP(34.6%)和更少的参数(37.1%)。 对于X尺度模型,Yolov12-X的表现显着优于Yolov10-X [53] / Yolov11-X [28]分别为0.8%和0.6%,具有可比的速度,拖鞋和参数。 Yolov12-X再次击败RT-DETR-R101 [66] / RT-DETRV2-R101 [40],速度更快,拖鞋较少(23.4%)和更少的参数(22.2%)。 特别是,如果使用FP32精度评估L- / X尺度模型(这需要以FP32格式分别保存模型),则Yolov12将提高约0.2%的MAP。 这意味着Yolov12-L/X将报告33.9%/55.4%的地图。

4.3。 消融研究•R-Elan

表2使用Yolov12-N/L/X型号评估了提出的剩余有效层网络(R-ELAN)的有效性。 结果揭示了两个关键的发现:(i)对于像Yolov12-N这样的小型模型,残留连接不会影响收敛,而是降低性能。 相反,对于较大的模型(Yolov12L/X),它们对于稳定训练至关重要。 特别是,Yolov12-X需要最小的缩放系数(0.01)以确保收敛。 (ii)所提出的特征集成方法有效地在拖曳和参数方面有效地降低了模型的复杂性,同时仅在边际下降的情况下保持可比的性能。 •区域关注。 我们进行消融实验以验证面积注意力的有效性,并在表3中列出了结果。对Yolov12 N/S/X模型进行了评估,测量了GPU(CUDA)和CPU的推理速度。 使用RTX 3080和A5000获得CUDA结果,而CPU性能是在Intel Core i7-10700K @ 3.80GHz上测量的。 结果表明,随着区域的关注表明了显着的加速(“)。例如,在RTX 3080上的FP32时,Yolov12-N的推理时间降低了0.7ms。在不同的模型和硬件配置中,一致观察到此性能增益。我们不使用。 在本实验中使用FlashEntient [13,14],因为它将大大降低速度差异。

在这里插入图片描述

4.4 速度比较

表4对不同GPU的推理速度进行了比较分析,评估了Yolov9 [58],Yolov10 [53],Yolov11 [28] [28]和我们的Yolov12,在RTX 3080,RTX A5000,RTX A5000和RTX A6000上使用FP32和FP16 Precision。 为了确保一致性,使用Ultrytics的集成代码库评估了同一硬件和Yolov9 [58]和Yolov9 [53] [28]的所有结果。 结果表明,Yolov12的推理速度明显高于Yolov9 [58] [58],同时与Yolov10 [53]和Yolov11 [28]保持不变。 例如,在RTX 3080上,Yolov9报告了2.4 ms(FP32)和1.5 ms(FP16),而Yolov12n的成就1.7 ms(FP32)和1.1 ms(FP16)。 在其他配置中也存在类似的趋势。 图4提出了其他比较。 左子图说明了与流行方法的准确性参数权衡比较,其中Yolov12建立了一个超出对应物的主导边界,甚至超过了Yolov10,即Yolov10,这是一个以较少参数为特征的Yolo版本,显示了Yolov12的功效。 我们将Yolov12的推理潜伏期与右子图中的CPU上的先前的Yolo版本进行了比较(所有结果均以Intel Core i7-10700K @ 3.80GHz进行测量)。 如图所示,Yolov12超过了其他竞争对手,其边界更有利,突出了其在各种硬件平台上的效率。

4.5 诊断和可视化

我们在表5A至5H中诊断Yolov12设计。 除非另有说明,否则我们会在Yolov12-N上执行这些诊断,并通过从头开始对600个时期进行默认培训。 •注意实施:表5A。 我们研究了实施注意力的两种方法。 由于卷积的计算效率,基于卷积的方法比基于线性的方法快。 此外,我们探索两种归一化方法(层归一化(LN)和批处理归一化(BN))
在这里插入图片描述
详细的全文建议大家去看原文即可!

5。结论

这项研究介绍了Yolov12,该研究成功地采用了以注意力为中心的设计,传统上认为对实时需求效率低下,并将其带入了YOLO框架,从而实现了最先进的潜伏期 - 准确性的权衡。 为了实现有效的推断,我们提出了一个新型网络,该网络利用区域的注意力来降低计算复杂性和剩余有效层聚集网络(R-ELAN)以增强特征聚集。 此外,我们完善了香草注意机制的关键组成部分,以更好地与Yolo的实时限制保持一致,同时保持高速性能。 结果,Yolov12通过有效结合了区域的注意,R-Elan和Archi tectural优化,从而实现了最先进的绩效,从而导致准确性和效率的显着提高。 全面的消融研究进一步验证了这些创新的有效性。 这项研究挑战了基于CNN的设计在Yolo系统中的主导地位,并促进了实时对象检测的注意机制的整合,为更高效,更强大的Yolo系统铺平了道路。

写在最后

学术因方向、个人实验和写作能力以及具体创新内容的不同而无法做到一通百通,所以本文作者即B站Up主:Ai学术叫叫兽
在所有B站资料中留下联系方式以便在科研之余为家人们答疑解惑,本up主获得过国奖,发表多篇SCI,擅长目标检测领域,拥有多项竞赛经历,拥有软件著作权,核心期刊等经历。因为经历过所以更懂小白的痛苦!因为经历过所以更具有指向性的指导!

祝所有科研工作者都能够在自己的领域上更上一层楼!!!

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在动态中有链接,感谢支持!祝科研遥遥领先!


http://www.kler.cn/a/596992.html

相关文章:

  • 动态规划入门详解
  • 7. 二叉树****
  • AXI总线之相关应用
  • ffmpeg+ubuntu编译库(完整版本)
  • Scrapy 入门教程
  • 探索 Ollama:开源大语言模型平台的无限可能​
  • Linux:xxx is not in the sudoers file. This incident will be reported.
  • PyTorch中BatchNorm2D的实现与BatchNorm1D的区别解析
  • HCL—我与虚拟机的爱恨情仇[特殊字符][特殊字符]‍[特殊字符]️
  • 32.[前端开发-JavaScript基础]Day09-元素操作-window滚动-事件处理-事件委托
  • 【gradio】全面解析 Gradio 的 Blocks 框架:构建灵活的 Python 前端界面
  • Spring的IOC
  • dv-scroll-board 鼠标移入单元格显示单元格所有数据
  • systemd-networkd 的 /etc/systemd/network/*.network 的配置属性名称是不是严格区分大小写?是
  • 全面解读 联核科技四向穿梭车的常见功能介绍
  • 记录一次truncate导致MySQL夯住的故障
  • 【003安卓开发方案调研】之ReactNative技术开发安卓
  • 金蝶云星辰数据集成技术案例:采购退货对接旺店通
  • SpringBoot项目实战(初级)
  • 在Android Studio中,如何快速为变量添加m?