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、 开始训练

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

呦~~~~~~~~~ 

  • 28
    点赞
  • 188
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
根据引用和引用的内容,YOLOv8是一种目标检测模型。与YOLOv5相比,YOLOv8的yaml配置文件改动较小。YOLOv8采用了Anchor-Free的思想,使用VFL Loss、DFL Loss和CIOU Loss作为分类损失函数,并采用了Task-Aligned Assigner匹配方式进行样本匹配。此外,YOLOv8还引入了YOLOv8 Nano(速度最快)和YOLOv8 Extra Large(准确性最高)等不同规模的模型。 如果你想学习YOLOv8的相关知识,可以参考官方文档或者专业的教程。这些资源可以帮助你理解YOLOv8的原理、配置文件和模型性能,并帮助你开始使用和学习YOLOv8。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [YOLOv8模型学习笔记](https://blog.csdn.net/pengxiang1998/article/details/129151514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [YOLOv8学习笔记](https://blog.csdn.net/GoodTime1110/article/details/129767920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Franpper

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

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

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

打赏作者

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

抵扣说明:

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

余额充值