一种基于深度数据的人体跌倒行为检测方法与流程

文档序号:20491095发布日期:2020-04-21 22:03阅读:2790来源:国知局
一种基于深度数据的人体跌倒行为检测方法与流程

本发明涉及数字图像处理技术领域,特别涉及一种基于深度数据的人体跌倒行为检测方法。



背景技术:

目前跌倒检测技术主要有三类:基于穿戴式设备检测基于音频或无线电等周围环境信号的检测和基于视频图像检测。但佩戴传感器会对运动有阻碍性,行动不便,不适用于工人工作;在金属元素较多的环境里,一些金属会对信号造成干扰,所以基于无线信号的跌倒检测不适用于此类环境;基于视频图像检测可分为彩色视频图像检测和深度视频图像检测。但是彩色图像容易被周围环境(粉尘、光照等)污染,钢厂噪声因素繁多,因此普通彩色图像并不适用于钢厂等高危环境人体行为检测。

深度图像可以不受外界环境条件影响,准确地实现目标定位。但之前检测方法中被测人员的自身特点(性别、高矮、胖瘦)等因素会对最终的结果造成影响,从而产生误判。

针对钢厂高危作业现场安全隐患极高,易发生伤亡事故,若不能及时发现处理,将会造成巨大的人财损失,因此针对高危作业人员的异常行为检测具有一定的实际意义。



技术实现要素:

为了解决以上技术问题,本发明的目的在于一种基于深度数据的人体跌倒行为检测方法,利用kinect获取深度图像,提取关节点信息,通过计算关节点相对位置熵和速度变化,判断人体是否发生跌倒行为,具有快速、识别率高的特点。

为了实现上述目的,本发明采用的技术方案是:

一种基于深度数据的人体跌倒行为检测方法,包括以下步骤;

1)数据的采集:利用安装在钢柱上的kinect摄像头获取人体关节点的三维坐标信息;

2)提取代表人体特征的骨架关节关键点信息:头、双肩、双膝、双脚踝、髋关节的三维坐标;

3)计算骨架关键点相对位置熵值,判断是否超过阈值;

4)计算人体中心点速度值,判断是否超过阈值;

5)如果步骤(3)(4)都超过阈值,则认为跌倒发生,报警。

所述的步骤1)开发平台的配置:在vs2015、opencv3.5和kinectforwindows平台上进行环境配置和编程计算,调用kinectsdk库里函数骨架追踪函数skeletonstream进行目标人体定位。

所述的步骤2)选取代表人体运动行为的关键点:按步骤1所用骨架追踪函数skeletonstream获取到骨架数据,那么每一帧数据都是一个骨骼对象集合,每一个关节有一个唯一标示符如头(head)、肩(shoulder)、肘(dlbow)等信息和3d向量数据,然后选取三组关键点:第一组:头、双肩、双膝、中心点;第二组:双肘、双脚踝、中心点;第三组:双膝、双脚踝、中心点。

所述的步骤3),按步骤2所提取的三组骨架数据关键点,以步骤1摄像头采集的正常行走第一帧作为标准帧,计算人从正常行走到跌倒时关键点的熵值变化,人在静止到正常行走时关节点的相对位置熵几乎稳定不变,在跌倒发生时,关键点相对位置熵急速增加然后保持不变,相对熵值计算方法过程如下:

1a)信息熵常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据,即可以认为是某一信息出现的概率,本专利所用到的骨架信息熵,反应的是人体运动程度,运动程度越大则信息熵越大,反之运动程度越小熵越小;

信息熵的定义为:某个概率系统中有n个事件(x1,x2,x3.....xn),第i个事件发生的概率为:pi(i=1,2,3,4....n),如果知道事件已经发生,则该事件所含的信息量称为自信息,定义为:

i(ai)代表两种含义:(1)当事件ai发生以前,代表事件ai所发生的不确定性;

(2)当事件ai发生以后表示事件ai所含的信息量,而自信息的数学期望为平均自信息量:

把h(x)称为信息熵,人体骨架信息熵实质是所选取的骨架关节关键点在每一帧出现的非等概率,即(2)式中的p(ai)在骨架熵值计算时表示每帧图片中关键点偏移标准帧对应位置关键点的概率。

2a)以步骤1所获取的第一帧作为标准帧和步骤2所提取的骨架关键点信息;设标准帧(初始状态)关键点的坐标为(x1,y1,z1),中心点坐标为(x0,y0,z0),当前位置关键点坐标为(xi,yi,zi),中心点(xj,yj,zj),可以得到两点的欧式距离:

初始关键点到几何中心距离:

当前关键点到几何中心距离:

偏移量:l0=|l2-l1|

(6)

式中:l、l1、l2为位移,m;

3a)在实际计算过程中,如果l=0,l0=0则证明所监测人员身体关键点没有发生偏移,正常行为;l>0,l0>0或,l=0,l0>0都证l>0,l0=0明关键点较正常行为发生了偏移,将其发生偏移的关键点概率代入(2)式,即可求得骨架信息熵。

所述的步骤4)针对高危现场工作性质,不排除有下蹲、弯腰等类似跌倒的动作,这时单靠熵值变化来判断异常行为准确率不高,因此引入速度变量作为第二个判定条件,跌倒行为发生时各个关节点的速度变化非常快,选取人体中心点的速度变化值作为第二个判定条件,中心点的计算方法如下所示:

1a)kinect的更新速度为1秒30帧,摄像头打开后拍摄的第一帧人体中心点f0坐标为(x0,x0,x0),此时的时间为t0,第f0+30时坐标为(x1,x1,x1),对应的时间是t1,两帧所选图像的中心点变化位移由空间欧式距离决定:

式中:v为下降的速度,m/s;d为下降位移,m;t为下降时间,s。

2a)当t=t1-t0;v>vc(临界值),则证明被测人员发生了跌倒行为;

将计算的熵值与速度值与其对应的阈值比较,二者都超过阈值则认为跌到行为发生;

人在发生跌倒时速度和熵值的阈值分别应取:1.3m/s和8.6。

本发明的有益效果:

本发明提出骨架关节点相对位置熵和速度结合的判断方式,获取人体骨架信息,计算正常行走到跌倒状态骨架关节点相对位置熵和速度的阈值,判断跌倒行为发生。该方法不考虑被测人员自身特点,能更准确有效的进行跌倒行为检测。

利用步骤1和步骤2获取目标人体的骨架信息,可以有效地避免作业现场光线、粉尘等环境因素对目标提取的干扰,从而提高识别的准确率。步骤3和步骤4提出计算人体关键点信息,不考虑工人自身特点(高矮、胖瘦、性别)等影响,更加准确地对跌倒行为进行检测。

附图说明

图1kinect采集的人体站立时骨架关节点图像。

图2三组骨架的熵值变化折线图。

图3人体中心点速度变化折线图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

一种基于深度数据的人体跌倒行为检测方法,包括以下步骤;

1)数据的采集:利用kinect摄像头获取人体关节点的三维坐标信息;

2)提取代表人体特征的骨架关节关键点信息:头、双肩、双膝、双脚踝、髋关节的三维坐标;

3)计算骨架关键点相对位置熵值,判断是否超过阈值;

4)计算人体中心点速度值,判断是否超过阈值;

5)如果步骤(3)(4)都超过阈值,则认为跌倒发生,报警。

所述的步骤1)开发平台的配置:在vs2015、opencv3.5和kinectforwindows平台上进行环境配置和编程计算,调用kinectsdk库里函数骨架追踪函数skeletonstream进行目标人体定位。

如图1所示:所述的步骤2)选取代表人体运动行为的关键点:按步骤1所用骨架追踪函数skeletonstream获取到骨架数据,那么每一帧数据都是一个骨骼对象集合,每一个关节有一个唯一标示符如头(head)、肩(shoulder)、肘(dlbow)等信息和3d向量数据,然后选取三组关键点:第一组:头、双肩、双膝、中心点;第二组:双肘、双脚踝、中心点;第三组:双膝、双脚踝、中心点。

如图2图3所示:所述的步骤3),按步骤2所提取的三组骨架数据关键点,以步骤1摄像头采集的正常行走第一帧作为标准帧,计算人从正常行走到跌倒时关键点的熵值变化,人在静止到正常行走时关节点的相对位置熵几乎稳定不变,在跌倒发生时,关键点相对位置熵急速增加然后保持不变,相对熵值计算方法过程如下:

1a)信息熵常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据,即可以认为是某一信息出现的概率,本专利所用到的骨架信息熵,反应的是人体运动程度,运动程度越大则信息熵越大,反之运动程度越小熵越小;

信息熵的定义为:某个概率系统中有n个事件(x1,x2,x3.....xn),第i个事件发生的概率为:pi(i=1,2,3,4....n),如果知道事件已经发生,则该事件所含的信息量称为自信息,定义为:

i(ai)代表两种含义:(1)当事件ai发生以前,代表事件ai所发生的不确定性;

(2)当事件ai发生以后表示事件ai所含的信息量,而自信息的数学期望为平均自信息量:

把h(x)称为信息熵,人体骨架信息熵实质是所选取的骨架关节关键点在每一帧出现的非等概率,即(2)式中的p(ai)在骨架熵值计算时表示每帧图片中关键点偏移标准帧对应位置关键点的概率。

2a)以步骤1所获取的第一帧作为标准帧和步骤2所提取的骨架关键点信息;设标准帧(初始状态)关键点的坐标为(x1,y1,z1),中心点坐标为(x0,y0,z0),当前位置关键点坐标为(xi,yi,zi),中心点(xj,yj,zj),可以得到两点的欧式距离:

初始关键点到几何中心距离:

当前关键点到几何中心距离:

偏移量:l0=|l2-l1|

(6)

式中:l、l1、l2为位移,m;

3a)在实际计算过程中,如果l=0,l0=0则证明所监测人员身体关键点没有发生偏移,正常行为;l>0,l0>0或,l=0,l0>0都证l>0,l0=0明关键点较正常行为发生了偏移,将其发生偏移的关键点概率代入(2)式,即可求得骨架信息熵。

所述的步骤4)针对高危现场工作性质,不排除有下蹲、弯腰等类似跌倒的动作,这时单靠熵值变化来判断异常行为准确率不高,因此引入速度变量作为第二个判定条件,跌倒行为发生时各个关节点的速度变化非常快,选取人体中心点的速度变化值作为第二个判定条件,中心点的计算方法如下所示:

1a)kinect的更新速度为1秒30帧,摄像头打开后拍摄的第一帧人体中心点f0坐标为(x0,x0,x0),此时的时间为t0,第f0+30时坐标为(x1,x1,x1),对应的时间是t1,两帧所选图像的中心点变化位移由空间欧式距离决定:

式中:v为下降的速度,m/s;d为下降位移,m;t为下降时间,s。

2a)当t=t1-t0;v>vc(临界值),则证明被测人员发生了跌倒行为;

将计算的熵值与速度值与其对应的阈值比较,二者都超过阈值则认为跌到行为发生;

人在发生跌倒时速度和熵值的阈值分别应取:1.3m/s和8.6。

表1三组骨架不同场景的识别率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1