APP下载

改进YOLOv5的人体摔倒检测

2023-06-25张靖

现代信息科技 2023年4期

摘  要:摔倒是影响老人生命安全的重要问题之一,为提高检测准确率,将YOLOv5模型应用于摔倒检测并做了改进。首先,用K-means聚类算法得到更符合目标形态的anchor长宽比例,使边界框更精确,提高摔倒检测准确率。其次,用EIoU损失函数替换CIoU损失函数,加快收敛速度,使目标定位更准确。实验结果表明,改进后的YOLOv5模型检测效果较好,准确率达到99.1%,mAP值达到99.3%,能够更好地满足摔倒检测的要求。

关键词:改进YOLOv5算法;人体摔倒检测;K-means聚类;EIoU损失函数

中图分类号:TP391.4  文献标识码:A  文章编号:2096-4706(2023)04-0121-04

Improved YOLOv5 Human Fall Detection

ZHANG Jing

(College of Computer Science and Technology, Taiyuan Normal University, Jinzhong  030619, china)

Abstract: Falling is one of the important problems affecting the life safety of the elderly. In order to improve the detection accuracy, YOLOv5 model is applied to fall detection and improved. Firstly, K-means clustering algorithm is used to get the ratio of the length and width of the anchor which is more in line with the target shape, and it makes the bounding box more accurate and improves the accuracy of fall detection. Secondly, it replaces the CIoU loss function with EIoU loss function to speed up the convergence and make the target location more accurate. The experimental results show that the improved YOLOv5 model has a better detection effect, with an accuracy rate of 99.1% and the mAP value reaches 99.3%, which can better meet the requirements of fall detection.

Keywords: improved YOLOv5 algorithm; human fall detection; K-means clustering; EIoU loss

0  引  言

全国第七次人口普查结果显示60周岁及以上人口突破2.6亿,约占总人口数的18.7%,比2010年上升5.44%[1]。随着人口老龄化比例的逐年增加,摔倒是危害老年人健康的首要原因[2,3]。一旦老人摔倒后长时间不被发现将会有生命危险。目前,针对摔倒检测方法主要有以下两种:基于传感器和基于计算机视觉。基于传感器的设备有穿戴式和环境传感器两种。如Alesin等人[4]设计了多功能可穿戴设备,可以戴在手腕、上臂、上腿或脚踝上,用于监测人体的实时位置和运动活动。但是,人体运动幅度较大时误报警率高。Lin等人[5]通过在眼镜框上镶入加速度器和陀螺仪获取信号,检测加速度和用户头部方向的变化来判断是否发生摔倒。但老人经常会忘记佩戴。Yang等人[6]使用Wi-Fi设备的通道状态信息,通过识别不同活动会对Wi-Fi信号产生不同的影响进行摔倒检测。Wi-Fi设备检测摔倒误检率较高。

在计算机视觉领域深度学习技术广泛应用到目标检测和图像识别中,基于准确性与实时性两方面考虑,分为基于YOLO系列算法的人体行为识别和基于SSD算法的人体行为识别。Wang等人[7]在YOLOv3算法中引入锚点参数,通过K-means算法优化锚框,在gpu服务器上用自建数据集对网络模型进行训练和测试。实验结果mAP值为0.83。周洪成等人[8]采用YOLOv5算法对摄像头采集到的数据判断人体的动作姿态,将动作姿态信息经连接树莓派的Wi-Fi模块发送到監护人的手机上,如有摔倒发生可及时救助。实验结果mAP值为0.83。精确度仍有待提高。马露等人[9]提出改进FSSD(Feature Fusion Single Shot Multibox Detector)网络模型进行摔倒检测。该网络模型通过基础网络和辅助网络对图像特征进行提取,增加上下文信息提高摔倒检测的准确率。

综上所述,针对以上方法对于摔倒检测的准确率和实时性不高的问题,本文提出用K-means算法优化锚框并采用EIoU损失函数的YOLOv5检测算法,提高了摔倒检测的准确率和实时性,能够更好地检测出摔倒行为。

1  算法描述

2020年Ultralytics公司发布了YOLOv5网络模型,该模型易于部署且检测速度快,分为YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x这5种网络架构。本文选用YOLOv5中典型的网络模型YOLOv5s进行摔倒检测,YOLOv5s(以下简称YOLOv5)网络的深度和特征图宽度都很小使得训练速度快、实时性强。YOLOv5分为输入端、Backbone、Neck、输出端四部分。如图1所示(YOLOv5-6.0版本)。本文对YOLOv5-6.0版本进行改进,以提高摔倒检测的准确率和实时性。

YOLOv5的输入端包含Mosaic数据增强技术、图片尺寸缩放和自适应锚框计算三种方法。通过Mosaic数据增强技术随机选取四张图片进行随机缩放、剪裁等操作后拼接成一张图片,丰富了训练数据集。通过图片尺寸缩放技术将图片缩放成固定大小,提高训练速度。通过自适应锚框计算方法生成最佳锚框值。

YOLOv5中使用了两种CSP结构。主干网络Backbone使用CSP1_X结构,Neck网络使用CSP2_X结构。其中的X表示有几个残差组件。两种CSP结构对应两个网络,从而使得残差结构的输出更易融合。在目标检测的后处理过程中,通常使用NMS方法对多目标框进行筛选,加强了遮挡目标的检测能力。

2  模型改进

2.1  损失函数改进

损失函数能够評估模型训练结果的好坏,训练结果通常用于调整网络权重,从而加快模型收敛,因此损失函数会直接影响到目标检测的效果。YOLOv5采用的损失函数是CIoU loss[10],该损失函数考虑了重叠面积、中心点距离以及长宽比这三个几何参数。CIoU loss的公式为:

(1)

(2)

式中,IoU为预测框与真实框的交并比,β2(b,bgt)表示真实框和预测框的中心点距离,c表示真实框和预测框最小外接矩形的最短对角线长度。v表示衡量长宽比一致性参数,α表示平衡参数,v的梯度w和h的计算如下:

(3)

由式(3)可推出  表示w和h的梯度值是相反的,即一个增大时另一个必然在减少。将导致预测框不能很好的与真实框贴合以及损失函数收敛过慢。对于此问题,本文采用EIoU损失函数[11],EIoU提出了分别计算w和h的损失,得到更快的收敛速度。EIoU损失函数公式为:

(4)

其中cw、ch表示真实框和预测框的最小外接矩形的宽和高,EIoU将损失函数划分成:IoU损失LIOU、距离损失Ldis和长宽比损失Lasp,通过这种方式,可以保留CIoU损失的有利特征。同时,EIoU损失直接最小化了真实框和预测框的宽度和高度之差,得到了更快的收敛速度和更好的定位结果。

为了提高YOLOv5算法在摔倒检测中的检测精度,将EIoU损失函数引入到YOLOv5网络中替换掉原始的CIoU损失函数,进行网络训练。

2.2  改进anchor机制

anchor框尺度的设定与模型的检测性能好坏有直接关系。YOLOv5有默认的anchor boxs尺度和长宽比,但不同数据集与所给定的anchor boxs默认参数不能很好的匹配。理论上来说,anchor boxs的尺寸与数据集中的真实框(ground truth)尺寸越接近,模型的检测性能越好。因此本文采用K-means聚类算法对标注的数据集真实框尺寸进行聚类,从而得到适用于本实验数据集的anchor框尺寸。其中K等于9,具体步骤为:

(1)读取训练集中包含M张图片的标注文件,解析真实框的宽高;

(2)在训练集中挑选k个真实框对k个anchor boxs进行初始化;

(3)依次计算每个真实框与每个anchor box的误差d,其中d=1-IoU,IoU(Intersection over Union)为真实框与anchor框的交并比,将真实框分类给与其误差d最小的anchor box;

(4)根据分类结果找到每个anchor box包含的所有真实框的均值,用其对anchor box进行更新;

(5)重复3、4步骤,直到真实框的分类不再更新。

通过K-means聚类分析手工标注的训练集,得到更符合人体目标边界框的先验框,设置优化算法中的anchor参数,使之与人体摔倒的目标形态相匹配,提高摔倒检测算法精度。

3  实验分析

3.1  数据集与实验环境

本文所采用的是UR fall detection dataset(URFD)摔倒数据集,从中选取30个摔倒图像和28个正常活动图像进行手工标注后训练,包含多个身高体型不同的人类进行正常以及摔倒活动,存在光照变化以及部分目标遮挡现象。

本实验的操作系统为Windows 10,GPU为NVIDIA Quadro RTX 5000,GPU显存为16 GB,CUDA10.1版本,使用Python程序设计语言,Python 3.6版本,算法框架为Pytorch,torch1.7.1版本,YOLOv5s训练时迭代次数为210次,batch size为16,学习率为0.01。

3.2  算法的评价指标

在检测出目标后,需要对检测效果进行评价。评价所用到的指标有,平均精度(Average Precision, AP);多个类别平均精度的平均值(mean Average Precision, mAP)。

准确率(Precision)表示真正例在检索所有数据中所占的比例,公式为:

(5)

召回率(Recall)表示正样本中的正例有多少被预测正确了,公式为:

(6)

其中TP(True Positive)表示摔倒行为并分为摔倒的次数;TN(True Negatives)表示非摔倒行为并分为非摔倒的次数;FP(False Positive)表示非摔倒行为却被分为摔倒的次数;FN(False Negatives)表示摔倒行为却被分为非摔倒的次数。

平均精度(AP)表示以Precision为纵轴,Recall为横轴组成的曲线所围成的面积:

(7)

平均精度均值(mAP)表示数据集中所有类别的平均精度的均值,公式为:

(8)

其中m表示测试集中的样本个数。

3.3  实验结果与分析

本文在URFD数据集上对各种不同身形的人进行摔倒和日常活动行为进行检测。图2为模型训练的mAP图,图3为模型训练的YOLOv5与改进后的YOLOv5的box_loss 值对比,可以看出随着模型迭代次数的增加,模型的mAP值和box_loss值逐渐趋于收敛,说明模型具有较好的拟合程度。

图4展示了改进的YOLOv5摔倒检测模型在URFD数据集上的检测效果,不同的行为由不同的颜色框定,由此可以看出,本文算法可以正确的框定目标以及识别出目标行为。

由表1可知,改进后的YOLOv5算法在URDF数据集上的准确率为99.1%比原始YOLOv5提高了2.1%,比YOLOv3提高了3.5%,mAP為99.3,比YOLOv3、YOLOv5提高了0.6%。本文算法具有更好的检测能力,改进后的YOLOv5算法在检测视频时的检测速度为56.94FPS,可以实时检测摔倒行为。

4  结  论

本文阐述了YOLOv5在摔倒检测中的应用,针对已有检测方法对摔倒检测的精确度低、实时性不强的问题,本文提出了改进的YOLOv5摔倒检测算法提高了检测精度并且实时性强,本文通过使用K-means算法优化锚框得到更适合本实验的先验框,提高模型的收敛速度。对于衡量模型拟合程度好坏的损失函数,用EIoU替换CIoU损失函数,分别计算框的宽和高损失,使模型收敛速度更快并且提高了精度,减少了神经网络的损失。实验结果表明,改进后的YOLOv5摔倒检测模型的准确率为99.1%,比原始YOLOv5提高了2.1%,说明模型检测取得了不错的效果,可以很好的识别摔倒行为,下一步将继续优化YOLOv5目标检测模型提高识别稳定性,使其在遮挡和复杂场景下效果更好。

参考文献:

[1] 国家统计局.第七次全国人口普查主要数据情况 [EB/OL].(2021-05-11).http://www.stats.gov.cn/ztjc/zdtjgz/zgrkpc/dqcrkpc/ggl/202105/t20210519_1817693.html.

[2] 中国老年人跌倒风险评估专家共识(草案) [J].中国老年保健医学,2019,17(04):47-48+50.

[3] 崔建英,刘燕,熊英.老年综合评估护理方案在老年人院外跌倒防范中的应用 [J].护理研究,2020,34(24):4473-4475.

[4] ALESIN A,OSANLOU A,MAW S W. A low budget multifunctional wearable device for motion and falls detection [C]//2018 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus).IEEE,2018:1850-1855.

[5] LIN C L,CHIU W C,CHEN F H,et al. Fall Monitoring for the Elderly Using Wearable Inertial Measurement Sensors on Eyeglasses [J].IEEE Sensors Letters,2020,4(6):1-4.

[6] YANG X,XIONG F,SHAO Y,et al. WmFall:WiFi-based multistage fall detection with channel state information [J].International Journal of Distributed Sensor Networks,2018,14(10):1-10.

[7] WANG X,JIA K. Human Fall Detection Algorithm Based on YOLOv3 [C]//2020 IEEE 5th International Conference on Image,Vision and Computing(ICIVC).IEEE,2020:50-54.

[8] 周洪成,杨娟,徐志国.基于YOLOv5算法的人体跌倒检测系统设计 [J].金陵科技学院学报,2022,38(2):22-29.

[9] 马露,裴伟,朱永英,等.基于深度学习的跌倒行为识别 [J].计算机科学,2019,46(9):106-112.

[10] ZHENG Z,WANG P,REN D,et al. Enhancing Geometric Factors in Model Learning and Inference for Object Detection and Instance Segmentation [J].IEEE Transactions on Cybernetics,2022,52(8):8574-8586.

[11] ZHANG Y F,REN W,ZHANG Z,et al. Focal and Efficient IOU Loss for Accurate Bounding Box Regression [J].arXiv:2101.08158 [cs.CV].(2021-01-20).https://arxiv.org/abs/2101.08158v2.

作者简介:张靖(1997—),女,汉族,陕西宝鸡人,硕士研究生在读,研究方向:智能数据分析、目标检测。

收稿日期:2022-10-10