攀爬行为识别数据集 yolo格式 类别:no_climb、climb 两种 训练数据已划分,配置文件稍做路径改动即可训练。
训练集:9030 验证集:1130 共计10160张图片,压缩后文件总大小:1.3GB
数据集介绍
名称: 攀爬行为识别数据集 (Climbing Behavior Recognition Dataset)
描述: 本数据集旨在支持对人类攀爬行为的自动识别。它特别适用于监控系统、安全应用和行为分析等领域,帮助区分正常活动与潜在的非法入侵行为。
类别:
no_climb
: 代表没有攀爬行为发生的图像。climb
: 代表有人正在进行攀爬行为的图像。
数据量:
- 总图片数: 10,160张
- 训练集: 9,030张
- 验证集: 1,130张
文件大小:
- 压缩后的文件总大小约为1.3GB
格式:
- 图像采用常见的格式(如JPEG, PNG等)。
- 标注文件采用YOLO格式,即每个图像对应一个文本文件,其中包含边界框坐标及类别标签。例如,对于
climb
类别的标注,文本文件中的每一行将按照以下格式表示:<class_id> <x_center> <y_center> <width> <height>
,其中<class_id>
为0(代表no_climb
)或1(代表climb
),其余参数均为归一化后的浮点数值。
训练结果
模型: YOLOv8
模型文件:
- 训练完成后,提供了YOLOv8模型文件,可以直接用于推理或进一步微调。
使用说明:
- 配置文件修改: 在开始训练前,请确保调整YOLOv8的配置文件以指向正确的数据路径。
- 依赖库安装: 确保安装了必要的Python库,如
ultralytics
(YOLOv8的官方库)和其他相关依赖。 - 运行命令: 可以使用如下命令启动训练(请替换实际路径和参数):
yolo task=detect mode=train model=yolov8n.pt data=path/to/data.yaml epochs=100 imgsz=640
这个数据集和预训练模型可以作为一个起点,用于开发更复杂的攀爬行为检测系统
假设您已经安装了ultralytics
库(YOLOv8的官方库),并且您的数据集已经按照YOLO格式准备好。如果您还没有安装ultralytics
,可以使用以下命令进行安装:
pip install ultralytics
数据集结构
确保您的数据集目录结构如下所示(这只是一个示例结构,您可以根据实际情况调整):
climbing_dataset/
├── images/
│ ├── train/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ ├── val/
│ │ ├── img1001.jpg
│ │ ├── img1002.jpg
│ │ └── ...
├── labels/
│ ├── train/
│ │ ├── img1.txt
│ │ ├── img2.txt
│ │ └── ...
│ ├── val/
│ │ ├── img1001.txt
│ │ ├── img1002.txt
│ │ └── ...
└── data.yaml
data.yaml
配置文件
创建一个名为 data.yaml
的配置文件,内容如下:
train: ./climbing_dataset/images/train
val: ./climbing_dataset/images/val
nc: 2 # number of classes
names: ['no_climb', 'climb']
训练脚本
下面是一个使用YOLOv8进行训练的Python脚本示例:
from ultralytics import YOLO
# 加载预训练模型或从头开始训练
model = YOLO('yolov8n.pt') # 使用预训练的YOLOv8n模型
# model = YOLO() # 从头开始训练
# 开始训练
results = model.train(
data='path/to/data.yaml', # 指定数据集配置文件路径
epochs=100, # 训练轮次
batch=16, # 批处理大小
imgsz=640, # 输入图像尺寸
workers=8, # 数据加载线程数
device=0, # 使用GPU设备编号,默认为0
project='climbing_detection', # 保存结果的项目名称
name='exp', # 实验名称
exist_ok=True # 如果存在相同实验名,覆盖旧的结果
)
# 可视化训练结果
results.plot()
# 保存模型
model.save('climbing_detection_model.pt')
关键点解释
-
加载模型:
YOLO('yolov8n.pt')
: 加载预训练的YOLOv8n模型。YOLO()
: 从头开始训练一个新的YOLOv8模型。
-
训练参数:
data
: 指向包含数据集信息的data.yaml
文件。epochs
: 设置训练轮次。batch
: 设置批处理大小。imgsz
: 设置输入图像的尺寸。workers
: 设置数据加载线程数。device
: 设置使用的GPU设备编号。project
和name
: 指定保存训练结果的目录和实验名称。exist_ok
: 如果设置为True
,允许覆盖已有实验结果。
-
可视化与保存:
results.plot()
: 绘制训练过程中的损失曲线等统计图表。model.save('climbing_detection_model.pt')
: 保存训练好的模型。
运行脚本
将上述代码保存为一个Python文件(例如 train.py
),然后在终端中运行:
python train.py
这样,您就可以开始训练您的攀爬行为识别模型了。如果需要进一步调整超参数或优化模型性能,可以根据实际需求修改训练脚本中的参数。希望这对您有帮助!