文章目录
YOLOv12:以注意力为中心的实时目标检测器
论文: https://arxiv.org/pdf/2502.12524
源码: https://github.com/sunsmarterjie/yolov12
摘要
长期以来,增强YOLO框架的网络架构一直是关键,但主要集中在基于CNN的改进上,尽管注意力机制在建模能力上已被证明具有优越性。这是因为基于注意力的模型无法与基于CNN的模型的速度相匹配。本文提出了一种以注意力为中心的YOLO框架,即YOLOv12,它在保持与之前基于CNN模型相当速度的同时,充分利用了注意力机制的性能优势。
YOLOv12在准确性上超越了所有流行的实时目标检测器,同时保持了具有竞争力的速度。例如,YOLOv12-N在T4 GPU上的推理延迟为1.64毫秒,达到了40.6%的mAP,优于先进的YOLOv10-N / YOLOv11-N,分别提高了2.1%/1.2%的mAP,同时保持了相当的速度。这一优势在其他模型规模上也得以延续。YOLOv12还超越了改进DETR的端到端实时检测器,如RT-DETR / RT-DETRv2:YOLOv12-S在运行速度上比RT-DETR-R18 / RT-DETRv2-R18快42%,仅使用了36%的计算量和45%的参数。更多比较如图1所示。
图1:与其他流行方法在延迟-准确性(左)和FLOPs-准确性(右)权衡方面的比较。
一 引言
实时目标检测因其低延迟特性,在实际应用中具有重要价值,一直备受关注。其中,YOLO系列在延迟和准确性之间取得了良好的平衡,从而在该领域占据主导地位。尽管YOLO的改进主要集中在损失函数、标签分配等方面,但网络架构设计始终是关键的研究重点。虽然以注意力机制为核心的视觉Transformer(ViT)架构已被证明具有更强的建模能力,即使在小模型中也是如此,但大多数架构设计仍主要围绕卷积神经网络(CNN)展开。
这种情况的主要原因在于注意力机制的效率较低,主要受两个因素影响:一是计算复杂度呈二次方增长,二是注意力机制的内存访问操作效率低下(后者是FlashAttention主要解决的问题)。因此,在相似的计算预算下,基于CNN的架构性能比基于注意力机制的架构高出约3倍,这极大地限制了注意力机制在对推理速度要求极高的YOLO系统中的应用。
本文旨在应对这些挑战,构建了一个以注意力机制为核心的YOLO框架——YOLOv12。我们提出了三项关键改进。首先,我们设计了一种简单而高效的区域注意力模块(A2),它在保持较大感受野的同时,以一种非常简单的方式降低了注意力机制的计算复杂度,从而提高了速度。其次,我们引入了残差高效层聚合网络(R-ELAN),以解决注意力机制(主要是在大规模模型中)带来的优化难题。R-ELAN在原始ELAN的基础上进行了两点改进:
- (i)采用块级残差设计和缩放技术;
- (ii)重新设计了特征聚合方法。
第三,我们对普通注意力机制进行了一些架构改进,以适配YOLO系统。我们对传统的以注意力机制为核心的架构进行了升级,包括引入FlashAttention解决注意力机制的内存访问问题,去除位置编码等设计以使模型更快速简洁,将MLP比例从4调整为1.2,以平衡注意力机制和前馈网络之间的计算量,从而获得更好的性能,减少堆叠块的深度以方便优化,并尽可能多地使用卷积算子以利用其计算效率。
基于上述设计,我们开发了一系列具有5种模型规模的实时检测器:YOLOv12-N、S、M、L和X。我们按照YOLOv11的标准,在标准目标检测基准上进行了大量实验,且未使用任何额外技巧。结果表明,YOLOv12在这些模型规模下,在延迟-精度和FLOPs-精度的权衡方面,相较于之前流行的模型有显著改进,如图1所示。例如,YOLOv12-N的平均精度均值(mAP)达到40.6%,在T4 GPU上的推理延迟为1.64毫秒,比先进的YOLOv10-N / YOLOv11-N的mAP分别高出2.1% / 1.2% ,且推理速度相当。这种优势在其他规模的模型中也同样存在。与改进DETR的端到端实时检测器,如RT-DETR / RT-DETRv2相比,YOLOv12-S的性能更优,同时运行速度快42%,计算量仅为其36%,参数数量仅为其45%。
总之,YOLOv12的贡献主要体现在两个方面:
- 它构建了一个以注意力机制为核心、简单高效的YOLO框架,通过方法创新和架构改进,打破了CNN模型在YOLO系列中的主导地位。
- 在不依赖预训练等额外技术的情况下,YOLOv12以快速的推理速度和更高的检测精度取得了最先进的成果,展现出了巨大的潜力。
二 相关工作
实时目标检测器。实时目标检测器因其显著的实用价值而一直吸引着社区的关注。YOLO系列已成为实时目标检测的领先框架。早期的YOLO系统从模型设计的角度为YOLO系列奠定了基础。YOLOv4和YOLOv5在框架中增加了CSPNet、数据增强和多特征尺度。YOLOv6进一步通过BiC和SimCSPSPPF模块改进了骨干网络和颈部网络,并引入了锚点辅助训练。YOLOv7引入了E-ELAN(高效层聚合网络)以改善梯度流和各种免费技巧,而YOLOv8集成了高效的C2f块以增强特征提取。在最近的迭代中,YOLOv9引入了GELAN用于架构优化和PGI用于训练改进,而YOLOv10则通过双分配的无NMS训练实现了效率提升。YOLOv11通过采用C3K2模块(GELAN的一种特例)和检测头中的轻量级深度可分离卷积进一步降低了延迟并提高了准确性。最近,一种端到端的目标检测方法,即RT-DETR,通过设计高效的编码器和不确定性最小的查询选择机制,改进了传统的端到端检测器,以满足实时需求。RT-DETRv2进一步通过免费技巧增强了它。与之前的YOLO系列不同,本研究旨在构建一个以注意力为中心的YOLO框架,以利用注意力机制的优越性。
高效视觉Transformer。减少全局自注意力的计算成本对于在下游任务中有效应用视觉Transformer至关重要。PVT通过多分辨率阶段和下采样特征解决了这一问题。Swin Transformer将自注意力限制在局部窗口内,并通过调整窗口分区风格来连接非重叠窗口,平衡了通信需求与内存和计算需求。其他方法,如轴向自注意力和十字交叉注意力,在水平和垂直窗口内计算注意力。CSWin Transformer在此基础上引入了十字形窗口自注意力,沿水平和垂直条纹并行计算注意力。此外,局部-全局关系在等工作中建立,通过减少对全局自注意力的依赖来提高效率。Fast-iTPN通过令牌迁移和令牌收集机制提高了下游任务的推理速度。一些方法使用线性注意力来降低注意力的复杂性。尽管基于Mamba的视觉模型旨在实现线性复杂性,但它们仍然无法达到实时速度。FlashAttention识别了导致注意力计算低效的高带宽内存瓶颈,并通过I/O优化解决了这些问题,减少了内存访问以提高计算效率。在本研究中,我们摒弃了复杂的设计,提出了一种简单的区域注意力机制来降低注意力的复杂性。此外,我们采用FlashAttention来克服注意力机制固有的内存访问问题。
三 方法
本节从网络架构的角度介绍了YOLOv12的创新,重点关注注意力机制。
3.1 效率分析
尽管注意力机制在捕捉全局依赖关系和促进自然语言处理和计算机视觉等任务方面非常有效,但其速度本质上比卷积神经网络(CNN)慢。两个主要因素导致了这种速度差异。
复杂性。首先,自注意力操作的计算复杂度与输入序列长度 L L L成二次方关系。具体来说,对于长度为 L L L、特征维度为 d d d的输入序列,注意力矩阵的计算需要 O ( L 2 d ) \mathcal{O}(L^{2}d) O(L2d)次操作,因为每个令牌都会关注其他所有令牌。相比之下,CNN中卷积操作的复杂度相对于空间或时间维度是线性的,即 O ( k L d ) \mathcal{O}(kLd) O(kLd),其中 k k k是卷积核大小,通常远小于 L L L。因此,自注意力在计算上变得非常昂贵,特别是对于高分辨率图像或长序列等大输入。
此外,另一个重要因素是,大多数基于注意力的视觉Transformer由于其复杂的设计(例如Swin Transformer中的窗口分区/反转)和额外模块的引入(例如位置编码),逐渐积累速度开销,导致整体速度比CNN架构慢。在本文中,设计模块利用简单且干净的操作来实现注意力,确保最大程度的效率。
计算。其次,在注意力计算过程中,内存访问模式比CNN低效。具体来说,在自注意力过程中,中间映射(如注意力映射 Q K T QK^{T} QKT和softmax映射 L × L L\times L L×L)需要从高速GPU SRAM(实际计算位置)存储到高带宽GPU内存(HBM),并在计算期间稍后检索,前者的读写速度是后者的10倍以上,从而导致显著的内存访问开销和增加的挂钟时间1。此外,注意力中的不规则内存访问模式引入了进一步的延迟,而CNN则利用结构化和局部化的内存访问。CNN受益于空间受限的卷积核,能够实现高效的内存缓存和减少的延迟,因为它们的感受野固定且采用滑动窗口操作。
这两个因素,即二次计算复杂性和低效的内存访问,共同导致注意力机制比CNN慢,特别是在实时或资源受限的场景中。解决这些限制已成为一个关键的研究领域,稀疏注意力机制和内存高效近似(例如Linformer或Performer)等方法旨在缓解二次缩放问题。
3.2 区域注意力
减少普通注意力计算成本的一种简单方法是使用线性注意力机制,它将普通注意力的复杂度从二次降低到线性。对于维度为 ( n , h , d ) (n,h,d) (n,h,d)的视觉特征 f f f,其中 n n n是令牌数量, h h h是头数, d d d是头大小,线性注意力将复杂度从 2 n 2 h d 2n^{2}hd 2n2hd降低到 2 n h d 2 2nhd^{2} 2nhd2,减少了计算成本,因为 n > d n>d n>d。然而,线性注意力存在全局依赖退化、不稳定性和分布敏感性的问题。此外,由于低秩瓶颈,当应用于输入分辨率为 640 × 640 640\times 640 640×640的YOLO时,它仅提供有限的速度优势。
另一种有效降低复杂性的方法是局部注意力机制(例如Shift window、十字交叉注意力和轴向注意力),如图2所示,它将全局注意力转化为局部注意力,从而降低计算成本。然而,将特征图划分为窗口可能会引入开销或减少感受野,影响速度和准确性。在本研究中,我们提出了简单而高效的区域注意力模块。如图2所示,分辨率为 ( H , W ) (H,W) (H,W)的特征图被划分为大小为 ( H l , W ) (\frac{H}{l},W) (lH,W)或 ( H , W l ) (H,\frac{W}{l}) (H,lW)的 l l l个段。这消除了显式的窗口划分,仅需简单的reshape操作,从而实现了更快的速度。我们经验性地将 l l l的默认值设置为4,将感受野减少到原始的 1 4 \frac{1}{4} 41,但仍保持了较大的感受野。通过这种方法,注意力机制的计算成本从 2 n 2 h d 2n^{2}hd 2n2hd降低到 1 2 n 2 h d \frac{1}{2}n^{2}hd 21n2hd。我们表明,尽管复杂度为 n 2 n^{2} n2,但当 n n n固定为640时(如果输入分辨率增加, n n n会增加),这仍然足够高效,能够满足YOLO系统的实时需求。有趣的是,我们发现这种修改对性能的影响很小,但显著提高了速度。
图2:代表性局部注意力机制与我们的区域注意力的比较。区域注意力采用最简单的等分方式将特征图垂直或水平划分为
l
l
l个区域(默认为4)。这避免了复杂的操作,同时确保了大的感受野,从而实现了高效率。
3.3 残差高效层聚合网络
高效层聚合网络(ELAN)旨在改进特征聚合。如图3(b)所示,ELAN将过渡层(1×1卷积)的输出分割,通过多个模块处理一个分割,然后将所有输出连接并应用另一个过渡层(1×1卷积)以对齐维度。然而,正如所分析的那样,这种架构可能会引入不稳定性。我们认为这种设计会导致梯度阻塞,并且缺乏从输入到输出的残差连接。此外,我们围绕注意力机制构建网络,这带来了额外的优化挑战。经验表明,L和X规模的模型要么无法收敛,要么即使使用Adam或AdamW优化器也仍然不稳定。
为了解决这个问题,我们提出了残差高效层聚合网络(R-ELAN),如图3(d)所示。相比之下,我们引入了从输入到输出的残差捷径,并带有缩放因子(默认为0.01)。这种设计类似于层缩放,它被引入用于构建深度视觉Transformer。然而,对每个区域注意力应用层缩放并不能克服优化挑战,并且会引入延迟。这表明注意力机制的引入并不是收敛的唯一原因,而是ELAN架构本身,这验证了我们R-ELAN设计的合理性。
我们还设计了一种新的聚合方法,如图3(d)所示。原始的ELAN层通过首先将模块的输入传递到过渡层来处理,然后将其分割为两部分。一部分通过后续块进一步处理,最后将两部分连接以产生输出。相比之下,我们的设计应用过渡层来调整通道维度并生成单个特征图。然后通过后续块处理该特征图,最后进行连接,形成瓶颈结构。这种方法不仅保留了原始的特征集成能力,还减少了计算成本和参数/内存使用。
图3:与流行模块的架构比较,包括(a):CSPNet,(b)ELAN,(c)C3K2(GELAN的一个案例),以及(d)提出的R-ELAN(残差高效层聚合网络)。
3.4 架构改进
在本节中,我们将介绍整体架构以及对普通注意力机制的一些改进。其中一些改进并非我们首次提出。
许多以注意力为中心的视觉Transformer采用平面式架构设计,而我们保留了之前YOLO系统的分层设计,并将证明其必要性。我们移除了最近版本中在骨干网络最后阶段堆叠三个块的设计,而是仅保留一个R-ELAN块,减少了总块数并有助于优化。我们从YOLOv11继承了骨干网络的前两个阶段,并未使用提出的R-ELAN。
此外,我们对普通注意力机制中的一些默认配置进行了修改,以更好地适应YOLO系统。这些修改包括将MLP比率从4调整为1.2(或N- / S- / M-规模模型为2),以更好地分配计算资源以获得更好的性能,采用nn.Conv2d+BN而不是nn.Linear+LN以充分利用卷积算子的效率,移除位置编码,并引入一个大的可分离卷积(7×7)(称为位置感知器)以帮助区域注意力感知位置信息。这些修改的有效性将在第4.5节中验证。
四 实验
本节分为四个部分:实验设置、与流行方法的系统比较、验证我们方法的消融研究以及通过可视化进一步探索YOLOv12的分析。
4.1 实验设置
我们在MSCOCO 2017数据集上验证了所提出的方法。YOLOv12系列包括5个变体:YOLOv12-N、YOLOv12-S、YOLOv12-M、YOLOv12-L和YOLOv12-X。所有模型均使用SGD优化器训练600个epoch,初始学习率为0.01,与YOLOv11相同。我们采用线性学习率衰减计划,并在前3个epoch进行线性预热。根据中的方法,所有模型的延迟均在T4 GPU上使用TensorRT FP16进行测试。
基线。我们选择YOLOv11的先前版本作为基线。模型缩放策略也与其一致。我们使用了其提出的几个C3K2块(即GELAN的一个特例)。我们没有使用YOLOv11之外的任何技巧。
4.2 与最先进方法的比较
我们在表1中展示了YOLOv12与其他流行实时检测器的性能比较。
对于N规模模型,YOLOv12-N在mAP上分别优于YOLOv6-3.0-N、YOLOv8-N、YOLOv10-N和YOLOv11 3.6%、3.3%、2.1%和1.2%,同时保持相似或更少的计算量和参数,并实现了1.64毫秒/图像的快速延迟。
对于S规模模型,YOLOv12-S具有21.4G FLOPs和9.3M参数,实现了48.0 mAP和2.61毫秒/图像的延迟。它在mAP上分别优于YOLOv8-S、YOLOv9-S、YOLOv10-S和YOLOv11-S 3.0%、1.2%、1.7%和1.1%,同时保持相似或更少的计算量。与端到端检测器RT-DETR-R18 / RT-DETRv2-R18相比,YOLOv12-S实现了可比的性能,但具有更好的推理速度和更少的计算成本和参数。
对于M规模模型,YOLOv12-M具有67.5G FLOPs和20.2M参数,实现了52.5 mAP的性能和4.86毫秒/图像的速度。与Gold-YOLO-M、YOLOv8-M、YOLOv9-M、YOLOv10、YOLOv11以及RT-DETR-R34 / RT-DETRv2-R34相比,YOLOv12-S具有优势。
对于L规模模型,YOLOv12-L甚至以31.4G更少的FLOPs超越了YOLOv10-L。YOLOv12-L在mAP上比YOLOv11高出0.4%,同时保持相似的FLOPs和参数。YOLOv12-L还以更快的速度、更少的FLOPs(34.6%)和更少的参数(37.1%)超越了RT-DERT-R50 / RT-DERTv2-R50。
对于X规模模型,YOLOv12-X在mAP上分别显著优于YOLOv10-X / YOLOv11-X 0.8%和0.6%,同时保持相似的速度、FLOPs和参数。YOLOv12-X再次以更快的速度、更少的FLOPs(23.4%)和更少的参数(22.2%)超越了RT-DETR-R101 / RT-DETRv2-R101。
特别是,如果使用FP32精度评估L- / X规模模型(需要将模型单独保存为FP32格式),YOLOv12将实现约0.2%的mAP提升。这意味着YOLOv12-L/X将报告33.9%/55.4%的mAP。
表1:与流行的最先进实时目标检测器的比较。所有结果均使用 640 × 640 640\times 640 640×640输入获得。
4.3 消融研究
- R-ELAN。表2评估了使用YOLOv12-N/L/X模型提出的残差高效层网络(R-ELAN)的有效性。结果揭示了两个关键发现:
- (i) 对于像YOLOv12-N这样的小模型,残差连接不会影响收敛,但会降低性能。相比之下,对于较大的模型(YOLOv12-L/X),它们对于稳定训练至关重要。特别是,YOLOv12-X需要一个最小的缩放因子(0.01)来确保收敛。
- (ii) 提出的特征集成方法有效地减少了模型的FLOPs和参数复杂性,同时仅略微降低了性能。
表 2. 对所提出的残差高效层聚合网络(R-ELAN)的消融实验。Vanilla:使用原始的 ELAN 设计;ReAggre.:采用我们提出的特征整合方法;Resi.:利用残差块技术;Scaling:残差连接的缩放因子。
- 区域注意力。我们进行了消融实验以验证区域注意力的有效性,结果如表3所示。评估在YOLOv12-N/S/X模型上进行,测量了在GPU(CUDA)和CPU上的推理速度。CUDA结果使用RTX 3080和A5000获得,而CPU性能在Intel Core i7-10700K @ 3.80GHz上测量。结果表明,使用区域注意力( ✓ \checkmark ✓)显著加快了速度。例如,在RTX 3080上使用FP32时,YOLOv12-N的推理时间减少了0.7毫秒。这种性能提升在不同模型和硬件配置中一致存在。我们在此实验中未使用FlashAttention,因为它会显著减少速度差异。
表3。建议对消融区域进行注意。通过区域注意(
✓
\checkmark
✓),YOLOv12-N/S/X型号在GPU(CUDA)和CPU上的运行速度都要快得多。CUDA结果保存在RTX3080/A5000上测量。时延:FP32和FP16的毫秒(ms)。(所有结果均不使用FlashAttention。)
4.4 速度比较
表4展示了在不同GPU上对YOLOv9、YOLOv10、YOLOv11和我们的YOLOv12的推理速度比较分析,评估了RTX 3080、RTX A5000和RTX A6000上的FP32和FP16精度。为了确保一致性,所有结果均在相同的硬件上获得,YOLOv9和YOLOv10使用ultralytics的集成代码库进行评估。结果表明,YOLOv12在推理速度上显著高于YOLOv9,同时与YOLOv10和YOLOv11保持相当。例如,在RTX 3080上,YOLOv9报告2.4毫秒(FP32)和1.5毫秒(FP16),而YOLOv12-N实现了1.7毫秒(FP32)和1.1毫秒(FP16)。类似趋势在其他配置中也成立。
图4展示了更多比较。左子图展示了与流行方法的准确性-参数权衡比较,其中YOLOv12建立了超越同行的主导边界,甚至超越了参数显著减少的YOLOv10,展示了YOLOv12的有效性。我们在右子图中比较了YOLOv12与之前YOLO版本在CPU上的推理延迟(所有结果均在Intel Core i7-10700K @ 3.80GHz上测量)。如图所示,YOLOv12以更具优势的边界超越了其他竞争对手,突显了其在多样化硬件平台上的效率。
表4:不同GPU(RTX 3080、RTX A5000和RTX A6000)上的推理速度比较分析。推理延迟:FP32和FP16精度的毫秒(ms)。
图4。在准确度参数(左)和准确度延迟权衡(右)方面与流行方法的比较。
4.5 诊断与可视化
我们在表5a到表5h中对YOLOv12的设计进行了诊断。除非另有说明,否则我们在YOLOv12-N上进行这些诊断,默认训练600个epoch。
-
注意力实现:表5a。我们检查了两种实现注意力的方法。基于卷积的方法比基于线性的方法更快,因为卷积的计算效率更高。此外,我们探索了两种归一化方法(层归一化(LN)和批归一化(BN)),发现结果:尽管层归一化在注意力机制中常用,但与卷积一起使用时,其表现不如批归一化。值得注意的是,这已经在PSA模块中使用,我们的发现与其设计一致。
-
分层设计:表5b。与其他检测系统(如Mask R-CNN)不同,平面视觉Transformer的架构可以产生强大的结果,YOLOv12表现出不同的行为。当使用平面视觉Transformer(N/A)时,检测器的性能显著下降,仅达到38.3%的mAP。更温和的调整,如省略第一阶段( S T \mathbf{S}_{T} ST)或第四阶段( S T \mathbf{S}_{T} ST),同时通过调整特征维度保持相似的FLOPs,导致性能略微下降0.5%和0.8%的mAP。与之前的YOLO模型一致,分层设计仍然是最有效的,在YOLOv12中产生了最佳性能。
-
训练epoch:表5c。我们检查了不同训练epoch数量对性能的影响(从头开始训练)。尽管一些现有的YOLO检测器在大约500个训练epoch后达到最佳结果,YOLOv12需要更长的训练周期(约600个epoch)以达到峰值性能,保持与YOLOv11相同的配置。
-
位置感知器:表5d。在注意力机制中,我们对注意力值 v v v应用了一个大核的可分离卷积,将其输出添加到 v G a t t n v\mathtt{Gattn} vGattn。我们将此组件称为位置感知器,因为卷积的平滑效果保留了图像像素的原始位置,有助于注意力机制感知位置信息(这已经在PSA模块中使用,但我们扩展了卷积核,在不影响速度的情况下实现了性能提升)。如表所示,增加卷积核大小可以提高性能,但逐渐降低速度。当核大小达到9×9时,减速变得显著。因此,我们将7×7设置为默认核大小。
-
位置嵌入:表5e。我们检查了大多数基于注意力的模型中常用的位置嵌入(RPE:相对位置嵌入;APE:绝对位置编码)对性能的影响。有趣的是,最佳性能配置是在没有任何位置嵌入的情况下实现的,这带来了更简洁的架构和更快的推理延迟。
-
区域注意力:表5f。在此表中,我们默认使用FlashAttention技术。这导致虽然区域注意力机制增加了计算复杂性(导致性能提升),但由此产生的减速仍然最小。有关区域注意力有效性的进一步验证,请参见表3。
-
MLP比率:表5g。在传统视觉Transformer中,注意力模块内的MLP比率通常设置为4.0。然而,我们在YOLOv12中观察到不同的行为。在表中,改变MLP比率会影响模型大小,因此我们调整特征维度以保持整体模型一致性。特别是,YOLOv12在MLP比率为1.2时实现了更好的性能,与传统做法不同。这种调整将计算负载更多地转移到注意力机制上,突显了区域注意力的重要性。
-
FlashAttention:表5h。此表验证了FlashAttention在YOLOv12中的作用。它显示,FlashAttention将YOLOv12-N加速约0.3毫秒,将YOLOv12-S加速约0.4毫秒,而无需其他成本。
可视化:热图比较。图5比较了YOLOv12与最先进的YOLOv10和YOLOv11的热图。这些热图从X规模模型的骨干网络的第三阶段提取,突出了模型激活的区域,反映了其目标感知能力。如图所示,与YOLOv10和YOLOv11相比,YOLOv12产生了更清晰的目标轮廓和更精确的前景激活,表明感知能力有所提高。我们的解释是,这种改进来自于区域注意力机制,它比卷积网络具有更大的感受野,因此被认为在捕捉整体上下文方面更好,从而产生更精确的前景激活。我们相信,这一特性使YOLOv12具有性能优势。
表 5. 诊断研究。为节省空间,我们仅在每个子表中展示待诊断的因素。默认参数(除非另有说明):从头开始训练 600 个周期,使用 YOLOv12-N 模型。
图 5. YOLOv10[53]、YOLOv11[28] 与所提出的 YOLOv12 的热图对比。与先进的 YOLOv10 和 YOLOv11 相比,YOLOv12 对图像中物体的感知更清晰。所有结果均使用 X 尺度模型获得。
五 结论
本研究介绍了YOLOv12,它成功地将传统上被认为对实时要求低效的以注意力为中心的设计引入YOLO框架,实现了最先进的延迟-准确性权衡。为了实现高效推理,我们提出了一种新颖的网络,利用区域注意力来降低计算复杂性,并利用残差高效层聚合网络(R-ELAN)来增强特征聚合。此外,我们改进了普通注意力机制的关键组件,以更好地适应YOLO的实时约束,同时保持高速性能。因此,YOLOv12通过有效结合区域注意力、R-ELAN和架构优化,实现了最先进的性能,显著提高了准确性和效率。全面的消融研究进一步验证了这些创新的有效性。本研究挑战了CNN设计在YOLO系统中的主导地位,并推进了注意力机制在实时目标检测中的集成,为更高效和强大的YOLO系统铺平了道路。
六. 局限性
YOLOv12 需要 FlashAttention,目前支持 Turing、Ampere、Ada Lovelace 或 Hopper GPU(例如 T4、Quadro RTX 系列、RTX20 系列、RTX30 系列、RTX40 系列、RTX A5000/6000、A30/40、A100、H100 等)。
七. 更多细节
微调细节。默认情况下,所有 YOLOv12 模型都使用 SGD 优化器训练 600 个 epoch。根据之前的工作 [24, 53, 57, 58],SGD 动量和权重衰减分别设置为 0.937 和 5 × 10−4。初始学习率设置为 1×10−2,并在整个训练过程中线性衰减到 1 × 10−4。数据增强,包括 Mosaic、Mixup和复制粘贴增强,用于增强训练。根据YOLOv11,我们采用了Albumentations 库。详细的超参数如表 7 所示。所有模型都在 8× NVIDIA A6000 GPU 上训练。根据既定惯例,我们报告了不同目标尺度和 IoU 阈值下的标准平均精度 (mAP)。此外,我们报告了所有图像的平均延迟。我们建议在官方代码中查看更多细节:https://github.com/sunsmarterjie/yolov12。
结果细节。我们在表 6 中报告了更多结果的详细信息,包括 APval 50:95、APval 50、APval 75、APval small、APval medium、APval large。
表6:YOLOv12在COCO上的详细性能。
表7:在COCO上微调YOLOv12系列的参数
专栏目录:YOLOv12改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进