一种基于Kinect的人体坐姿行为识别方法和系统与流程

文档序号:15688921发布日期:2018-10-16 21:37阅读:430来源:国知局

本发明属于计算机视觉技术领域,更具体地,涉及一种基于kinect的人体坐姿行为识别方法和系统。



背景技术:

近年来,在医疗领域,人体姿态行为分析的应用变得越来越广泛,在疾病诊断、康复评估以及老年人日常监测等均有所涉及。具体来说,目前大多数的社会工作者都是在办公室进行工作,对于他们来说,坐姿是最为长久的工作姿态。医学研究表明,久坐与不良坐姿将会导致多种职业性肌肉骨骼疾病如腰椎间盘突出、颈椎病等。如今,已经有不少关于健康坐姿检测的方法,但这些方法针对坐姿不良的监测中,通常只考虑到了对人体骨骼信息进行角度分析,然后仅仅根据这一角度标准来判断人体坐姿行为是否健康。

然而,在实际生活场景中,当人在处于“坐”的姿态时,除了正常的敲击键盘或书写这两种常规的姿态之外,更多的时候还可能会出现挥手、喝水、接听电话、拍手等其他坐姿状态(也可以被称为“非正坐”状态)下的生活动作,处于这些行为状态中的对象的骨骼信息角度可能也会发生改变,甚至不符合单纯的骨骼角度信息的检测框架,如果此时,仍然应用传统的健康坐姿检测方法对这些“非正坐”状态进行坐姿行为检测,则会导致检测结果出现相当大的偏差,实际场景应用性不高。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于kinect的人体坐姿行为识别方法和系统,其目的在于,解决传统的健康坐姿检测方法在对“非正坐”状态进行坐姿行为检测时,检测结果偏差较大、识别准确率低的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于kinect的人体坐姿行为识别方法,包括以下步骤:

(1)从人体姿态行为数据集获取骨架图像序列,根据骨架图像序列中每一帧图像及其前一帧和后一帧图像获取该帧图像的时间局部特征,并根据骨架图像序列中每一帧图像获取该帧图像的空间局部特征,时间局部特征和空间局部特征共同构成特征序列fn,s,其中n∈[1,7],s是骨架图像序列中的图像帧;

(2)使用k-means对步骤(1)中获得的帧图像的特征序列进行聚类处理,以得到多个聚类处理结果;

(3)使用pca方法对步骤(2)得到的多个聚类处理结果进行处理,以得到多个按照主元信息的重要性从高到低排列的局部特征。

(4)使用特征编码算法对步骤(3)得到的局部特征进行处理,以得到图像特征描述符;

(5)根据帧图像与骨架图像序列中其他帧图像的图像特征描述符构建全局损失函数,使用基于随机梯度下降算法对全局损失函数进行求解,以得到使全局损失函数最小化的最佳线性变换函数;

(6)使用得到的最佳线性变换函数对帧图像与骨架图像序列中其他帧图像的图像特征描述符进行处理,以得到帧图像与骨架图像序列中其他帧图像的相似度。

(7)利用非参数k-近邻算法对步骤(6)中得到的帧图像与骨架图像序列中其他帧图像的相似度进行处理,以对所有图像进行行为分类。

优选地,根据骨架图像序列中每一帧图像及其前一帧和后一帧图像获取该帧图像的时间局部特征具体为:

首先,按照人体部位将关节点划分成三个关节组,其中头部、左手、右手、左脚、右脚在时间变化过程中的位移矢量构成第一关节组,颈部、左手肘、右手肘、左膝、右膝在时间变化过程中的位移矢量构成第二关节组,脊柱、左肩、右肩、左臀、右臀在时间变化过程中的位移矢量构成第三关节组;

然后,获取每一帧图像中不同关节点的时间位移矢量:

其中1<s<τ,τ是骨架图像序列中图像帧的数量,是骨架图像序列中第s帧图像的第i个关节点在坐标系(x,y,z)中的坐标,表示骨架图像序列中第s帧图像的第i个关节点的时间位移矢量;

最后,将以上获得的每一帧图像的不同关节点的时间位移矢量中属于同一关节组的时间局部特征组合起来,从而分别建立第一、第二和第三关节组的时间局部特征f1至f3。

优选地,根据骨架图像序列中每一帧图像获取该帧图像的空间局部特征具体为:

首先,按照人体部位将关节点划分成4个关节组,其中头部、左手、右手各自与脊柱的相对位置矢量构成第四关节组,头部、左手、左脚各自与右臀的相对位置矢量构成第五关节组;头部、右手、右脚各自与左臀的相对位置矢量构成第六关节组;左手、右手各自与头部的相对位置矢量构成第七关节组;

然后,获取每一帧图像中不同关节点的空间位移矢量:

其中表示第s帧图像中第i个关节点相对于第j个关节点的空间位移矢量,且有i≠j;

最后,将以上获得的每一帧图像的不同关节点的空间位移矢量中属于同一关节组的时间局部特征组合起来,从而分别建立第四、第五、第六和第七关节组的时间局部特征f4至f7。

优选地,特征编码算法是局部特征聚合描述向量符算法;

优选地,对局部特征进行处理,以得到图像特征描述符具体是:

首先,采用以下公式计算:

fn,c=[υn,c,1,...,υn,c,i,...,υn,c,k]

其中fn,c表示将第n个关节组对应的第c个聚类处理结果的多个残差向量υn,c,m串联得到的矢量,υn,c,k表示聚类处理过程中,簇集k中第c个初始化的子群n的局部特征集合,c={1,2,...c},c表示聚类处理结果的数量,m={1,2,...,k},k表示聚类处理结果中簇集的数量;μn,c,m表示第n个关节组对应的第c个聚类处理结果中第m个簇集对应的聚类中心,且有

sn,c,m={fn,s|m=argminp||fn,s-μn,c,p||}

其中p={1,2,...,k},且有p≠m;

然后,将帧图像中所有关节组和所有聚类处理结果对应的矢量fn,c求和,就得到图像特征描述符。

优选地,步骤(5)具体为:

首先,构建全局损失函数如下:

ε(l)=(1-μ)εpull(l)+μεpush(l)+γ||ltl-i||2

其中μ是分量εpush(l)和分量εpull(l)分量之间的比率,γ是正则化系数,i是单位矩阵,l表示线性变换,且有

其中是帧图像的图像特征描述符,分量εpull(l)表示将真正目标样本拉近图像特征描述符作为同一类别的度量,分量εpush(l)表示在把图像特征描述符拉近特征向量的同时将实际不在同一类别的造成干扰的冒名顶替样本l推离图像特征描述符的度量,ξ是图像特征描述符与冒名顶替样本l之间的期望分离间隔,j→i表示图像特征描述符和图像特征描述符是同一类别的目标邻居样本,l是样本索引为i时的冒名顶替样本,表示图像特征描述符和图像特征描述符不是同一类别的目标邻居样本;

然后,使用sgd算法求得使全局损失函数最小化的最佳线性变换函数l*

l*=argminlε(l)。

按照本发明的另一方面,提供了一种基于kinect的人体坐姿行为识别系统,包括:

第一模块,用于从人体姿态行为数据集获取骨架图像序列,根据骨架图像序列中每一帧图像及其前一帧和后一帧图像获取该帧图像的时间局部特征,并根据骨架图像序列中每一帧图像获取该帧图像的空间局部特征,时间局部特征和空间局部特征共同构成特征序列fn,s,其中n∈[1,7],s是骨架图像序列中的图像帧;

第二模块,用于使用k-means对第一模块中获得的帧图像的特征序列进行聚类处理,以得到多个聚类处理结果;

第三模块,用于使用pca方法对第二模块得到的多个聚类处理结果进行处理,以得到多个按照主元信息的重要性从高到低排列的局部特征。

第四模块,用于使用特征编码算法对第三模块得到的局部特征进行处理,以得到图像特征描述符;

第五模块,用于根据帧图像与骨架图像序列中其他帧图像的图像特征描述符构建全局损失函数,使用基于随机梯度下降算法对全局损失函数进行求解,以得到使全局损失函数最小化的最佳线性变换函数;

第六模块,用于使用得到的最佳线性变换函数对帧图像与骨架图像序列中其他帧图像的图像特征描述符进行处理,以得到帧图像与骨架图像序列中其他帧图像的相似度。

第七模块,用于利用非参数k-近邻算法对第六模块中得到的帧图像与骨架图像序列中其他帧图像的相似度进行处理,以对所有图像进行行为分类。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明方法的识别率高:由于本发明引入了最佳线性变换函数的求解过程,并将该最佳线性变换函数应用在k-nn分类算法中,从而进一步提高了识别准确率;

(2)本发明在应用于坐姿健康检测时,能够考虑到更多的实际应用场景,具有广泛的应用性和实用性。

附图说明

图1是本发明基于kinect的人体坐姿行为识别方法的流程图,

图2是对于msr-action3d数据集的20个姿态动作使用本发明的方法进行识别得到的混淆矩阵。

图3是对于utkinect-action3d数据集使用本发明的方法进行识别得到的混淆矩阵。

图4是对于florence3dactions数据集使用本发明的方法进行识别得到的混淆矩阵。

图5是本发明的方法针对人体姿态识别和人体坐姿行为识别得到的性能比较曲线。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供了一种基于kinect的人体坐姿行为识别方法,其首先在kinect骨骼数据的基础上简化骨骼关节点的定义,并在此基础上设计了一种全新的人体姿态行为识别框架,并针对人体坐姿这一具体研究目标对该框架作了进一步改进以更适应人体坐姿行为识别。。在该框架中,首先定义基于骨架信息的时空描述局部特征,然后使用k-means聚类算法和主成分分析(principalcomponentanalysis,pca)算法得到最终特征聚类结果的局部聚合描述向量符,接着提出采用自定义损失函数以及全局随机梯度优化算法两部分组合的方式,进行判别特征的度量学习,计算得到有关特征信息的学习变换结果,最后采用k-nn分类器对最终学习得到特征信息进行姿态行为的分类识别。实验结果验证了该方法在人体坐姿行为识别的有效性和准确性,并在人体坐姿行为识别上有良好表现。

如图1所示,本发明基于kinect的人体坐姿行为识别方法包括以下步骤:

(1)从人体姿态行为数据集获取骨架图像序列,根据骨架图像序列中每一帧图像及其前一帧和后一帧图像获取该帧图像的时间局部特征,并根据骨架图像序列中每一帧图像获取该帧图像的空间局部特征,时间局部特征和空间局部特征共同构成特征序列;

具体而言,人体姿态行为数据集可以是微软研究院发布的msr-action3d数据集,或者utkinect-action3d数据集,或者florence3dactions数据集。

根据骨架图像序列中每一帧图像及其前一帧和后一帧图像获取该帧图像的时间局部特征具体为:首先,按照人体部位将关节点划分成三个关节组,其中头部、左手、右手、左脚、右脚在时间变化过程中的位移矢量构成第一关节组,颈部、左手肘、右手肘、左膝、右膝在时间变化过程中的位移矢量构成第二关节组,脊柱、左肩、右肩、左臀、右臀在时间变化过程中的位移矢量构成第三关节组;

然后,获取每一帧图像中不同关节点的时间位移矢量:

其中s是骨架图像序列中的图像帧,且有1<s<τ,τ是骨架图像序列中图像帧的数量,是骨架图像序列中第s帧图像的第i个关节点在坐标系(x,y,z)中的坐标,表示骨架图像序列中第s帧图像的第i个关节点的时间位移矢量;

最后,将以上获得的每一帧图像的不同关节点的时间位移矢量中属于同一关节组的时间局部特征组合起来,从而分别建立第一、第二和第三关节组的时间局部特征f1至f3;

根据骨架图像序列中每一帧图像获取该帧图像的空间局部特征具体为:首先,按照人体部位将关节点划分成4个关节组,其中头部、左手、右手各自与脊柱的相对位置矢量构成第四关节组,头部、左手、左脚各自与右臀的相对位置矢量构成第五关节组;头部、右手、右脚各自与左臀的相对位置矢量构成第六关节组;左手、右手各自与头部的相对位置矢量构成第七关节组。

然后,获取每一帧图像中不同关节点的空间位移矢量:

其中表示第s帧图像中第i个关节点相对于第j个关节点的空间位移矢量,且有i≠j;

最后,将以上获得的每一帧图像的不同关节点的空间位移矢量中属于同一关节组的时间局部特征组合起来,从而分别建立第四、第五、第六和第七关节组的时间局部特征f4至f7;

本步骤中最终得到的特征序列表示为fn,s,其中n∈[1,7]。

(2)使用k-means对步骤(1)中获得的帧图像的特征序列进行聚类处理,以得到多个聚类处理结果;

(3)使用主成分分析法(primarycomponentanalysis,简称pca)对步骤(2)得到的多个聚类处理结果进行处理,以得到多个按照主元信息的重要性从高到低排列的局部特征(其中重要性指的是局部特征与最终的人体坐姿行为识别结果之间的关联性)。

降维的同时虽然会不可避免的造成信息的丢失,不过实际数据之间常常存在相关性,因此可以在降维的同时想办法尽量将信息的损失降低。使用pca的一个好处就是在进行数据降维时,能够对新计算出的“主元”向量按照其重要性进行排序,按需取出处于序列前面也就是最为重要的部分,省去序列后面的维数,从而在进行简化模型或者是对数据进行压缩的同时,最大限度的保持了原始数据的信息。

(4)使用特征编码算法对步骤(3)得到的局部特征进行处理,以得到图像特征描述符;

具体而言,本步骤中使用的特征编码算法是局部特征聚合描述向量符(vectoroflocallyaggregateddescriptors,简称vlad)算法。

本步骤具体是采用以下公式:

fn,c=[υn,c,1,...,υn,c,i,...,υn,c,k]

其中fn,c表示将第n个关节组对应的第c个聚类处理结果的多个残差向量υn,c,m串联得到的矢量,υn,c,k表示步骤(2)的聚类处理过程中,簇集k中第c个初始化的子群n的局部特征集合,c={1,2,...c},c表示聚类处理结果的数量,m={1,2,...,k},k表示聚类处理结果中簇集的数量。

上述公式中,其中μn,c,m表示第n个关节组对应的第c个聚类处理结果中第m个簇集对应的聚类中心,且有

sn,c,m={fn,s|m=argminp||fn,s-μn,c,p||}。

其中p={1,2,...,k},且有p≠m。

将帧图像中所有关节组和所有聚类处理结果对应的矢量fn,c求和后,就得到本步骤的图像特征描述符。

(5)根据帧图像与骨架图像序列中其他帧图像的图像特征描述符构建全局损失函数,使用基于随机梯度下降(stochasticgradientdescent,,简称sgd)算法对全局损失函数进行求解,以得到使全局损失函数最小化的最佳线性变换函数;

具体而言,首先构建全局损失函数如下:

ε(l)=(1-μ)εpull(l)+μεpush(l)+γ||ltl-i||2

其中μ是分量εpush(l)和分量εpull(l)分量之间的比率,γ是正则化系数,i是单位矩阵,l表示线性变换,且有

其中是帧图像的图像特征描述符,分量εpull(l)表示将真正目标样本拉近图像特征描述符作为同一类别的度量,分量εpush(l)表示在把图像特征描述符拉近特征向量的同时将实际不在同一类别的造成干扰的冒名顶替样本l推离图像特征描述符的度量,ξ是图像特征描述符与冒名顶替样本l之间的期望分离间隔,j→i表示图像特征描述符和图像特征描述符是同一类别的目标邻居样本,l是样本索引为i时的冒名顶替样本,表示图像特征描述符和图像特征描述符不是同一类别的目标邻居样本。

然后,使用sgd算法求得使全局损失函数最小化的最佳线性变换函数l*

l*=argminlε(l)

(6)使用得到的最佳线性变换函数对帧图像与骨架图像序列中其他帧图像的图像特征描述符进行处理,以得到帧图像与骨架图像序列中其他帧图像的相似度。

(7)利用非参数k-近邻(k-nearestneighbors,简称k-nn)算法对步骤(6)中得到的帧图像与骨架图像序列中其他帧图像的相似度进行处理,以对所有图像进行行为分类。

在k-nn算法中,输入是由数据集中k个最近的训练实例组成,输出则是一个类成员。一个待分类新对象的分类原则是,将该对象划分到离它最近的个邻居中大多数邻居所在的对应类中。通常会对邻居赋予权值用来表示邻居对分类的贡献。例如,可以选择待分类对象到各邻居的距离作为该邻居样本的权值。在本发明中,通过两个阶段的度量学习,将得到的特征样本的最终变换,根据该变换可以确定各个样本参与分类时的特征表达以及样本间的距离定义。

对这些样本进行最终的分类时,k-nn作为一种最直接的用来分类未知数据的算法,每个训练数据都有明确的标签,也可以明确的判断出新数据的标签。具体算法过程为:

(1)定义数据间的距离计算方式,计算新数据与已知类别数据点的距离;

(2)将计算的距离递增排序,选择与当前待分类数据最近的k个点;

(3)对于离散分类,返回k个点出现频率最多的类别作预测分类;对于回归则返回k个点的加权值作为预测值。

简单来说,该过程可以理解为,有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近k个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。

实验结果

msr-action3d是当前使用最多的公共数据集,首先选用该数据集对框架进行测试并与当前使用该数据集进行评估的方法进行比较。

在进行训练评估时,选择使用wang等人提出的交叉主题分割的方法,具体来说就是msr-action3d的十个主题,选择主题1、3、5、7、9用于训,而主题2、4、6、8、10用于测试。在这种情况下,本发明的框架对于msr-action3d的20个姿态动作进行识别得到的混淆矩阵如图2所示。

从图2的混淆矩阵中可以看出,框架对数据集20个姿态行为中的14个能够准确的识别出来,其余有4个的识别率在90%以上,只有2个的识别精度低于90%。该评估结果与并与同样使用这些数据集进行姿态识别的现有技术方法对比,如下表1所示。

表1

从上表1的对比结果可以看出,该框架的平均识别率能够达到95.86%,与当前使用同一行为数据集的行为识别技术方法相比,仍然具有较高的识别精度。

将本发明的方法在utkinect-action3d数据集和florence3dactions数据集上测试,进行人体姿态行为识别最终得到的混淆矩阵分别如下图3和图4所示。

在这三个数据集中的评估结果将作为框架的评估准确度的参考值,与为达到坐姿行为这一特定识别对象,将框架特征提取进行细化调整后,使用调整后的框架对坐姿状态下的行为进行检测识别,将该结果与原框架下的评估结果进行对比。在进行检测之前,首先对三个数据集中的所有人体姿态动作进行整合与选择,将其中能够被作为坐姿状态下人体行为的挑选出来进行测试。最终进行测试的坐姿行为有:坐下、高挥手、水平挥手、手部抓取、手部钳制、双手挥动、喝水、接听电话、拍手、看表、站起。对应得到的细化调整后的坐姿检测框架对各坐姿行为的识别结果与原检测框架的检测结果对比如图5所示。

通过图5中的折线图可以看出,特定调整后的坐姿行为框架与本发明最开始使用的人体姿态行为检测框架在指定坐姿行为上的检测精度较为相近,采用基于坐姿行为相较于人体整体姿态行为的特定条件的特殊性,减少对应初始输入特征,从而降低训练过程中的特征维数这一细化调整后,该框架的评估结果并显著影响,依然有比较可观的有效性和准确率。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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