admin管理员组

文章数量:1794759

YoloV8改进策略:SPD

摘要

SPD-Conv是一种新的构建块,用于替代现有的CNN体系结构中的步长卷积和池化层。它由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成。

空间到深度(SPD)层的作用是将输入特征图的每个空间维度降低到通道维度,同时保留通道内的信息。这可以通过将输入特征图的每个像素或特征映射到一个通道来实现。在这个过程中,空间维度的大小会减小,而通道维度的大小会增加。

非步长卷积(Conv)层是一种标准的卷积操作,它在SPD层之后进行。与步长卷积不同,非步长卷积不会在特征图上移动,而是对每个像素或特征映射进行卷积操作。这有助于减少在SPD层中可能出现的过度下采样问题,并保留更多的细粒度信息。

SPD-Conv的组合方式是将SPD层和Conv层串联起来。具体来说,输入特征图首先通过SPD层进行转换,然后输出结果再通过Conv层进行卷积操作。这种组合方式可以在不丢失信息的情况下减少空间维度的尺寸,同时保留通道内的信息,有助于提高CNN对低分辨率图像和小型物体的检测性能。

总结起来,SPD-Conv是一种新的构建块,旨在解决现有CNN体系结构中步长卷积和池化层的问题。它由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成,能够提高模型对低分辨率图像和小型物体的检测性能,并降低对“良好质量”输入的依赖。

优势

将SPD-Conv应用于YOLO v5和ResNet创建的新CNN架构有以下优势:

  1. 提高了模型对低分辨率图像和小型物体的检测性能。
  2. 降低了对“良好质量”输入的依赖。

具体的改进效果如下:

  1. 在COCO-2017数据集上,使用YOLOv5-SPD相比原始的YOLOv5在AP和top-1准确率上分别提高了1.2%和0.7%。
  2. 在Tiny ImageNet数据集上,使用ResNet18-SPD相比原始的ResNet18在top-1准确率上提高了1.1%。
  3. 在CIFAR-10数据集上,使用ResNet50-SPD相比原始的ResNet50在top-1准确率上提高了0.6%。

YOLOv5-spd-n

31.0

16.0

2.2

7.3

YOLOv5-spd-s

40.0

23.5

8.7

7.3

YOLOv5-spd-m

46.5

30.3

24.6

8.4

YOLOv5-spd-l

48.5

32.4

52.7

10.3

这些改进主要得益于SPD-Conv消除了步长卷积和池化层,保留了更多的信息,使得模型能够更好地学习特征表示。此外,SPD-Conv是一种通用的构建块,可以很容易地应用于大多数甚至所有CNN体系结构。

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运行复制
YOLOv8l summary (fused): 275 layers, 46850736 parameters, 0 gradients, 272.3 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:03<00:00,  4.09it/s]
                   all        230       1412      0.978      0.963      0.989      0.744
                   c17        230        131      0.992      0.987      0.995      0.815
                    c5        230         68      0.939      0.985      0.994       0.83
            helicopter        230         43      0.977      0.968      0.974      0.635
                  c130        230         85      0.986          1      0.995       0.69
                   f16        230         57      0.977       0.93      0.983      0.677
                    b2        230          2      0.919          1      0.995      0.623
                 other        230         86      0.974      0.888      0.966       0.55
                   b52        230         70      0.983      0.971      0.982      0.834
                  kc10        230         62      0.998      0.984      0.989      0.838
               command        230         40      0.995          1      0.995      0.808
                   f15        230        123      0.992       0.98      0.994      0.693
                 kc135        230         91      0.988      0.989      0.981      0.706
                   a10        230         27          1      0.453      0.946      0.465
                    b1        230         20      0.983       0.95       0.99      0.775
                   aew        230         25      0.952          1      0.995      0.801
                   f22        230         17      0.987          1      0.995      0.734
                    p3        230        105          1      0.975      0.995      0.807
                    p8        230          1      0.885          1      0.995      0.796
                   f35        230         32      0.969      0.962      0.991      0.633
                   f18        230        125      0.984      0.972       0.99      0.824
                   v22        230         41      0.992          1      0.995      0.719
                 su-27        230         31      0.993          1      0.995      0.838
                 il-38        230         27      0.992          1      0.995      0.841
                tu-134        230          1      0.956          1      0.995      0.895
                 su-33        230          2      0.994          1      0.995      0.697
                 an-70        230          2          1          1      0.995      0.734
                 tu-22        230         98      0.998          1      0.995      0.834
Speed: 0.2ms preprocess, 10.8ms inference, 0.0ms loss, 0.8ms postprocess per image

相比官方的模型,有一定的提升,参数量也上升了。由于数据集的小目标数量不多,分数上升并不明显。

代码和文章:

.2014.3001.5502

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2023-10-03,如有侵权请联系 cloudcommunity@tencent 删除性能测试架构模型数据

本文标签: YoloV8改进策略SPD