YOLOv8分类识别训练配置详细

本文详细讲解了如何配置情感分类数据集,使用YOLOv8训练表情识别模型,并涉及训练过程、结果分析和预测调试。
摘要由CSDN通过智能技术生成

目标:

实现自己的图像分类算法模型训练,应用。

  • 掌握数据集配置方式;
  • 掌握训练、预测命令语句
  • 掌握训练结果分析

学习内容:

1.图像分类数据集配置方式

例如:

  1. 制作一个表情分类数据集。
# 0 - 6 文件夹分别label为:
# angry ,disgust ,fear ,happy ,sad ,surprise ,neutral
#0,1, 2,3 ,4 , 5 , 6

保存文件形式如下:
在这里插入图片描述

在这里插入图片描述

每一个数字标签文件夹里面是面部表情图片。文件夹命名为分类类名,多少个类别就有多少个文件夹,不用配置额外的data-yaml.
在这里插入图片描述

2.yolov8训练图像分类算法模型

注意,此处数据与分割,检测,关键点算法的数据输入yaml不同.data=数据集文件夹地址imageFER(根据自己存放地址而变)result = model.train(data='D:/xxx/Datasets/datasetFER2024/imagesFER'-----

# Begin to show your code!
import torch
from ultralytics import YOLO

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")


def trainModel(mode_pt=None):
    if mode_pt is None:
        # model = YOLO(model=r'D:/xxx/Models/yolov8/classify/yolov8m-cls.pt')  # 加载预训练模型方法导入分类模型参数
        model = YOLO('yolov8m-cls.yaml').load('yolov8m-cls.pt') # 在线下载预训练模型,加载训练方式
    else:
        model = YOLO(model=mode_pt)  # 加载待优化模型
    model.to(device)
    result = model.train(data='D:/xxx/Datasets/datasetFER2024/imagesFER', epochs=100, batch=32, single_cls=False, imgsz=224, workers=0)


if __name__ == "__main__":
    mode_pt = r'D:/xxx/Models/yolov8/classify/yolov8m-cls.pt'
    trainModel()

imgsz=224,可根据数据集图像大小的均值设定一个尺寸imgsz。

注意:# 加载预训练模型方法导入分类模型参数,可能因为自行下载的YOLOv8-cls.pt预训练模型文件有问题,会报bugModuleNotFoundError: No module named ‘ultralytics.utils‘,建议使用在线下载最新模型。

3.掌握训练结果分析
根据损失函数,精确度曲线,调整参数或新增数据均衡类别。
在这里插入图片描述


学习产出:

完成表情分类识别算法模型: FER,Facial expression recognition表情识别算法模型

  1. 测试检测效果。
 ferRes = model.predict(source=r"D:/xx/Datasets/datasetFER2024/test/", save=True)

测试结果以概率从高到低排列可能的结果。
在这里插入图片描述

在这里插入图片描述
2. 预测结果分析
首先,debug程序,在预测打印结果位置打个断点,查看模型预测图像文件夹的输出—ferRes :
在这里插入图片描述
然后,选择一个图片输出结果打开。
在这里插入图片描述

probs保存了预测结果。top1为得分最高的分类结果。top5为得分前五的类别列表,且按置信度得分由高到低排列。

训练的时候,你也许注意到了loss后面有Top1AccTop5Acc.(Top5Acc表示预测概率前5个中有一个正确,就算预测正确的概率)

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
训练yolov5进行人脸识别,你需要遵循以下步骤: 1. 数据收集:从开源人脸数据集中选择适合的数据集,如celeba或wideface。这些数据集包含大量的人脸图像,可以作为训练样本。 2. 数据预处理:对收集到的人脸图像进行预处理,包括人脸对齐、大小调整和图像增强等。这些步骤可以提高训练效果。 3. 标注数据:使用标注工具,对数据集中的人脸进行标注。标注的目标是在每个人脸上绘制一个框,以指示人脸的位置和边界。 4. 模型配置:根据你的需求,调整yolov5模型的配置文件。你可以修改模型的网络结构、训练参数和其他超参数。 5. 模型训练:使用标注好的数据集,通过运行训练脚本,对yolov5模型进行训练训练过程中,模型将根据预先定义的损失函数和优化算法来更新权重。 6. 模型评估:在训练完成后,使用测试数据集对训练好的模型进行评估。评估指标可以包括精度、召回率和准确度等。 7. 模型部署:将训练好的模型部署到实际应用中。你可以使用模型进行人脸识别任务,并根据需要进行相应的后处理和结果展示。 需要注意的是,训练yolov5模型需要一定的计算资源和时间。此外,根据你的数据集和训练参数的选择,训练的结果可能会有所不同。因此,建议在训练前仔细调整和验证模型配置,以达到更好的性能和效果。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柏常青

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

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

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

打赏作者

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

抵扣说明:

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

余额充值