涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显!
DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。
https://jingjing.blog.csdn.net/article/details/135887134?spm=1001.2014.3001.5502
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
系统:ubuntu22.04 CUDA:12.1 python:3.11 显卡驱动:545
系统、CUDA和python的安装过程忽略,这些都能找到。这里只写不同的地方。
执行命令“
gedit ~/.bashrc
加入CUDAHome,如下图:
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
然后,执行命令:
source ~/.bashrc
如下:
<command-line>: fatal error: /usr/local/cuda-12.1/include/stdc-predef.h: 权限不够
compilation terminated.
解决方法 进入到cuda-12.1文件夹下面,启动终端,如下图:
修改include权限,执行命令:
sudo chmod 777 include
然后,再接着编译
编译的时候用到了ninja,安装方法:
pip install ninja
源码链接:https://github.com/OpenGVLab/DCNv4
进入到DCNv4_op文件夹下面,如下图:
然后,执行编译命令:
python setup.py build install
最终就可以完成编译了!
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,涨点明显。欢迎大家在自己的数据集上做尝试!