APP下载

基于OpenPose改进的老人摔倒检测算法

2024-01-23胡昕刘瑞安黄玉兰

现代信息科技 2023年23期
关键词:深度学习

胡昕 刘瑞安 黄玉兰

摘  要:为避免老人摔倒后未能及时提供医疗援助而造成的人身伤害,研究发现老人摔倒并及时发出警告,可减少老人摔倒的损失和严重后果。为了提高老人摔倒检测算法的检测精度和实时性能,提出了一种基于OpenPose改进的老人摔倒检测算法。该算法在OpenPose人体骨架信息识别网络的基础上,提出将其部分卷积层替换为深度可分离卷积神经网络类型。该算法使用长短期记忆神经网络来检测老人的摔倒。从URFall公共数据集提取跌倒和相关行为数据,丰富自制数据集,实验结果表明,本文改进后算法大大提升了系统判别摔倒的识别精度。

关键词:OpenPose;深度可分离卷积;长短期记忆神经网络;摔倒检测;深度学习

中图分类号:TP391.41;TP183 文献标识码:A 文章编号:2096-4706(2023)23-0073-07

Improved Elderly Fall Detection Algorithm Based On OpenPose

HU Xin, LIU Ruian, HUANG Yulan

(College of Electronics and Communication Engineering, Tianjin Normal University, Tianjin  300387, China)

Abstract: In order to avoid personal injuries caused by failure to provide timely medical assistance after an elderly fall, the study finds that elderly falls and timely warnings can reduce the damage and serious consequences of elderly falls. In order to improve the detection accuracy and real-time performance of the elderly fall detection algorithm, an improved elderly fall detection algorithm based on OpenPose is proposed. The algorithm proposes to replace some of its convolutional layers with the Depthwise Separable Convolution neural network type based on the OpenPose human skeleton information recognition network. The algorithm uses the Long Short-Term Memory Networks to detect falls of the elderly. The fall and related behavioural data are extracted from the URFall public dataset to enrich the home-made datasets. Experimental results show that the improved algorithm in this paper greatly improves the recognition accuracy of the system in discriminating falls.

Keywords: OpenPose; Depthwise Separable Convolution; Long Short-Term Memory Network; fall detection; Deep Learning

0  引  言

近年来,摔倒行为在老年人日常生活中已经越来越普遍。在美国,65岁及以上的老年人中约有30%的人每年至少摔倒一次,而80岁及以上的老人发生的摔倒行为更是高达50%[1]。中国社区医学的统计资料表明:30%的65岁以上老年人每年跌倒1次或多次,80岁以上的老年人摔倒的发生率高达50%。摔倒的发生率随着年龄而增加。女性发生率高于男性。发生摔倒的场所以家中居多,占60%,30%发生在公共场所,10%发生在医疗保健部门。摔倒在我国65岁以上老年人的意外伤害死因顺位中居首位,并随年龄的增加跌倒的死亡率急剧上升,在85岁以上老年人中达到最高[2]。摔倒会对老年人的身体造成很严重的伤害,轻则不能自由活动,照顾自己的日常生活起居,严重时会造成老年人身体的残疾甚至死亡,并且影响老年人的身心健康。值得注意的是,送到医院救治的时间与摔倒死亡率之间存在明显的正相关关系。也就是说,如果能在很短的时间内送到医院救治,摔倒的老人可能不会产生特别严重的后果。因此,自动化的摔倒监测越来越受到研究者和医护人员的关注。它最大的功能是可以在监测到老年人摔倒时自动发出警报,其家人或附近的医院可以迅速做出反应,以及时挽救生命或者降低摔倒受伤后产生的严重后果程度。如果能够在科技方面提供有力的支持,就可以很大程度降低老年人摔倒后身体的伤亡情况。因此,将老年人的健康监护细化,摔倒行为的检测监护在现阶段成为智能养老应用研究的一大热点。

目前关于跌倒检测的研究可以分为三类。第一种是使用可穿戴传感器来检测跌倒的发生,并使用三轴加速度计等数据来检测一个人的姿势。Bourke[3]等人将加速度计和陀螺儀安装至腰部,从传感器数据中提取了12种不同运动学、动力学等特征,并将这些特征实现不同的组合,应用机器学习来判断摔倒姿态。由于算法是基于可穿戴设备的,这样就会产生像当人跌倒时穿戴在身上的设备可能会因跌倒而损坏,这样便造成了识别结果的不准确以及设备需要人时刻穿戴在身上,给用户带来了极大的不便等问题。第二种使用环境传感器,通过振动、红外传感器或音频来检测跌倒。Alwan[4]使用了振动传感器来判断摔倒姿态,将多个振动传感器安装于地板上,通过对振动信息的处理来判断人体的位置和姿态。基于环境的检测算法需要在环境中部署相关的传感器,这便对其使用环境有了很大的限制。如果环境中出现预期外的东西(如宠物等)也会影响到最终结果的准确性。第三种类型采用计算机视觉,计算机视觉跌倒检测方法使用图像处理和概率模型来检测人的轮廓,并应用机器学习或神经网络进行运动分类[5]。通过高斯混合模型(GMM)从背景中提取运动物体,生成人体轮廓[5]。这种方法避免了可穿戴传感器的问题,也不需要高成本的设备。然而,它很容易受到环境的干扰。如光线、衣服或重叠的人像。这种方法还存在着对隐私的担忧。另一种基于计算机视觉的跌倒检测方法使用了Kinect和OpenPose或Deepcut的人体骨架来获得关节点,以识别和预测跌倒[6]。骨架识别与人体轮廓识别相比,骨架识别受环境干扰的可能性较小,而且对隐私的保护也有所提高。由于训练数据是基于关节点而不是图片,所以训练时间更短。然而,这种方法存在着特征质量和缺失的关节点,从而导致较低的跌倒检测精度。

本文提出一种基于改进OpenPose的长短期记忆(LSTM)模型的摔倒检测框架,所提出的办法降低了设备成本,并且不需要用户佩戴传感器或使用特定的摄影设备。本文提出的算法可以从视觉传感器获得的视频图像中自动提取人体关键点信息,分析其内部数据相关特性,实现从RGB摄像机图像处理到老人摔倒检测的过程。该算法框架从OpenPose主干网络入手,采用了深度可分离卷积思路,提高了摔倒检测的识别精度,训练时间减少,保护用户隐私。

1  算法流程

本文提出的框架使用现有的UR跌倒检测数据集[7]作为输入,并对数据进行预处理以检索骨架关节点。对接头点数据进行进一步处理,以恢复缺失点。然后将它们分为训练数据集和测试数据集。图1显示了数据处理、训练和测试的程序框图。该框架首先将数据集中的行为分割成连续的图像序列。利用OpenPose从图片序列中提取骨架,获得25个人体关节点的位置数据。为了对接合点数据进行预处理,提出了一种最小最大值归一化方法。将处理后的关节点数据分为测试集和训练集,输入LSTM模型进行训练和测试。

1.1  OpenPose网络

OpenPose于2017年CVPR会议上发表,是美国卡耐基梅隆大学基于卷积神经网络和监督学习以caffe为框架开发的开源库[8],其功能有手指运动、面部表情、人体动作等姿态估计,适用于单人和多人并有极好的稳定性,是全球首个,基于深度学习的实时多人二维姿态估计应用算法,网络结构如图2所示。

OpenPose采用了CPM先检测关键点,自下而上地绘制出人体骨干图的方法,在其中加入了骨干走向的概念Part Affinity Fields(PAFs),PAFs是用来描述像素点在骨架中的走向,在OpenPose网络中用L(p)表示,关键点的位置在网络中用S(p)表示,通过全卷积网络来有效定位关键点,采用级联神经网络和中继误差来避免梯度消失,和CPM有相似的优势,OpenPose的结构分为两个分支,红色部分的分支用来预测关键点的位置,蓝色的部分用来预测点点之间的连接,称为亲和区域,且这两个分支在每个阶段后都有中间监管,计算一次Loss,再输入下一个阶段训练,随着迭代次数的增加,可以看出模型可以在一定程度上区分人体骨干的左右。

原文中首先通过VGG网络的前10层,包括7层卷积3层最大池化,得到一组初始的特征F,随后将F分别输入至每个阶段的两个分支,同时每一分支的输出会作为下一阶段的输入,用于产生更准确地预测结果,在MPII数据集上取得了91.2%的结果。

OpenPose基于卷积神经网络和监督学习,采用自底向上的方法,比自顶向下拥有更高的效率,在单人和多人人体姿态识别有很高的准确率,也在每个阶段后产生损失来避免梯度消失,但原文中的网络首先使用了VGG16提取特征,随后通过多个阶段的OpenPose网络,由于卷积层的数量很大,如果要直接移植到移动端用于实时计算延迟会很高,因此还要对提取特征的网络和OpenPose网络结构进行优化。

1.2  基于深度可分离卷积的OpenPose优化

1.2.1  深度可分离卷积

深度可分离卷积是由 Depthwise Convolution(DC)卷积与Pointwise Convolution(PC)卷积组成。其结构特征和普通卷积相似,均可用于特征的提取,但减少了参数量,降低了计算成本。所以在很多轻量级网络中,需要强调速率和网络的便捷度时,经常会用到此类结构,以此达到减少卷积层参数数目的作用。

图4展示了Mobilenet的Depthwise过程,图示将输入层H×W×C分成C组,每组分别做3×3的卷积运算,得到的特征为H×W×C。

图5展示的是Pointwise过程,输入为Depthwise过程的输出,经过k个1×1的卷积核运算,得到最终H×W×k的输出。

通过Depthwise和Pointwise得到的结构与普通卷积一致,这样就把一步普通卷积拆分成了两步,经过计算可以发现计算量比普通卷积得到了压缩,当k很小时,压缩的效果并不明显,当k很大时,如下式可以计算出压缩的比例得到了很大的变化:

1.2.2  OpenPose的优化

OpenPose网络有三个过程,首先需要通过一个特征提取的过程,再经过第一阶段,该阶段主要的作用是检测定位,其中一半是用来检测关键点,一半检测关键点之间的连接,再通过由后几个阶段组成的第三部分,主要作用是定位检测不明显的关键点以及连接,如手肘膝蓋等部位。为了提高执行速度减少计算量,本文使用三层卷积加一层最大池化进行特征提取,再将第一阶段的部分卷积层替换成深度可分离卷积层,使OpenPose网络有最快的处理速度,如图6所示结构。

简化后的网络模型与原模型相比少了四层卷积层与两层最大池化层,并且在第一层中将卷积层替换为了深度可分离卷积,能够大大减少计算量,可以有效加快运算速度,能够保证检测过程的实时性。

1.2.3  优化后的Openpose检测出人体骨架

执行过程如图7所示,Openpose的算法思路首先将图像数据输入到网络,然后分别经过两个网络分支,一个与预测图像中的所有关节点的位置信息,另一个去学习预测关节点之间的向量指向信息,输出总的PAFs。然后转化成图论中的匹配问题:边权值最大的二分图匹配。由点拼接处人的骨架。

如图8所示,OpenPose估计人体共有25个关节点,其中0点表示鼻子,14~17点表示左右眼睛和耳朵,1点表示颈部,2~7点表示左右肩膀、肘关节和手腕,8~13点表示左右臀部、膝盖和脚踝。

图9展示了用OpenPose模型检测出的人体骨架。这种方法能在复杂的环境中识别人体关节点。

1.3  长短期记忆神经网络(LSTM)

摔倒和其他人类行为通常可以被视为连续的序列,其空间和时间特征非常重要。循环神经网络(RNN)[9]虽然有其出色的内存,在处理时间序列数据方面特别强大,但为了解决RNN处理长序列数据的梯度爆炸和消失问题,本研究使用长短期记忆神经网络(LSTM)[10]来判断一个人是否产生跌倒行为。LSTM是一种能够有效解决长期依赖问题的特殊RNN。LSTM与传统RNN基本结构不同的是LSTM的隐藏层也就是循环层内不再是简单地使用一个激活函数来控制信息,而是引入了长期记忆细胞状态,并且使用“门”结构来控制不同时刻的状态和输出,缓解了传统RNN中易出现的梯度消失问题。

LSTM的基本单元是主要由存储单元和三个门控制单元(包括输入门(it)、输出门(ot)和遺忘门(ft))[11]形成的存储块。每个单元的内部结构如图10所示。存储单元由图顶部的水平直线表示,用于接收先前时刻的信息,并将处理后的信息传递到下一时刻。

对于每个LSTM单元格,第一步是决定我们会从细胞状态中丢弃什么信息。这个决定是由遗忘门的Sigmoid层做出的。该遗忘门会读取上一个ht-1和当前输入xt,做一个Sigmoid的非线性映射,然后输出一个介于0到1之间的值的向量ft(1表示完全保留,0表示完全舍弃,相当于记住了重要的,忘记了无关紧要的),最后与细胞状态Ct-1相乘。在跌落检测过程中,遗忘门选择性地存储和忘记由前一个LSTM单元传输的信息,以及由输入门传输的信息。然后,遗忘门存储一系列在行为识别中确定下降的帧图像。其计算公式如下:

其中xt表示通过输入门的人体关键点信息组,ht-1表示前一个LSTM单元格的输出,σ是Sigmoid层,ut表示遗忘门的输入系数矩阵,wf表示遗忘门的网络系数矩阵,Ct-1表示前一个LSTM单元的单元状态,Kt表示遗忘门的输出,用于更新当前单元状态。在忘记了LSTM单元的当前状态信息后,输入门对输入到当前单元的信息进行处理。

在我们的语言模型的例子中,我们希望增加新的主语的性别到细胞状态中,来替代旧的需要忘记的主语,进而确定更新的信息。首先,有必要使用ht-1和xt与s型图层结合,以确定需要在当前单元中更新的信息。第二,利用激活函数tanh来处理ht-1和xt获取新的候选单位信息作为补充信息。其计算公式如下:

其中it表示并行化后的输出信息,gi表示候选输入信息,ui表示输入门的输入系数矩阵;wi表示输入门的网络系数权重矩阵;ug表示候选输入信息的权重系数矩阵;wg表示输入门的权重系数矩阵;jt表示输入门的输出,用于更新当前单元状态;ct表示已更新的单元状态。

最后,当前的LSTM单元确定输出值。首先,利用s型层得到输出判断条件,然后利用一层tanh得到[-1,1]中的决策间向量。将该向量乘以从输入门得到的结果,得到最终的LSTM单位输出值。在跌倒检测过程中,输出门对最终信息进行归一化,以对跌倒和其他动作进行分类。具体公式如下:

其中ot表示并行化后的输出信息,uo表示输出门的输入系数矩阵,wo表示输出门的网络系数权重矩阵,ht表示当前LSTM单元的输出信息。

因此,LSTM在处理长序列数据方面具有独特的优势。在本研究中进行的实验都取得了足够好的效果。

在获取到人体关键点信息后,便需要对这些关键点进行分类,以判断出图像中人所处的状态,进而判断出视频中是否存在摔倒的现象。此研究采用LSTM对获取到的关节点信息进行分类。经训练后,LSTM分类器对关键点状态分类的准确率达到了99.38%。

2  实验结果与评估

2.1  数据集介绍

1)UR Fall Detection Dataset:该数据集包含70条人体生活序列(30个摔倒动作+40个日常生活动作),数据集由两个高清深度摄像机锁记录,一个安装于地板,一个安装在天花板,同时还附有加速度计进行数据记录[7]。

2)Fall Detection Dataset:该数据集是用于模拟摔倒的数据集,它包括原始的RGB图像和深度图像,由一个未校准的Kinect传感器在640×480大小下调整记录。

此研究的视频主要的行为是行走、站立、摔倒和坐着。为了丰富数据集,我们提取并处理了来自URFall公共数据集和FDD公共数据集关于这四种活动的视频。我们混合了这两个数据集,一方面是为了确保足够的数据量,另一方面是为了增加样本的多样性,以避免过拟合。如表1所示,本文分别从两个数据集中提取了相同数量的摔倒和非摔倒数据,形成混合数据集进行模拟训练。

2.2  实验结果

本文研究中使用的数据集包含了在日常生活中与摔倒相关的动作,例如:行走、坐着、站立、摔倒。本文采用了Adam对网络进行优化,在网络层采用ReLU方法来提高模型的泛化能力。最后利用全连接层和SoftMax分类器来进行最后的分类。本研究提出的优化的摔倒检测算法能够适用于现实的环境中,有效地将摔倒情况与日常情况区分出来,坐姿行为与摔倒行为相似,但本研究的算法可以很好地达到预期效果。本文使用了一些视频数据集呈现了一些正在运行的结果,具体如图11所示。

(a)站立                  (b)起身

(c)坐着                  (d)摔倒

2.3  实验结果分析

机器学习中,对于一个二分类问题,通常可划分成为四种情况。

这四种情况分别为TP(True Positive)、FP(False Positive)、FN(False Nagative)、TN(True Nagative)。当模型预测为正例,样本实际也为正例,模型预测正确,称为TP。当模型预测为反例,样本实际也为反例,模型预测正确,称为FP。当模型预测为反例,样本实际为正例,模型预测错误,称为FN。当模型预测为反例,样本实际为正例,模型预测错误,称为TN。

查准率可以理解为真实样本所有预测为正例样本的比重,查全率可理解为预测为正样本占所有真实样本的比重。

在摔倒检测领域内应用比较广泛的评判标准主要是三个指标,分别是准确性、敏感性和特异性。

基于OpenPose-LSTM老人摔倒检测模型,本研究中人摔倒检测的准确率达到99%,结果可以证明,本研究提出的OpenPose-LSTM网络模型对实验数据集具有较高的识别精度。表2显示了本研究中研究的模型与其他研究中使用的方法和性能比较,进一步表明该方法在准确性、特异性和敏感性方面均有一定程度的提升。

根据表2的模型对比,本文研究提出的基于改进的OpenPose-LSTM老人摔倒检测网络结构与文献[12]

摔倒检测网络对比,准确率和特异性分别提升了3.77%和1.4%,摔倒的识别率提高了将近4%,而且误报率非常低,与文献[13]相比,性能也有一定的提高,准确率和特异性分别提高了2.26%和1.05%。

综上所述,本研究提出的基于改进的OpenPose-LSTM老人摔倒检测模型可以获得更好的检测精度。另外,对于老人摔倒检测来说,使用该算法的目的是为了检测所有的坠落行为,以便及时对老人摔倒进行医疗救援,防止对老人造成不可逆转的伤害。因此,有可能有类似摔倒的行为,并被误判为摔倒,但不可能错过对摔倒行为的检测,所以准确度和灵敏性指标也非常重要。

3  结  论

本文基于优化的OpenPose-LSTM老人摔倒检测模型,首先利用改进的OpenPose从视频帧提取出人体骨架,获得人体特征信息。本文使用三层卷积加一层最大池化进行特征提取,再将第一阶段的部分卷积层替换成深度可分离卷积层,使OpenPose网络有最快的处理速度。然后利用长短期记忆网络对骨骼数据进行摔倒检测,判断是否摔倒。同时,本研究在URFall公共数据集和FDD公共数据集上验证了本文提出的方法,证明了该方法可以获得较高的检测精度。在未来,我们将评估本文的方法在多次摔倒的情况下的性能。此外,该算法可以布置在移动设备上,以便实现在日常生活中的应用。

参考文献:

[1] PEEL N M. Evaluation of a health service delivery intervention to promote falls prevention in older people across the care continuum [J].Journal of Evaluation in Clinical Practice,2010(16):1254-1261.

[2] 耳玉亮,段蕾蕾,葉鹏鹏,等.2014年全国伤害监测系统老年人非故意伤害病例特征分析 [J].中国健康教育,2016,32(4):312-317.

[3] BOURKR A K,KLENK J,SCHWICKERT L,et al. Fall detection algorithms for real-world falls harvested from limbar sensors in the elderly population:A machine learning approach [C]//38th Annual International Conference of the IEEE Engineering iin Medicine and Biology(EMBC).IEEE,2016:3712-3715.

[4] ALWAN M,RAJENDRAN P J,KELL S,et al. A smart and Passive Floor-Vibration Based Fall Detector for Elderly [C]//Information and Communication Technologies.Damascus:IEEE,2006:1003-1007.

[5] LIN C,WANG S,HONG J,et al. Vision-Based Fall Detection through Shape Features [C]//In Proceedings of the IEEE Second International Conference on Multimedia Big Data (BigMM).Taipei:IEEE,2016:237–240.

[6] GUNADI K,LILIANA,TJITROKUSMO J. Fall Detection Application using Kinect [C]//2017 International Conference on Soft Computing,Intelligent System and Information Technology (ICSIIT).Denpasar,IEEE,2017:279-282.

[7] STONE E E,SKUBIC M. Fall Detection in Homes of Older Adults Using the Microsoft Kinect [J].IEEE journal of biomedical and health informatics,2015,19(1):290–301.

[8] LIN T,MAIRE M,BELONGIE S,et al. Microsoft COCO:Common Objects in Context [C]//Computer Vision-ECCV 2014.Zurich:Springer,2014:740-755.

[9] SU B Y,HO K C,RANTZ M J,et al. Doppler Radar Fall Activity Detection Using the Wavelet Transform [J].IEEE Transactions on Biomedical Engineering,2015,62(3):865-875.

[10] 彭泽.基于三维人体姿态估计的老人跌倒检测 [D].郑州:郑州大学,2019.

[11] FENG Q,GAO C,WANG L,et al. Spatio-temporal fall event detection in complex scenes using attention guided LSTM [J].Pattern Recognition Letters,2018,130:242-249.

[12] LINA W,DING J. Behavior detection method of OpenPose combined with Yolo network [C]//2020 International Conference on Communications,Information System and Computer Engineering (CISCE).Kuala Lumpur:IEEE,2020:326-330.

[13] MUSCI M,MARTINI D D,BLAGO N,et al. Online Fall Detection Using Recurrent Neural Networks on Smart Wearable Devices [J].IEEE Transactions on Emerging Topics in Computing,2021,9(3):1276-1289.

作者簡介:胡昕(1997—),女,汉族,江西吉安人,硕士研究生在读,研究方向:人工智能、计算机视觉、人体姿态估计;刘瑞安(1966—),男,汉族,河北赵县人,教授,硕士研究生导师,博士,研究方向:视线跟踪技术、人脸检测和识别、通信技术和通信系统;黄玉兰(1998—),女,汉族,江西赣州人,硕士研究生在读,研究方向:机器学习、深度学习、数据挖掘。

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
面向大数据远程开放实验平台构建研究
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究