基于轮廓关键点和LSTM的摔倒检测方法

2022-06-24 10:02卫少洁周永霞
计算机应用与软件 2022年4期
关键词:质心轮廓特征提取

卫少洁 周永霞

(中国计量大学信息工程学院 浙江 杭州 310018)

0 引 言

在我国,摔倒是老年人伤害死亡的首要原因。据统计,高龄老年人近一年的摔倒发生率为31.8%,其中32.5%的摔倒情况需要医疗救治,甚至危及生命[1]。当老人发生意外摔倒时,未能及时发现并救治极容易造成无法挽回的危害。因此,急需一种智能高效的方法来解决摔倒行为检测问题。

目前,针对摔倒行为检测的研究方法主要有3种类型,分别为可穿戴设备法、环境感知法和计算机视觉法。可穿戴设备法通过手机、手环、智能衣物等设备中的传感器获取运动数据,而环境感知法则使用外部环境(如地板、墙壁等)中的嵌入式传感器获取人体运动数据,结合SVM、ANN、RNN等算法,对传感器数据提取特征来检测摔倒行为的发生[2-6]。可穿戴设备法需随身携带或穿戴检测设备,存在诸多不便,且误检率较高;环境感知法存在场景要求复杂、检测范围局限和检测设备昂贵等缺点,在实际情况下可操作性较差,因此本文采取计算机视觉法进行摔倒检测。计算机视觉法通常以监控摄像头采集的视频作为数据,通过图像处理和机器学习等方法进行特征提取和算法建模,文献[7]采用高斯混合模型提取前景图像,定位人头位置并计算人体信息,通过设定人体高度和宽高比等特征阈值来判断摔倒。随着深度学习算法在图片分类、识别等多领域取得巨大成功,越来越多的学者尝试使用卷积神经网络自动学习人体特征,用于摔倒检测。文献[8]通过对图片提取光流信息作为运动特征,基于光流图像训练VGG16网络进行人体状态检测;文献[9]用背景减除法获取人体轮廓图,使用卷积神经网络来提取特征,最后用softmax计算概率来判决摔倒;文献[10]提出了一种基于3D卷积和LSTM相结合的摔倒检测算法,通过3DCNN提取视频中的运动特征,结合LSTM提取时序特征,实现摔倒判别,该模型由于参数量极大,训练过程复杂,对硬件设备要求较高,因此在实际应用中不易实现。目前,计算机视觉法多采用双流法、多帧融合、3D卷积等提取时空特征,这些方法难以有效结合时序特征,导致误检率高、泛化性低。而使用LSTM提取时序特征的摔倒检测模型大多是基于传感器数据,在计算机视觉法中应用较少,原因在于图像特征维度较高,特征冗余使模型训练效率低下,影响模型检测精度。

针对上述问题,本文提出了一种新的人体轮廓关键点特征提取方法,并将该特征提取方法和LSTM相结合提出了一种新的摔倒行为检测模型(简称C- LSTM)。C-LSTM模型首先检测多帧图像中人体轮廓关键点和质心的坐标,得到人体关键点坐标序列;然后将坐标序列分成x坐标序列和y坐标序列,使用两个LSTM分别提取两种坐标序列中的时序特征;最后将两个LSTM隐层输出向量输入全连接层得到检测结果。该模型在摔倒行为检测和多种行为识别上都达到了较高精度,且与深层卷积网络模型相比,具有训练速度快、对设备要求低等优点。

1 相关算法原理

1.1 人体特征提取方法

人体运动过程中,各个部位关键点在图片序列中的坐标变化非常明显且具有特异性,因此,本文通过结合人体轮廓关键点坐标和质心坐标作为人体特征来进行摔倒检测算法研究。

已有的轮廓特征提取方法通常计算轮廓曲线上每个点到质心的距离作为特征,但该方法存在三个问题:(1) 相邻帧获取到的轮廓曲线点集无对应性,轮廓通常基于人体在图片中最上方像素点开始沿某一方向获取,但该轮廓点集的选取相对于人体部位而言并没有统一性,只是秉承最上方原则;(2) 通过计算距离之后的特征变成了相对位置变化,不能有效表征人体的整体移动变化;(3) 每幅图片中人体的轮廓点个数多且不固定,对于数据建模而言特征冗余且不规则。针对以上问题,本文基于人体质心提出了一种新的轮廓特征提取方法,提取过程如图1所示,包括轮廓检测、质心计算和轮廓关键点提取。

图1 特征提取示意图

具体步骤如下:

2) 遍历轮廓点坐标集,分别计算人体轮廓在x方向和y方向上的质心坐标,计算过程如式(1)所示:

(1)

式中:p为像素值,最终得到质心坐标(xc,yc)(如图1(b)所示)。

3) 以质心为基准,根据式(2)在轮廓点坐标集中查找与质心横坐标xc相等的点组成集合s,取s中y值最大的点(xc,ymax)为轮廓起始点,如图1(c)图所示,线段上下两端分别为起始点和质心,然后将轮廓长度30等分计算间隔,按间隔在轮廓曲线上逆时针提取得到30个轮廓关键点。

(2)

4) 结合质心坐标和30个轮廓关键点坐标作为本文的人体特征。

1.2 LSTM算法原理

1994年,由Bengio等[11]提出了一种循环神经网络(Recurrent Neural Networks,RNN),循环使前一时刻产生的信息传递到当前时刻,使网络能够记忆历史信息从而实现对时序特征的处理。但是,RNN训练困难,随着序列长度增加,过多的输入会导致梯度消失和梯度爆炸,因此RNN无法解决长期依赖的问题,导致在实际问题中很难应用。

针对这些问题, Hochreiter等[12]提出了长短期记忆网络(Long Short-Term Memory,LSTM)。LSTM通过增加细胞状态并结合门控制,使神经网络能够默认记忆长期信息,解决了长期依赖问题。

为了更好地理解LSTM原理,图2展示了一个LSTM神经元结构,f、i、O、C分别表示遗忘门、输入门、输出门和细胞状态。

图2 LSTM神经元结构示意图

通过门控制和更新细胞状态来记忆长短期信息。式(3)-式(5)分别表示输入门、输出门和遗忘门的计算过程:

it=σ(Wi·[ht-1,xt]+bi)

(3)

Ot=σ(Wo·[ht-1,xt]+bo)

(4)

ft=σ(Wf·[ht-1,xt]+bf)

(5)

式中:ht-1为t-1时刻的隐层输出;xt为t时刻的输入信息。LSTM有效结合了上一时刻信息和当前输入信息。当前时刻细胞候选状态计算如下所示:

(6)

结合输入门和遗忘门来更新t时刻的细胞状态Ct:

(7)

最后通过输出门和细胞状态计算当前时刻LSTM的隐层输出:

ht=Ot*tanh(Ct)

(8)

式中:W表示权值矩阵;b为偏置值;σ和tanh分别为Sigmoid激活函数和双曲正切激活函数。LSTM通过结合门控制和不断更新每个时刻的细胞状态,解决了网络的长期依赖问题,且有效避免了训练过程中可能出现的梯度爆炸和梯度消失问题,使网络能够很好地对时序特征进行学习。

2 摔倒检测模型

2.1 模型结构

本文的人体摔倒检测模型结构如图3所示,首先对图像进行轮廓检测、质心计算、轮廓关键点提取,得到人体的31个特征关键点坐标,连续检测多帧图像得到关键点坐标序列。基于人体在x轴和y轴上运动变化的差异性,将31个关键点坐标分为x坐标值序列和y坐标值序列,经过连续多帧检测,当坐标序列长度达到LSTM网络设置的序列长度时,将x坐标序列和y坐标序列分别输入两个LSTM网络进行时序特征提取。之后将两个LSTM网络隐层输出向量展成一维,合并成一个一维向量,输入一个全连接层,通过全连接层输出最终检测结果。

图3 C-LSTM摔倒检测模型图

2.2 模型详细设置

C-LSTM模型的输入为视频帧序列,经过人体特征提取、时序特征提取,最后通过全连接层输出分类结果。表1为本文模型的详细参数设置,本文选用均方误差(Mean-square error,MSE)作为模型的损失函数,采用ReLU(Rectified linear unit)激活函数和Adam(adaptive momentum)优化器构建模型。

表1 模型参数设置

3 数据集与数据处理

3.1 数据集

本文实验数据集为MuHAVi-MAS14[13],该数据集是一个多摄像头行为识别数据集,包含多种日常行为和摔倒行为。表2为数据集详细介绍,包括14种行为:左摔(CL)、右摔(CR)、左起身(SL)、右起身(SR)、右踢(KR)、右击(PR)、跳起来踢(GK)、跳起来拳击(GP)、从左向右跑(RLR)、从右向左跑(RRL)、从左向右走(WLR)、从右向左走(WRL)、左转身(TL)和右转身(TR),以及视频样本数量,其中m为摄像头个数,n为每个视角的视频样本数。

表2 数据集介绍

3.2 数据处理

本文通过滑窗法获取训练样本。图4演示了在一段视频数据上获取训练样本的过程,设当前视频行为类别标签为L,F(n)为第n帧图像,使用长度为size的窗口,步长为1帧,在视频图像序列上沿着帧序滑动,窗口内的图像序列作为一条训练样本,L为该训练样本标签,通过滑动窗口将一段视频分为多个训练样本。

图4 样本选取示意图

然后对获取到的样本序列进行归一化处理,从而加速模型收敛,计算如式(9)所示:

(9)

式中:w和h分别为图片宽度和高度。

4 实验与分析

4.1 评价标准

为了验证模型的可靠性,本文选取了精确度(Precision)、召回率(Recall)、真负率(True Negative Rate,TNR)、漏警率(MA)、虚警率(FA)、准确率(Accuracy)和F1-score 7个评价指标对实验结果进行评估,计算方法如式(10)-式(16)所示。

(10)

(11)

(12)

(13)

(14)

(16)

4.2 对比模型

为评估C-LSTM模型性能,在特征提取方面本文选取了文献[14]中的人体轮廓特征提取方法、VGG16和Resnet50网络,在分类方面选取了随机森林(Random Forest,RF)、支持向量机(Support Vector Machine,SVM)、多层感知机(Multilayer Perceptron,MLP)进行对比实验。

文献[14]轮廓特征提取方法采用轮廓点到质心的加权距离作为特征,有效表征了水平和垂直两方向变化,具有平移不变性,是效果较好的轮廓特征方法。

VGG16是近年来经典的卷积神经网络,包含16个卷积层和全连接层,卷积层全部采用了3×3的小卷积,具有良好的分类性能。

Resnet50是一种基于残差结构的卷积神经网络,通过快捷连接和恒等映射解决了网络退化问题,使深层网络能够获得更好的性能,在检测、分割、识别等多领域均表现出优良性能。

RF由多决策树通过集成学习方法构成,每一个决策树对样本预测一个结果,通过综合考量所有结果最终给出预测。随机森林对大部分数据集都表现良好,精确度较高,不容易发生过拟合,且泛化能力强。

SVM基于统计学理论和结构风险最小化原理,对二分类问题性能极佳,适用于小样本学习,对异常值不敏感,具有良好的鲁棒性。

MLP是一种神经网络模型,包含输入层、隐藏层和输出层,层与层之间全连接,对分类问题表现突出。

将本文提出的人体特征提取方法和RF、SVM、MLP结合得到C-RF、C-SVM、C-MLP对比模型;将文献[14]特征提取方法与LSTM结合得到C0-LSTM对比模型,同时,采用多帧融合方法和卷积神经网络结合,设置融合帧数为10,得到VGG16-10和Resnet50-10对比模型。

4.3 实验结果分析

表3为不同模型在多评价指标下的实验对比结果。实验显示,结合本文特征方法的多个模型识别性能较好,证明本文特征优于文献[14]特征,此外,C-RF、C-MLP与VGG16-10、Resnet50-10模型性能相近,与深层网络模型相比结构简单、计算开销更小,验证了本文人体特征提取方法的有效性,而本文提出的C-LSTM模型在该数据集上达到了99%以上的识别率,且在多评价指标上优于其他对比模型,验证了本文模型的有效性。

表3 MuHAVi-MAS14不同模型对比结果

F1-score通过结合Precision指标和Recall指标,能够综合评价模型的整体性能。图5为设置不同序列长度情况下C-LSTM模型与C-SVM、C-MLP、C-RF模型的F1-score对比折线图,图中横轴为不同序列长度size,纵轴为F1-score分数,结果表明,本文模型在以不同size序列为输入情况下实验评分优于其他3个对比模型,表现出良好的综合性能。

图5 F1-score折线图

为了验证模型的泛化能力,本文在MuHAvi-MAS14数据集上对14种行为进行了多分类识别,其中多个行为之间相似度明显,识别难度较大。表4为本文模型与深度学习模型,以及文献[14-16]中几种方法在该数据集上的实验结果对比,其中,本文模型识别率为90.83%,相比较其他几种模型均有提升,验证了本文模型的泛化性。

表4 MAS14多行为识别结果对比

图6为C-LSTM模型多分类结果的混淆矩阵图,其中横轴为14种行为的预测标签,纵轴为样本真实标签,从图中可看出C-LSTM在绝大多数行为类别上精度很高,验证了本文模型的泛化性能。

图6 多行为识别混淆矩阵图

5 结 语

本文基于人体轮廓提出了一种新的人体特征提取方法,通过结合该方法和LSTM构建了一种新的人体摔倒检测模型(C-LSTM),并将其扩展至多行为识别,为人体分割特征和行为识别问题提供了一种新的思路。C-LSTM模型从图像中提取人体轮廓关键点和质心坐标作为人体特征,使用LSTM对特征序列进行时序特征提取来实现人体摔倒检测。本文在MuHAVi- MAS14公开数据集上进行人体摔倒检测和多行为检测实验,并与多种模型进行对比,实验表明:本文模型优于对比模型,其人体摔倒识别率达到99%以上,多行为识别率达到90%以上,验证了本文模型的有效性和泛化性。

猜你喜欢
质心轮廓特征提取
同步定位与建图特征提取和匹配算法研究
整车质心测量精度的研究
重型半挂汽车质量与质心位置估计
跟踪导练(三)
基于近邻稳定性的离群点检测算法
巧求匀质圆弧的质心
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
儿童筒笔画
创造早秋新轮廓