一种基于类别分层机制的人体运动状态分类方法与流程

文档序号:11952079阅读:来源:国知局

技术特征:

1.一种基于类别分层机制的人体运动状态分类方法,其特征在于:该方法包含不同类别动作设计与动作样本采集、不同类别动作样本分割与类别标注、动作样本数据预处理、动作样本特征提取、基于动作样本数据的特征选择、基于类别分层机制的分类器构建和分类方法有效性验证步骤;

所述不同类别动作设计与动作样本采集是指将人体运动状态定义为躺、坐、站、走、快走、跑、上楼、下楼、转身、躺到坐、坐到站、站到坐、坐到躺13种不同类别动作,并设计包含上述类别动作的实验范式,采集相应类别的动作样本;采集的动作样本由三轴加速度数据和三轴角速度数据组成,即任何包含三轴加速度传感器和三轴陀螺仪传感器的数据采集设备都适用于所述的动作样本采集,所述数据采集设备为智能手机、运动传感模块;

所述不同类别动作样本分割与类别标注是指按照设计的实验范式中动作的先后顺序,采用动作样本分割软件对不同类别的动作样本进行半自动化分割,并将分割后的动作样本标注为相应运动状态类别;动作样本分割软件每次读取一个完整实验范式中采集到的动作样本数据,根据实验范式中动作的先后顺序和动作样本中三轴加速度和三轴角速度数据的波形变化,通过软件界面中的指针拖动操作,界定实验范式中不同动作的起始点和结束点,最后再编辑框中输入对应的动作类别名称,点击数据保存按钮将起始点和结束点之间的动作样本数据,进而完成不同类别动作样本的数据保存和类别标注操作;

所述动作样本数据预处理是指按照先后顺序,依次采用加窗重叠、去噪和归一化三种操作方法对分割后的动作样本进行预处理,并形成最终的动作样本用于后续的样本特征提取、特征选择、分类器构建和分类方法验证操作;所述加窗重叠操作是指采用固定长度时间窗并按固定百分比的重叠率对每个分割后的动作样本进行二次分割,每个分割后的动作样本都被最终分为一个或多个长度固定的动作样本;其中,转身、躺到坐等动作由于发生时间较短,分割后的动作样本数据长度小于时间窗口长度,该情况下分割后的动作样本采用前后数据扩张的策略,得到一个长度与时间窗口长度一致的动作样本;走、躺、坐动作发生时间较长,分割后的动作样本长度大于时间窗口长度,该情况下采用固定长度时间窗并按固定百分比的重叠率对每个分割后的动作样本进行二次分割并得到多个长度与时间窗口长度一致的动作样本;分割后的动作样本在经过加窗重叠操作后得到的动作样本被称为二次分割后的动作样本;动作样本数据预处理的去噪是指对每个二次分割后的动作样本采用中值滤波去噪方法进行数据去噪;动作样本数据预处理的归一化是指为了避免不同被试相同动作之间的数据差异性,对每个被试按照实验范式采集到的不同类别动作样本进行数据归一化操作;具体来说,每个被试采集到的不同类别动作样本经过二次分割后会得到一个包含13种类别的动作样本集,样本集中每个动作样本长度一致;归一化操作正是对每个被试采集到的动作样本集进行归一化操作;

所述动作样本特征提取是指按照时域、频域的特征抽取方法分别对每个二次分割后的动作样本中包含的三轴加速度数据和三轴角速度数据进行时域和频域特征提取;进一步说,针对滑动窗口中的每一轴运动状态数据,计算其均值、标准差、第25百分位数、第50百分位数、第75百分位数、6轴运动状态数据两两之间的相关系数、频率谱能量和前十种频率能量时域和频域数据特征;进一步说,经过特征提取操作后,每个二次分割后的动作样本都可以由一个高维向量表示,每个动作样本集由一个m行n列的高维特征矩阵组成;其中,m表示动作样本集中包含的动作样本数量,n表示高维向量的特征维数,即抽取的时域、频域特征数;

所述动作样本数据的特征选择是指采用主成分分析方法对高维特征矩阵进行降维操作,以累积贡献度大于75%为标准,得到降维后的特征矩阵并作为后续分类器构建操作的数据基础;本发明采用的特征选择步骤具有可选择性,即选择是否采用特征选择步骤对动作样本特征提取得到的高维数据特征进行降维操作;

所述类别分层机制是指根据人体运动状态的特点,将不同的人体运动状态分为静止性动作和运动性动作两种;其中,运动性动作又可以细分为连续性动作和转换性动作两种;通常来说,静止性动作包括躺、坐和站三种常规性的人体运动状态;连续性动作包括走、快走、跑、上楼和下楼五种常规性的人体运动状态,转换性动作包括转身、从躺到坐、从坐到躺、从坐到站和从站到坐五种常规性的人体运动状态;根据静止性动作、运动性动作、连续性动作和转换性动作四种人体运动状态的划分,类别分层机制定义如下:

定义1、将判断测试样本属于静止性动作或者运动性动作的分类步骤作为第一层次分类;

定义2、将判断测试样本属于躺、坐或者站的分类步骤作为面向静止性动作的第二层次分类;

定义3、将判断测试样本属于连续性动作或者转换性动作的分类步骤作为面向运动性动作的第二层次分类;

定义4、将判断测试样本属于走、快走、跑、上楼或者下楼的分类步骤作为面向连续性动作的第三层次分类;

定义5、将判断测试样本属于转身、躺到坐、坐到站、站到坐或者坐到躺的分类步骤作为面向转换性动作的第三层次分类;

基于类别分层机制的分类器构建是指为了符合类别分层机制的分类要求,所有二次分割后的动作样本都具有多重动作类别标签;其中,躺、坐和站三种类别的动作样本具有本身类别和静止性动作两种类别标签;走、快走、跑、上楼和下楼五种类别的动作样本具有本身类别、连续性动作和运动性动作三种类别标签;转身、躺到坐、坐到站、站到坐和坐到躺五种类别的动作样本具有本身类别、转换性动作和运动性动作三种类别标签;针对所有二次分割后的动作样本,按照留一验证方法,每次选择一个动作样本作为测试样本,剩下的动作样本作为训练样本,每个类别层次均采用K邻近分类方法(KNN)对测试样本进行分类操作。

2.根据权利要求1所述的一种基于类别分层机制的人体运动状态分类方法,其特征在于:所述分类操作具体包含以下步骤:

步骤1、将选择的测试样本输入到构建的基于类别分层机制的分类器中;

步骤2、进行第一层次分类操作;从剩下的动作样本中取出所有类别标签为运动性动作和静止性动作的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为第一层次分类的分类结果,即判断该测试样本属于静止性动作还是运动性动作;当分类结果为静止性动作时,分类流程跳转至步骤3,否则,跳转至步骤4;

步骤3、进行面向静止性动作的第二层次分类;从剩下的动作样本中取出所有类别标签为躺、坐和站的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向静止性动作的第二层次分类的分类结果,即判断测试样本类别为躺、坐或者站;

步骤4、进行面向运动性动作的第二层次分类;从剩下的动作样本中取出所有类别标签为连续性动作和转换性动作的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向运动性动作的第二层次分类的分类结果,即判断测试样本类别为连续性动作或者转换性动作;当分类结果为连续性动作时,分类流程跳转至步骤5,否则,跳转至步骤6;

步骤5、进行面向连续性动作的第三层次分类;从剩下的动作样本中取出所有类别标签为走、快走、跑、上楼和下楼的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向连续性动作的第三层次分类的分类结果,即判断测试样本类别为走、快走、跑、上楼或者下楼;

步骤6、进行面向转换性动作的第三层次分类;从剩下的动作样本中取出所有类别标签为转身、躺到坐、坐到站、站到坐和坐到躺的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向转换性动作的第三层次分类的分类结果,即判断测试样本类别为转身、躺到坐、坐到站、站到坐或者坐到躺;

所述分类方法有效性验证是指根据基于类别分层机制的人体运动状态分类方法得到的分类结果,采用正确率Accuracy、错误率Errorrate、灵敏度Sensitive、特效度Specificity和精度Precision五个指标对分类方法的分类效果进行评价,五个指标计算公式说明如下:

(1)正确率Accuracy,计算公式如下所示:

<mrow> <mi>A</mi> <mi>c</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>a</mi> <mi>c</mi> <mi>y</mi> <mo>=</mo> <mfrac> <mrow> <mi>T</mi> <mi>P</mi> <mo>+</mo> <mi>T</mi> <mi>N</mi> </mrow> <mrow> <mi>P</mi> <mo>+</mo> <mi>N</mi> </mrow> </mfrac> </mrow>

(2)错误率Errorrate,计算公式如下所示:

<mrow> <mi>E</mi> <mi>r</mi> <mi>r</mi> <mi>o</mi> <mi>r</mi> <mi> </mi> <mi>r</mi> <mi>a</mi> <mi>t</mi> <mi>e</mi> <mo>=</mo> <mfrac> <mrow> <mi>F</mi> <mi>P</mi> <mo>+</mo> <mi>F</mi> <mi>N</mi> </mrow> <mrow> <mi>P</mi> <mo>+</mo> <mi>N</mi> </mrow> </mfrac> </mrow>

(3)灵敏度Sensitive,计算公式如下所示:

<mrow> <mi>S</mi> <mi>e</mi> <mi>n</mi> <mi>s</mi> <mi>i</mi> <mi>t</mi> <mi>i</mi> <mi>v</mi> <mi>e</mi> <mo>=</mo> <mfrac> <mrow> <mi>T</mi> <mi>P</mi> </mrow> <mi>P</mi> </mfrac> </mrow>

(4)特效度Specificity,计算公式如下所示:

<mrow> <mi>S</mi> <mi>p</mi> <mi>e</mi> <mi>c</mi> <mi>i</mi> <mi>f</mi> <mi>i</mi> <mi>c</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mo>=</mo> <mfrac> <mrow> <mi>T</mi> <mi>N</mi> </mrow> <mi>N</mi> </mfrac> </mrow>

(5)精度Precision,计算公式如下所示:

<mrow> <mi>Pr</mi> <mi>e</mi> <mi>c</mi> <mi>i</mi> <mi>s</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>T</mi> <mi>P</mi> </mrow> <mrow> <mi>T</mi> <mi>P</mi> <mo>+</mo> <mi>F</mi> <mi>P</mi> </mrow> </mfrac> </mrow>

式中,TP表示实际动作类别为A且被分类器划分为A类的样本数量,FP表示实际动作类别为非A且被分类器划分为A类的样本数量,FN表示实际动作类别为A且被分类器划分为非A类的样本数量,TN表示实际动作类别为非A且被分类器划分为非A类的样本数量;P表示实际动作类别为A的样本数量,N表示实际动作类别为非A的样本数量,A表示躺、坐、站、走、快走、跑、上楼、下楼、转身、躺到坐、坐到站、站到坐和坐到躺等动作类别中的一种。

3.根据权利要求1所述的一种基于类别分层机制的人体运动状态分类方法,其特征在于:步骤1、设计包含不同类别动作的实验范式,采用包含了三轴加速度传感器和三轴陀螺仪传感器的数据采集设备按照实验范式采集相应类别的动作样本;本发明将人体运动状态定义为躺、坐、站、走、快走、跑、上楼、下楼、转身、躺到坐、坐到站、站到坐、坐到躺13种不同类别动作;

步骤2、按照设计的实验范式中动作的先后顺序,采用动作样本分割软件对不同类别的动作样本进行半自动化分割,并将分割后的动作样本标注为相应运动状态类别;

步骤3、依次采用加窗重叠、去噪和归一化三种操作方法对分割后的动作样本进行预处理,并形成最终的动作样本用于后续操作;其中,加窗重叠操作中的数据窗口长度设定为数据采集设备采样率的整数倍,窗口重叠率设定为50%;去噪操作采用中值滤波方法进行去噪;每个被试分割后的动作样本经过预处理后得到多个数据长度一致的动作样本,每个动作样本的类别都属于步骤1中定义的13个动作类别中的一种;

步骤4、对每个二次分割后的动作样本中包含的三轴加速度数据和三轴角速度数据进行时域和频域特征提取;针对滑动窗口中的每一轴运动状态数据,计算其均值、标准差、第25百分位数、第50百分位数、第75百分位数、6轴运动状态数据两两之间的相关系数、频率谱能量和前十种频率能量等时域和频域数据特征;经过特征提取操作后,每个二次分割后的动作样本都可以由一个高维向量表示,每个动作样本集由一个m行n列的高维特征矩阵组成;

步骤5、选择是否进行特征选择操作;如果需要进行特征选择操作,则跳转至步骤6;否则,跳转至步骤7;

步骤6、采用主成分分析方法对高维特征矩阵进行降维操作,以累积贡献度大于75%为标准,得到降维后的特征矩阵;

步骤7、对所有二次分割后的动作样本增加其他的动作类别标签,构建分类器进行动作样本分类操作;除本身类别标签外,躺、坐和站三种类别的动作样本增加静止性动作类别标签;除本身类别标签外,走、快走、跑、上楼和下楼五种类别的动作样本增加连续性动作和运动性动作两种类别标签;除本身类别标签外,转身、躺到坐、坐到站、站到坐和坐到躺五种类别的动作样本增加转换性动作和运动性动作两种类别标签;针对所有二次分割后的动作样本,按照留一验证方法,每次选择一个动作样本作为测试样本,剩下的动作样本作为训练样本,每个类别层次均采用K邻近分类方法(KNN)对测试样本进行分类操作。

4.根据权利要求3所述的一种基于类别分层机制的人体运动状态分类方法,其特征在于:

具体包含以下步骤,

步骤71、将选择的测试样本输入到构建的基于类别分层机制的分类器中;

步骤72、进行第一层次分类操作;从剩下的动作样本中取出所有类别标签为运动性动作和静止性动作的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为第一层次分类的分类结果,即判断该测试样本属于静止性动作还是运动性动作;当分类结果为静止性动作时,分类流程跳转至步骤73,否则,跳转至步骤74;

步骤73、进行面向静止性动作的第二层次分类;从剩下的动作样本中取出所有类别标签为躺、坐和站的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向静止性动作的第二层次分类的分类结果,即判断测试样本类别为躺、坐或者站;

步骤74、进行面向运动性动作的第二层次分类;从剩下的动作样本中取出所有类别标签为连续性动作和转换性动作的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向运动性动作的第二层次分类的分类结果,即判断测试样本类别为连续性动作或者转换性动作;当分类结果为连续性动作时,分类流程跳转至步骤75,否则,跳转至步骤76;

步骤75、进行面向连续性动作的第三层次分类;从剩下的动作样本中取出所有类别标签为走、快走、跑、上楼和下楼的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向连续性动作的第三层次分类的分类结果,即判断测试样本类别为走、快走、跑、上楼或者下楼;

步骤76、进行面向转换性动作的第三层次分类;从剩下的动作样本中取出所有类别标签为转身、躺到坐、坐到站、站到坐和坐到躺的动作样本作为训练样本,采用KNN分类方法,计算测试样本与每个训练样本之间的欧式距离,取前K个欧式距离最小的动作样本的多数类作为面向转换性动作的第三层次分类的分类结果,即判断测试样本类别为转身、躺到坐、坐到站、站到坐或者坐到躺;

步骤8、基于类别分层机制的人体运动状态分类方法得到的分类结果,计算正确率Accuracy、错误率Errorrate、灵敏度Sensitive、特效度Specificity和精度Precision五个指标并对分类方法的分类效果进行评价。

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