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利器
版权声明:本文标题:YoloV8改进策略:RefConv打造轻量化YoloV8利器 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754670225a1705011.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论