APP下载

一种基于Kinect的人体摔倒检测方法

2017-09-05李旋旋张仁杰

软件导刊 2017年7期
关键词:自动检测

李旋旋+张仁杰

摘 要:为了实时监测老人的跌倒信息,提出一种基于Kinect体感传感器的自动检测摔倒方法。人在摔倒时,身体重心、速度会快速改变,身体的中心点会从比较高的位置下降到地面。基于此,通过对人体头部、腰部、膝盖等几个关键的骨骼点进行高度和速度的监测,两者结合判断,如果超出所设定的阈值,则判定为跌倒事件发生。

关键词:Kinect;自动检测;跌倒事件

DOIDOI:10.11907/rjdk.171257

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2017)007-0125-03

0 引言

随着经济和社会的快速发展,中国已开始进入老龄化社会,每年都有大量老人因为没有得到及时救助而错过了最佳求救时间,从而导致生命安全事故频发。当他们独自外出或者待在家里时,一些意外事件经常发生。为了让他们的生命安全得到保障,通过人机交互的方式实时监测人体活动信息。通过这种方式,可以在老人或者孩子发生跌倒意外时通过报警求助信息及时加以求助。本文采用Kinect体感传感器设备,提取人体骨骼信息,然后对身体的中心点在摔倒时下降的高度和速度进行判断,两者综合比较判断人体是否真的跌倒。Kinect提供了丰富的能够识别人体特征的信息源,通过这些信息源对提取到的人体图像进行处理和骨骼追踪变得十分方便。此外,Kinect还具有语音识别功能,不受环境光线的干扰,即使在全黑暗的环境中也可以正常使用。

1 跌倒检测分析与设计方法

1.1 人体特征提取及动作识别

Kinect在使用时,得到的原始深度图有噪声和一些毛刺,这些噪声有很大的不稳定性,从而导致提取出来的人体图像不正确,也不具备稳定性。因此,在提取人体姿势信息之前,需要对原始深度图进行预处理,用算法消除图像的噪声。

采用Kinect得到的原始图像的分辨率并不是很高,这也是一大不足。本文通过使用泊松方程及一系列算法使得原始深度图的图片质量得以提高。泊松算法可判断人体表面的特征点是否为噪声。其具体原理为:首先,提取物体表面特征点的朝向及角度,并判断该点存在于空间的可能位置,同时,根据朝向的判断,借助泊松方程在特征点周围形成一个虚拟的距离场,然后,根据判断出的采样特征点的位置平均估计出它对周围的影响及周围表面距离场的具体情况[1]。每个特征点都是由周围很多点共同决定的最终状态。因此,如果图像的观察点位置有凸起的特征,而且周围的点没有表现出此类特征,则该点就是噪声并消除。Kinect自带的采样精度低的缺陷导致很多小的特征点被误判为噪声。

中值滤波是常用的噪声去除方法,它是一种基于排序统计理论的非线性信号处理技术,其依据的原理是在数字图像或数字序列中,设定一个尺寸模板,在目标点附近取该尺寸模板能覆盖到的值,再对这些值进行排序,并选取最中间的值作为该点滤波后的值,同时让目标点附近像素点的像素值趋近真实值,从而使噪声点孤立并滤除[2]。具体方法为利用特定结构的二维滑动模板,按像素值的大小对模板内的像素进行排序,进而生成了单调的二维数据序列。二维中值滤波的输出公式为:

式(1)中g(x,y)为滤波后图像,f(x,y)为原始图像,一般为3×3或5×5的区域。

滤波会对图像的清晰度造成下降,且本文中Kinect传感器的分辨率较低,为了获取清晰的滤波图像,需谨慎地选择滤波的模板。由于Kinect的深度图像的噪声点是没有值的,因而选用滤波模板为5像素大小。图像滤波前后对比如图1所示,本算法明显消除了噪声点。

人与背景的分割原理,是指对当前的视频帧图像与背景图像做减法,去除当前图像中的复杂背景,从而提取出人体目标。对于深度图像,能有效去除背景,即可准确保留所需的人体信息[3]。本文将采用背景差分法进行深度图像中人与背景的分割。

使用背景差分法分离出前景目标后,需对图像进行二值化处理,以便去除噪声。图3(a)为复杂背景中的深度图,(b)为背景差分法提取出人体区域并经二值化处理之后的效果。

在所有的预处理步骤完成后,对人体进行特征分析。为了确定是否有跌倒事件发生,对人的中心点进行分析,从速度和高度这两个特征着手,程序流程如图4所示。

人在正常的直立状态下,身体的头部、腰部及两髋等中心点的连接线与地面呈现垂直关系,当有摔倒情况出现时,身体的质心在高度和速度等方面会突然发生变化,本文主要以这两个为主要研究点。相对于其它研究方法,这种方式更为简洁、准确。对中心点,如腰部设定一个阈值,此阈值是经过大量的实验选取的最佳判断点,如果中心点高度在一定的时间范围内小于所设置的值,表明有跌倒事件发生,此外再检测速度,综合得出跌倒时间的判定。

1.2 系统方案选择

Kinect体感器具有实时跟踪骨骼的技术,如图5所示,选取头部、腰髋部、膝盖等部位,实时计算人体中心点的空间位置、运动速度,以及两髋中心点的空间位置、离地面的高度以及在较低高度下停留的时间等参数。通过连续的视频帧,来计算身体质心或者骨骼点的速度,如果该速度超过给定阈值V,同时两髋中心点离地面高度低于H且停留时间大于T,则判定跌倒事件发生,系统会自动发出警报并切换到RGB画面,以及自动保存当前时刻的具体时间、深度图、骨骼图和所有骨骼坐标,并自动将现场重要信息通过邮件通知到监护人。

2 实验结果及分析

Kinect骨骼跟踪不受周圍光照的影响,主要是因为红外信息,产生3D深度图像,所以本系统优先选用Kinect获取人体特征信息[4]。如图6所示,通过Kinect获取的数据分析和判断目标人体的运动状态,主要检测特征是目标人体的中心点的下降速度和腰部中心点离地面的高度。

2.1 中心点速度检测

通过对目标人体进行监测,对返回的骨骼数据加以实时处理,每相邻10帧求一次人体中心点的下降速度V。当V>VT(临界值),则认为检测到了跌倒特征。根据实验结果,VT一般在1.21m/s~2.05m/s,结合实验测试结果,本文选取1.46m/s作为人体中心点下降速度的阈值。一旦超过该阈值,则预估为检测到跌倒,因为有可能只是人体做出健身、下蹲姿势,要进一步确定是否真的跌倒,则需要根据腰部离地面的高度来判断,如果腰部的高度检测出小于设定的阈值,综合判断,才使得结果更准确。endprint

2.2 高度检测

检测目标人体中心点的下降速度是其中一个检测特征,如果检测到了速度特征在跌倒范围内,将进一步检测腰部离地面的高度。地面检测的难度比较大,在Kinect中,每個类型的数据都有3个类与之对应:Source、Reader和Frame。如果要读取骨架,就有IBodyFrameSource、IBodyFrameReader、IBodyFrame这3个类[5],而要读取深度数据,就有IDepthFrameSource、IDepthFrameReader、IDepthFrame这3个类。可以发现,在IBodyFrame类中有get_FloorClipPlane方法,函数的参数是vector4*floorClipPlane,返回值是HRESULT类型vector4结构体中有4个float类型的数据成员,是地面方程的参数,但实际试验中得知这几个参数并不能准确获得,极大影响了实验结果。因此,最终选择计算腰部到脚掌的高度差来判断是否摔倒。把双脚作为相对于地面的基线,由于地面方程不易检测,将此方案转变,把脚部看作地面,如果腰部中心点到脚部的高度小于设定的固定值,则检测到有摔倒的特征[6]。

在摔倒时,姿势大多都是俯卧式,这时人体离地面的距离会很小,包括头部、腰部、臀部及膝盖等部位。经查阅资料发现,男性和女性的腰部厚度和臀部的宽度最终能得到理想的阈值。考虑到老年人穿衣服的厚度或身体接触地面不完全等多种情况,结合实验测试结果,该高度阈值需要设置更大一点才能准确检测到跌倒事件,本文选取0.32m作为检测特征的阈值[7]。当High<0.32m,则判定检测到摔倒特征,如图7所示。

3 语音确认与报警

为了使跌倒信息及时传递给相关人员,结合AT89C52单片机的主控制模块和语音识别模块对Kinect进行控制[8]。如果检测到有人摔倒并持续5s则认定跌倒事件发生,系统发出警报声并自动显示“Target Fall”,如果此时视频帧中出现高度大于1m的人体,则警报解除。

4 实验总结

实验表明,该检测系统的检测准确率高,算法简单易于实现,解决了老人发生意外得不到及时救助的问题。此系统可以很好地保护隐私,只是显示深度图像和骨骼图。另外,Kinect不受光照影响,系统在晚上也可以实时检测,无需穿戴,实用性和舒适性较好,不会影响老年人的日常活动,Kinect价格不高,具有推广及应用前景。

参考文献:

[1]金炜,潘英俊,魏彪.基于改进遗传算法的图象阈值去噪研究[J].计算机工程与应用,2005(22):66-69.

[2]冈萨雷斯.数字图像处理[M].北京:电子工业出版社,2003.

[3]李旭超,朱善安.基于小波模极大值和Neyman Pearson准则阈值的图像去噪[J].中国图象图形学报,2005,10(8):964-969.

[4]孔令富,李海涛.Y 基于位置和运动轨迹的老年人异常行为检测[J].计算机工程与设计,2012,33(2):735-739.

[5]PRATT W K.Digital image processing:3rd edition[M].New York:Wiley Inter-science,1991.

[6]PALSK, KING R A.Image enhancement using smoothing with fuzzy sets[J].IEEE Trans, Syst,Man,Cybern,1981,11(7):494-501.

[7]TAI-CHIU HSUNG,DANIEL PAK-KONG LUN,WAN-CHI SIU.Denoising by singularity detection[J].IEEE Transactions on Signal Processing,1999,47(11):185-186.

[8]陈雪锋.基于人体姿态识别的机器人控制技术研究[D].武汉:武汉科技大学,2014.endprint

猜你喜欢

自动检测
基于毫米波雷达的高速公路三急一速自动检测算法
自动检测移动分料溜槽的设计与应用
基于无人机巡检倾斜影像的绝缘子爆片自动检测方法
角接触球轴承外圈锁口高度自动检测规改进
高速公路异常事件自动检测系统设计
一种开关柜局部放电自动检测装置的研究
基于STM32的室内有害气体自动检测与排风系统
光电传感器在自动检测和分拣中的应用
基于TestStand的自动检测程序开发
K-F环自动检测系统设计