【目标检测】YOLOv8学习记录

0.YOLOv8代码运行

yolov8的运行与前几代基本一致,因此可以参考此篇博客。
博客地址

0.1代码下载

YOLOv8官方下载地址
下载后直接打开,导入到项目中
本文主要展示使用yolov8的目标检测。

0.2下载所需要的包

如果使用了anoconda的话,首先进入anoconda环境,运行命令

pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ ultralytics==0.0.59
pip install -e ultralytics

0.3使用自身的数据集

在v8文件夹内创建一个自己的data文件夹,存入需要使用的yml文件,
在这里插入图片描述

0.4修改代码

之前版本的代码核心配置文件都是嵌入到代码中的,但是新版的yolov8的代码是单独的,找到下图中的文件打开,可以看到这是我们需要填写修改的地方。
在这里插入图片描述
在这里插入图片描述

1.YOLOv8的主要改进点

1.1 yolov8的网络结构图

!](https://img-blog.csdnimg.cn/7ef5d6a09bdd4c22bb7d9920a4883fd4.png)

1.2Backbone

使用的依旧是CSP的思想,YOLOv5中的C3模块被替换成了C2f模块,实现了进一步的轻量化,同时YOLOv8依旧使用了YOLOv5等架构中使用的SPPF模块;
C3模块
在这里插入图片描述
C2f模块
在这里插入图片描述

1.2 SPPF

SPP,空间金字塔池化。
SPPF,是在yolov5中出现的。
在这里插入图片描述
相关的改进有SPP,SPPF,simSPPF,ASPP,RFB,SPPCSPC

1.3 PAN-FPN

FPN是自顶向下,将高层的强语义特征传递下来,对整个金字塔进行增强,不过只增强了语义信息,对定位信息没有传递。PAN就是针对这一点,在FPN的后面添加一个自底向上的金字塔,对FPN补充,将低层的强定位特征传递上去。

YOLOv8的neck结构图
YOLOv8的neck结构图

猜你喜欢

转载自blog.csdn.net/qq_43471945/article/details/129009099