基于Kinect V2的老人跌倒检测系统设计

2021-10-10 03:55李沛峰冯飞龙黄淑芬林家豪
电子设计工程 2021年19期
关键词:髋部骨骼加速度

李沛峰,冯飞龙,黄淑芬,林家豪

(广东工业大学华立学院,广东广州 510000)

随着我国人口老龄化进程的加速,养老问题成为了避不开的社会问题。据统计,2010 年我国60 岁以上老龄人口约有1.78 亿,总人口占比为13.26%;到了2020 年,60 岁以上老龄人口达到2.34 亿,总人口占比约16%;预计到本世纪中叶,我国60 岁以上人口将高达4.7 亿,总人口占比高达30%。在对老年人的健康问题分析中发现,跌倒是老年人中最常见的问题,致伤和致死率都极高,是影响健康的重要因素之一。老年人由于生理因素、疾病因素、环境因素等,容易导致跌倒事件的发生。特别是随着年龄的增长,由于视力下降、肌肉萎缩、骨骼老化等生理因素,跌倒发生的概率会更高。而老年人跌倒之后如果处理不及时,容易留下伤残,甚至会危及生命,也会给家庭和社会带来沉重的医疗负担[1-4]。

利用现代化技术,快速检测老人跌倒并且在摔倒后提供快速、有效的救援措施,能降低老年人死亡的风险。目前,主流的现代化老人跌倒检测技术有:1)利用智能穿戴设备实时监测老人状态[5];2)基于环境分布式的跌撞检测系统;3)基于Android 平台的软件检测方法[6];4)利用RGB 计算机视觉图像分析技术[7]。穿戴式跌倒检测和基于Android 平台的跌倒检测方法利用加速度传感器、陀螺仪等监测老人的运动状态,在一定程度上能准确地检测跌倒状态,但是由于穿戴时会给使用者带来不适,在老年人群体的使用率并不高。由于人体动作的复杂性,基于环境分布式的检测系统和传统的计算机图像处理技术容易产生误判、漏判等问题,在精确度、安全性、隐私保护等方面存在明显的缺陷。文中提出的基于Kinect V2的跌倒检测系统是基于Kinect V2 机器视觉传感器的人体骨骼点识别和动作的扑获、动作行为追踪技术,通过动作特征点阈值计算,能有效解决以上问题。

1 Kinect V2简介

Kinect V2 是微软公司2013 年发布的第二代运动追踪体感设备,Kinect V2 拥有3 个传感摄像头,如图1 所示,从左到右分别为彩色相机(RGB 相机)、红外相机(深度相机)和红外发射器,底部为麦克风阵列。Kinect V2 支持Kinect for Window 提供的6 种基本数据源,分别为1 920×1 080分辨率,30 fps或15 fps帧率的RGB 图像;帧率为30 fps,分辨率为512×424的红外图像;帧率为30 fps,分辨率为512×424,支持0.5~4.5 m 范围的深度图像;人体骨骼图像;人物索引二值图以及可用于语音识别和方向判断的声音源。Kinect V2 提供了30 fps 人体骨架的25 个关节点的骨骼图像,最多可以支持0.5~4.5 m 范围内的6 个人体同时检测和最高同时2 个人的骨骼追踪。得益于其强大的骨骼追踪性能,Kinect V2 被广泛应用于体感游戏、手势识别、医疗服务等领域[8]。

图1 Kinect V2传感器相机

2 骨骼点获取及追踪

文中利用Kinect V2 追踪骨骼的运动状态来检测跌倒信息,首先利用Kinect V2 获取深度图像。Kinect V2 利用TOF 成像技术原理获得深度图像,即使用Kinect 自带的红外发射器发射经过调制的近红外光线,红外光线照到目标物体后会形成反射,红外相机接收反射回来的红外光线后,使用深度测量技术计算出目标物体的深度,把反射光的时间差转换成深度信息。相比上一代Kinect V1 使用的Light Coding 技术,Kinect V2 使用红外光线技术,在获得的3D 深度图像上具有成像速度更快,辨识度更高,不受周围光照影响等优点。Kinect V2 在获得3D 深度图像后,通过边缘检测、噪声阈值处理等技术把可能是人体的图像从复杂的环境中分离出来,得到一个人体景深图像。Kinect 通过机器学习、决策森林等方式,在景深图像区分出头部、手部、脚部等人体的各个部位,并把Kinect for Window 提供的25 个骨骼点数据源追踪到每一个部位上,提取出系统所需的骨骼图像[9]。在SDK 中剔除背景后的人体深度图像以及获取的骨骼图像如图2 所示。

图2 人体深度图像及获取的骨骼图像

3 跌倒检测

3.1 跌倒检测系统设计

人在正常的生理活动中需要各项复杂的生理结构同时协调工作来完成一个简单的行为动作。而老年人由于生理结构的机能老化,在遇到容易诱发跌倒的条件,如地面光滑、地面凹凸不平、有障碍物等不利因素时,由于身体机能无法及时完成快速的反应,便容易诱发跌倒。跌倒时,骨骼关节点的位置会随着身体快速变化。文中提出的检测系统利用Kinect for Window的实时检测技术,在Kinect V2 识别的图3 所示的25 个人体骨骼中,提取肩部中心和两髋中心点两个骨骼点作为跌倒检测追踪的关节点。

图3 人体25个骨骼图像

以两肩中心的下落高度差H、加速度A以及髋部中心的空间位置D为跌倒检测的特征条件,将骨骼实时高度差D、加速度A和空间位置D与相应阈值HL、AL和DL对比,当3 个实时骨骼数据都超出阈值时,把跌倒和其他正常行为区分出来,此时系统发出语音询问,当整个系统符合跌倒条件时,系统判定为跌倒事件。系统运行流程如图4 所示。

图4 跌倒检测系统工作流程图

3.2 肩部中心特征阈值

人体动作和相应的骨骼关节点会发生相应的空间位置变化,而肩部中心点骨骼位于颈部以下的位置,能准确地反映出人体实时状态,当人体发生跌倒事件时,肩部中心骨骼往往会伴随很大的高度差和速度变化。发生跌倒时,人体从站立到跌倒是一个非常短暂的过程,所以在实验中,Kinect 采集以每10帧之间的骨骼数据,按照Kinect V2的30 fps 捕获速率,也就是0.33 s时间内骨骼点在空间坐标上的变化。假设在以Kinect 为原点的空间坐标系(X0,Y0,Z0)中,Fq帧时Kinect 采集到目标肩部中心点的空间坐标为(Xi,Yi,Zi),时间记为T1。Fq+n帧时,Kinect采集的目标肩部中心点的空间坐标为(Xj,Yj,Zj),时间记为T2。肩部中心点空间坐标下降高度差为:

其中,H为Kinect 采集的肩部中心点在人体发生跌倒事件时,站立到跌倒的下降高度差。老年人由于骨质疏松、肌肉萎缩等,加上部分老人出现驼背现象,老年人的身高都普遍偏矮,为了降低系统的误差,文中采用0.7 m的高度阈值作为跌倒判断的准入条件。当肩部中心骨骼高度差H≥0.7 m 时,系统认为可能发生跌倒事件。利用式(1)中的下降高度差和两帧之间的时间获得肩部中心下降的加速度A:

加速度可以反映出人体活动的激烈程度,当人体状态发生剧烈变化时,加速度会瞬间变大并在短时间内达到一个峰值。在研究人体不同的动作与加速度的峰值关系时发现,跌倒时,加速度峰值最大[10-11]。具体关系如图5 所示。

图5 常见人体动作加速度柱形图

图5 中从左到右分别为正常行走1、弯腰2、蹲下3、向左跌倒4、向右跌倒5、向前跌倒6、向后跌倒7时的肩部中心下降加速度的峰值。正常行走和弯腰时,动作幅度并不大,因此加速度峰值并不大。蹲下动作幅度虽然也很大,但是过程缓慢,并没有很大的加速度值,后面的4个跌倒动作发生时,加速度的峰值都超过了2.2 m/s2。经过多次实验,跌倒时峰值都大于2.2 m/s2,因此A≥2.2 m/s2可以作为跌倒的检测条件。

3.3 高度特征提取

为了提高系统跌倒检测的精确度,在系统检测人体中心点下降速度的同时,需要获取髋部中心到地面的高度。人在跌倒时重心高度相对地面较低,而髋部中心骨骼在跌倒时也基本上会贴近地面,因此采用髋部中心点位置信息用于判断是否发生跌倒。利用计算机视觉找出地面十分复杂,但Kinect SDK 提供了一个vector4*floorClipPlane 函数,可以精确计算深度图像中任何点到地面的高度,vector4*floorClipPlane 函数提供的4 个双精度类型的数据成员分别为X、Y、Z、W,将参数分别赋值给A、B、C、D可以得到地面方程,为:

其中,A、B、C、D为地面参数。

由式(3)的地面方程可以计算髋部中心到地面的高度D。

(Xc,Yc,Zc)为髋部中心骨骼的空间坐标位置。

式(4)可以精确地计算出髋部中心到地面的高度,但是如果Kinect 传感器离地太高或者仰角太高而无法检测地面时,X、Y、Z、W的值默认为零,无法确定高度值。所以当无法检测地面时,可以用髋部中心骨骼点到右脚掌之间的垂直高度作为髋部中心地面高度。当Kinect 无法检测地面时,髋部中心地面高度公式为:

(Xb,Yb,Zb)为右脚脚掌的空间位置。

为了研究跌倒时的地面高度阈值,对日常生活行为中髋部中心骨骼的地面高度进行了大量的实验,结果如图6 所示,其中系列1、系列2、系列3 分别为正常行走、跌倒、蹲下的地面高度值。

图6 人体行为髋部中心高度变化折线图

由图6折线图发现,人体在正常站立行走时,地面高度基本上是一条稳定的直线。蹲下时,虽然地面高度会发生变化,但高度基本上都稳定在0.4 m左右。跌倒事件发生时,髋部中心地面高度在0.3 m 以下。因此,0.3 m 可以作为高度检测的阈值检测条件[12-13]。

4 系统测试结果与分析

文中提出的基于Kinect V2的跌倒检测系统基于下降高度阈值、高度速度阈值和地面高度阈值,当同时满足3 个条件时,便判断为跌倒事件,结合语音系统,可以极大地减少系统的误判。经过实验发现,该文使用的检测算法在系统稳定程度和精确度上优于基于高度和基于速度的检测方法。基于高度的检测方法[14]容易对Kinect 视野范围内的跌落物体产生误判。基于速度检测的方法[15]的跌倒检测准确度比基于高度检测高,但是也容易受到外界干扰物的影响。文中分别就基于高度的算法、基于速度的算法和该文使用的算法,对日常中常见的跌倒动作分别做了30次实验,3种算法的实验结果如表1所示。

表1 识别率比较

由表1的实验数据证明,文中所采取的阈值和算法完全满足跌倒检测系统的要求,并且在跌倒实验中,模拟了各式各样的跌倒动作和跌倒后的状态,包括跌倒后趴着、躺着、坐着、卷缩等,系统都可以准确地识别跌倒动作的发生[16]。

5 结束语

针对现有的老人跌倒检测设备,如穿戴式检测设备,是基于Android 端的软件检测和传统的RGB 机器视觉检测方法,存在实时性不好、容易忘记携带、便携性不高等问题,故提出了基于Kinect V2 传感器的检测方法,利用骨骼追踪技术和跌倒阈值的算法,能够快速、精准地检测出跌倒事件的发生。实验结果证明,文中的方法稳定性和精确度更好。在今后的工作中,会将Kinect 跌倒检测结合物联网的设备,在跌倒检测后利用物联网技术引领老人跌倒后自救和向周围及家人发出求救,使得老人跌倒后能得到有效的救助,提高跌倒后的救治率。

猜你喜欢
髋部骨骼加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
居家运动——髋部练习(高级篇)
居家运动——髋部练习(初级篇)
居家运动——髋部练习(中级篇)
天际加速度
创新,动能转换的“加速度”
死亡加速度
骨骼和肌肉