一种基于Kinect三维骨架模型的肢体动作识别方法与流程

文档序号:12305915阅读:1758来源:国知局
一种基于Kinect三维骨架模型的肢体动作识别方法与流程

本发明涉及视频图像中人体动作特征提取和分类技术领域,具体涉及一种基于kinect三维骨架模型的肢体动作识别方法。



背景技术:

基于计算机视觉和图像处理的人体肢体动作特征提取和分类技术,通常利用摄像头及传感器捕获的人体运动信息,通过动作特征描述、特征提取和动作分类等模式识别和机器学习方法来实现。这一技术在视频监控、人机交互、运动分析、虚拟现实和机器人等领域具有广泛的应用价值。现有的人体动作数据获取手段有两大类:一是通过可穿戴设备,虽然精度较高,但是由于其价格昂贵且穿戴不便影响人的运动,其应用受到了很大限制;二是利用普通摄像头,不影响人体运动,简单易行且成本低,但是获得的二维图像容易受到光照、纹理等环境噪声的干扰,难以取得有效的动作识别效果。另外,由于人类肢体动作可以看作是高度复杂的非钢体运动,呈现出复杂的动作特征,而不同人体的体型和动作习惯等差异,也导致不同人体做同种动作也会有明显的差异,这些都造成肢体动作识别技术的复杂性。

骨架模型是基于形态学特征的表示方法,利用了人体本身的结构特性,使得特征的选取具有更明确的物理意义,动作数据维度远远小于非模型的数据维度。由于三维运动图像包含了人体在三维空间运动的信息,而且不受光照、纹理等环境因素的影响,可以为肢体动作识别方法提供了更有效的数据信息。目前流行的kinect摄像头可以同时捕获rgb彩色图像和场景深度信息,它提供的人体三维骨架模型可以给出骨架关节点的三维空间坐标数据。因此,采用基于kinect三维骨架模型的人类肢体动作识别技术,结合了骨架模型与三维图像数据的优势,具有更好的鲁棒性。



技术实现要素:

本发明提出了一种基于kinect三维骨架模型的肢体动作识别方法,用于对视频图像中人体活动时的肢体动作进行特征提取和分类识别。该方法是实现智能视频监控、人机交互、运动分析、虚拟现实和智能机器人等技术的基础。

为达到上述目的,本发明的构思是:

针对三维骨架序列动作,设计一种关节角描述符特征,串联三个投影平面的关节角描述符以有效降低数据维度。在特征提取前对原始数据进行预处理,使得特征具有尺度不变性、平移不变性和视角无关性,并使用时间金字塔模型捕获动作的时序性,使得特征能够有效描述原始动作序列的时间和空间特性。最后对提取的特征使用随机森林分类器进行分类以达到肢体动作识别的目的。

根据上述构思,本发明采用如下技术方案:

一种基于kinect三维骨架模型的肢体动作识别方法,利用kinect摄像头采集肢体动作的骨架数据流,包含了人体骨架关节点在三维空间中的坐标信息,对骨架数据流中的数据进行预处理,提取骨架关节角描述符作为肢体动作的特征数据,将特征数据分类并采用随机森林分离器进行肢体动作识别。

所述数据预处理包括以下三个主要步骤:

1)归一化处理:选择脊柱关节点作为参考坐标系的坐标原点jref(xref,yref,zref),则第i个关节点的坐标归一化后为j'i(xi,yizi)=ji(xi,yizi)-jref(xref,yref,zref),其中,ji(xi,yizi)为第i个关节点坐标;

2)标准化处理:对关节点坐标数据按照以下公式进行标准化处理:

其中,μ是均值,σ是标准差;通过计算,得到新的关节点坐标为:

3)旋转变换:定义连接右肩和左肩的线段所在的直线为参考坐标系中的x轴,然后计算原始x轴与新的参考坐标系中x轴之间的夹角θ,并通过下式对所有骨架关节点沿着y轴做旋转变换,即旋转-θ角度:

其中,(xyz)是旋转变换前的关节点坐标,(x'y'z')是旋转变换后的关节点坐标。

所述骨架关节角特征数据提取方法包括以下四个主要步骤:

1)从预处理后的数据中筛选出主要关节点,包括对上肢动作选取左手和右手关节点作为主要关节点,对全身肢体动作选取头部、左手、右手、左脚和右脚关节点作为主要关节点;

2)将三维骨架数据分别投影到xy、yz和zx这三个正交的二维平面上;

3)计算主要关节点与坐标原点所构成向量与水平轴之间夹角的分布情况,并使用时间金字塔模型捕获动作的时序性,使得特征能够有效描述原始动作序列的时间和空间特性;

4)串联三个投影面的夹角分布得到基于关节角的肢体动作特征。

所述特征数据分类与肢体动作识别包括以下三个主要步骤:

1)将经过数据预处理和特征提取得到的特征数据分为训练数据和测试数据两大类;

2)采用随机森林分类器,将训练数据作为分类器的输入,对其参数进行调整,达到训练分离器的目的;

3)将测试数据输入到已训练好的分类器进行测试,得出每个肢体动作样本的类别属性,完成识别任务。

与现有技术相比,本发明具有如下突出的实质性特点和显著的进步:

本发明采用kinect采集肢体运动的三维骨架数据,不受环境和光照的影响,利用kinect骨架追踪的特点,解决了部分自遮挡的问题;采用数据预处理使得特征具有尺度不变性、平移不变性和视角无关性;采用关节角描述符特征,通过选取主要关节点去除了动作描述中的冗余数据,可以有效降低数据维度,使得特征提取更为有效。

附图说明

图1为基于kinect骨架模型的肢体动作识别方法的结构框图。

图2为kinect获取的20个人体骨架关节点示意图。

图3为一主要关节点j的关节角示意图。

图4为一个两层时间金字塔模型示意图。

具体实施方式

下面结合附图对本发明的实施方式作进一步详细描述。

如图1所示,一种基于kinect三维骨架模型的肢体动作识别方法,具体步骤如下:

步骤1:利用kinec摄像头采集肢体动作的骨架数据流,该数据流包括了kinect所提供的20个人体骨架关节点的三维空间坐标,具体为:

利用kinect摄像头采集不同身高、性别人体样本的以下动作数据:高度挥手、水平挥手、敲打、抓取、前推、高处扔、画叉、画圆、画勾、拍手、双手高度拍手、单手拳击、弯腰、前踢腿、侧踢腿、挥网球拍、发网球、挥高尔夫球杆、捡起扔。因此,该数据流包括了kinect所提供的20个骨架关节点的三维空间坐标,如图2所示,它们分别是头、肩中心、左肩、左肘、左手腕、左手、右肩、右手、右肘、右手腕、脊柱、髋关节中心、左臀部、左膝盖、左脚踝、左脚、右臀部、右膝盖、右脚踝和右脚。此外,动作不仅限于人体正面对着kinect摄像头的视角数据,还可以包括左右侧面的视角数据。

步骤2:对骨架数据进行归一化、标准化和旋转变换等预处理,使得该方法具有尺度不变性、平移不变性和视角无关性,具体为:

1)归一化处理。选择脊柱关节点作为参考坐标系的原点坐标jref(xref,yref,zref),则第i个关节点坐标归一化后为:j'i(xi,yizi)=ji(xi,yizi)-jref(xref,yref,zref)。

2)标准化处理,公式如下:

其中,μ是均值,σ是标准差。通过计算,可得到新的关节点坐标:

3)针对不同视角情况下采集的数据,在步骤2)的基础上,对骨架数据进行旋转变换,使其全部转换为正面视角数据,使得后续的特征提取与动作分类不受视角变化的影响。定义连接右肩和左肩的线段所在的直线为参考坐标系中的x轴,然后计算原始x轴与新的参考坐标系中x轴的夹角θ,通过下式对所有骨架关节点的做旋转变换,使其沿着y轴旋转-θ角度:

其中,(xyz)是旋转变换前的关节点坐标,(x'y'z')是旋转变换后的关节点坐标。

步骤3:提取骨架关节角描述符作为肢体动作的特征数据,具体为:

1)根据肢体动作中各肢体运动幅度情况,选取运动幅度较大的关节点作为主要关节点,减少关节点对动作的冗余描述。例如,对上肢动作选取左手、右手关节点作为主要关节点,对全身肢体动作选取头部、左手、右手、左脚和右脚关节点作为主要关节点。

2)将主要关节点的三维坐标投影到xy、yz和zx这三个正交的二维平面上,计算每一个主要关节点与坐标原点所构成向量与水平轴向量的夹角,统计其分布情况,得到关节角直方图。如图3所示是一个主要关节角j在xy平面上的投影,θ为oj与ox的夹角,即上述两向量间的夹角。

3)为了捕获所提取动作特征的时间顺序,加入两层时间金字塔模型。如图4所示是一个两层时间金字塔模型,将所有特征作为顶层特征,然后将顶层特征平均分为三份,串联这三份作为下一层特征。

4)针对每一个主要关节点计算得到三个投影平面关节角直方图,将三个平面的直方图串联,得到关于每一个主要关节点的特征描述符。

步骤4:将特征数据分类并采用随机森林分离器进行肢体动作识别,具体为:

1)将通过上述步骤得到的特征数据分为两个部分,一部分是训练数据,另一部分是测试数据。

2)将训练数据作为随机森林分类器的输入,通过训练分离器,对其参数进行调整。

3)将测试数据输入到训练好的随机森林模型进行,得出每个肢体动作样本的类别属性,完成动作识别任务。

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