一种基于联合时域频域特征的人体行为识别方法与流程

文档序号:18705923发布日期:2019-09-17 23:41阅读:258来源:国知局
一种基于联合时域频域特征的人体行为识别方法与流程

本发明涉及人体行为识别技术领域,具体而言涉及一种基于联合时域频域特征的人体行为识别方法。



背景技术:

近年来,人体运动行为识别技术在众多需获取人体运动特征的领域具有重要的作用,具有很大研究价值。人体行为识别是通过一系列传感器获取人体行为相关数据,经过特征提取等处理过程来判断人体运动模式的技术。大致可分为两种,一种是基于图像信息,一种是基于惯性测量器件。

传统的人体行为识别多基于图像信息进行,通过摄像头获取人体运动的图像信息,对人体行为进行特征值抽取和建模,从而判断行为类别。该方法的优点是起步较早,较为成熟,识别的准确率高。但具有很大局限性,例如,对图像质量要求较高,识别过程需要处理大量数据,算法比较复杂,功耗高,很难将其应用于使用微型电池供电的可穿戴式设备。

目前,在可穿戴传感系统的设计上多采用惯性测量器件,如加速度计、陀螺仪等。不同类型的运动行为会在加速度计、陀螺仪的三个方向上产生不同的加速度和转动角度数据。通过对这些数据进行处理并提取出特征,可以进行人体运动行为识别。惯性测量器件成本低、小巧方便,功耗低,可使用微型电池供电,具有较强的抗干扰能力,需要处理的数据量较少,对处理器的要求较低,而且采集的数据类型丰富,模型可扩展性较好。然而该方法目前也存在一些问题,例如,追求更高识别准确度则需要采用多个节点,能够识别的人体运动行为种类仍较少。

目前有很多基于惯性测量器件进行人体行为识别的研究案例,atallah等学者通过胸口、腹部、腕部、大腿和足部五个节点进行行为监测,虽然得出的检出率高达99.8%,但采用的节点过多。tong等学者通过部署在胸口的三轴加速度计节点进行姿态分析,通过隐马尔科夫方法进行行为识别,该研究未对其他身体部位进行测试,选用的特征来源是加速度强度值,但其复杂度较高,不易于在终端节点实现。

因此有必要设计一种低复杂度、低功耗、检测准确度高且易于实现的基于可穿戴式单节点的行为识别方法。



技术实现要素:

本发明的目的在于提供一种基于联合时域频域特征的人体行为识别方法,采用单节点惯性测量装置对人体运动产生的加速度数据和角速度数据进行样本数据采集,通过对采集结果进行去除奇异值、漂移补偿和数据窗口化处理,提取出能用来区分人体行为运动的特征,对提取出的特征进行优化处理之后,采用基于欧式距离的二叉树分类算法生成分类二叉树,利用提取的特征对二叉树的svm二元分类器进行训练和测试,从而提取出分类模型,将单节点惯性测量装置采集到的代表人体行为运动的实时加速度、角速度数据输入该分类模型可实现人体行为运动实时识别。本方法采用二叉树分类算法,同时精简选取较少特征进行训练,降低了计算复杂度、减少了运算时间、降低了功耗、提升了识别准确率。

为达成上述目的,结合图1,本发明提出一种基于联合时域频域特征的人体行为识别方法,所述方法包括:

采用单节点惯性测量装置对人体运动产生的加速度数据和角速度数据进行实时采集,基于识别不同人体行为的分类模型,对人体行为进行识别。

其中,所述分类模型基于二叉树分类算法构建,构建过程包括:

s1:采用单节点惯性测量装置对人体运动产生的加速度数据和角速度数据进行样本数据采集,并对采集结果进行去除奇异值和漂移补偿处理。

s2:使用滑动窗口分割法对单节点惯性测量装置采集的样本数据进行分割。

s3:对滑动窗口分割后的样本数据进行人体运动特征提取,包括时域特征和频域特征,并对提取出的特征进行优化处理。

s4:根据提取出的人体运动特征,采用基于欧式距离的二叉树分类算法构建分类二叉树,对人体运动进行分类。

s5:选取样本数据为每个svm二元分类器选定训练集,选用径向基核函数,用网格搜索法搜索适合的参数对,并用交叉验证确定最优参数对,使用libsvm分别对每个svm二元分类器进行训练,将训练好的svm二元分类器进行组合,使用测试样本对每个svm二元分类器进行测试,不断训练和测试直至分类精度达到设定阈值要求,构建得到分类模型。

本发明提出,在采集人体运动样本数据时采用的单节点惯性测量装置为扁平圆片状,内置三轴加速度计与三轴陀螺仪,分别用于采集三轴加速度值ax、av、az,以及三轴角速度值ωx、ωy、ωz。将加速度值在[-7.99g,-7g]和[+7g,+7.99g]范围内的测量值定义为奇异值,漂移补偿处理将剔除奇异值的三轴加速度值ax,av,az与三轴角速度值ωx,ωv,ωz做线性补偿,补偿值由加速度计和陀螺仪标定值确定。

本发明将人体行为运动分为周期行为、摔倒行为、过渡行为三类,其中:

所述周期行为包括站立、平地行走、慢跑、上楼梯、下楼梯。

所述摔倒行为包括向前摔倒、向后摔倒、向左摔倒、向右摔倒。

所述过渡行为包括下蹲-站起、站起-下蹲。

在步骤2中,使用滑动窗口分割法对单节点惯性测量装置产生的样本数据进行分割的过程包括以下步骤:

s21:定义滑动窗口宽度为1s,窗口覆盖比例为50%,窗口以0.5s的步长向前滑动。

s22:每隔0.01s采集一组三轴加速度计和三轴陀螺仪数据,重复采集操作k次,将采集的k组数据存入数据矩阵data(1)中,其中,data(1)为k*6的数据矩阵。

s23:定义正整数i,i等于2。

s24:每隔0.01s采集一组三轴加速度计和三轴陀螺仪数据,重复采集操作k次,将采集的k组数据存入数据矩阵data(i)中,其中,data(i)为k*6的数据矩阵。

s25:将数据矩阵data(i-1)、data(i)合并为数据矩阵window(i-1),其中,window(i-1)为2k*6的数据矩阵,合并方式为data(i-1)的数据存入第1至k行,data(i)的数据存入第k+1至2k行,数据矩阵window(i-1)作为第i-1个窗口的输出数据,第i-1个窗口取值为0.5*i-1<t<0.5*i。

s26:i自加1,使得i=i+1,重复步骤s24、s25,直到样本数据分割过程结束。

本发明提取的人体运动特征包括时域特征和频域特征。

时域特征包括合加速度的标准差、x轴加速度的偏度、z轴加速度的峰度、x轴加速度与y轴加速度的相关系数、合加速度与合角速度的强度值、陀螺仪的俯仰角与翻滚角计算出的姿态角。

利用快速傅里叶变换将人体运动合加速度和y轴加速度信号从时域转换到频域,得到所述频域特征,频域特征包括:合加速度的fft幅值、y轴加速度的幅值与峰值频率。

在步骤s3中,对滑动窗口分割后的样本数据进行人体运动特征提取,包括时域特征和频域特征,并对提取出的特征进行优化处理的过程包括以下步骤:

s31:采用步骤s2所述的滑动窗口分割法将样本数据分割为xi组。

s32:结合三轴加速度值ax、av、az,以及三轴角速度值ωx、ωv、ωz,分别计算时域特征和频域特征。

s33:将每个特征值的计算结果输入至特征处理与优化模块,对其进行优化处理。

s34:保存每个特征值的参数。

将步骤s4分解为两个过程,其一是采用基于欧式距离的二叉树分类算法构建分类二叉树,包括以下步骤:

s41:将人体运动行为类标号按照从小到大的顺序存入集合s中,从中选出第m个人体行为类别,记为类m,第n个人体行为类别,记为类n,根据类距离相关定义构造类m和类n之间的欧式距离矩阵d,

其中,第一列为类m的类标号,第二列为类n的类标号,第三列为类m和类n之间最近样本欧式距离,第四列为类m和类n样本中心欧式距离。

s42:在欧式距离矩阵d中找到集合s中最近样本向量距离am,n最大的两个类m和类n,并根据大小依次放入s1和s2中,作为二叉树结点上的一个svm二元分类器,并更新s=s-(s1∪s2)。

s43:判断s是否为空集,若是空集,跳转至步骤s45。

s44:在欧式距离矩阵d中查找类i(其中i∈s)分别到s1,s2中各类别最小类中心的欧式距离dm,i'和dn,i',如果dm,i'≤dn,i',则将类别i加入s1中,否则加入s2中。

s45:分别将集合s1和s2作为二叉树的左右分支,完成一次二元分类。

s46:更新s1=s,判断该子树是否仅包含一个类别不可再分,若是,则将这个运动行为的类别作为二叉树的叶子结点,算法结束,否则,跳转至步骤s42。

s47:更新s2=s,判断该子树是否仅包含一个类别不可再分,若是,则将这个运动行为的类别作为二叉树的叶子结点,算法结束,否则,跳转至步骤s42。

步骤s4的第二个过程为采用二叉树对人体行为进行分类,方法为,将二叉树的每个非叶子节点作为一个svm二元分类器,计算传入的人体行为的部分特征值,并判断此人体行为所属的类别,直至遍历完所述二叉树的非叶子节点,完成人体行为分类。

最后,选取样本数据为每个svm二元分类器选定训练集,选用径向基核函数,用网格搜索法搜索适合的参数对,并用交叉验证确定最优参数对,使用libsvm分别对每个svm二元分类器进行训练,将训练好的svm二元分类器进行组合,使用测试样本对每个svm二元分类器进行测试,不断训练和测试直至分类精度达到设定阈值要求,构建得到分类模型,包括以下步骤:

s51:选取样本分成若干个集合,为每个svm二元分类器选择最具有区分度的特征进行训练。

s52:为每个svm二元分类器选用径向基核函数,进行网格搜索得到分类效果较好的参数对,并进行交叉验证,确定最佳惩罚因子c与核函数参数g。

s53:确定每个svm二元分类器的最优参数,用libsvm对每个svm二元分类器进行训练。

s54:使用每个svm二元分类器的测试集对性能进行测试。

s55:重复步骤s53至步骤s54,直至分类精度达到设定精度阈值,保存模型。

在实际使用中,将单节点惯性测量装置采集所得的人体运动产生的实时加速度、角速度数据输入至已创建好的分类模型中,可实现人体行为实时识别。

以上本发明的技术方案,与现有相比,其显著的有益效果在于:

(1)仅通过可穿戴式单节点就可以实现人体运动行为检测,保证检测便利性。

(2)采用二叉树分类和精简特征的方式,大大减少识别检测过程所需的计算量与计算时间,保证较高准确度的同时降低功耗,更加适合于微型电池供电的终端节点。

(3)可对包括周期行为、摔倒行为、过渡行为的多样化人体运动进行识别。

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。

附图说明

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:

图1是本发明的一种基于联合时域频域特征的人体行为识别方法步骤图。

图2是本发明的一种基于联合时域频域特征的人体行为识别方法的监测节点部署示意图。

图3是本发明的一种基于联合时域频域特征的人体行为识别方法的滑动窗口数据处理流程图

图4是本发明的一种基于联合时域频域特征的人体行为识别方法的特征选择与处理流程图

图5是本发明的一种基于联合时域频域特征的人体行为识别方法的基于欧式距离的分类二叉树生成算法

图6是本发明的一种基于联合时域频域特征的人体行为识别方法的人体运动行为分类过程

图7是本发明的一种基于联合时域频域特征的人体行为识别方法的二叉树分类流程图

图8是本发明的一种基于联合时域频域特征的人体行为识别方法的二元分类器训练流程图

图9是本发明的一种基于联合时域频域特征的人体行为识别方法的总流程图

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。

在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

结合图1,本发明提及一种基于联合时域频域特征的人体行为识别方法,其特征在于,所述方法包括:

采用单节点惯性测量装置对人体运动产生的加速度数据和角速度数据进行实时采集,基于识别不同人体行为的分类模型,对人体行为进行识别。

其中,所述分类模型基于二叉树分类算法构建,构建过程包括:

s1:采用单节点惯性测量装置对人体运动产生的加速度数据和角速度数据进行样本数据采集,并对采集结果进行去除奇异值和漂移补偿处理。

结合图2,所采用的单节点惯性测量装置为扁平圆片状,可贴附于人体胸口处,贴附方向按照圆片上箭头标识方向。该单节点与人体胸口应保持相对静止,无法相对人体胸口进行较大俯仰、翻滚、偏航等运动。

该单节点内置三轴加速度计与三轴陀螺仪,其y轴正向为人体前进方向。

节点采集得到三轴加速度值分别为ax,ay,az,三轴角速度值分别为ωx,ωy,ωz,去除因传感器原因引起的奇异值,将加速度在[-7.99g,-7g]和[+7g,+7.99g]范围内的测量值定义为奇异值,漂移补偿处理将剔除奇异值的ax,ay,az与ωx,ωy,ωz做线性补偿,补偿值由加速度计和陀螺仪标定值确定。

s2:使用滑动窗口分割法对单节点惯性测量装置采集的样本数据进行分割。

结合图3,该步骤可分解为:

s21:定义滑动窗口宽度为1s,窗口覆盖比例为50%,窗口以0.5s的步长向前滑动。

s22:每隔0.01s采集一组三轴加速度计和三轴陀螺仪数据,重复采集操作k次,将采集的k组数据存入数据矩阵data(1)中,其中,data(1)为n*6的数据矩阵。

s23:定义正整数i,i等于2。

s24:每隔θ.01s采集一组三轴加速度计和三轴陀螺仪数据,重复采集操作k次,将采集的k组数据存入数据矩阵data(i)中,其中,data(i)为k*6的数据矩阵。

s25:将数据矩阵data(i-1)、data(i)合并为数据矩阵window(i-1),其中,window(i-1)为2k*6的数据矩阵,合并方式为data(i-1)的数据存入第1至k行,data(i)的数据存入第k+1至2k行,数据矩阵window(i-1)作为第i-1个窗口的输出数据,第i-1个窗口取值为0.5*i-1<t<0.5*i。

s26:i自加1,使得i=i+1,重复步骤s24、s25,直到样本数据分割过程结束。

举例说明,在本实施例中,k取值可为50。

s3:对滑动窗口分割后的样本数据进行人体运动特征提取,包括时域特征和频域特征,并对提取出的特征进行优化处理。

本发明申请中将人体行为运动分为周期行为、摔倒行为、过渡行为三类,其中:

周期行为包括站立、平地行走、慢跑、上楼梯、下楼梯。

摔倒行为包括向前摔倒、向后摔倒、向左摔倒、向右摔倒。

过渡行为包括下蹲-站起、站起-下蹲。

共计11种人体行为运动。

提取的人体运动特征包括6个时域特征和2个频域特征。

时域特征包括:合加速度的标准差、x轴加速度的偏度、z轴加速度的峰度、x轴加速度与y轴加速度的相关系数、合加速度与合角速度的强度值、陀螺仪的俯仰角与翻滚角计算出的姿态角。

利用快速傅里叶变换将人体运动合加速度和y轴加速度信号从时域转换到频域,得到所述频域特征,频域特征包括:合加速度的fft幅值、y轴加速度的幅值与峰值频率。

经研究发现,通过合加速度的标准差可以较好分辨出站立行为。

通过x轴加速度的偏度可以较好分辨出下楼行为。

通过z轴加速度的峰度可以较好分辨出慢跑行为。

通过x轴加速度与y轴加速度的相关系数可以有效区分上楼行为和平地行走行为。

通过合加速度与合角速度的强度值可以有效区分摔倒行为与其他行为。

通过陀螺仪的俯仰角与翻滚角计算出的姿态角可以有效分辨出四种摔倒行为与慢跑行为。

通过合加速度的fft幅值可以有效辨别站立、慢跑与摔倒三种运动相似度较高的动作。

通过y轴加速度的幅值与峰值频率可以用来区分平地行走、上楼梯与下楼梯三种行为。

结合图4,步骤s3中,所述对滑动窗口分割后的样本数据进行人体运动特征提取,包括时域特征和频域特征,并对提取出的特征进行优化处理的过程如下:

采用滑动窗口分割法将样本数据分割为xi组,结合三轴加速度值ax、ay、az,以及三轴角速度值ωx、ωy、ωz,分别计算时域特征和频域特征值,具体计算公式如下:

(1)计算ax,ay,az的合加速度标准差σ,用于描述加速度样本离散程度,其中为样本合加速度平均值,xi为第i个样本点的合加速度值,n为数据样本点个数,σ的单位为g。

(2)计算加速度偏度sk,用于描述加速度值曲线左右偏斜程度,其中n为加速度样本点个数,xi为第i个样本点的加速度偏度值,为样本加速度偏度的平均值,σ为样本合加速度标准差。

(3)计算加速度峰度k,用于描述加速度值曲线波峰尖锐程度,其中fi为样本间隔。

(4)计算x轴加速度与y轴加速度的相关系数rxy,用于描述x轴和y轴间加速度数据的相关程度,其中为两个加速度样本平均值。

(5)计算合加速度的强度值α,用于描述样本数据能量值,单位为g。

(6)合角速度的强度值w,描述样本数据能量值,单位为rad/s。

(7)计算姿态角6,

其中w(t)为合角速度强度值随时间变化的函数,h为t0、t1分别为t0、t1时刻,xj=t0+jh,j=0,1,...n为积分区间[t0-t1]均分为n等份后的第j个节点,为区间[xj,xj+1]的中点,w(xj)为xj处的合角速度强度值。

(8)利用快速傅里叶变换将人体运动合加速度从时域转换到频域得到合加速度fft幅值。

(9)利用快速傅里叶变换将人体运动y轴加速度信号从时域转换到频域得到y轴加速度幅值与峰值频率。

将每个特征值的计算结果输入至特征处理与优化模块,对其进行优化处理,最终保存每个特征值的参数。

s4:根据提取出的人体运动特征,采用基于欧式距离的二叉树分类算法构建分类二叉树,对人体运动进行分类。

首先,采用基于欧式距离的二叉树分类算法构建分类二叉树,结合图5,其过程包括以下步骤:

s41:将人体运动行为类标号按照从小到大的顺序存入集合s中,从中选出第m个人体行为类别,记为类m,第n个人体行为类别,记为类n,根据类距离相关定义构造类m和类n之间的欧式距离矩阵d,

其中,第一列为类m的类标号,第二列为类n的类标号,第三列为类m和类n之间最近样本欧式距离,第四列为类m和类n样本中心欧式距离。

其中,di,j=min{||xi-xj||,xi∈sp,xj∈sq},为类sp和sq中两个最近样本向量之间的欧式距离。

s42:在欧式距离矩阵d中找到集合s中最近样本向量距离dm,n最大的两个类m和类n,并根据大小依次放入s1和s2中,作为二叉树结点上的一个svm二元分类器,并更新s=s-(s1∪s2)。

s43:判断s是否为空集,若是空集,跳转至步骤s45。

s44:在欧式距离矩阵d中查找类i(其中i∈s)分别到s1,s2中各类别最小类中心的欧式距离dm,i′和dn,i′,如果dm,i′≤dn,i′,则将类别i加入s1中,否则加入s2中。

s45:分别将集合s1和s2作为二叉树的左右分支,完成一次二元分类。

s46:更新s1=s,判断该子树是否仅包含一个类别不可再分,若是,则将这个运动行为的类别作为二叉树的叶子结点,算法结束,否则,跳转至步骤s42。

s47:更新s2=s,判断该子树是否仅包含一个类别不可再分,若是,则将这个运动行为的类别作为二叉树的叶子结点,算法结束,否则,跳转至步骤s42。

其次,结合图6、图7,采用分类二叉树对人体行为进行分类。

二叉树的每一个非叶子节点为一个svm二元分类器,结合图7所示过程,通过计算传入的人体行为的部分特征值,判断此人体行为所属的类别,可将传入的人体行为动作划分成两个类别,遍历完二叉树的所有非叶子节点,可完成人体行为分类。

举例说明,结合图6,该方法可将人体行为运动的行为分类如下:

节点n1可将人体行为集合{周期行为、摔倒行为、过渡行为}分成{周期行为}与{摔倒行为、过渡行为}这两个部分。

节点n2可将人体行为集合{周期行为}分成{站立}与{步行、慢跑、上楼梯、下楼梯}这两个部分。

节点n4可将人体行为集合{步行、慢跑、上楼梯、下楼梯}分成{慢跑}与{步行、上楼梯、下楼梯}这两个部分。

节点n5可将人体行为集合{步行、上楼梯、下楼梯}分成{步行}与{上楼梯、下楼梯}这两个部分。

节点n7可将人体行为集合{上楼梯、下楼梯}分成{上楼梯}与{下楼梯}这两个部分。

节点n11可将人体行为集合{过渡行为、周期行为}分成{过渡行为}与{摔倒行为}这两个部分。

节点n12可将人体行为集合{站立-蹲、蹲-站立}分成{站立-蹲}与{蹲-站立}这两个部分。

节点n15可将人体行为集合{向前摔倒、向后摔倒、向左摔倒、向右摔倒}分成{向前摔倒、向后摔倒}与{向左摔倒、向右摔倒}这两个部分。

节点n16可将人体行为集合{向前摔倒、向后摔倒}分成{向前摔倒}与{向后摔倒}这两个部分。

节点n19可将人体行为集合{向左摔倒、向右摔倒}分成{向左摔倒}与{向右摔倒}这两个部分。

将6个时域特征和2个频域特征分别按照①~⑧的顺序标识。

结合图7,二叉树分类流程中需要计算的特征如下:

计算人体行为的合加速度的标准差、陀螺仪的俯仰角与翻滚角计算出的姿态角特征,并使用节点n1处的svm1二元分类器,可将人体行为集合{周期行为、摔倒行为、过渡行为}分成{周期行为}与{摔倒行为、过渡行为}两类。

计算人体行为的合加速度的fft幅值特征,并使用节点n2处的svm2二元分类器,可将人体行为集合{周期行为}分成{站立}与{步行、慢跑、上楼梯、下楼梯}两类。

计算人体行为的z轴加速度的峰度特征,并使用节点n4处的svm3二元分类器,可将人体行为集合{步行、慢跑、上楼梯、下楼梯}分成{慢跑}与{步行、上楼梯、下楼梯}两类。

计算人体行为的x轴加速度与y轴加速度的相关系数、y轴加速度的幅值与峰值频率特征,并使用节点n5处的svm4二元分类器,可将人体行为集合{步行、上楼梯、下楼梯}分成{步行}与{上楼梯、下楼梯}两类。

计算人体行为的x轴加速度的偏度特征,并使用节点n7处的svm5二元分类器,可将人体行为集合{上楼梯、下楼梯}分成{上楼梯}与{下楼梯}两类。

计算人体行为的合加速度与合角速度的强度值、合加速度的fft幅值特征,并使用节点n11处的svm6二元分类器,可将人体行为集合{过渡行为、周期行为}分成{过渡行为}与{摔倒行为}两类。

在节点中计算特征为表示该节点不使用计算特征,比如下面所述的几个节点。

使用节点n12处的svm7二元分类器,可将人体行为集合{站立-蹲、蹲-站立}分成{站立-蹲}与{蹲-站立}两类。

使用节点n15处的svm8二元分类器,可将人体行为集合{向前摔倒、向后摔倒、向左摔倒、向右摔倒}分成{向前摔倒、向后摔倒}与{向左摔倒、向右摔倒}两类。

使用节点n16处的svm9二元分类器,可将人体行为集合{向前摔倒、向后摔倒}分成{向前摔倒}与{向后摔倒}两类。

使用节点n19处的svm10二元分类器,可将人体行为集合{向左摔倒、向右摔倒}分成{向左摔倒}与{向右摔倒}两类。

进一步的,在各节点处,每个svm二元分类器仅选择其中几种最具有区分度的特征进行训练分类。

n1:svm1:①⑥

n2:svm2:①⑦

n4:svm3:③⑥⑦

n5:svm4:④⑧

n7:svm5:②④⑧

n11:svm6:①⑤⑥⑦

n12:svm7:①

n15:svm8:⑥

n16:svm9:⑥

n19:svm10:⑥

s5:选取样本数据为每个svm二元分类器选定训练集,选用径向基核函数,用网格搜索法搜索适合的参数对,并用交叉验证确定最优参数对,使用libsvm分别对每个svm二元分类器进行训练,将训练好的svm二元分类器进行组合,使用测试样本对每个svm二元分类器进行测试,不断训练和测试直至分类精度达到阈值要求,构建得到分类模型。

结合图8,该步骤可分解为如下步骤:

s51:选取样本分成10个集合,每个svm二元分类器选择最具有区分度的特征进行训练。

集合1用来对svm1(节点n1)进行训练与测试,集合1为{周期行为、摔倒行为、过渡行为}。

集合2用来对svm2(节点n2)进行训练与测试,集合2为{周期行为}。

集合3用来对svm3(节点n4)进行训练与测试,集合3为{步行、慢跑、上楼梯、下楼梯}。

集合4用来对svm4(n5)进行训练与测试,集合4为{步行、上楼梯}、下楼梯}。

集合5用来对svm5(n7)进行训练与测试,集合5为{上楼梯,下楼梯}。

集合6用来对svm6(n11)进行训练与测试,集合6为{过渡行为、摔倒行为}。

集合7用来对svm7(n12)进行训练与测试,集合7为{站立-蹲、蹲-站立}。

集合8用来对svm8(n15)进行训练与测试,集合8为{摔倒行为}。

集合9用来对svm9(n16)进行训练与测试,集合9为{向前摔倒、向后摔倒}。

集合10用来对svm10(n19)进行训练与测试,集合10为{向左摔倒、向右摔倒}。

s52:为每个svm二元分类器选用径向基核函数(rbf),进行网格搜索得到分类效果较好的参数对,并进行交叉验证,确定最佳惩罚因子c与核函数参数g。

s53:确定每个svm二元分类器的最优参数,用libsvm对每个svm二元分类器进行训练。

s54:使用每个svm二元分类器的测试集对性能进行测试。

s55:重复步骤s53至步骤s54,直至分类精度达到设定精度阈值,保存模型。

完成模型训练之后,可将单节点惯性测量装置实时采集到的人体运动产生的加速度、角速度数据,输入至已训练好的分类模型中,可实时识别人体行为。

利用本发明方法,按照实施方案所述,训练模型的测试结果:对摔倒行为的识别准确率为87.891%,对周期行为的识别准确率为91.857%,总的识别准确率为90.86%,实验结果表明本算法具有良好的识别效果。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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