数据集特点
- 类型:人体五种行为数据数据集。
- 格式:YOLO格式,适用于训练YOLO系列目标检测模型(如YOLOv5)。
- 规模:共包含1500张图像。
- 标注:使用.txt文件进行标注,每个文件对应一张图像,标注格式为YOLO格式(类别标签、中心坐标百分比、宽度和高度百分比)。
- 类别:五种人体行为类别。
- 质量:数据集标注准确,涵盖了多种场景和光照条件下的行为。
数据集组成
- 训练集:用于训练模型,包含1050张图像。
- 验证集:用于模型调参和验证,包含225张图像。
- 测试集:用于最终评估模型性能,包含225张图像。
数据集目录结构
1human_behavior_dataset/
2├── images/
3│ ├── train/
4│ ├── val/
5│ └── test/
6└── labels/
7 ├── train/
8 ├── val/
9 └── test/
标注格式
示例
假设数据集中包含五种行为类别,分别标记为0至4:
- 0: 行走
- 1: 跑步
- 2: 跳跃
- 3: 跌倒
- 4: 手势
每个.txt
文件包含多个行为对象的标注,格式为:
1<类别> <中心_x> <中心_y> <宽度> <高度>
其中,所有坐标值均为相对于图像尺寸的百分比。
示例标注文件
假设有一张图像中包含两个行为对象,一个是行走的人(类别0),位于图像的左上角附近;另一个是跳跃的人(类别2),位于图像的右下角附近,则对应的.txt
文件内容可能如下所示:
10 0.25 0.25 0.2 0.2 # 行走的人
22 0.75 0.75 0.2 0.2 # 跳跃的人
使用指南
- 环境搭建:确保安装了YOLOv5和其他必要的软件包。
- 数据集准备:下载数据集并按照上述目录结构组织数据。
- 模型配置:设置YOLOv5的训练参数,包括类别数量等。
- 模型训练:使用训练集对模型进行训练。
- 模型评估:使用验证集和测试集评估模型性能。
关键代码示例
1. 数据集准备
1import os
2import cv2
3import numpy as np
4
5def load_data(data_dir):
6 labels = sorted(os.listdir(data_dir))
7 data = []
8 for label in labels:
9 path = os.path.join(data_dir, label)
10 for img_name in os.listdir(path):
11 img_path = os.path.join(path, img_name)
12 img = cv2.imread(img_path, cv2.IMREAD_COLOR)
13 img = cv2.resize(img, (640, 640)) # YOLOv5 输入尺寸
14 data.append([img, labels.index(label)])
15 return np.array(data)
16
17data_dir = 'path/to/human_behavior_dataset'
18data = load_data(data_dir)
2. 模型训练
1# 安装YOLOv5
2pip install yolov5
3
4# 开始训练
5yolov5 train data=path/to/human_behavior_dataset/data.yaml cfg=yolov5s.yaml weights=pretrained_weights.pt epochs=100
报告和文档
- 报告:报告应包括数据集背景、数据集组成、标注格式、使用指南等内容。
- 文档:文档应包括数据集的组织方式、标注格式、模型训练及评估的具体步骤等。