基于Kinect平台的独居老人室内智能监摔系统设计

2017-07-12 11:51罗娟李志文李汀高鑫
电脑知识与技术 2017年13期

罗娟+李志文+李汀+高鑫

摘要:在介绍智能监控系统的基础上,基于kinect,以Android为开发平台设计并实现了一套软硬件相结合的独居老人监控系统。从老人自身管理和意外情况管理两个角度进行了需求分析,并据此设计出了系统的总体结构,明确了系统的功能、构成及工作原理。可实现远程照看家中的情况,对于一些突发的情况可以通过报警进行及时的安全处理。

关键词:Kinect平台;独居老人;室内智能监控

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)13-0166-05

智能监控系统是采用图像处理、模式识别和计算机视觉技术,通过在监控系统中增加智能视频分析模块,借助计算机强大的数据处理能力过滤掉视频画面无用的或干扰信息、自动识别不同物体,分析抽取视频源中关键有用信息,快速准确的定位事故现场,判断监控画面中的异常情况,并以最快和最佳的方式发出警报或触发其他动作,从而有效进行事前预警,事中处理,事后及时取证的全自动、全天候、实时监控的智能系统。视觉信息主要来源于摄像头传感器,其中深度摄像头在人体跟踪、三维重建、SLAM、人机交互等领域中有着广泛的应用,但是深度摄像头价格昂贵的价格让人望而却步。但是微软公司推出的Kinect价格相对便宜且只需要普通的CMOS感光芯片。Kinect上的红外传感器可不受环境光照的影响,拍摄清晰的深度图像,并且譔深度图像公与目标和摄像头之间的距离有关,因此大大提高了提取前景的精度。而目前,随着网络时代的飞速发展,智能手机成为了人类生活中不可缺少的一部分,科技发展到今天,不得不说智能手机给我们的生活的确带来了极大的便捷。信息需求是每个社会人的天然需求。手机上网,将信息整合使人们随身携带的手机成了互联网的终端机,手机信息载体比报纸、广播、电视信息载体在信息传递上更方便、直接、快速。因此,为了顺应大众的生活习惯与需求,本文提出一种基于Kincet的以及Android系统的独居老人监控系统。

1kinect感应器

Kinect是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字。Kinect具有检测范围较大,不易受室内光线强度影响、价格低廉的摄像头特点。Kinect的核心技术是骨骼追踪技术,它可以准确标定人体的20个关键点,并能对这20个点的位置进行实时追踪。利用这项技术,可以开发出各种基于体感人机交互的有趣应用。在设计这套系统时,我们应充分考虑根据用户的实际功能需求,整合了以下最实用的需求功能:包括老人的摔倒控制,小偷潜入的控制,煤气泄漏的控制,家中着火的控制,家中湿度的控制以及及时向用户发出安全警告通告。发生意外时,自动启动警报系统,以最快的时间尽可能地消除安全隐患。在最大程度上保证老人生命财产安全。给空巢老人一份安全保障,也给在外工作的子女带来一份安心。

2跌倒检测算法

跌倒检测的一般步骤包含为:

1)人体特征检测:此阶段需要把人从背景中提取出来,并处理得到需要的人体特征,一般包括骨骼坐标点和人体姿态等;

2)动作识别:对人体的特征进行分析和处理,本文是分析人体中心点的速度和高度特征,从而检测是否发生跌倒事件,排除误检和漏检,提高准确率。

最终方案选择:

利用Kinect体感器的实时骨骼跟踪技术,选取人体的中心点(spinemid)、两髋中心(spinebase)、右脚掌(righffoot)等3个骨骼点,实时计算人体中心点的空间位置、运动速度,以及两髋中心点的空间位置、离地面的高度以及在较低高度下停留的时间等参数。

如果人中心点的下降速度超过v(阈值速度),同时两髋中心点离地面高度低于H且停留时间大于T,则判定跌倒事件发生,系统会自动发出警报并切换到RGB画面,以及自动保存当前时刻的具体时间、深度图、骨骼图和所有骨骼坐标,并自动把现场重要信息通过邮件通知监护人。

实验结果表明:该检测系统的检测准确率可以达到91%以上。该系统正常工作時,只会显示深度图和骨骼图而没有RGB图,保护被监护人的个人隐私,Kinect不受光照影响,系统晚上也可以实时检测。Kinect无需穿戴,实用性和舒适性较好,不会影响老年人的日常活动,Kinect价格不高,比较容易和适合推广和使用。

本检测系统只适用于空间不大的房间,该限制由Kinect的深度识别范围是0.5-4.5米所决定的,如果目标不在这个范围,则Kinect的精度将急剧下降,导致检测系统的准确度急剧下降。先获取骨骼数据,通过获取的骨骼数据来分析和判断目标人体的运动状态,主要检测特征是目标人体的中心点的下降速度和两髋中心点离地面的高度。

1)第一个检测特征

通过对目标人体监测,对返回的骨骼数据实时处理,在每相邻10帧求一次人体中心点的下降速度spineV。当spineV>VT(临界值),则认为检测到了第一个跌倒特征。根据文献里面的结果,VT一般在1.2lm/s-2.05m/s,结合实验测试结果,本文选取1.37m/s做为人体中心点下降速度的阈值。一旦超过该阈值,则认为检测到第一个跌倒特征。

检测目标人体中心点的下降速度是第一个检测特征,如果检测到了第一个检测特征,将进一步检测第二个特征,即两髋中心点离地面的高度。地面检测的难度比较大,通过查询Ki—nect SDK可以发现在IBodyFrame类里面有一个get_FloorClip-Plane方法,函数的参数是vector4*floorClipPlane,返回值是HRESULT类型。vector4结构体里有4个float类型的数据成员,分别是x,y,z,w,这4个参数即为地面方程的系数(x,y,z)和常数项(w),将这四个数分别赋值给A,B,C,D,则可得地面方程为:Ax+By+Cz+D=0

此处的地面方程是在Kinect的深度相机坐标系下得到的,常数项表示Kinect的深度相机的中心点到地面的距离。知道骨骼点的三维坐标和地面方程,则可计算两髋中心离地面的距离baseH。

当baseH

一般情况下,人体跌倒后,身体一般是仰卧式、俯卧式和侧卧式,这时两髋中心点离地面的高度非常小,大概只有人身体腰厚大小或臀宽大小的一半。根据文献对老年人身体尺寸的研究调查结果,第95百分位的男性腰厚大小和女性腰厚大小分别为330mm和300mm,男性臀宽大小和女性臀宽大小分别为370ram和380mm。考虑到衣服的厚度或身体接触地面不充分等因素,结合实验测试结果,该高度阈值需要设置更大一点才能准确检测到跌倒事件,本文选取0.22m作为第二个检测特征的阈值。当basell<0.22m,则判定检测到第二个检测特征。

当系统成功检测到跌倒事件,系统会自动做出一系列处理。首先,系统自动切换到RGB画面,对于后台监控可以不必时刻关注监控画面,发生跌倒事件后系统会自动切换到RGB画面,监护人员只需通过RGB画面确认是否有人跌倒即可,极大减少了工作量,并很好地保护被监护人的隐私,因为在正常情况下,本系统只会显示深度图和骨骼图。然后,系统自动记录当前时间和保存深度图、骨骼图及骨骼点坐标等数据,这给医护人员判断跌倒老人的病情时提供了一定的线索和依据,同时可以记录跌倒瞬间的画面,为进一步研究跌倒特征提供数据基础,也可用作机器学习的数据源。最后,系统通过3G短信模块向用户发送预警信息,信息内容包含被监护人姓名、跌倒事件发生的时间以及现场RGB图片等重要信息,确保相关监护人会在第一时间收到老年人发生跌倒的通知,以便提供及时有效救助,减少损失和伤害。

3系统设计

3.1系统工作要求

要求在手机正常使用并且联网的情况下观看家中的画面,观看老人在家中的活动,温度、气体、温度这三种数据的趋势图,并对这些数据作出科学系统地分析,并且能对数据进行存储,随时都能查看这些历史数据。在手机没有联网的情况下,系统也将根据监控到的家中情况以及老人的情况,通过3G模块发送预警讯息给用户,让用户不论在什么样的情况下都能对家中的情况了如指掌。具体的要求如下:

1)移动终端上添加打电话的功能,当收到时警报信号,不用退出APP应用,直接拨号联系有关人员。

2)当老人身体有恙从而摔倒时,立即发送紧急信息给看护家属或者是120急救中心,当烟雾感应器检查到室内的各项指标出现问题时,也应该立即发出警报信号。

3)能够對发生状况的前后视频进行帧保存或者录制保存到本地,方便用户随时查看;对于各类数据(气体、温度、温度)也要全部保存到时本地,方便用户查看。

3.2系统整体设计

1)在软件系统中,PC端我们主要是实现对老人日常行为的监控,并且发送各类数据到指定服务器,然后用户在手机端便可以进行查看。

2)系统硬件部分基于Zigbee技术,在本设计中,用到了协调器和终端设备。在终端节点(传感器节点)中,实现温湿度、主要气体浓度等室内参数的读取与传输。

3.3基础硬件设计

3.3.1ZigBee技术简介

ZigBee技术是一种新兴的短距离、低成本、低功耗、低复杂度的无线双工通信技术,其基础是IEEE 802.15.4,因此ZigBee联盟扩展了IEEE,对其网络层协议和API进行了标准化。Zig-Bee具有低功耗、成本低、网络容量大等优点。ZigBee技术具有强大的组网能力,可以形成星型、树型和网状网,可以根据实际项目需要来选择合适的网络结构。

3.3.2数字温湿度传感器DHT11

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。DHT11的数据格式为:40bit数据=16bit温度数据+16bit湿度数据+8bit校验和,16bit的温湿度数据中高8位为整数部分,低8位为小数部分,传感器每次和ZigBee模块通信的时间为5ms,考虑现实生活中的对于温湿度精确度不高的特性,本系统只用到了温湿度数据中的高8位,及采用了整数部分。DHT11原理图如图3所示:

3.3.3烟雾传感器MQ-2

在监测室内有害气体浓度时,我们用到的传感器元件是MQ-2传感器,主要监测天然气、一氧化碳等的浓度。实际设计中考虑到涉及了多个传感器,所以每次采集一次温湿度数据前都会进行气体标志位的判断,利用气体传感器的简单性、DHT11的高效率,从软件设计上实现了多个传感器的同时采样,降低了硬件的复杂度,也满足了基本的数据需求。

3.3.4短信报警模块

在短信报警模块中,当系统检测并分析出老人有摔倒等危险动作时,系统立即通过短信模块通知户主,在此过程中,发送短信的功能由SIM808模块来实现。本系统中使用的SIM808发送短信的模式为PDU模式。

3.4系统软件设计

3.4.1PC端设计

1)骨骼追踪

第二代Kinect体感器提供了优化版骨骼追踪功能。增强保真度的深度相机结合改进版软件,带来了一系列骨骼追踪功能提升。除了现在最多追踪6套完整骨骼(第一代Kinect最多追踪2套)以及每人25块关节(第一代Kinect为20块)之外,自动追踪定位也比上一代更加精确稳定,且追踪范围也更大。KinectforWindows SDK中的骨骼API可以提供位于Kinect前方至多两个人的位置信息,包括详细的姿势和骨骼点的三维坐标信息。另外,Kinectfor Windows SDK最多可以支持20个骨骼点。数据对象类型以骨骼帧的形式提供,每一帧最多可以保存20个点,如图所示。

在SDK中每个骨骼点都是用Joint类型来表示的,每一帧的20个骨骼点组成基于Joint类型的集合。此类型包含3个属性,具体内容如下所示。

JointType:骨骼点的类型,这是一种枚举类型,列举出了20个骨骼点的特定名称,比如“HAND_LEbT”表示该骨骼点是左手节点。

Position:SkeletonPoint類型表示骨骼点的位置信息。Skel-etonPoint是一个结构体,包含X、Y、Z三个数据成员,用以存储骨骼点的三维坐标。

TrackingState:JointTrackingState类型也是一种枚举类型,表示该骨骼点的追踪状态。其中,Tracked表示正确捕捉到该骨骼点,NotTracked表示没有捕捉到骨骼点,Inferred表示状态不确定。

2)深度图像解析

深度图像解析的一般步骤是先获取数据信息,然后将数据存储到一个二维数组中,其中数组中的每一个元素代表图像数据的每一个像素点。最后将其转化成RGB图像数据显示即可。

3)打包发送

打包发送的过程将数据编码方式进行转换,首先将RGB数据转化为YUV数据,然后将YUV数据调用x264库编码为x264数据,最后将x264数据通过LIBRTMP库打包发送到服务器即可。

3.4.2Android应用端设计

1)应用总体设计结构和需求规定

2)本系统应具备以下功能:

(1)对使用本应用的用户进行管理,未注册的用户将不能体验应用的所有功能,完善用户的个人资料,以便发生意外时的及时安全处理。

(2)用户能实时查看监控视频,对家中的情况实时掌握。

(3)能有反应各类数据的趋势变化图。

(4)能有家中所有的当前情况。

(5)能对各类数据进行保存,以便用户及时查看了解数据。

(6)当发生意外情况时,能对监控的视频画面进行帧保存或是录制保存。

(7)当发生意外情况时,能及时通知用户或者进行警报处理。

3)部分界面展示:

如图11,图12所示。

4结束语

该项目的研究创新点在于区别于传统基于单摄像头的家庭监控系统,采用kinect设备基于双目视觉原理获取老人三维运动模型,从而更加准确判断老人是否发生异常行为;采用分层识别算法对老人行为精确解析,智能判断老人行为所产生后果,具有较强实时性和准确性;基于3G网络的呼救信息传输系统能够及时将信息多点传输到监护人员手机上,起到及时通知的目的;整套监控设备较传统监控设备价格更低,具有较好市场前景。研发智能监控系统,能够在室内关键位置对独居老人进行24小时监控,并能够智能分析判断老人是否发生异常行为,成为保障独居老人人身安全,使老人能够幸福生活的关键技术。随着人口老龄化趋势日益加深,低成本、具有智能监控独居老人行为的设备市场前景广阔,即将成为未来科研技术人员以及相关公司的研究热点。整套监控设备成本较低,符合广大家庭的经济水平。如果投入使用,将受益更多的家庭,对于老人则是多一份保障与家人的放心。

尽管深度图像在人体动作识别的研究中展现了其优势,但却不能取代普通图像的地位。深度图像采集设备可测量范围是有限的,运动目标人体必须在规定的范围内活动,所以远距离目标就无能为力了,而普通图像就没有这种限制。因此基于普通图像的人体动作识别算法还是有极在大的研究意义。