如何使用监控视角下的睡岗岗位数据集 睡觉数据集 工作睡觉数据集来训练YOLOv8目标检测模型 2类 map50为80.6% 525张 yolo格式

睡岗数据集。在这里插入图片描述

数据集中有相当一部分图片是监控摄像头下的真实画面。数据集已经标注好,txt格式,yolo格式,适用于训练yolo系列目标检测模型。在这里插入图片描述

数据集已经划分好训练集420张,验证集105张,包含类别标签文件,数据集分为两类:sleep、unsleep。数据集亲测可用,yolov8m实测map50为80.6%

好的,让我们详细介绍这个睡岗数据集,并展示如何使用它来训练YOLOv8目标检测模型。以下是详细的步骤和代码示例。
在这里插入图片描述

数据集介绍

在这里插入图片描述

基本信息
  • 类别: sleepunsleep
  • 格式: 图片(JPEG/PNG)和标注文件(TXT)
  • 标注格式: YOLO 格式(类别ID 中心X 中心Y 宽度 高度)
  • 划分:
    • 训练集: 420 张图片
    • 验证集: 105 张图片
  • 性能: 使用YOLOv8m实测 mAP@0.5 为 80.6%

数据集结构

假设数据集的目录结构如下:
在这里插入图片描述

sleep_detection_dataset/
├── images/
│   ├── train/
│   │   ├── img1.jpg
│   │   ├── img2.jpg
│   │   └── ...
│   └── val/
│       ├── img1.jpg
│       ├── img2.jpg
│       └── ...
├── labels/
│   ├── train/
│   │   ├── img1.txt
│   │   ├── img2.txt
│   │   └── ...
│   └── val/
│       ├── img1.txt
│       ├── img2.txt
│       └── ...
├── data.yaml
└── README.md

类别标签文件 (data.yaml)

如何训练YOLOv8模型

我们将使用Ultralytics的YOLOv8库来进行训练。以下是详细步骤:

  1. 安装依赖项

    首先,确保你已经安装了必要的Python库:

    pip install ultralytics opencv-python
    
  2. 准备数据集

    确保你的数据集目录结构如上述所示,并且 data.yaml 文件正确配置。

  3. 编写训练脚本

    创建一个训练脚本来启动训练过程。

    [<title=“YOLOv8 训练脚本”>]

    from ultralytics import YOLO
    
    # 加载预训练的YOLOv8m模型
    model = YOLO('yolov8m.pt')
    
    # 训练模型
    results = model.train(
        data='sleep_detection_dataset/data.yaml',
        epochs=50,
        batch=16,
        imgsz=640,
        save_period=-1,  # 不保存中间权重
        project='runs/detect/sleep_detection',
        name='yolov8m_sleep'
    )
    
  4. 运行训练脚本

    在终端中运行训练脚本:

    python train_yolov8.py
    
  5. 评估模型

    训练完成后,可以使用验证集评估模型性能。

    [<title=“YOLOv8 评估脚本”>]

    from ultralytics import YOLO
    
    # 加载训练好的模型
    model = YOLO('runs/detect/sleep_detection/yolov8m_sleep/weights/best.pt')
    
    # 评估模型
    metrics = model.val(data='sleep_detection_dataset/data.yaml')
    print(metrics)
    
  6. 推理与测试

    使用训练好的模型进行推理和测试。

    [<title=“YOLOv8 推理脚本”>]

    from ultralytics import YOLO
    import cv2
    
    # 加载训练好的模型
    model = YOLO('runs/detect/sleep_detection/yolov8m_sleep/weights/best.pt')
    
    # 读取图像
    image_path = 'path/to/test/image.jpg'
    img = cv2.imread(image_path)
    
    # 进行预测
    results = model(img)
    
    # 显示结果
    for result in results:
        boxes = result.boxes.cpu().numpy()
        for box in boxes:
            r = box.xyxy[0].astype(int)
            cls = int(box.cls[0])
            conf = box.conf[0]
            label = f'{model.names[cls]} {conf:.2f}'
            cv2.rectangle(img, (r[0], r[1]), (r[2], r[3]), (0, 255, 0), 2)
            cv2.putText(img, label, (r[0], r[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
    
    cv2.imshow('Inference Result', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

可视化训练结果

你可以使用Ultralytics提供的工具来可视化训练过程中的损失曲线、mAP等指标。

tensorboard --logdir runs/detect/sleep_detection/yolov8m_sleep

总结

。这个模型能够有效地识别监控摄像头下的“睡岗”和“非睡岗”状态。希望这些详细的信息和代码示例对你有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值