admin管理员组文章数量:1794759
YoloV8改进策略:RepViT改进YoloV8,轻量级的Block助力YoloV8实现更好的移动性
点赞+关注,学习AI不迷路!
摘要
RepViT 是一种轻量级的深度学习模型,专为移动设备设计。它从ViT(Vision Transformer)的视角重新审视了移动设备上的CNN(Convolutional Neural Network)模型。
CNN通常在图像处理方面表现出色,但通常需要大量的计算资源,这使得它们不适合在资源受限的移动设备上运行。另一方面,ViT是一种基于自注意力机制的模型,适合处理长序列数据,但在图像处理方面不如CNN表现。
RepViT 通过将CNN和ViT结合,形成了一个既具备CNN局部感知能力,又具备ViT全局抽象能力的轻量级模型。这使得RepViT在保持较高性能的同时,又能够适应移动设备的计算和内存资源限制。
实现上,RepViT 采用了类似于CNN的卷积层结构,但在每一层的卷积之后,加入了类似于ViT的自注意力机制。此外,RepViT 还采用了类似于ViT的“位置嵌入”技术,将输入图像中的每个像素位置映射到一个向量空间中,从而更好地捕捉图像中的空间信息。
总的来说,RepViT 的主要优点是兼具CNN和ViT的优点,并且比两者更适合移动设备。
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: 610 layers, 34238496 parameters, 0 gradients, 119.7 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 15/15 [00:01<00:00, 8.61it/s]
all 230 1412 0.968 0.97 0.988 0.747
c17 230 131 0.976 0.992 0.995 0.832
c5 230 68 0.994 0.971 0.994 0.827
helicopter 230 43 0.976 1 0.989 0.611
c130 230 85 1 0.994 0.995 0.646
f16 230 57 0.964 0.965 0.982 0.671
b2 230 2 0.932 1 0.995 0.723
other 230 86 0.985 0.93 0.976 0.52
b52 230 70 0.983 0.971 0.987 0.841
kc10 230 62 1 0.973 0.989 0.851
command 230 40 0.97 1 0.992 0.811
f15 230 123 0.975 0.952 0.993 0.694
kc135 230 91 0.989 0.984 0.99 0.711
a10 230 27 1 0.559 0.885 0.42
b1 230 20 1 0.96 0.995 0.731
aew 230 25 0.923 1 0.992 0.8
f22 230 17 0.983 1 0.995 0.729
p3 230 105 1 0.971 0.995 0.819
p8 230 1 0.829 1 0.995 0.796
f35 230 32 1 0.966 0.995 0.544
f18 230 125 0.989 0.992 0.992 0.825
v22 230 41 0.995 1 0.995 0.701
su-27 230 31 0.981 1 0.995 0.851
il-38 230 27 0.991 1 0.995 0.87
tu-134 230 1 0.837 1 0.995 0.895
su-33 230 2 0.955 1 0.995 0.754
an-70 230 2 0.909 1 0.995 0.85
tu-22 230 98 0.997 1 0.995 0.843
Speed: 0.1ms preprocess, 4.0ms inference, 0.0ms loss, 0.5ms postprocess per image
Results saved to runs\detect\train15
改进二
测试结果
代码语言:javascript代码运行次数:0运行复制YOLOv8l summary: 496 layers, 35056848 parameters, 0 gradients, 136.9 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 15/15 [00:01<00:00, 8.81it/s]
all 230 1412 0.94 0.961 0.988 0.748
c17 230 131 0.987 0.992 0.994 0.833
c5 230 68 0.936 0.971 0.991 0.824
helicopter 230 43 0.922 0.953 0.974 0.588
c130 230 85 0.977 0.976 0.993 0.661
f16 230 57 0.941 0.947 0.965 0.684
b2 230 2 0.862 1 0.995 0.796
other 230 86 0.969 0.953 0.971 0.533
b52 230 70 0.957 0.957 0.978 0.818
kc10 230 62 1 0.978 0.989 0.839
command 230 40 0.94 0.975 0.993 0.808
f15 230 123 0.953 0.959 0.991 0.695
kc135 230 91 0.972 0.989 0.988 0.717
a10 230 27 0.882 0.833 0.931 0.416
b1 230 20 0.992 1 0.995 0.674
aew 230 25 0.903 1 0.987 0.793
f22 230 17 0.966 1 0.995 0.718
p3 230 105 1 0.969 0.994 0.806
p8 230 1 0.752 1 0.995 0.796
f35 230 32 1 0.906 0.988 0.567
f18 230 125 0.982 0.992 0.993 0.825
v22 230 41 0.987 1 0.995 0.693
su-27 230 31 0.952 1 0.995 0.829
il-38 230 27 0.982 1 0.995 0.857
tu-134 230 1 0.736 1 0.995 0.895
su-33 230 2 1 0.591 0.995 0.923
an-70 230 2 0.829 1 0.995 0.796
tu-22 230 98 0.994 1 0.995 0.805
Speed: 0.1ms preprocess, 3.8ms inference, 0.0ms loss, 0.6ms postprocess per image
改进三
测试结果
代码语言:javascript代码运行次数:0运行复制YOLOv8l summary: 838 layers, 25664064 parameters, 0 gradients, 91.7 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 15/15 [00:01<00:00, 10.09it/s]
all 230 1412 0.958 0.972 0.99 0.738
c17 230 131 0.984 0.992 0.995 0.824
c5 230 68 0.966 1 0.995 0.836
helicopter 230 43 0.976 0.957 0.981 0.598
c130 230 85 0.981 0.988 0.994 0.665
f16 230 57 0.911 0.965 0.982 0.671
b2 230 2 0.874 1 0.995 0.75
other 230 86 0.964 0.937 0.971 0.514
b52 230 70 0.983 0.986 0.984 0.81
kc10 230 62 1 0.974 0.989 0.836
command 230 40 0.99 1 0.995 0.807
f15 230 123 0.992 0.958 0.994 0.68
kc135 230 91 0.992 0.989 0.989 0.689
a10 230 27 0.953 0.667 0.942 0.466
b1 230 20 1 0.967 0.995 0.751
aew 230 25 0.944 1 0.995 0.79
f22 230 17 0.963 1 0.995 0.725
p3 230 105 0.998 0.971 0.995 0.819
p8 230 1 0.796 1 0.995 0.697
f35 230 32 0.967 0.916 0.987 0.538
f18 230 125 0.984 0.989 0.99 0.828
v22 230 41 0.992 1 0.995 0.703
su-27 230 31 0.98 1 0.995 0.831
il-38 230 27 0.986 1 0.995 0.823
tu-134 230 1 0.805 1 0.995 0.895
su-33 230 2 1 0.981 0.995 0.796
an-70 230 2 0.877 1 0.995 0.796
tu-22 230 98 0.996 1 0.995 0.783
Speed: 0.1ms preprocess, 3.6ms inference, 0.0ms loss, 0.6ms postprocess per image
总结
本文尝试了三种改进方法,运算量均有不同程度的降低,map也有不同程度的提升,欢迎大家在自己的数据集上做尝试!
文章和代码:
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2023-10-14,如有侵权请联系 cloudcommunity@tencent 删除图像处理block测试模型数据本文标签: YoloV8改进策略RepViT改进YoloV8,轻量级的Block助力YoloV8实现更好的移动性
版权声明:本文标题:YoloV8改进策略:RepViT改进YoloV8,轻量级的Block助力YoloV8实现更好的移动性 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754671130a1705025.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论