1.YOLOv8简介
YOLO(you only look once)最早由华盛顿大学的Joseph Redmon和Ali Farhadi于2015年开发的流行目标检测和图像分割模型。
YOLOv8是ultralytics公司在 2023 年 1月 10 号开源的,支持全范围的视觉AI任务,包括分类、检测、分割、姿态估计和跟踪。它只是一个算法框架(在github库的名字是ultralytics),这个框架支持以往所有版本的YOLO,并且能够在CPU到GPUs不同的硬件平台上运行。
2.YOLOv8的网络结构
网络结构看起来非常复杂,但是仅仅从框架上理解不会很难。可以看这个视频解释得非常清楚。看这个视频前先把Ultralytics项目(yolo模型包)导入pycharm或者VScode(看第3节),视频中会结合v8的样本文件来讲。
YoloV8Ultralytics模型结构详细讲解 带你学会Yolo的模型结构 小白也能学会的模型讲解教程_哔哩哔哩_bilibili
🔵 网络有三个部分:
backbone:主干网络,用于图像特征提取
neck:进行特征融合
head:网络头部,进行解码,bbox边界框解码和class loss分类解码(主要是因为网络中对这两者的编码不方便我们解读,所以解码成我们常见的坐标和类别格式)
下面,这篇文章中对每个模块做了详细的解释:
3,YOLOv8模型导入
建议跟着项目代码一起学习,这一步骤就是一起去看下项目代码。
3.1 虚拟环境配置
(1)安装Anaconda
可参考下方文章:
anaconda的安装和使用(管理python环境看这一篇就够了)-CSDN博客
(2)配置虚拟环境
虚拟环境可以将YOLOv8训练所需的依赖包和其他项目的依赖包隔离开来,避免版本冲突,而且更加便于管理。
在Anaconda prompt或者windows 命令行中输入
conda create -n yolov8 python=3.12.4
解释:虚拟环境的名字为yolov8,部署在虚拟环境中的python版本号为3.12.4.
(3)下载源代码
GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite
可直接下载zip解压缩,也可用Git clone(需要先下载并安装Git软件,下载很快,安装的时候记得勾选to PATH选项)。存放的路径不要有中文。
如果操作不当,会出现ultralytics/ultralytics...嵌套的情况,一定选择第二层的utralytics用鼠标右键在pycharm中打开(注意,这里是文件夹嵌套的