admin管理员组

文章数量:1487745

YoloV8改进策略:三元注意力,小参数大能力,即插即用,涨点自如

摘要

注意力机制在计算机视觉领域得到了广泛的研究和应用,利用构建通道或空间位置之间的依赖关系的能力,有效地应用于各种计算机视觉任务。本文研究了轻量级但有效的注意力机制,并提出了一种新的计算注意力权重的方法——三元组注意力,通过一个三分支结构捕捉跨维度交互。对于输入张量,三元组注意力通过旋转操作和残差变换建立跨维度的依赖关系,并以极小的计算开销编码了跨通道和空间信息。这种方法既简单又高效,可以轻松地插入经典的主干网络中作为附加模块。在各种具有挑战性的任务中,如ImageNet-1k图像分类和MSCOCO和PASCAL VOC数据集上的目标检测,证明了该方法的有效性。此外,通过可视化检查GradCAM和GradCAM++结果,提供了对三元组注意力性能的深入见解。本文方法的实证评估支持了在计算注意力权重时捕捉跨维度依赖关系的重要性的直觉。相关代码可以在。

三元注意力机制

三元组注意力机制是一种注意力机制,旨在有效地处理跨维度的交互。它由三个分支组成,每个分支负责捕捉输入中空间维度和通道维度之间的跨维度交互特征。具体来说,对于一个输入张量

χ∈R^{C×H×W}

,该机制首先将输入传递给每个分支进行操作。每个分支负责聚合输入中特定维度与通道维度之间的交互特征。

第一分支负责处理输入中空间维度H和W与通道维度C之间的交互特征。它通过在空间维度上应用最大池化和平均池化操作,然后将结果展平并沿着通道维度连接,以获得跨空间维度的交互特征。

第二分支负责处理输入中空间维度H和W与通道维度C之间的交互特征。它首先对输入进行全局平均池化操作,然后使用1×1卷积核将结果展平并沿着通道维度连接,以获得跨空间维度的交互特征。

第三分支负责处理输入中通道维度C与空间维度H和W之间的交互特征。它首先对输入进行全局最大池化操作,然后使用1×1卷积核将结果展平并沿着通道维度连接,以获得跨通道维度的交互特征。

最后,将三个分支的结果连接起来,得到最终的跨维度交互特征。这种机制可以有效地捕捉输入中不同维度之间的交互特征,从而更好地理解图像内容。

链接:

代码语言:javascript代码运行次数:0运行复制
.2014.3001.5501

三元组注意力机制的优点

三元组注意力机制相对于其他注意力机制,如自注意力、多头注意力等,具有以下优势和特点:

  1. 捕捉三元组信息:三元组注意力机制能够捕捉到三个元素之间的相互作用关系,从而更好地理解输入信息。这种机制可以有效地应用于各种任务,如视觉目标检测、语言翻译、语音识别等。
  2. 计算效率高:相较于其他注意力机制,三元组注意力机制的计算效率更高。它只关注三个元素之间的相互作用,而不是对整个输入进行计算,从而减少了计算量和时间复杂度。
  3. 可扩展性强:三元组注意力机制可以方便地扩展到更大的输入尺寸。由于它只关注三个元素之间的相互作用,因此可以在保持较低计算复杂度的同时,对更大的输入进行操作。
  4. 适用于各种数据类型:三元组注意力机制可以适用于各种数据类型,如图像、文本、音频等。由于它关注的是三个元素之间的相互作用,因此可以广泛应用于各种不同的任务和领域。
  5. 可解释性强:三元组注意力机制具有更强的可解释性。它可以清楚地解释哪些三元组对输出有影响,从而使得模型更容易理解和调试。

实验结果主要表明了三方面:

  1. 对比于单一路线注意力机制,triplet注意力机制在多个标准图像识别数据集上,如ImageNet、Pascal VOC等,都表现出了优越的性能。
  2. 在一些轻量级的模型,如MobileNetV2上,triplet注意力机制在保证精度的同时,参数的增加并不多,为约0.03%。
  3. 与其他几种注意力机制相比,triplet注意力机制在参数数量上是最少的,且在ImageNet数据集上的top-1错误率降低了0.98%。

YoloV8实验结果

代码语言:javascript代码运行次数:0运行复制
YOLOv8l summary (fused): 268 layers, 43631280 parameters, 0 gradients, 165.0 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 29/29 [
                   all        230       1412      0.922      0.957      0.986      0.737
                   c17        230        131      0.973      0.992      0.995      0.825
                    c5        230         68      0.945          1      0.995      0.836
            helicopter        230         43       0.96      0.907      0.951      0.607
                  c130        230         85      0.984          1      0.995      0.655
                   f16        230         57      0.955      0.965      0.985      0.669
                    b2        230          2      0.704          1      0.995      0.722
                 other        230         86      0.903      0.942      0.963      0.534
                   b52        230         70       0.96      0.971      0.978      0.831
                  kc10        230         62      0.999      0.984       0.99      0.847
               command        230         40       0.97          1      0.995      0.811
                   f15        230        123      0.891          1      0.992      0.701
                 kc135        230         91      0.971      0.989      0.986      0.712
                   a10        230         27          1      0.555      0.899      0.456
                    b1        230         20      0.972          1      0.995      0.793
                   aew        230         25      0.945          1       0.99      0.784
                   f22        230         17      0.913          1      0.995      0.725
                    p3        230        105       0.99          1      0.995      0.801
                    p8        230          1      0.637          1      0.995      0.597
                   f35        230         32      0.939      0.938      0.978      0.574
                   f18        230        125      0.985      0.992      0.987      0.817
                   v22        230         41      0.983          1      0.995       0.69
                 su-27        230         31      0.925          1      0.995      0.859
                 il-38        230         27      0.972          1      0.995      0.811
                tu-134        230          1      0.663          1      0.995      0.895
                 su-33        230          2          1      0.611      0.995      0.796
                 an-70        230          2      0.766          1      0.995       0.73
                 tu-22        230         98      0.984          1      0.995      0.831
Speed: 0.2ms preprocess, 3.8ms inference, 0.0ms loss, 0.8ms postprocess per image

三元注意力代码

测试结果

代码语言:javascript代码运行次数:0运行复制
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:01<00:00,  8.19it/s]
                   all        230       1412      0.969      0.964      0.991      0.745
                   c17        230        131      0.996      0.992      0.995      0.828
                    c5        230         68      0.986          1      0.995      0.817
            helicopter        230         43      0.976      0.966      0.984      0.585
                  c130        230         85          1      0.971      0.994      0.648
                   f16        230         57          1       0.93      0.989      0.681
                    b2        230          2      0.916          1      0.995      0.723
                 other        230         86          1      0.921      0.979       0.56
                   b52        230         70      0.984      0.971      0.981      0.826
                  kc10        230         62      0.997      0.984      0.989      0.837
               command        230         40      0.995          1      0.995      0.821
                   f15        230        123      0.963      0.984      0.993        0.7
                 kc135        230         91      0.982      0.989      0.984      0.705
                   a10        230         27          1      0.522      0.968      0.509
                    b1        230         20      0.998          1      0.995      0.752
                   aew        230         25       0.94          1      0.995      0.789
                   f22        230         17      0.887          1      0.995      0.771
                    p3        230        105          1      0.982      0.995      0.814
                    p8        230          1      0.841          1      0.995      0.796
                   f35        230         32          1       0.83      0.989      0.611
                   f18        230        125      0.984      0.983      0.992      0.829
                   v22        230         41      0.995          1      0.995      0.696
                 su-27        230         31      0.993          1      0.995      0.857
                 il-38        230         27      0.994          1      0.995      0.823
                tu-134        230          1      0.833          1      0.995      0.895
                 su-33        230          2          1          1      0.995      0.697
                 an-70        230          2       0.91          1      0.995      0.726
                 tu-22        230         98      0.999          1      0.995      0.819
Speed: 0.1ms preprocess, 5.0ms inference, 0.0ms loss, 0.6ms postprocess per image

改进二

测试结果

代码语言:javascript代码运行次数:0运行复制
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:01<00:00,  9.17it/s]
                   all        230       1412      0.956      0.959      0.987      0.748
                   c17        230        131      0.973      0.992      0.995      0.816
                    c5        230         68      0.944      0.988      0.993      0.832
            helicopter        230         43      0.968          1      0.985      0.591
                  c130        230         85      0.988      0.994      0.995      0.663
                   f16        230         57          1      0.939      0.977      0.667
                    b2        230          2      0.887          1      0.995      0.849
                 other        230         86      0.981      0.919      0.973      0.546
                   b52        230         70      0.979      0.971      0.983      0.824
                  kc10        230         62      0.997      0.984      0.988      0.841
               command        230         40      0.993          1      0.995      0.849
                   f15        230        123       0.94      0.984      0.992      0.713
                 kc135        230         91      0.985      0.989      0.987      0.689
                   a10        230         27      0.965      0.667      0.868      0.446
                    b1        230         20      0.972       0.95      0.993      0.669
                   aew        230         25      0.935          1      0.995      0.802
                   f22        230         17      0.935          1      0.995      0.721
                    p3        230        105          1      0.996      0.995      0.811
                    p8        230          1      0.804          1      0.995      0.895
                   f35        230         32       0.98      0.969      0.993      0.567
                   f18        230        125      0.986      0.992      0.992      0.835
                   v22        230         41       0.99          1      0.995      0.671
                 su-27        230         31       0.98          1      0.995       0.86
                 il-38        230         27      0.986          1      0.995      0.825
                tu-134        230          1      0.792          1      0.995      0.895
                 su-33        230          2          1      0.571      0.995      0.697
                 an-70        230          2      0.868          1      0.995      0.796
                 tu-22        230         98      0.997          1      0.995      0.823
Speed: 0.1ms preprocess, 3.7ms inference, 0.0ms loss, 0.6ms postprocess per image

总结

本文尝试了使用三元注意力机制改进YoloV8,虽然是比较老的论文,但是效果还是可以的。两种改进均有提点,但没有增加太多的运算量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-01-31,如有侵权请联系 cloudcommunity@tencent 删除数据类型性能连接模型数据

本文标签: YoloV8改进策略三元注意力,小参数大能力,即插即用,涨点自如