admin管理员组

文章数量:1794759

YoloV8改进策略:RefConv打造轻量化YoloV8利器

摘要

REFCONV是一种用于构建强大卷积神经网络的重新参数化的重新聚焦卷积(re-parameterized refocusing convolution)。它是一种特殊的卷积层,旨在通过重新参数化输入特征图来增强卷积神经网络的能力。

在传统的卷积神经网络中,卷积层通过将输入特征图与一组卷积核(filters)进行卷积运算,以检测和提取输入数据中的局部特征。然而,这种传统的卷积方式可能会在处理具有复杂结构和多样性的数据时遇到一些挑战。

REFCONV通过重新参数化输入特征图来解决这些问题。它通过引入一个额外的可学习的参数化矩阵,将输入特征图重新参数化为一个新的特征图。这个新的特征图可以更好地适应卷积核的检测能力,从而增强网络对复杂和多样性的数据处理能力。

REFCONV的另一个重要特点是它能够重新聚焦卷积核的关注点。传统的卷积核通常只能捕捉到输入特征图的局部信息,而REFCONV通过重新参数化输入特征图,使得卷积核能够关注到更广泛的区域,从而更全面地捕捉输入数据的特征。

我们使用RefConv替换YoloV8中的卷积,既能提高精度,又能降低运算量,使得模型更加轻量化!

链接:

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

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: 341 layers, 32431152 parameters, 0 gradients, 115.8 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:01<00:00, 10.40it/s]
                   all        230       1412      0.961      0.971      0.989      0.737
                   c17        230        131       0.99      0.992      0.995      0.836
                    c5        230         68       0.97          1      0.995      0.838
            helicopter        230         43      0.976      0.962      0.981      0.583
                  c130        230         85      0.977       0.99      0.994       0.67
                   f16        230         57          1      0.953      0.987      0.653
                    b2        230          2      0.816          1      0.995      0.748
                 other        230         86      0.932      0.953      0.972      0.546
                   b52        230         70      0.981      0.971      0.988      0.842
                  kc10        230         62      0.996      0.984      0.989      0.839
               command        230         40      0.994          1      0.995      0.823
                   f15        230        123      0.981          1      0.995      0.679
                 kc135        230         91      0.991      0.989       0.99      0.677
                   a10        230         27          1      0.687      0.933      0.412
                    b1        230         20          1      0.998      0.995      0.764
                   aew        230         25      0.947          1      0.973      0.754
                   f22        230         17      0.879          1      0.995      0.754
                    p3        230        105          1      0.988      0.995      0.806
                    p8        230          1      0.835          1      0.995      0.697
                   f35        230         32          1      0.907      0.985      0.494
                   f18        230        125      0.989      0.992       0.99      0.816
                   v22        230         41      0.993          1      0.995      0.698
                 su-27        230         31      0.989          1      0.995      0.864
                 il-38        230         27      0.987          1      0.995      0.856
                tu-134        230          1      0.825          1      0.995      0.895
                 su-33        230          2          1       0.86      0.995       0.73
                 an-70        230          2      0.892          1      0.995      0.796
                 tu-22        230         98      0.995          1      0.995      0.841
Speed: 0.1ms preprocess, 3.2ms inference, 0.0ms loss, 0.6ms postprocess per image

运算量降了三分之一,精度稍微有提升!

总结

本文使用RefConv改进了YoloV8。其实我也尝试了很多种改进方式,没有效果。比如使用RefConv替换主干网络中的卷积,发现全部为零了;使用C2f_RefConv替换所有的C2f模块,发下精度大幅度的下滑;在RefConv使用大卷积核比如7的卷积核,发现精度没有变化,徒增运算量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2023-12-14,如有侵权请联系 cloudcommunity@tencent 删除卷积神经网络测试模型数据网络

本文标签: YoloV8改进策略RefConv打造轻量化YoloV8利器