基于Kinect深度图像的人体摔倒检测方法及装置与流程

文档序号:11288492阅读:419来源:国知局
基于Kinect深度图像的人体摔倒检测方法及装置与流程

本发明涉及人体摔倒检测领域,特别是涉及一种基于kinect深度图像的人体摔倒检测方法及装置。



背景技术:

人体摔倒检测方法广泛应用于家庭中对老人、小孩的监控和医院中对病患的监控,主要通过外部设备自动监控人体的活动,以检测人体意外摔倒事件。快速有效地发现摔倒行为可使摔倒人及时得到救助,缩短获助等待时间,将摔倒风险降到最低。

现有摔倒检测核心算法可分为三类:一是通过可穿戴设备对检测人质心高度进行监控,并以可穿戴设备返回的实时监控数据对摔倒进行判断;二是通过环境传感器对声音、地板震动、光流等信息进行分析以达到摔倒检测的目的;三是通过监控摄像头,对监控视频进行实时分析,实现摔倒行为的判别和报警。由于可穿戴设备易损坏、舒适度低,且环境数据分析法误报率高等因素,基于监控视频分析的检测算法已成为摔倒检测的主流方向。

kinect比一般的摄像头更为智能,首先,它能够发射红外线,从而对整个房间进行立体定位,kinect摄像头则可以借助红外线来识别人体的运动,对人体的骨骼点进行实时追踪。目前基于kinect摄像头,通过分析深度图像,判断摔倒行为的方法分析过程复杂、计算量大,且不能有效区分“类似摔倒”行为,如:躺下、快速蹲下、弯腰等而导致误报。



技术实现要素:

鉴于上述状况,有必要针对现有技术中摔倒行为检测方法计算量大和误报率高的问题,提供一种基于kinect深度图像的人体摔倒检测方法及装置。

本发明提供了一种基于kinect深度图像的人体摔倒检测方法,包括

分析kinect摄像头拍摄的视频的每一帧深度图像,确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点;

计算所述当前深度图像中的人体的当前重力角的角度,所述当前重力角为所述当前深度图像中人体的上身躯干中心线与重力线构成的夹角,所述上身躯干中心线为所述当前深度图像中人体的骨骼中心点和肩关节中心点的连线;

当所述当前重力角的角度大于阈值角度时,在预设时间段内,计算每一时间点的所述重力角的变化率和质心高度的变化率,所述质心高度为所述腰部中心点与参考面或参考点的距离;

当任意一时间点的所述重力角的变化率大于第一预设值,且所述质心高度的变化率大于第二预设值时确定所述人体摔倒。

上述人体摔倒检测方法,其中,所述计算所述当前深度图像中的人体的当前重力角的角度的步骤包括:

在kinect深度摄像头所创建的三维空间坐标系中构建所述当前深度图像中从所述骨骼中心点至所述肩关节中心点的第一向量;

以所述人体的骨骼中心点为坐标原点建立二维坐标系,并构建从所述二维坐标系中的y轴上任意一点至所述人体骨骼中心点的第二向量;

计算所述第一向量和第二向量的夹角的角度,以得到所述当前深度图像中人体的当前重力角的角度。

上述人体摔倒检测方法,其中,当检测到地面时,所述计算每一时间点的质心高度的变化率的步骤包括:

计算质心至所述地面的距离的变化率;

当无法检测到地平面时,所述计算每一时间点的质心高度的变化率的步骤包括:

计算所述质心至所述人体的右脚关节点或左脚关节点的距离的变化率。

上述人体摔倒检测方法,其中,所述确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点的步骤包括:

对所述视频中每一帧深度图像中进行人体骨架模型匹配,追踪所述深度图像的人体的20个骨架关节点;

确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点。

上述人体摔倒检测方法,其中,所述阈值角度为13°。

上述人体摔倒检测方法,其中,所述预设时间段为1s,所述第一预设值为0.12°/ms,第二预设值为1.21m/s。

本发明还提供了一种基于kinect深度图像的人体摔倒检测装置,包括:

分析模块,用于分析kinect摄像头拍摄的视频的每一帧深度图像,确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点;

第一计算模块,用于计算所述当前深度图像中的人体的当前重力角的角度,所述当前重力角为所述当前深度图像中人体的上身躯干中心线与重力线构成的夹角,所述上身躯干中心线为所述当前深度图像中人体的骨骼中心点和肩关节中心点的连线;

第二计算模块,用于当所述当前重力角的角度大于阈值角度时,在预设时间段内,计算每一时间点的所述重力角的变化率和质心高度的变化率,所述质心高度为所述腰部中心点与参考面或参考点的距离;

确定模块,用于当任意一时间点的所述重力角的变化率大于第一预设值,且所述质心高度的变化率大于第二预设值时确定所述人体摔倒。

上述人体摔倒检测装置,其中,所述第一计算模块包括:

第一向量构建模块,用于在kinect深度摄像头所创建的三维空间坐标系中构建所述当前深度图像中从所述骨骼中心点至所述肩关节中心点的第一向量;

第二向量构建模块,用于以所述人体的骨骼中心点为坐标原点建立二维坐标系,并构建从所述二维坐标系中的y轴上任意一点至所述人体骨骼中心点的第二向量;

第一计算子模块,用于计算所述第一向量和第二向量的夹角的角度,以得到所述当前深度图像中人体的当前重力角的角度。

上述人体摔倒检测装置,其中,所述第二计算模块包括质心高度变化率计算模块,用于:

当检测到地面时,计算质心至所述地面的距离的变化率;

当无法检测到地平面时,计算所述质心至所述人体的右脚关节点或左脚关节点的距离的变化率。

上述人体摔倒检测装置,其中,所述分析模块具体用于:

对所述视频中每一帧深度图像中进行人体骨架模型匹配,追踪所述深度图像的人体的20个骨架关节点;

确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点。

上述人体摔倒检测装置,其中,所述阈值角度为13°。

本发明实施例通过kinect摄像头获取深度图像,追踪人体的骨骼中心点、肩关节中心点和腰部中心点,提取出一种全新的摔倒特征“重力角”,并首次使用于摔倒行为检测。通过“重力角”特征计算能够对摔倒行为进行有效检测,且与质心高度变化率结合后,能够高效区分摔倒行为与类似摔倒行为,具有计算量小、准确性高的特点,可以在老年人居家监控、异常行为检测等应用中得到更好推广和实施。

附图说明

图1为本发明第一实施例提供的基于kinect深度图像的人体摔倒检测方法的流程图;

图2为kinect深度摄像头所创建的三维空间;

图3为人体骨骼点的结构示意图;

图4a为站立行为下深度图像中的上身躯干中心线与重力线的夹角示意图

图4b为行走时深度图像中的上身躯干中心线与重力线的夹角示意图;

图4c为坐下时深度图像中的上身躯干中心线与重力线的夹角示意图;

图5为一段时间内摔倒、弯腰、行走三种不同行为下重力角的变化曲线示意图;

图6为本发明第二实施例提供的基于kinect深度图像的人体摔倒检测方法的流程图;

图7a为kinect深度摄像头拍摄的摔倒行为视频中的一帧深度图像;

图7b表示的是图7a中上身躯干中心线在三维空间中的位置示意图;

图7c为构建的二维平面坐标系下上身躯干中心线的位置示意图;

图8a为kinect深度摄像头拍摄的前摔行为视频中的一帧深度图像;

图8b为前摔行为视频中重力角的变化曲线图;

图8c为前摔行为视频中质心高度的变化曲线图;

图9a为kinect深度摄像头拍摄的后摔行为视频中的一帧深度图像;

图9b为后摔行为视频中重力角的变化曲线图;

图9c为后摔行为视频中质心高度的变化曲线图;

图10a为kinect深度摄像头拍摄的左摔行为视频中的一帧深度图像;

图10b为左摔行为视频中重力角的变化曲线图;

图10c为左摔行为视频中质心高度的变化曲线图;

图11a为kinect深度摄像头拍摄的右摔行为视频中的一帧深度图像;

图11b为右摔行为视频中重力角的变化曲线图;

图11c为右摔行为视频中质心高度的变化曲线图;

图12为本发明第三实施例提供的基于kinect深度图像的人体摔倒检测装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

请参阅图1,为发明第一实施例中的基于kinect深度图像的人体摔倒检测方法,包括步骤s11~s14。

步骤s11,分析kinect摄像头拍摄的视频的每一帧深度图像,确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点。

本发明通过kinect深度摄像头,对进入监控环境进行监控与分析。kinect深度摄像头应安装在距离监控环境中的地面为1.5~1.7米高度的位置,并以能够检测到地面为佳,且其拍摄范围可覆盖整个检测环境。

对kinect深度摄像头拍摄的视频中每一帧深度图像中进行人体骨架模型匹配,追踪所述深度图像的人体的20个骨架关节点,并确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点。图2为kinect深度摄像头所创建的三维空间,并可通过kinectsdk跟踪并计算出人体20个骨骼点,如图3所示,其中a、b、c分别为人体的骨骼中心点(hipcenter)、肩关节中心点(shouldercenter)和腰部中心点(spincenter)。

步骤s12,计算所述当前深度图像中人体的当前重力角的角度。

所述当前重力角为所述当前深度图像中的人体的上身躯干中心线与重力线构成的夹角。所述上身躯干中心线为所述人体的骨骼中心点和肩关节中心点的连线,重力线是重力的作用线,是自重心垂直于地面的线。由上身躯干中心线与重力线构成的夹角,本发明定义为“重力角”。如图4a~4c所示,在日常正常行为中,如:站、行走、坐,上身躯干中心线与重力线几乎是保持平衡或仅有很小夹角。当人失去平衡摔倒时,重力角将在短时间内激增。图5记录了一段时间内摔倒、弯腰、行走三种不同行为下重力角的变化曲线,从图5中可知,人体摔倒时,30帧~35帧之间,重力角急剧增大,而弯腰、行走时重力角的变化不明显。

步骤s13,当所述当前重力角的角度大于阈值角度时,在预设时间段内,计算每一时间点的所述重力角的变化率和质心高度的变化率。

腰部中心点作为人体的质心,所述质心高度为所述腰部中心点与参考面或参考点的距离,参考面例如为kinect摄像头拍摄范围内的地面,参考点例如为人体的右脚关节点或左脚关节点。

根据经典物理学理论,在无外力作用情况下,物体受重力影响可保持平衡的最大角度称为自锁角,当自锁角>13°时,物体将失去平衡。本实施例中,阈值角度设置为13°,当人体的重力角大于13°时,将失去平衡摔倒。当当前重力角大于13度时,在预设时间段,例如1000ms内,监测重力角和质心高度的变化,计算每一时间点的所述重力角的变化率和质心高度的变化率。重力角的变化率的计算公式为:

其中,αt为t时间点的重力角的角度,α0为当前重力角的角度,即13°,t为0~1000ms内任意一时间点。

质心高度的变化率的计算公式为:

其中,ht为t时间点的质心高度,h0为初始时间点0ms时的质心高度,t为0~1000ms内任意一时间点。

步骤s14,当任意一时间点的所述重力角的变化率大于第一预设值,且所述质心高度的变化率大于第二预设值时确定所述人体摔倒。

上述步骤中,第一预设值和第二预设值根据试验得到的最佳试验阈值,分别为0.12°/ms和1.21m/s。

本实施例通过kinect摄像头获取深度图像,追踪人体的骨骼中心点、肩关节中心点和腰部中心点,提取出一种全新的摔倒特征“重力角”,并首次使用于摔倒行为检测。重力角特征标识性强、区分度高、计算量低,能够对摔倒行为进行有效检测,与质心高度变化率结合后,还能够高效区分摔倒行为与类似摔倒行为,如:躺下、快速蹲下、弯腰等传统算法难以区分的行为。同时,深度图像本身特点,还可从根本上实现受监督者隐私保护。因此,本实施例中的基于kinect深度图像的人体摔倒检测方法成本低、效率高,可以在老年人居家监控、异常行为检测等应用中得到更好推广和实施。

请参阅图6,为本发明第二实施例中的基于kinect深度图像的人体摔倒检测方法,包括步骤s21~s26。

步骤s21,分析kinect摄像头拍摄的视频的每一帧深度图像,确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点。

步骤s22,在kinect深度摄像头所创建的三维空间坐标系中构建所述当前深度图像中从所述骨骼中心点至所述肩关节中心点的第一向量。

kinect摄像头对整个检测环境内部的物体进行扫描,借助人体体型检测算法对检测环境内的类人物体进行持续拍摄和追踪,分析出人体骨架模型以及20个关节点,并提供人体骨架模型数据。在获取检测环境内人体骨架模型数据后,通过kinectsdk对获取的人体骨架模型进行建模及运算,获取检测环境下人体骨骼中心点和腰部中心点在kinect深度摄像头所创建的三维空间坐标系中的三维坐标,连接骨骼中心点和腰部中心点的坐标形成第一向量。

步骤s23,以所述人体的骨骼中心点为坐标原点建立二维坐标系,并构建从所述二维坐标系中的y轴上任意一点至所述人体骨骼中心点的第二向量。

步骤s24,计算所述第一向量和第二向量的夹角的角度,以得到所述当前深度图像中人体的当前重力角的角度。

kinect采集的深度图像实际包含的数据中包含三维坐标信息。因此,可以理解为图片中的每一个像素都由{x,y,z}三轴信息组成。图7b表示的是图7a上身躯干中心线在三维空间中的位置,如图7b所示,从骨骼中心点pc至所述肩关节中心点ph的第一向量为:

其中,骨骼中心点在三维空间中的坐标表示为:pc(xc,yc,zc),肩关节中心点表示为:ph(xh,yh,zh)。

本实施例中,为减轻计算复杂度,实现实时计算实时判别,在本方法步骤中可只考虑骨骼中心点与肩关节中心点两个关节点,根据向量的可平移特性,可将骨骼中心点移至坐标原点,并以此构建二维平面,如图7(c)所示。此时,y坐标轴即可理解为重力线。y轴上任意一点与骨骼中心点构成第二向量可表示为:

其中,(xg,yg,zg)表示的是重力线(y轴)上任取一点的坐标。

由此,根据余弦定理,可计算重力角a具体数值,计算公式如下:

步骤s25,当所述当前重力角的角度大于阈值角度时,在预设时间段内,计算每一时间点的所述重力角的变化率和质心高度的变化率。

上述步骤中,当检测到地面时,所述计算每一时间点的质心高度的变化率的步骤包括:计算质心至所述地面的距离的变化率。所述质心高度的计算公式为:

其中,cheight为质心高度,a,b,c,d为地平面纠偏参数,xc,yc,zc为质心的三维坐标,即腰部中心点的三维坐标。

当无法检测到地平面时,所述计算每一时间点的质心高度的变化率的步骤包括:

确定所述当前深度图像中的人体的右脚关节点或左脚关节点;

计算所述质心至所述人体的右脚关节点或左脚关节点的距离的变化率。所述质心高度的计算公式为:

其中,cheight为所述质心的高度,xf,yf,zf代表右脚关节点或左脚关节点的三维坐标参数,xc,yc,zc为所述质心的三维坐标。

本实施例中,在计算质心高度之前,需要判断地面所在位置,通过kinectsdk所提供方设法,可由如下公式获取地平面纠偏参数:

ax+by+cz+d=0

其中,{x,y,z}为拍摄环境中地面任意一位置的坐标,a,b,c,d地平面纠偏参数。但是,如果当摄像头安装过高,无法正常检测到地平面时,系统将默认设置a、b、c、d参数均为0。这无疑将给摔倒检测算法的准确率带来严重影响。故,本实施例中,对系统默认算法进行了修改,在能够获取到地平面参数时,利用地平面参数进行质心高度估计,在无法获取地平面参数时,通过被监控人的右脚关节点或左脚关节点的坐标为基准点,计算质心高度。

步骤s26,当任意一时间点的所述重力角的变化率大于第一预设值,且所述质心高度的变化率大于第二预设值时确定所述人体摔倒。当确定人体摔倒后可进行报警或向向监护人发送报警信息,防止发生意外。

如下表1所示,为本实施例通过分析kinect深度图像,对前摔、后摔、左摔、右摔行为的检测中,摔倒发现时间的检测。

表1.摔倒发现时间

从表1还可看出,本实施例在摔倒过程中即可判断摔倒是否发生,计算方法效率高,可实现实时对摔倒行为进行检测。

请参阅图8a~11c为本实施例对前摔、后摔、左摔、右摔行为下重力角和质心高度的检测,检测结果表明,各种摔倒检测数据曲线趋同性强,即:重力角瞬间增大;质心高度瞬间变小,算法稳定,鲁棒性强。

如表2所示,为本实施例中的基于kinect深度图像的人体摔倒检测方法与现有技术中对摔倒行为识别率和检测误报率的对比结果。

表.2.本实施例人体摔倒检测方法与现有算法的对比

表2是实施例中的检测方法与现有主流算法即宽高比算法、椭圆形态分析法、可穿戴算法的多维度比较。本实施例中的检测方法无论在正确识别率,还是行为区分上均强于目前三种主流识别算法。

请参阅图12,为本发明第三实施例中的基于kinect深度图像的人体摔倒检测装置,包括:

分析模块100,用于分析kinect摄像头拍摄的视频的每一帧深度图像,确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点;

第一计算模块200,用于计算所述当前深度图像中的人体的当前重力角的角度,所述当前重力角为所述当前深度图像中人体的上身躯干中心线与重力线构成的夹角,所述上身躯干中心线为所述当前深度图像中人体的骨骼中心点和肩关节中心点的连线;

第二计算模块300,用于当所述当前重力角的角度大于阈值角度时,在预设时间段内,计算每一时间点的所述重力角的变化率和质心高度的变化率,所述质心高度为所述腰部中心点与参考面或参考点的距离;

确定模块400,用于当任意一时间点的所述重力角的变化率大于第一预设值,且所述质心高度的变化率大于第二预设值时确定所述人体摔倒。

进一步的,所述第一计算模块包括:

第一向量构建模块,用于在kinect深度摄像头所创建的三维空间坐标系中构建所述当前深度图像中从所述骨骼中心点至所述肩关节中心点的第一向量;

第二向量构建模块,用于以所述人体的骨骼中心点为坐标原点建立二维坐标系,并构建从所述二维坐标系中的y轴上任意一点至所述人体骨骼中心点的第二向量;

第一计算子模块,用于计算所述第一向量和第二向量的夹角的角度,以得到所述当前深度图像中人体的当前重力角的角度。

进一步的,所述第二计算模块包括质心高度变化率计算模块,用于:

当检测到地面时,计算质心至所述地面的距离的变化率;

当无法检测到地平面时,计算所述质心至所述人体的右脚关节点或左脚关节点的距离的变化率。

进一步的,所述分析模块具体用于:

对所述视频中每一帧深度图像中进行人体骨架模型匹配,追踪所述深度图像的人体的20个骨架关节点;

确定当前深度图像中的人体的骨骼中心点、肩关节中心点和腰部中心点。

进一步的,所述阈值角度为13°。

本实施例的装置,可以用于执行图1至图2任一所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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