杨张振
(南京邮电大学 通信与信息工程学院,江苏 南京 210003)
随着人类社会的发展和进步,人们的物质生活水平得到了大幅提高,同时人们对身体健康水平和生活环境的安全稳定水平的要求也在不断增长。出于对健康和安全的考虑,越来越多的监控设备被应用于室内环境以检测室内可能出现的意外摔倒情况[1]。
摔倒行为可能会对人们的健康带来严重的后果,尤其是出现这一意外情况但没有及时发现处理,将会加重事件带来的不利影响,比如老年人出现摔倒情况却没有得到及时救助,后果可能不堪设想。据全国伤害监测系统(NISS)2013年的收集统计,65岁及以上老年人跌倒死亡率为45.72/10万,因跌倒死亡是65岁及以上人群因伤害致死的第一死因[2]。除导致死亡外,跌倒/坠落造成更多的是残疾、功能受限、活动受限等非致死性后果。因此对室内可能出现的摔倒行为进行检测是一项很有实际意义的工作。
传统的对摔倒行为进行检测的技术手段主要有两种:一种是利用穿戴式传感器对摔倒进行检测,当检测到摔倒行为时,与人体连接在一起的传感设备会发出摔倒信号[3-5];另一种是依据视频装置对摔倒进行检测,用一个或多个摄像机对某个场景进行连续监控,通过对视频进行处理对摔倒进行检测[6]。传统方法对摔倒行为的检测虽然取得了一定的成果,但是局限性也很大。利用传感器对摔倒行为进行检测会对人体行动产生不便,利用传统视频监控设备对摔倒行为检测不仅难以做到及时的检测识别,又要面临外界条件变化所带来的不利影响。随着计算机视觉技术的不断发展,科研人员开始采用深度图像对室内异常行为的检测进行研究[7-8],而且随着采集RGB-D图像设备的不断出现,RGB-D图像得到了越来越多的研究者的青睐。微软公司于2009年6月推出了Kinect体感设备,Kinect的突出功能就是处理深度图像,它的骨骼追踪技术就是通过处理深度图像来建立人体各个关节的坐标,能够通过骨骼追踪技术确定人体的各个部分以及它们的位置。
在传统的检测方案中,需要人来对监控图像进行不断观察,这种方法局限性太强,不仅耗费了大量的人力物力,不能及时发现可能出现的异常行为,而且传统的检测方案对检测到的情况不能进行自动智能化的处理。因此,文中基于Kinect设备,对室内环境进行检测,利用深度图像能够克服外界光线条件变化和遮挡等不利因素影响的优点,提高对摔倒行为检测的准确率,并且能够对异常行为进行自动化处理,实现对异常行为的实时性检测,达到保护人体安全的目的[9-10]。
Kinect[11]是微软公司于2009年6月推出的具有里程碑意义的一种体感设备。它具有3个Camera,中间的是RGB Camera,用于获取640×480的彩色图像,每秒钟最多获取30帧彩色图像;两侧是两个深度(3D Depth)传感器,使用红外线检测玩家的相对位置,其原理和人眼立体成像原理一样;Kinect两侧各有两组麦克风用来做3D语音识别,能够捕捉到声源附近各种各样的信息;下面底座内有一个马达可以调整Kinect的仰角,其仰角可调整范围大小为43°。具体如图1所示。
文中利用Kinect来获取用户的骨骼和关节点。Kinect左右两边的红外线发射器和红外线CMOS摄影机构成了3D结构光深度传感器。该传感器通过黑白光谱的方式来感知环境:纯黑代表无穷远,纯白代表无穷近。黑白间的灰色部分对应物体到传感器之间的物理距离。Kinect设备运行时,红外线发射器发出激光覆盖整个Kinect的可视范围,激光在散射体表而产生漫反射,红外线/VGA摄像头组接收漫反射光线,通过激光散斑的照明,利用光编码技术,对可视范围内的空间进行编码。然后,Kinect对获取的具有三维纵深的编码进行解码运算,获得相应的彩色图像数据、深度图像数据以及骨架模型数据。Kinect与计算机通过USB接口相连,所获数据通过USB端口输入计算机,通过应用程序编程接口(application program interface,API)读取相关数据,按程序中规定的算法进行运算。Kinect提供了人体骨架中的20个关节点(见图2),所有关节点依靠深度图像技术都可通过空间三维坐标(x,y,z)进行定义,其中VGA摄像头提供x和y坐标值,红外摄像头提供z向深度值。
图1 Kinect传感器
图2 Kinect识别到的20个人体关节点
与深度图像空间坐标不同的是,这些坐标单位是m。坐标轴x,y,z是深度感应器实体的空间x,y,z坐标轴。这个坐标系是右手螺旋的,Kinect感应器处于原点位置,z坐标轴则与Kinect感应的朝向一致。y轴正半轴向上延伸,x轴正半轴(从Kinect感应器的视角来看)向左延伸,如图3所示。
当人体做出不同的动作时,由于人的动作和骨骼关节点空间位置、相对位置信息的变化有直接的关系,所以当这些关节点位置的数据发生变化时,可以根据对这些参数的处理来判断人体的动作[12-14]。人体从站立到摔倒是一个非常短暂的过程,所用时间很少。因此在实验中,对当前骨骼图像帧和之前15帧骨骼图像中的关节点位置信息进行对比,按照Kinect 30帧/s的更新速率,文中所选取的两帧图像之间的时间差别仅为0.5 s。摔倒事件自动检测系统主要选用Kinect所获取的20个关节点中的2个用于算法判别[15],分别为左肩、右肩,2个关节点的三维坐标(x,y,z)信息返回到Kinect For Windows SDK (software development kit)开发包中,形成骨架信息流,供摔倒检测算法调用。
图3 人体骨骼图像坐标示意图
(1)
通过式(1)和阈值P,有如下不等式:
(2)
(3)
然后根据摔倒时前后帧之间的位移向量与O-X,Y,Z坐标体系中的Y轴方向夹角θ加以区分摔倒和坐下、下蹲等可能会出现误判的情况,当人体做出坐下或者下蹲动作时,θ为0°~20°,而摔倒情况出现时,θ为45°~75°。加上此判断条件后,经过实验验证,达到了预期,识别率达到了92.3%。
实验采用Intel(R) Core(TM) i3 CPU M350 @2.27 GHz 4核。显卡为AMD Radeon HD 5000。操作系统为32位Windows 7旗舰版,开发环境为Visual Studio 2010,OpenCV环境为opencv-2.4.10。
实验人员站立于Kinect视场范围内,可以在计算机终端显示4幅图像和一个检测输出窗口,其中四幅图像分别为color image,depth image,mask image和skeleton image,其中mask image是把depth image中的背景用黑色来填充,检测到的人体用白色填充的图像。图4即为站立时的depth image,mask image和skeleton image。
图4 站立时的深度图像及骨骼图像
当实验人员出现摔倒行为后,摔倒后的depth image,mask image和skeleton image如图5所示。
从摔倒后的骨骼图像看出,人体骨骼关节点信息发生了明显变化,其中左肩、右肩和两肩中心关节点位置在空间中的变化较为显著,结合实验结果的数据可以证明文中采用方法选取该关节点数据的科学性。
在现有的视频检测技术中,多数依赖于RGB图像的监控,这种方法不仅实时性差,而且不利于保护监控环境内的个人隐私。而采用基于Kinect的骨骼图像对摔倒行为进行监控,不仅能够实时地检测人体行为,而且精度高,同时有利于保护被检测人的隐私。但是由于Kinect拍摄的图像中包含了大量的数据信息,目前计算机对如此数据量的信息进行提取计算的速度还不够高,还需要对程序的算法进行改进,提高计算效率。同时采用的设备为Kinect1.0产品,该产品能获取的视觉场景范围有限,并不能完整覆盖常见的家庭等室内环境。下一步要做的工作是在Kinect2.0设备的基础上对该方法进行开发研究,并且尝试采用双设备甚至多设备进行开发实验,进一步扩大该方案的应用场景并且提高检测率。
图5 摔倒后的深度图像及骨骼图像
参考文献:
[1] VAIDEHI V,GANAPATHY K,MOHAN K,et al.Video based automatic fall detection in indoor environment[C]//International conference on recent trends in information technology.[s.l.]:IEEE,2011:1016-1020.
[2] 耳玉亮,段蕾蕾,叶鹏鹏,等.2014年全国伤害监测系统老年跌倒/坠落病例特征分析[J].中华流行病学杂志,2016,37(1):24-28.
[3] 孔令富,李海涛.基于位置和运动轨迹的老年人异常行为检测[J].计算机工程与设计,2012,33(2):735-739.
[4] 刘 鹏,卢潭城,吕愿愿,等.基于MEMS三轴加速度传感器的摔倒检测[J].传感技术学报,2014,27(4):570-574.
[5] 罗 坚,唐 琎,毛 芳,等.基于云计算的可穿戴式老龄人异常行为检测系研究[J].传感技术学报,2015,28(8):1108-1114.
[6] 韩 磊.图像序列中人的行为分析和识别方法[D].北京:北京理工大学,2009.
[7] YANG S W,LIN S K.Fall detection for multiple pedestrians using depth image processing technique[J].Computer Methods & Programs in Biomedicine,2014,114(2):172-182.
[8] 曹雏清,李瑞峰,赵立军.基于深度图像技术的手势识别方法[J].计算机工程,2012,38(8):16-18.
[9] LIU C L,LEE C H,LIN P M.A fall detection system using k-nearest neighbor classifier[J].Expert Systems with Applications,2010,37(10):7174-7181.
[10] LIU Hong,ZUO Changling.An improved algorithm of automatic fall detection[J].AASRI Procedia,2012,1:353-358.
[11] 石曼银.Kinect技术与工作原理的研究[J].哈尔滨师范大学自然科学学报,2013,29(3):83-86.
[12] 黄国范,李 亚.人体动作姿态识别综述[J].电脑知识与技术,2013,9(1):133-135.
[13] 胡 琼,秦 磊,黄庆明.基于视觉的人体动作识别综述[J].计算机学报,2013,36(12):2512-2524.
[14] 刘 博,安建成.基于关键姿势的人体动作识别[J].电视技术,2014,38(5):38-41.
[15] 谢 亮,廖宏建,杨玉宝.基于Kinect的姿势识别与应用研究[J].计算机技术与发展,2013,23(5):258-260.