前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译

YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译

作者头像
AI浩
发布2024-10-22 12:27:26
1060
发布2024-10-22 12:27:26
举报
文章被收录于专栏:AI智韵

摘要

涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显!

DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。

代码语言:javascript
复制
https://jingjing.blog.csdn.net/article/details/135887134?spm=1001.2014.3001.5502

YoloV8官方结果

代码语言:javascript
复制
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

编译安装DCNv4

环境

系统:ubuntu22.04 CUDA:12.1 python:3.11 显卡驱动:545

安装过程

系统、CUDA和python的安装过程忽略,这些都能找到。这里只写不同的地方。

配置CUDAHOME

执行命令“

代码语言:javascript
复制
gedit ~/.bashrc

加入CUDAHome,如下图:

代码语言:javascript
复制
export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

export CUDA_HOME=/usr/local/cuda-12.1

然后,执行命令:

代码语言:javascript
复制
source ~/.bashrc

解决权限不够的问题

如下:

代码语言:javascript
复制
<command-line>: fatal error: /usr/local/cuda-12.1/include/stdc-predef.h: 权限不够
compilation terminated.

解决方法 进入到cuda-12.1文件夹下面,启动终端,如下图:

修改include权限,执行命令:

代码语言:javascript
复制
sudo chmod 777 include

然后,再接着编译

按装ninja

编译的时候用到了ninja,安装方法:

代码语言:javascript
复制
pip install ninja

编译DCNv4

源码链接:https://github.com/OpenGVLab/DCNv4

进入到DCNv4_op文件夹下面,如下图:

然后,执行编译命令:

代码语言:javascript
复制
python setup.py build install

最终就可以完成编译了!

测试结果

代码语言:javascript
复制
YOLOv8l summary: 649 layers, 54142104 parameters, 0 gradients
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 29/29 [00:02<00:00,  9.96it/s]
                   all        230       1412      0.971      0.983      0.993       0.77
                   c17        230        131      0.985      0.977      0.995      0.864
                    c5        230         68      0.963          1      0.995      0.844
            helicopter        230         43      0.946          1      0.983      0.694
                  c130        230         85          1      0.993      0.995      0.693
                   f16        230         57          1      0.959      0.993      0.704
                    b2        230          2      0.898          1      0.995      0.853
                 other        230         86      0.973      0.953      0.977      0.565
                   b52        230         70      0.989      0.957      0.989      0.856
                  kc10        230         62      0.997      0.984       0.99      0.851
               command        230         40      0.995          1      0.995      0.847
                   f15        230        123          1      0.993      0.995      0.703
                 kc135        230         91      0.982      0.989      0.991      0.686
                   a10        230         27          1      0.755      0.992      0.479
                    b1        230         20      0.989          1      0.995       0.75
                   aew        230         25      0.951          1      0.995       0.79
                   f22        230         17      0.984          1      0.995      0.813
                    p3        230        105      0.999          1      0.995      0.806
                    p8        230          1      0.845          1      0.995      0.697
                   f35        230         32          1      0.998      0.995      0.595
                   f18        230        125      0.989      0.992      0.991      0.828
                   v22        230         41      0.995          1      0.995      0.734
                 su-27        230         31      0.987          1      0.995      0.871
                 il-38        230         27       0.99          1      0.995        0.9
                tu-134        230          1      0.839          1      0.995      0.895
                 su-33        230          2          1          1      0.995      0.734
                 an-70        230          2      0.925          1      0.995      0.895
                 tu-22        230         98      0.998          1      0.995      0.854

总结

本文尝试使用新的BackBone替换yolov8的BackBone,涨点明显。欢迎大家在自己的数据集上做尝试!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI智韵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • YoloV8官方结果
  • 编译安装DCNv4
    • 环境
      • 安装过程
        • 配置CUDAHOME
        • 解决权限不够的问题
      • 按装ninja
        • 编译DCNv4
          • 测试结果
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档