当前位置:   article > 正文

基于yolov5 人体行为检测 跌倒 站立 蹲下 坐下 跑 五种行为检测目标检测_yolov5 动作识别

yolov5 动作识别

基于yolov5的人体行为检测


一、项目背景/总体设计

  1. 目标检测是计算机视觉中从图像或视频中确定并定位多个目标。
  • 人、车辆、动物、物体等
  • 目标检测包括两个主要步骤:目标定位和目标分类。
  1. 人体行为检测的目的是通过分析和理解人体在图像或视频中的行为,从中获取关于人的动作、姿态和行为的信息其主要目标可以归纳为以下几点:
  • 行为理解:人体行为检测旨在识别和理解人体在特定场景下的行为模式。
  • .姿态估计:人体行为检测可以通过对人体关节位置和姿态的分析,实现对人体姿态的估计。
  • 动作识别:人体行为检测可以将人体的动作进行分类和识别,例如行走、跑步、打开门等
  • 事件检测:人体行为检测可以帮助识别和检测特定的事件或行为,例如摔倒、拥堵、抢劫等。
  1. 意义所在:人体跌倒是人们日常生活中常见姿态之一,且跌倒的发生具有随机、难以预测的特点;
    其次,跌倒会给人体造成不同程度的伤害,很多人跌倒后由于得不到及时的救助而加重受到的伤害,甚至出现残疾或者死亡的情况;同时随着人口老龄化问题的日渐加剧,跌倒已经成为了我国65周岁以上老人受伤致死的主要原因。

因此,跌倒事件严重影响着人们的身体健康,跌倒检测具有十分重要的研究意义。人体行为检测在安全防护、交通管理、健康医疗、用户体验和人机交互以及社会科学研究等多个领域具有重要的意义。它能够为我们提供更智能化、高效率、安全可靠的应用和服务,推动社会的进步和发展。

在这里插入图片描述
在这里插入图片描述

二、项目开发

1.数据集

数据大小12400
数据格式JPG/ mv
数据类别人体动作行为
  • 读取方式:
  1. 通过Labelimg对数据集进行标注,标注人体位置和对应的行为标签,确保每个样本都有准确的行为注释。
  2. 在数据集预处理阶段,将图像统一为相同的大小,以便输入到模型中
  3. 利用数据增强技术来扩充数据集,包括随机裁剪旋转翻转颜色****变换等,以增加数据的多样性,并提高模型的鲁棒性。进而提高模型的泛化能力
  • 部分数据集展示如下图
    在这里插入图片描述

2.神经网络结构— YOLOv5

  • Backbone网络:使用了一种轻量级的骨干网络作为特征提取器,以获得图像中的特征表示。常用的选择是CSPDarknet作为骨干网络,采用了Cross-Stage Partial连接(CSP)结构来提高网络的效率和准确性。
  • Neck网络:引入了一个称为PANet(Path Aggregation Network)的网络结构作为Neck部分用于融合不同尺度的特征图。PANet通过自上而下的路径和自下而上的路径,实现了特征金字塔的建立,使网络能够同时关注不同尺度的目标。
  • Head网络:头部网络负责预测目标的位置和类别信息。头部网络由一系列卷积层全连接层组成,用于对特征图进行处理和解码
  • 如下图展示是:---- YOLOv5网络结构图 ----

在这里插入图片描述

3.功能设计

  • 图像识别:根据人物图像来检测人体行为:跌倒(fall)、站立(stand)、蹲下(squat)、坐下(sit)、跑(run)。
  • 多人物图像识别:图像中含有多个人时候依然可以检测识别人体行为。
  • 模型训练和选择:yolov5

4.损失函数/超参数调节/拟合—详解说明

  1. YOLOv5使用了一种称为CIoU(Complete Intersection over Union)损失函数,用于优化目标框的预测和位置回归。CIoU损失函数综合考虑了目标框的位置、大小和形状等因素,能够更准确地衡量预测框和真实框之间的差异。
  2. 为了提高模型的检测精度,适应网络框架所需的输入,将所有的输入图像调整为640×640像素。受限于实验室电脑硬件配置,将批处理大小设置为16。本章节通过实验发现,模型在训练迭代80次之后,mAP曲线上升逐步趋于平缓,为了获取最优模型,将训练迭代次数设置为100,通过SGD优化器对网络参数进行优化。**动量、学习率、权重衰减系数等其他超参数,**是经过10次超参数进化得到的最优参数。在确定训练参数后,开始对模型进行训练。
  3. 为了提高模型收敛速度,首先使用COCO数据集对网络进行预训练,获得权重文件。COCO(Common Objects in Context)是一个常用的目标检测、物体识别和图像分割数据集
  4. 同时,由于COCO数据集中的目标数量更多,因此对于目标检测算法的准确性、鲁棒性和泛化能力的要求也更高,这也促进了目标检测算法的不断发展和提升。
  5. 使用的预训练权重是由YOLOv5作者提供,该权重是使用Amazon EC2云服务器进行训练,设置批处理大小为32,迭代次数为300得到。下载完权重后,使用迁移学习的方法,将训练集送入网络进行再训练
  6. 在训练过程中,每一次迭代结束后就在验证集上测试一轮平均精度值、损失值以及召回率,并保存一次模型,最后本章节将生成的最优模型作为测试对象,完成后续的辨识实验。
    -以下如图:参数调试训练
输入图像大小640×640
批处理16
初始学习率0.0032
衰减指数0.00036
迭代次数500
动量0.843

5.算法设计

YOLOv5是一种基于深度学习的目标检测算法,其设计主要包括以下几个关键步骤:

  • 数据准备:首先需要收集和标注包含目标物体的图像数据集,标注主要包括物体边界框的位置和分类标签。然后将数据集划分为训练集、验证集和测试集
  • 模型架构:YOLOv5 使用了一种轻量级的网络架构,主要由卷积层、池化层、连接层和最后的检测层组成。它采用了 CSPDarknet53 作为基础骨干网络,并在其上添加特征聚合模块和有效的下采样策略来提取丰富的特征表示。
  • 训练过程:在训练过程中,使用数据集进行模型的迭代训练。首先将输入图像通过网络前向传播,得到特征图。然后将特征图与真实标签进行匹配,计算损失函数,如目标检测任务中常用的交叉熵损失和均方差损失。最后利用反向传播算法更新网络参数,不断优化模型。
  • 目标检测与预测:在测试阶段,通过将输入图像通过网络前向传播,得到特征图。然后根据特征图进行目标检测和预测。YOLOv5 使用了锚框(anchor box)

6.loss中的变化

  • 变化如下图所示:
  • 图1:五种人体行为检测的P-R曲线
    在这里插入图片描述
  • 图2:五种人体行为检测的F1曲线
    在这里插入图片描述
  • 图3:网络训练过程各评价指标图

在这里插入图片描述

7.模型展示

  • 代码块:

在这里插入图片描述

  • 模型块:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三 总结

  • 结 论:
    基于YOLOv5模型,实现了对人体行为的准确检测和分析。通过实验结果和分析,验证了该模型在人体行为检测领域的有效性和潜力。人体行为检测技术在安防、智能驾驶、人机交互等领域具有广泛应用前景,未来还有更多的研究和改进空间。通过不断探索和创新,我们有望进一步提升人体行为检测技术的性能和应用范围,为社会带来更多的便利安全
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/133581
推荐阅读
相关标签
  

闽ICP备14008679号