睡岗检测数据集(工作 课堂等) 3100张 增强 睡岗趴睡 带标注 voc yolo

睡岗检测是一项重要的安全监测任务,尤其是在需要高度警觉的工作环境中。该数据集旨在为研究人员和开发者提供一个高质量的、可用于训练和评估睡岗检测模型的数据集。

数据集特点
  • 类型:睡岗检测图像数据集。
  • 规模:包含3100张图像,涵盖了各种不同环境下的睡岗和趴睡场景。
  • 标注:提供详细的标注信息,支持 VOC 和 YOLO 两种标注格式。
  • 多样性:数据集包含了不同光线条件、不同角度、不同背景的睡岗图像。
  • 增强:通过对原始图像进行多种增强处理(如旋转、翻转、色彩调整等),增加了数据集的多样性和鲁棒性。

数据集组成

  • 训练集:用于训练模型,包含大多数图像。
  • 验证集:用于模型调参和验证,包含一定比例的图像。
  • 测试集:用于最终评估模型性能,包含一定比例的图像。

数据集目录结构

复制代码
1sleep_detection_dataset/
2├── images/
3│   ├── train/
4│   ├── val/
5│   └── test/
6├── annotations_voc/
7│   ├── train/
8│   ├── val/
9│   └── test/
10├── annotations_yolo/
11│   ├── train/
12│   ├── val/
13│   └── test/
14└── dataset.yaml  # YOLOv5 configuration file

标注信息

示例

每张图像都附带一个 XML 文件(VOC 格式)和一个 TXT 文件(YOLO 格式),包含睡岗对象的位置信息。

示例标注文件
VOC 格式
复制代码
1<annotation>
2    <folder>sleep_detection_dataset</folder>
3    <filename>000001.jpg</filename>
4    <object>
5        <name>Sleeping</name>
6        <pose>Unspecified</pose>
7        <truncated>0</truncated>
8        <difficult>0</difficult>
9        <bndbox>
10            <xmin>100</xmin>
11            <ymin>200</ymin>
12            <xmax>300</xmax>
13            <ymax>400</ymax>
14        </bndbox>
15    </object>
16</annotation>
YOLO 格式
10 0.45 0.55 0.2 0.3  # 类别索引0表示Sleeping,后续数字表示中心点坐标和宽高相对于图像尺寸的比例

使用指南

  1. 环境搭建:确保安装了YOLOv5或其他必要的软件包。
  2. 数据集准备:下载数据集并按照上述目录结构组织数据。
  3. 模型配置:设置YOLOv5或其他模型的训练参数。
  4. 模型训练:使用训练集对模型进行训练。
  5. 模型评估:使用验证集和测试集评估模型性能。

关键代码示例

1. 数据集准备
1import os
2import xml.etree.ElementTree as ET
3
4def parse_voc_annotation(xml_path):
5    tree = ET.parse(xml_path)
6    root = tree.getroot()
7    size = root.find('size')
8    width = int(size.find('width').text)
9    height = int(size.find('height').text)
10
11    objects = []
12    for obj in root.iter('object'):
13        difficult = obj.find('difficult').text
14        cls = obj.find('name').text
15        if cls not in ['Sleeping'] or int(difficult) == 1:
16            continue
17        xmlbox = obj.find('bndbox')
18        b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))
19        objects.append([cls, b])
20    return objects, width, height
21
22def load_data(data_dir):
23    data = []
24    for split in ['train', 'val', 'test']:
25        images_dir = os.path.join(data_dir, 'images', split)
26        annotations_dir = os.path.join(data_dir, 'annotations_voc', split)
27        for img_name in os.listdir(images_dir):
28            img_path = os.path.join(images_dir, img_name)
29            ann_path = os.path.join(annotations_dir, img_name.replace('.jpg', '.xml'))
30            objects, width, height = parse_voc_annotation(ann_path)
31            data.append((img_path, objects, width, height))
32    return data
33
34data_dir = 'path/to/sleep_detection_dataset'
35data = load_data(data_dir)

报告和文档

  • 报告:报告应包括数据集背景、数据集组成、标注信息、使用指南等内容。
  • 文档:文档应包括数据集的组织方式、标注信息、模型训练及评估的具体步骤等。

注意事项

  • 确保数据集的质量,特别是标注信息的准确性。
  • 在训练过程中,注意监控模型的学习曲线,确保模型没有过拟合。
  • 考虑到睡岗检测的多样性和复杂性,建议使用较大的模型和较长的训练周期以获得更好的性能。
相关推荐
懒惰才能让科技进步20 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
没有不重的名么32 分钟前
门控循环单元GRU
人工智能·深度学习·gru
love_and_hope36 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
学术头条1 小时前
AI 的「phone use」竟是这样练成的,清华、智谱团队发布 AutoGLM 技术报告
人工智能·科技·深度学习·语言模型
孙同学要努力1 小时前
《深度学习》——深度学习基础知识(全连接神经网络)
人工智能·深度学习·神经网络
喵~来学编程啦2 小时前
【论文精读】LPT: Long-tailed prompt tuning for image classification
人工智能·深度学习·机器学习·计算机视觉·论文笔记
-Nemophilist-4 小时前
机器学习与深度学习-1-线性回归从零开始实现
深度学习·机器学习·线性回归
蒙娜丽宁7 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
好喜欢吃红柚子7 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
羊小猪~~8 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习