YOLOv8快速入门

YOLOv8 是 Ultralytics 提供的一个强大的目标检测框架,支持多种任务,包括但不限于图像分类、目标检测和实例分割。以下是关于如何安装 YOLOv8 并运行其基本功能的详细介绍。
YOLO(You Only Look Once)

1、安装与使用

安装 YOLOv8

要使用 YOLOv8,首先需要安装 ultralytics 库。可以通过以下命令完成:

pip install ultralytics

这一步会自动下载并安装最新版本的 YOLOv8 所需的所有依赖项。(pytorch根据需要自定义)

基本代码示例

下面是一个简单的 Python 脚本,展示如何加载预训练模型并对单张图片执行目标检测:

from ultralytics import YOLO

# 加载预训练权重文件
model = YOLO('yolov8n.pt')

# 对一张图片进行推理
results = model('example.jpg')  

# 显示结果
results[0].show()

上述脚本展示了如何通过调用 YOLO() 函数初始化模型,并传入一个预定义的 .pt 文件路径来加载模型权重。之后,可以传递任意图片给该模型以获取预测结果。

2、数据集介绍

YOLOv8 在训练中使用了COCO数据集数据集地址,包含超过20万张图像,涵盖80类常见物体(如人、车辆、动物、日常用品等),支持目标检测、实例分割等任务。

类别查看

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
print(model.names)  # 输出所有类别名称

YOLO数据集目录结构​​:

/dataset_root/
├── images/       # 存放图像
│   ├── train/    # 训练集图像
│   └── val/      # 验证集图像
├── labels/       # 存放标签文件(.txt格式)
│   ├── train/    # 训练集标签
│   └── val/      # 验证集标签
└── data.yaml     # 数据集配置文件(定义路径和类别)

下面这种格式也行,适合 小规模实验/工具导出数据

/dataset_root/
├── train/       # 训练集
│   ├── images/  # 训练图像
│   └── label/   # 训练标签
├── val/        # 测试集
│   ├── images/  # 测试图像
│   └── label/   # 测试标签
└── data.yaml    # 配置文件

标签文件txt里面格式为:<class_id> <x_center> <y_center> <width> <height>
分别为:类别、中心点x坐标,中心点y坐标,目标宽度,目标高度

3、训练自定义数据集

下面以头盔数据集为例

数据集下载地址

3.1 编写safehat.yaml文件

# 模型训练时便用的yaml配置文件。该文件说明了数据的地址和待训练的类别
# 配置三个路径,分别对应训练数据、验证数据、训练数据、测试数据的地址

# 训练数据
train: ./css-data/train/images/
val: ./css-data/valid/images/
test: ./css-data/test/images/
# number of classes
nc: 10

# class甴馨ames
#names:['0',"1","2","3',"4','5','6','7','8','9']
#Hardhat-安全帽
#Mask-口罩
#NO-Hardhat-无安全帽
#NO-Mask-无口罩
#N0-Safety Vest-无安全背心
#Person-人
#Safety Cone - 安全锥
#Safety Vest - 安全背心
#machinery -机械(挖掘机)
#vehicle-车辆
names: [Hardhat, Mask, No-Hardhat, No-Mask, No-Safety Vest, Person, Safety Cone, Safety Vest, machinery, vehicle]

3.2 训练文件safehat_train.py(也可以通过在源码里进行训练)

from ultralytics import YOLO

model = YOLO("yolov8n.pt")

train_results = model.train(
    data="gesture.yaml",  # Path to dataset configuration file
    epochs=100,  # Number of training epochs
    device="cpu",  # Device to run on (e.g., 'cpu', 0, [0,1,2,3])
)

metrics = model.val()

训练完得到效果最好的模型 best.pt

在这里插入图片描述

3.3 测试文件safehat_test.py

from ultralytics import YOLO

model = YOLO("runs\detect\\train8\\weights\\best.pt")

model.predict('../images/test_safehat.jpg', save=True)

效果如下:

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sky丶Mamba

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

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

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

打赏作者

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

抵扣说明:

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

余额充值