一种多特征融合人体跌倒检测方法及系统

文档序号:31051847发布日期:2022-08-06 07:44阅读:102来源:国知局
一种多特征融合人体跌倒检测方法及系统

1.本发明涉及一种多特征融合人体跌倒检测方法及系统,属于图像处理与模式识别技术领域。


背景技术:

2.人工智能领域得到了飞速的发展,越来越多的智能产品走入人们的生活,有关跌倒智能产品虽然很多,但是大部分穿戴复杂,效果不佳;跌倒识别是居家养老看护中最重要的因素之一,起到关键性作用,所以能感知跌倒并做出相应反映的人机交互领域迫切地需要得到发展;但是,如何提高计算机对跌倒识别的准确率依旧是一大难题。
3.目前,人体摔倒检测主要有基于可穿戴设备检测、基于外部环境传感器检测等;基于可穿戴设备检测法通常将传感器嵌入手环、腰带等可随身携带的物品,采集人体运动数据,进而通过阈值法、svm等完成摔倒检测;可穿戴设备需要老人时刻佩戴,对于一些高龄特别是记忆力衰退的老人,可能会忘记;另外一些老人还会因身体舒适性而抵触该类设备,不喜欢佩戴;基于外部环境传感器检测法,通常是利用人体运动对环境中一些物理量如压力、振动、红外热源的变化来识别摔倒行为,这种方法需要在环境中部署传感器,受周围环境噪音影响,系统较为复杂且成本高。


技术实现要素:

4.本发明的目的在于提供一种多特征融合人体跌倒检测方法及系统,解决现有技术中因忘记或不喜欢佩戴穿戴式设备而无法实现跌倒检测、系统复杂成本高等难题,提高检测的准确度。
5.为实现以上目的,本发明是采用下述技术方案实现的:
6.第一方面,本发明提供了一种多特征融合人体跌倒检测方法,包括:
7.获取样本视频;
8.将样本视频逐帧分割后从中提取骨骼关节点及其空间分布特征和时间特征;
9.将空间分布特征和时间特征进行融合得到特征张量;
10.将特征张量输入预训练好的stm-gru中,得到跌倒的置信度,若置信度大于预设置信度阈值则检测结果为跌倒,否则检测结果为非跌倒。
11.结合第一方面,进一步的,所述空间分布特征包括骨骼关节点的归一化坐标点到基准点之间的欧式距离的累和;所述归一化坐标点通过以下方式得到:
12.计算归一化坐标矩阵:
[0013][0014]
其中,p
std
表示归一化坐标矩阵,p表示形状为(k,d)的numpy矩阵,k表示骨骼关节点个数,d表示坐标维度,p
.axis_max
表示坐标的最大值,p
.axis_min
表示坐标的最小值;归一化坐标矩阵中的各个元素为骨骼关节点的归一化坐标点;
[0015]
两点之间的欧式距离通过以下公式计算得到:
[0016][0017]
其中,e表示欧式距离,x1和x2分别是两点的横坐标,y1和y2分别是两点的纵坐标;
[0018]
计算得到各骨骼关节点的归一化坐标点到基准点之间的欧式距离后,再将各欧式距离相加得到所述骨骼关节点的归一化坐标点到基准点之间的欧式距离的累和。
[0019]
结合第一方面,进一步的,所述空间分布特征包括人体轮廓矩形长宽比,所述人体轮廓矩形的长和宽通过以下方法计算得到:
[0020]
从骨骼关节点中获取头部区域骨骼关节点集合和脚部区域骨骼关节点集合并从所述两集合中各选取一点,用选取出的两点之间纵坐标之差表示人体轮廓矩形的长;
[0021]
从从骨骼关节点中获取左侧区域骨骼关节点集合和右侧区域骨骼关节点集合并从所述两集合中各选取一点,用选取出的两点之间横坐标之差表示人体轮廓矩形的宽。
[0022]
结合第一方面,进一步的,所述空间分布特征包括关键夹角度数,所述关键夹角包括大腿向量和小腿向量之间的第一夹角、背部向量和大腿向量之间的第二夹角,背部向量和水平向量之间的第三夹角。
[0023]
结合第一方面,进一步的,所述时间特征包括头部下降速度,所述头部下降速度通过以下公式计算得到:
[0024][0025]
其中,vh表示人体的头部下降速度,表示t1时刻头部骨骼关节点p15的坐标,表示t2时刻头部骨骼关节点p15的坐标。
[0026]
结合第一方面,进一步的,所述时间特征包括腰部下降速度,所述腰部下降速度通过以下公式计算得到:
[0027][0028]
其中,vw表示人体的腰部下降速度,表示t1时刻腰部骨骼关节点p8的坐标,表示t2时刻腰部骨骼关节点p8的坐标。
[0029]
结合第一方面,进一步的,所述骨骼关节点通过以下方法得到:
[0030]
将视频样本逐帧分割后通过openpose算法进行骨骼关节点的提取。
[0031]
结合第一方面,进一步的,所述特征张量通过以下方法得到:
[0032]
将空间分布特征和时间特征通过concat函数进行融合,得到特征张量。
[0033]
结合第一方面,进一步的,所述stm-gru进行预训练的方法包括:
[0034]
将空间分布特征和时间特征输入stm-gru中进行训练,在训练过程中stm-gru内部使用更新门代替输入门和遗忘门来控制细胞状态;
[0035]
所述跌倒的置信度通过以下方法得到:
[0036]
将各空间分布特征和时间特征分别乘以各自的加权因子后求和,得到跌倒的置信
度。
[0037]
第二方面,本发明还提供了一种多特征融合人体跌倒检测系统,包括:
[0038]
数据获取模块:用于获取样本视频;
[0039]
特征提取模块:用于将样本视频逐帧分割并提取骨骼关节点及其空间分布特征和时间特征;
[0040]
特征融合模块:用于将空间分布特征和时间特征进行融合得到特征张量;
[0041]
检测模块:用于将特征张量输入预训练好的stm-gru中,得到跌倒的置信度,若置信度大于预设置信度阈值则检测结果为跌倒,否则检测结果为非跌倒。
[0042]
与现有技术相比,本发明所达到的有益效果是:
[0043]
本发明提供的一种多特征融合人体跌倒检测方法及系统,通过提取骨骼关节点的空间分布特征和时间特征,再将两种特征进行融合,输入预训练好的stm-gru中从而完成对“跌倒”的精确识别检测;对骨骼关节点的坐标进行归一化处理得到归一化坐标,通过归一化坐标来计算空间分布特征的一种,使得结果不受样本视频中目标位置变化的干扰,提高检测的准确度。
附图说明
[0044]
图1是本发明实施例提供的一种多特征融合人体跌倒检测方法的流程图;
[0045]
图2是本发明实施例提供的人体姿态图。
具体实施方式
[0046]
下面结合附图对本发明作进一步描述,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0047]
实施例1
[0048]
如图1所示,本发明实施例提供的一种多特征融合人体跌倒检测方法,包括:
[0049]
s1、获取样本视频。
[0050]
首先,获取待检测的样本视频。
[0051]
s2、将样本视频逐帧分割后从中提取骨骼关节点及其空间分布特征和时间特征。
[0052]
将样本视频按照每一帧分割,将得到的彩色图像利用openpose算法进行骨骼关节点的提取。
[0053]
样本视频中的每一帧对应着人体跌倒动作的每一个静止姿态,样本视频可看作是由一系列骨骼关节点坐标构成的骨架点集,将openpose输出的全体样本转化为人体的骨骼关节点,openpose的直接输出是25个骨骼关节点,需要对这些骨骼关节点进行预处理从而得到能够输入神经网络的如图2所示的人体姿态图。
[0054]
预处理阶段,将对骨骼关节点数据进行数据清理,对于未检测到人体而缺失目标骨骼关节点数据或有效的骨骼关节点数据低于一定阈值的无效样本,只需丢掉这一帧数据即可,因为一个样本视频对应的帧数足够多,所以骨骼关节点的数据量足够大,无效样本覆盖率和重要性都很低,删除对于本发明方案的实施基本无影响。
[0055]
对于个别骨骼关节点被遮挡,如脚部或头部,以周围骨骼关节点或周围骨骼关节点的几何中心代替,对于单目标误检测为多目标的冗余噪声样本,可根据样本中骨骼关节
点的置信度对每个骨架进行有效骨骼关节点计数,骨骼关节点的置信度大于一定阈值为有效骨骼关节点,选择有效骨骼关节点个数较多的骨架点集的数据作为该样本的真实目标,预处理阶段将为下一阶段准备“清理”过后的骨骼关节点数据。
[0056]
处理骨骼关节点数据,我们需要先提取空间分布特征为了提取每一帧图像中静止姿态下各骨骼关节点的空间分布特征,t时刻空间分布特征应该包含骨骼关节点间相对位置特征f1、高宽比特征f2和肢体间角度特征f3,空间分布特征可以以下述表达式表示:
[0057][0058]
其中,r表示实数集,i表示卷积通道数,k表示骨骼关节点,s表示骨骼关节点标记号。
[0059]
样本视频中的每一帧对应着人体跌倒动作的每一静止姿态,样本视频可看作是由一系列骨骼关节点坐标构成的骨架点集,考虑到人体骨架是一个整体框架,不同骨骼关节点间有顺序和位置分布关系,其中也包含着隐藏信息,不可忽略这些结构信息。
[0060]
骨骼关节点间的相对位置关系可区分不同个体跌倒的类内差异,相比毫无联系的原始骨骼关节点坐标,包含了人体静止姿态各骨骼关节点的空间分布特征,在物理意义上表现为骨骼关节点坐标间欧式距离。
[0061]
考虑到远近尺度、不同目标情况下同一动作识别出骨架大小存在缩放问题,且目标在视频画面中出现的位置不定,空间位置直接由骨骼关节点坐标计算欧式距离会存在很大差异,在计算欧氏距离时,先对每组的骨骼关节点坐标做归一化处理,得到归一化坐标矩阵,公式如下:
[0062][0063]
其中,p
std
表示归一化坐标矩阵,p表示形状为(k,d)的numpy矩阵,k表示骨骼关节点个数,d表示坐标维度,p
.axis_max
表示坐标的最大值,p
.axis_min
表示坐标的最小值;归一化坐标矩阵中的各个元素为骨骼关节点的归一化坐标点。
[0064]
p
scaled
=p
std
·
(max-min)+mmin
[0065]
其中,p
scaled
表示缩放后的归一化坐标,max和min表示给定缩放范围的最大值和最小值,在本实施例中分别取1和0,目的是将骨骼关节点坐标按维度分别归一化到0至1的范围内。
[0066]
计算骨骼关节点的归一化坐标点到基准点之间的欧式距离,图2中的25个骨骼关节点记为p={p0,p1,p2,...,p24},设骨骼关节点pi的坐标记为(xi,yi),再本实施例中选取图2中的p8点作为基准点,分别计算p3、p4、p6、p7、p11、p14到p8点的欧氏距离e,摔倒过程中这6个点到中心点的变化特征最为明显,平面两点(x1,y1)与(x2,y2)欧氏距离公式计算如下:
[0067][0068]
老人跌倒时,大多数情况下身体会蜷缩,p3、p4、p6、p7、p11、p14到p8点的欧氏距离会比正常直立行走时要小,对这些点和p8点的欧氏距离进行累和:
[0069]esum
=∑{e
pi-p8
|i=3,4,6,7,11,14}
[0070]
其中,e
pi-p8
表示pi点到p8点的欧式距离。
[0071]
骨架高宽比对于摔倒动作的识别很有意义,身体由直立到摔倒的过程,骨架高宽比值随着摔倒动作的进行,会发生明显变化.考虑摄像头高度问题,采集视频中骨架高宽比变化过程不尽相同.摄像头较高时,骨架高宽比由接近于1或稍大于1的值逐渐增大到远大于1;摄像头较低时,骨架高宽比由远大于1的值逐渐减小到接近于1的值。
[0072]
计算人体轮廓矩形长宽比,从骨骼关节点中获取头部区域骨骼关节点集合和脚部区域骨骼关节点集合并从所述两集合中各选取一点,用选取出的两点之间纵坐标之差表示人体轮廓矩形的长;从从骨骼关节点中获取左侧区域骨骼关节点集合和右侧区域骨骼关节点集合并从所述两集合中各选取一点,用选取出的两点之间横坐标之差表示人体轮廓矩形的宽。
[0073]
人在正常直立行走的过程中,人体轮廓矩形垂直方向大于水平方向,但如果倒卧状态,人体水平方向大于垂直方向;使用人体的肩部信息用来表示轮廓的宽度,头部与脚部的距离表示轮廓的高度较为合适;因此在本实施例中选取图2中的p2、p5、p15、p22来计算人体轮廓矩形长宽比,上述四个点的坐标分别表示为(x2,y2)、(x5,y5)、(x15,y15)、(x22,y22),人体轮廓矩形长宽比h可以由以下公式计算得到:
[0074][0075]
计算关键夹角度数,所述关键夹角包括大腿向量和小腿向量之间的第一夹角ang1、背部向量和大腿向量之间的第二夹角ang2,背部向量和水平向量之间的第三夹角ang3。
[0076]
真实场景中人体摔倒的方向无法确定,但摔倒过程中,归纳总结后可以得到结论,大腿部弯曲会使大腿向量和小腿向量之间的第一夹角ang1先变大后变小,变化较为明显;人体处于直立状态时,背部与腿部基本在一条线上,而发生摔倒时,背部向量和大腿向量之间的第二夹角ang2逐渐增大后减小;为了方便统一选择左腿的坐标信息来作为计算ang1和ang2的依据。
[0077]
我们记背部向量c
back
,左右大腿向量为c
lbleg
,c
rbleg
,左右小腿向量为c
lsleg
,c
rsleg
,水平方向向量为c
horizon
,垂直方向向量为c
vertical
,他们分别表示如下:
[0078]cback
=(p1,p8)
[0079]chorizon
=(1,0)
[0080]cvertical
=(0,1)
[0081]clbleg
=(p12,p13)
[0082]crbleg
=(p9,p10)
[0083]clsleg
=(p13,p14)
[0084]crsleg
=(p10,p11)
[0085]
接下来便可以计算上文提到的关键夹角度数,公式如下:
[0086]
[0087][0088][0089]
除了提取上述空间特征信息,我们还需要提取时间特征信息,视频中连续多帧对应骨骼关节点数据构成了骨架动作序列,如何选择一种特征来描述随时间动态变化的骨架序列数据也是本发明方案要解决的问题。
[0090]
视频中连续多帧对应骨骼关节点数据构成了骨架动作序列,随着时间变化,同一骨骼关节点在空间上的位置变化信息,构成了该骨骼关节点的运动轨迹,分别计算人体头部和腰部的下降速度。
[0091]
选取图2中的头部骨骼关节点p15来计算头部下降速度,通过以下公式计算得到:
[0092][0093]
其中,vh表示人体的头部下降速度,表示t1时刻头部骨骼点p15的坐标,表示t2时刻头部骨骼关节点p15的坐标。
[0094]
选取图2中的腰部骨骼关节点p8来计算头部下降速度,通过以下公式计算得到:
[0095][0096]
其中,vw表示人体的腰部下降速度,表示t1时刻腰部骨骼关节点p8的坐标,表示t2时刻腰部骨骼关节点p8的坐标。
[0097]
因为在人体下降的动态过程中,容易出现骨骼关节点信息丢失,若出现p8点丢失可选择腰部的p9或者p12作为腰部基准点,同理头部也可选择p16。
[0098]
s3、将空间分布特征和时间特征进行融合得到特征张量。
[0099]
将空间分布特征和时间特征通过concat函数进行融合,得到特征张量。
[0100]
信息融合能够全面描述动作骨架序列的时间特征和空间分布特征,常见的融合方式有max、mean和concat,其中max方式会逐元素比较取较大值,丢弃较小值,空间特征与时间特征量纲不同,舍弃较小值不合理且会丢失部分信息;mean方式会逐元素计算时空张量的均值,相当于对时空张量各加0.5的权重系数相乘后相加,要求时空张量形状必须相同,而本模型时空张量形状并非严格相同,不适用于该方式;在对比实验下,本文的算法最适合concat的方式,concat融合的方法在大数据量和小数据量下都有较为稳定的表现,在多通道特征融合的情况下有较强的的鲁棒性,并可以将不同特征下输出的信息结合互补,为后续分类模块提供多方位细节数据。
[0101]
concat融合后表示为:
[0102]ffusion
=[f
out_s
,f
out_t
]
[0103]
其中f
out_s,fout_t
分别表示空间分布特征和时间特征,f
fusion
表示连续t帧骨架序列
融合层的特征张量。
[0104]
s4、将特征张量输入预训练好的stm-gru中,得到跌倒的置信度,若置信度大于预设置信度阈值则检测结果为跌倒,否则检测结果为非跌倒。
[0105]
完成特征融合之后,选择二分类的方式区分跌倒还是非跌倒,在stm-gru中加入dropout层,使得模型在训练过程中以一定概率随机暂时丢弃一些神经元,避免模型过拟合;使用adam优化器训练最优模型,适合求解带有大规模数据或参数的问题,有很高的计算效率和较低的内存需求;逻辑回归使用的的损失函数为二分类交叉熵损失函数sigmoid,公式如下:
[0106][0107]
其中,m为样本数,yi为样本特征值xi的标签,即真实样本,正类为1,负类为0,f(x(i))为预测为正的概率,其中f为sigmoid函数。
[0108]
stm-gru为short term memory-gate recurrent unit,即短时记忆神经网络-门控循环单元。
[0109]
选用准确率(accuracy)和漏警率(ma)作为摔倒模型评价标准,具体计算公式如下:
[0110][0111][0112]
设定选取摔倒动作为正样本,其余动作为负样本;公式中真正例tp(true positive)表示被模型预测为摔倒的摔倒样本;真负例tn(true negative)表示被模型预测为非摔倒的非摔倒样本;假负例fn(false negative)表示被模型预测为非摔倒的摔倒样本;p、n分别表示正、负样本。
[0113]
将步骤s2中空间分布特征和时间特征进行加权计算,加权因子比例为:骨骼关节点的归一化坐标点到基准点之间的欧式距离的累和为α0,时间特征为α1,人体轮廓矩形长宽比为α2,第一夹角、第二夹角、第三夹角分别为α3、α4、α5,并且有α0+α1+α2+α3+α4+α5=1。
[0114]
在本实施例中,归一化坐标点到基准点p8欧式距离的阈值ep设定为0.3,人体下降速度阈值vp设定为1.5m/s,人体轮廓矩形高度比的阈值hp设定为2:3,第一夹角的阈值设定为90度,第二夹角的阈值设定为100度,第三夹角的阈值设定为60度。
[0115]
在预建立的stm-gru中通过下述公式计算出跌倒的置信度:
[0116][0117]
其中,ang
p1
表示第一夹角的阈值,ang
p2
表示第二夹角的阈值,ang
p3
表示第三夹角的阈值。
[0118]
在本实施例中,α0至α5的取值分别设为0.15、0.35、0.2、0.1、0.1、0.1。
[0119]
若置信度大于预设置信度阈值则检测结果为跌倒,否则检测结果为非跌倒;在本实施例中置信度阈值为0.75。
[0120]
在本实施例中还包括训练的过程,将空间分布特征和时间特征输入到stm-gru中进行训练,基于骨架序列数据的动作识别是一个序列预测问题,传统循环神经网络rnn(recurrent neural network)及其变体适用于处理序列数据;1997年提出的长短时记忆神经网络lstm(long short term memory)虽然解决了传统rnn梯度爆炸或消失问题,但由于模型本身结构较为复杂,使得模型训练缓慢;2014年提出的门控循环单元gru(gate recurrent unit)改进了lstm,单元内部使用更新门代替输入门和遗忘门来控制细胞状态,参数量较lstm少,这种方式的优势是计算量得以减小,训练速度会更快,且模型表达能力不弱于lstm。
[0121]
本实施例所述stm-gru中,gru隐藏单元数为128,时空注意力模块全连接层神经元数均为64,分类模块第一个全连接层神经元数为32,第二个全连接层神经元数为动作类别个数4。
[0122]
经过实验,当置信度阈值设置为0.75时,准确率accuracy可以达到97.38%,漏警率ma为2.69%,为本实验测试中的最佳值,以上数据可表明本发明方案的有效性。
[0123]
实施例2
[0124]
本发明实施例提供的一种多特征融合人体跌倒检测系统,包括:
[0125]
数据获取模块:用于获取样本视频;
[0126]
特征提取模块:用于将样本视频逐帧分割并提取骨骼关节点及其空间分布特征和时间特征;
[0127]
特征融合模块:用于将空间分布特征和时间特征进行融合得到特征张量;
[0128]
检测模块:用于将特征张量输入预建立的stm-gru中,得到跌倒的置信度,若置信度大于预设置信度阈值则检测结果为跌倒,否则检测结果为非跌倒。
[0129]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0130]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0131]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0132]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0133]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1