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实现更好的移动性