YOLOv8手把手教程--超级无敌详细系列

        YOLOv8是基于目标检测算法YOLOv5的改进版,它在YOLOv5的基础上进行了优化和改进,加入了一些新的特性和技术,如切片注意力机制、骨干网络的选择等。YOLOv8的目标检测速度非常快,可以达到实时检测的效果,并且在目标检测精度上也取得了不错的成绩。同时,YOLOv8的模型体积比较小,运行内存占用也很少,适合在嵌入式设备等资源受限的环境中应用。总的来说,YOLOv8是一种高效、快速、准确的目标检测算法,适合在多种场景中应用,包括智能家居、智能交通、安防监控等领域。        

        但是YOLOv8官方的项目应该在更新的过程中改了不少地方,Franpper跟着一些教程部署的时候遇到了很多问题,所以Franpper将自己部署的过程详细的记录下来希望可以帮到大家!

        在开始之前Franpper希望大家可以将自己遇到的问题留在评论区里,大家互相帮助下!!!

目录

一、下载项目

1、项目地址

2、下载项目

1) 直接下载压缩文件

2) 通过HTTPS Clone项目

二、文件夹结构介绍

1、 训练验证文件

2、 配置文件

三、配置环境

1、 创建环境

2、 激活环境

3、 安装依赖

4、 具体实现步骤

四、项目测试

1、 测试推理功能(以分割为例)

2、 测试训练功能(以分割为例)

五、训练自己的数据集

1、 按需下载权重

2、 修改配置文件

1) 创建数据配置文件

2) 修改网络模型配置文件

3) 修改训练参数配置文件

3、 开始训练


一、下载项目

1、项目地址

YOLOv8官方项目地址icon-default.png?t=N7T8https://github.com/ultralytics/ultralytics

2、下载项目

Franpper给大家介绍两种方式来下载项目

1) 直接下载压缩文件

选择Code中的Download ZIP,如下图:

2) 通过HTTPS Clone项目

此种方式需要先下载git。具体步骤如下:

首先将下图中的命令复制

然后在自己的项目文件夹右键选择Git Bash Here

然后输入git clone + 刚才复制的命令,即:

git clone https://github.com/ultralytics/ultralytics.git

如下图:

 

那么好,可以看到项目已经被克隆下来了!

二、文件夹结构介绍

YOLOv8经过几次更新后,文件夹结构与以前有很多改动,下面Franpper先带领大家熟悉一下最新版本YOLOv8项目的文件夹结构

1、 训练验证文件

首先是肯定要用到的训练与推理文件,可以看到在下图中的yolo文件夹中,分别有classify、detect、pose、segment四个文件夹,分别对应了分类、目标检测、姿态检测与实例分割。同时每个功能下面都有训练与推理入口。如下图:

 

2、 配置文件

首先是datasets文件夹,其中为数据配置文件,存放着数据集源路径root、训练集、验证集、测试集地址,类别个数,类别名,下载地址等信息。

然后是models文件号,其中为网络模型配置文件。

最后是trackers文件夹,其中参数配置文件。

如下图:

三、配置环境

下面Franpper带领大家配置YOLOv8项目的环境。在官方的文档(README.zh-CN.md)中可以看到,YOLOv8需要3.8或以上的Python版本,而且项目需要的torch版本不低于1.8。

1、 创建环境

详细创建过程可以参考下面博文的第二条。深度学习环境配置(pytorch版本)----超级无敌详细版(有手就行)icon-default.png?t=N7T8https://blog.csdn.net/weixin_58283091/article/details/127841182?spm=1001.2014.3001.5502

conda create -n ultralytics python=3.8
2、 激活环境
conda activate ultralytics
3、 安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
4、 具体实现步骤

具体安装步骤如下图:

四、项目测试

1、 测试推理功能(以分割为例)

首相进入predict.py文件中,如果predict.py中有下图中框选的代码直接运行即可,如果没有的话,把下面给出的代码复制到predict.py中然后运行。

 需要复制的代码:

from ultralytics.utils import ASSETS, DEFAULT_CFG, ops
def predict(cfg=DEFAULT_CFG, use_python=False):
    """Runs YOLO object detection on an image or video source."""
    model = cfg.model or 'yolov8n-seg.pt'
    source = cfg.source or ASSETS

    args = dict(model=model, source=source)
    if use_python:
        from ultralytics import YOLO
        YOLO(model)(**args)
    else:
        predictor = SegmentationPredictor(overrides=args)
        predictor.predict_cli()


if __name__ == '__main__':
    predict()
2、 测试训练功能(以分割为例)

首先进入train.py文件中,如果trian.py中有下图中框选的代码直接运行即可,如果没有的话,把下面给出的代码复制到train.py中然后运行。

  需要复制的代码:

def train(cfg=DEFAULT_CFG, use_python=False):
    """Train a YOLO segmentation model based on passed arguments."""
    model = cfg.model or 'yolov8n-seg.pt'
    data = cfg.data or 'coco8-seg.yaml'
    device = cfg.device if cfg.device is not None else ''

    args = dict(model=model, data=data, device=device)
    if use_python:
        from ultralytics import YOLO
        YOLO(model).train(**args)
    else:
        trainer = SegmentationTrainer(overrides=args)
        trainer.train()


if __name__ == '__main__':
    train()

 运行之后,可以看到自动下载了coco8-seg数据集与yolov8n-seg.pt权重,并开始了训练

五、训练自己的数据集

测试了推理与训练功能都没有什么问题的话就可以开始训练自己的数据集啦!(Franpper默认大家的数据集已经准备好,并转换为CoCo格式了)

1、 按需下载权重

官方权重地址icon-default.png?t=N7T8https://github.com/ultralytics/assets/releases

2、 修改配置文件
1) 创建数据配置文件

在datasets文件夹中创建自己的yaml文件,注意路径、类别要写对

2) 修改网络模型配置文件

将网络模型配置文件中的类别改为自己的实际类别数量

3) 修改训练参数配置文件

3、 开始训练

终于成功辣!!!训练结果保存在如图所示的路径

呦~~~~~~~~~ 

### YOLOv8 技术文档、教程与实例 #### 官方资源获取 对于希望深入了解YOLOv8的技术人员而言,官方GitHub仓库提供了详尽的信息。通过访问[YOLOv8官方项目地址](https://github.com/ultralytics/ultralytics),可以找到最新的源码以及详细的安装指南和使用说明[^3]。 #### 原理详解 为了更好地理解YOLOv8的工作机制,《YOLOv8原理与代码实例讲解》一文中不仅涵盖了核心概念之间的关联,还深入解析了该版本相较于前代产品的改进之处及其背后的理论基础[^1]。这部分内容有助于读者掌握模型设计思路和技术细节。 #### 数学建模与公式推导 针对那些想要探究更深层次数学逻辑的学习者,在同一文章中的第四章节专门讨论了YOLOv8所依赖的数学框架及相应公式的实际意义,并配以具体的案例帮助理解这些抽象的概念如何应用于目标检测任务中。 #### 编程实践指导 编程爱好者可以从《YOLOv8手把手教程--超级无敌详细系列》获得从环境搭建到完成首个预测项目的全程指引。此教程特别适合初学者跟随步骤快速上手并构建自己的第一个基于YOLOv8的目标识别应用程序。 #### 应用场景探索 除了了解技术本身外,《YOLOv8原理与代码实例讲解》也对未来可能的应用领域进行了展望,这可以帮助开发者思考如何将这项强大的计算机视觉工具融入不同的行业解决方案之中。 ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 加载预训练模型 results = model.predict(source='bus.jpg', show=True, save=True) # 对图片进行推理 ``` 上述Python代码展示了利用`ultralytics`库加载YOLOv8轻量级网络权重并对图像执行对象检测的过程。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Franpper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值