基于YOLOv8的5类人体行为检测完整教程
文章目录
- 项目概述
- 数据集详情
2.1 数据集规模与类别分布
2.2 数据集目录结构 - 环境部署准备
3.1 依赖库安装
3.2 YOLOv5源码下载 - 数据集配置文件编写
- 模型训练流程
- 模型验证评估流程
- 模型推理预测流程
7.1 加载预训练模型推理单图
7.2 加载训练完成模型测试图片 - 版权声明
一、项目概述
本项目基于YOLOv8目标检测算法搭建人体行为检测模型,可识别5种人体行为类别:跌倒、站立、蹲下、坐下、跑步。
配套数据集同时提供VOC(XML)、YOLO(TXT)两种标注格式,可直接用于YOLOv5模型训练,适用于安防摔倒预警、厂区人员行为监控、居家老人看护等场景。
二、数据集详情
2.1 数据集规模与类别分布
总图片数量:3000张
- 训练集:2400张
- 验证集:600张
合计:3000张图像,3000个目标标注框
2.2 数据集目录结构
human_behavior_detection_dataset/ ├── images/ # 图片文件夹 │ ├── train/ # 训练集图片 │ │ ├── 000001.jpg │ │ ├── 000002.jpg │ │ └── ... │ ├── val/ # 验证集图片 │ ├── 000001.jpg │ ├── 000002.jpg │ └── ... ├── labels/ # YOLO TXT标注文件 │ ├── train/ │ │ ├── 000001.txt │ │ ├── 000002.txt │ │ └── ... │ ├── val/ │ ├── 000001.txt │ ├── 000002.txt │ └── ... ├── labels_voc/ # VOC XML标注文件 ├── train/ │ ├── 000001.xml │ ├── 000002.xml │ └── ... ├── val/ ├── 000001.xml ├── 000002.xml └── ...三、环境部署准备
3.1 批量安装依赖
新建requirements.txt,写入以下依赖:
numpy opencv-python pyyaml torch torchvision albumentations matplotlib pandas执行安装命令:
pipinstall-rrequirements.txt3.2 下载YOLOv5源码
gitclone https://github.com/ultralytics/yolov5cdyolov5 pipinstall-rrequirements.txt四、数据集配置文件
在yolov5根目录新建human_behavior_detection.yaml,配置内容:
path:human_behavior_detection_dataset# 数据集根目录相对路径train:images/train# 训练集图片路径val:images/val# 验证集图片路径nc:5# 检测类别总数names:['Fall','Stand','Squat','Sit','Run']# 类别名称对应五、模型训练流程
- 加载官方预训练权重模型
- 读取训练集图片与标注
- 前向传播、反向传播迭代训练
- 保存训练权重文件
六、模型验证评估流程
- 加载预训练模型
- 设置输入图像尺寸
- 加载验证集图片与标注
- 模型推理计算指标
- 计算mAP、Precision、Recall等统计指标
七、模型推理预测流程
7.1 通用推理步骤(预训练模型测试)
- 加载预训练模型
- 读取本地图像
- 模型前向预测
- 绘制检测框可视化图像
- 展示结果图片
7.2 训练完成模型测试流程
- 加载训练完毕的权重模型
- 读取待测试图片
- 执行目标检测预测
- 可视化绘制类别、置信度、边界框