一种基于单节点传感器的步态识别系统设计方法

文档序号:31361997发布日期:2022-08-31 14:45阅读:57来源:国知局
一种基于单节点传感器的步态识别系统设计方法

1.本发明涉及人体动作识别领域,尤其是一种基于单节点传感器的步态识别系统设计方法。


背景技术:

2.基于惯性传感器的人体动作分析与识别是模式识别的一个新兴领域,克服了传统视频动作识别方法的诸多缺点和限制,具有更高的可操作性和实用性。其实质是通过固定在人体特定部位的惯性传感器来采集能够代表人体动作信息的振动、磁场、角度等信号,并通过无线传输模块传到pc机,在pc机端对数据进行预处理、特征提取和选择、动作分类识别等操作。惯性传感器包括加速度计、磁力计、陀螺仪等,将它们集成在一起作为单个节点,各节点之间通过无线通信模块组成无线传感网络,构成运动捕捉系统,捕获人体运动信息。
3.由于人体动作的复杂性,目前还不存在能够准确识别所有动作的设备,但对基于传感器节点的步态研究已经较为深入。多节点运动捕捉系统识别率高但是不易佩戴,所需处理的数据量大,单节点运动捕捉系统便携性高但是识别率较低。然而,无论是单节点系统还是多节点系统,其工作内容均为仅采集数据并上传到计算机中,需要依赖计算机进行处理分析与识别而无法实时显示识别结果。因此,如果能够设计一个步态识别率高、步态数据计算精度高、实时显示结果、易于佩戴的单节点系统,则可以大大降低设备成本和操作难度,提高效率。


技术实现要素:

4.本发明需要解决的技术问题是提供一种基于单节点传感器的步态识别系统设计方法,在满足佩戴与舒适性的前提下融合了九轴惯性传感器和气压传感器提高了识别精度,同时采用边缘计算技术使得本系统完全无需外部计算机参与,可实时将识别结果与运动参数显示出来。
5.为解决上述技术问题,本发明所采用的技术方案是:一种基于单节点传感器的步态识别系统设计方法,包括如下步骤:
6.步骤s101、构建数据采集模块和数据处理分析模块:数据采集模块包括电源模块、微控制器、九轴惯性传感器、气压传感器和无线射频模块;数据处理分析模块包括无线模块和微控制器;
7.步骤s102、将数据采集模块做成脚环的形式佩戴在测试者的脚腕处采集人体运动数据,采集的人体运动数据包括受试者的行走、转向、上楼梯、下楼梯四种动作所产生的加速度、角速度、姿态角和气压值,九轴惯性传感器的x轴对应人体前进方向、y轴垂直于大地向下、z轴指向人体右侧方向;
8.步骤s103、对步骤s102中采集的人体运动数据过无线装置传输到数据处理分析模块进行数据分析处理,得到步态时域特征、步长、步高与转向角度的数据并制作数据集;
9.步骤s104、利用多种机器学习分类器进行模型训练从而进行特征降维,特征降维
是找到贡献度占比90%以上的特征向量,将无关特征向量剔除,特征降维后选取的特征为:z轴角速度最小值和气压计计算的高度变化;
10.步骤s105、在计算机上完成步骤s102~s4后,用keil软件将步骤s102~ s4的算法过程编写c语言程序写入微控制器中完成嵌入式开发。
11.本发明技术方案的进一步改进在于:所述步骤s103中的数据分析处理包括数据预处理、步态切割和时域特征计算。
12.本发明技术方案的进一步改进在于:所述数据预处理包括坐标系转换和降噪处理,坐标系转换是将步骤s102中九轴惯性传感器采集的人体运动数据中的加速度利用姿态角坐标系转换矩阵处理统一在地球坐标系下,降噪处理包括去除异常值和滤波去噪,对于异常值采用拉依达准则进行剔除,对于运动过程中不规则震颤引起的噪声采用扩展卡尔曼滤波器进行滤波处理。
13.本发明技术方案的进一步改进在于:所述姿态角坐标系转换矩阵处理过程如下:
14.绕y轴旋转的旋转矩阵角度ψ为姿态角中的航向角 yaw;
15.绕z轴旋转的旋转矩阵角度θ为姿态角中的俯仰角 pitch;
16.绕x轴旋转的旋转矩阵角度为姿态角中的翻滚角 roll;
17.按照y-z-x的顺序进行旋转得到旋转矩阵
[0018][0019]
坐标转换方程为其中,为地球坐标系下的三轴加速度,为九轴惯性传感器坐标系下的三轴加速度。
[0020]
所以九轴惯性传感器坐标系下的三轴加速度转换为地球坐标系下的三轴加速度转换方程为:
[0021][0022]
本发明技术方案的进一步改进在于:得到地球坐标系下的三轴加速度后,通过建立多个阈值对三轴加速度和角速度的约束条件来确定步态运动的站立相和摆动相,未进入摆动相时进行零速修正和计算航向角方差,设定航向角方差的阈值判断是否进入转向动作,若方差大于设定阈值则判断为进入转向动作并记录此时航向角,继续接收数据直至方差回归阈值下,判断转向动作已完成并记录此时航向角,并根据这两个航向角变化计算转向角度;进入摆动相时持续接收并记录数据直至结束摆动相,根据需求计算所需特征用以判断平地行走、上楼、下楼动作,记录的三轴加速度双重积分结合经验公式得到的位移和气
压计精确测量步长、步高的运动数据。
[0023]
本发明技术方案的进一步改进在于:所述多个阈值对三轴加速度和角速度的约束条件为:滑动窗口中加速度的方差阈值、z轴加速度幅值和时间长度,约束方程如下:
[0024][0025]
其中acci是垂直方向加速度,i是采样点,w是窗口大小,λ1是滑动窗口中加速度方差的阈值;
[0026]
f(gz
max
)>λ2[0027]
其中gz
max
是z轴角速度在滑动窗口中绝对值最大的一个样本点,建立的函数为幅值平方后缩小一千倍,λ2是幅值的阈值;
[0028]
λ3《i<λ4[0029]
其中i为进入摆动相后累计的样本点个数,λ3和λ4分别为阈值下限和上限。
[0030]
本发明技术方案的进一步改进在于:所述经验公式为:
[0031][0032]
其中k是校准的常数参数,a
zmax
是摆动相的竖直方向最小加速度,a
zmin
是摆动相竖直方向最小加速度,添加偏置系数w补偿传感器安装位置带来的差异,所以采用经验公式估计的步长s1为:
[0033][0034]
采用矩形法进行积分,选取相邻两个采样点的加速度均值作为矩形的高 a(x),通过采样速率计算出两个采样点之间的时间间隔t,进行一次积分可以得到采样点的瞬时速度,进行两次积分就可以得到相邻两个采样点之间的距离,采样点瞬时速度为:
[0035][0036]
加速度二次积分得到的步长s2为:
[0037][0038]
采用加权线性组合的方式,三轴加速度双重积分结合经验公式得到的位移s 公式如下:
[0039]
s=γs1+(1-γ)s2,
[0040]
其中,γ是一个常量参数,λ∈(0,1)。
[0041]
本发明技术方案的进一步改进在于:所述步态切割采用多阈值步态相位检测方法判断各步态起止位置并将其从数据预处理后的连续信号中分离出来,步态相位检测基于角速度和加速度融合计算实时分析人体是否为静止状态,当人体进入非静止状态后依然通过加速度和角速度融合计算分析人体是否产生摆动来区分转向动作,进入摆动动作时,持续接收实时运动数据并保存直至摆动相结束,处理分析这一摆动过程产生的数据得到所需特征并通过指针回到步态相位检测阶段,准备接收下一动作的数据。
[0042]
本发明技术方案的进一步改进在于:所述时域特征计算包括对各分离出来的步态计算极值、均值、方差。
[0043]
本发明技术方案的进一步改进在于:所述步骤s104中分类器包括svm分类器、k近邻分类器、随机森林分类器、朴素贝叶斯、鉴别分析分类器。
[0044]
由于采用了上述技术方案,本发明取得的技术进步是:
[0045]
本发明融合了九轴惯性传感器和气压传感器的单节点系统,能够准确识别不易区分的行走和上下楼梯动作,在满足便携性的同时大大提高了识别精度。与现有技术相比,本系统的识别结果可实时显示,每一步态可在0.2s内完成运算,识别率达到98%以上,步长计算平均误差为0.86%,步高计算平均误差为1.1%。本系统便携性好,成本低,精度高,能够适应大部分室内环境,具有良好的应用前景。
附图说明
[0046]
图1为本发明所涉及的单节点人体步态实时识别系统设计方法的总体流程示意图;
[0047]
图2为本发明所涉及的系统结构图;
[0048]
图3为本发明中的数据采集模块和数据处理分析模块的具体结构与接线图,其中a为数据采集模块结构图,b为数据处理模块结构图,c为数据采集模块接线图,d为数据处理模块接线图;
[0049]
图4为本发明所涉及主体算法的实现流程图;
[0050]
图5为本发明一种实验例所述的实验场景示意图;
[0051]
图6为本发明在上下楼梯实验中海拔数据处理效果对比图,其中a为处理前的数据,b为经去噪滤波处理后的数据。其中,a和b的右侧曲线分别为整个实验流程海拔变化曲线图的原图和处理后的效果,左侧曲线为右侧虚框内数据的局部放大图;
[0052]
图7为本发明在平地行走实验过程中三轴加速度和角速度数据处理效果对比图,其中a为处理前的三轴加速度数据,b为经去噪滤波处理后的三轴加速度数据,c为处理前的三轴角速度数据,d为经去噪滤波处理后的三轴角速度数据;
[0053]
图8为本发明所涉及的坐标转换原理图和坐标系转换示意图;
[0054]
图9为本发明所涉及的经机器学习特征提取后的特征识别效果图。
具体实施方式
[0055]
下面结合实施例对本发明做进一步详细说明:
[0056]
如图1所示,一种基于单节点传感器的步态识别系统设计方法,包括如下步骤:
[0057]
步骤s101、构建数据采集模块和数据处理分析模块:
[0058]
如图2~图3所示,数据采集模块包括数据采集模块包括电源模块、微控制器、九轴惯性传感器、气压传感器和无线射频模块;数据处理分析模块包括无线模块和微控制器(microcontroller unit,mcu)。九轴惯性传感器选择 mpu9250,其本身集成3轴陀螺仪,3轴加速度计和3轴磁力计,气压传感器选择高分辨率气压传感器ms5611-01ba01,其分辨率可达到10cm,电源采用3.7v 锂电池。
[0059]
微控制器通过iic协议不停读取九轴惯性传感器和气压传感器的数据,在 mcu中通过四元数解算姿态角,由气压海拔转换公式得到实时高度,然后mcu将每一时刻通过九轴惯性传感器得到的三轴加速度、角速度以及姿态角和通过气压传感器得到的高度和温度写
入一个32位的封包中并通过无线传输模块发送到数据处理模块。mcu选择stm32f103c8t6,其本身体积小,成本低,功能多,易于实现嵌入式的开发。mcu通过无线传输模块得到实时运动数据,可通过usb转 ttl模块直接显示在上位机中,也可根据需求对数据进行简单处理计算得到中间量并实时在上位机中显示。
[0060]
步骤s102、将数据采集模块做成脚环的形式佩戴在测试者的脚腕处采集人体运动数据,采集的人体运动数据包括受试者的行走、转向、上楼梯、下楼梯四种动作所产生的加速度、角速度、姿态角和气压值,九轴惯性传感器的x轴对应人体前进方向、y轴垂直于大地向下、z轴指向人体右侧方向。数据采集过程共邀请了5位志愿者参与实验提供运动数据,每位志愿者佩戴装置后在走廊,楼梯处自由活动,对于动作姿势不做额外限制,佩戴的装置采集各位志愿者在行走、转向、上下楼梯动作中产生的原始加速度等数据发送并保存在计算机中。
[0061]
步骤s103、对步骤s102中采集的人体运动数据过无线装置传输到数据处理分析模块进行数据分析处理,数据分析处理包括数据预处理、步态切割和时域特征计算,得到步态时域特征、步长、步高与转向角度的数据并制作数据集。由于元器件固有噪声干扰产生失真现象,而且传感器获取的加速度矢量是基于传感器自身坐标系的(也就是和装置佩戴位置相关),为了便于直观理解和统一研究,需要对数据进行预处理,也就是坐标系转换和降噪处理,利用姿态角坐标系转换矩阵处理使得所有数据样本统一在同一坐标系(即地球坐标系)下,降噪处理包括:对于明显的异常值采用拉依达准则进行剔除,而对于运动过程中不规则震颤引起的噪声采用扩展卡尔曼滤波器进行滤波处理,扩展卡尔曼滤波对于非线性数据的滤波具有极为良好的效果。滤波效果如图6和图7所示。
[0062]
坐标转换原理如图8所示,绕y轴旋转的旋转矩阵角度ψ为姿态角中的航向角yaw;
[0063]
绕z轴旋转的旋转矩阵角度θ为姿态角中的俯仰角 pitch;
[0064]
绕x轴旋转的旋转矩阵角度为姿态角中的翻滚角 roll;
[0065]
按照y-z-x的顺序进行旋转得到旋转矩阵:
[0066][0067]
坐标转换方程为这里的为地球坐标系下的三轴加速度,为传感器坐标系下的三轴加速度。
[0068]
所以传感器坐标系下的三轴加速度转换为地球坐标系下的三轴加速度转换方程为
[0069][0070]
得到地球坐标系下的加速度后通过建立多个阈值对加速度和角速度的约束条件来确定步态运动的站立相和摆动相,本系统提出三个约束条件:(1)滑动窗口中加速度的方差阈值(2)z轴加速度幅值(3)时间长度。其约束方程如下:
[0071][0072]
其中acci是垂直方向加速度,i是采样点,w是窗口大小。经过多次测试和比较,w设置为4。λ1是滑动窗口中加速度方差的阈值,由多次实验确定。
[0073]
f(gz
max
)>λ2,
[0074]
其中gz
max
是z轴角速度在滑动窗口中绝对值最大的一个样本点,建立的函数为幅值平方后缩小一千倍,λ2是幅值的阈值,经由多次实验决定。
[0075]
λ3<i<λ4,
[0076]
其中i为进入摆动相后累计的样本点个数,λ3和λ4分别为阈值下限和上限。经多次实验取值16和72。
[0077]
未进入摆动相时进行零速修正以及计算航向角方差,通过滑动窗口中航向角方差的阈值判断是否进入转向动作,若方差大于设定阈值则判断为进入转向动作并记录此时航向角,继续接收数据直至方差回归阈值下,判断转向动作已完成并记录此时航向角,并根据这两个航向角变化计算转向角度。进入摆动相时持续接收并记录数据直至结束摆动相(多阈值判断),根据需求计算所需特征用以判断平地行走、上楼、下楼动作。记录的加速度双重积分得到位移结合经验公式和气压传感器精确测量步长,步高等运动数据。
[0078]
比较经验公式添加了一个偏置系数w来补偿传感器安装位置带来的差异。其中k是校准的常数参数,a
zmax
是摆动相的竖直方向最小加速度,a
zmin
是摆动相竖直方向最小加速度。s1则为经验公式下的步长。
[0079][0080]
数据预处理阶段已经将加速度转换到了惯性坐标系下,只需对水平面上的两轴加速度分别进行二次积分再求其平方和便得到了位移的平方,开方后即得到步长。
[0081]
本发明采用矩形法进行积分,取相邻两个采样点的加速度均值作为矩形的高a(x),通过采样速率计算出两个采样点之间的时间间隔t。进行一次积分可以得到采样点的瞬时速度,进行两次积分就可以得到相邻两个采样点之间的距离。采样点瞬时速度为:
[0082]
位移为:
[0083]
本发明综合了这两种算法采用加权线性组合的方式,公式如下:
[0084]
s=γs1+(1-γ)s2[0085]
式中γ是一个常量参数,γ∈(0,1),s1是采用经验公式估计的步长,s2是加速度二
次积分得到的步长。
[0086]
本发明在连续的步态信号中将各步态准确分离出来,并提取其时域特征做成数据集打上标签方便后续使用机器学习进行模型训练,步态切割采用多阈值步态相位检测方法进行,步态相位检测基于角速度和加速度融合计算实时分析人体是否为静止状态,当人体进入非静止状态后依然通过加速度和角速度融合计算分析人体是否产生摆动来区分转向动作,进入摆动动作时,持续接收实时运动数据并保存直至摆动相结束,处理分析这一摆动过程产生的数据得到所需特征并通过指针回到步态相位检测阶段,准备接收下一动作的数据。
[0087]
因为转向时航向角急剧变化,走路时z轴角速度呈周期性波动且各轴加速度产生变动,据此可判断各步态起止位置并将其从连续信号中分离出来,每个步态分离后,计算极值、均值、方差等时域特征统计成一个数据集。
[0088]
步骤s104、利用多种机器学习分类器进行模型训练从而进行特征降维,分类器包括svm分类器、k近邻分类器、随机森林分类器、朴素贝叶斯、鉴别分析分类器。特征降维是找到贡献度占比90%以上的特征向量,将无关特征向量剔除,四位测试者的运动数据在不同维度特征各个分类器下的识别率如下表1所示:
[0089]
表1
[0090][0091]
特征降维后选取了z轴角速度最小值和气压计计算的高度变化两个特征作为判断依据,分类效果如图9所示。
[0092]
步骤s105、在计算机上完成步骤s102~s4后,用keil软件将步骤s102~ s4的算法过程编写c语言程序写入微控制器的mcu中完成嵌入式开发。
[0093]
图4中展示的算法流程基于c语言编写嵌入到单片机中,部分数据处理效果如图6和图7所示,程序设定九轴惯性传感器和气压传感器获取原始数据的采样率为50hz,采集设备一边采集原始数据一边将数据打包通过无线射频模块发送给数据处理分析模块进行数据预处理,步态相位检测基于角速度和加速度融合计算实时分析人体是否为静止状态,当人体进入非静止状态后通过加速度、角速度和时间序列多阈值判断分析人体是否进入摆动相来识别转向动作,进入摆动相时,持续接收实时运动数据并保存直至摆动相结束,处理分析这一摆动过程产生的数据得到所需特征并通过指针回到步态相位检测阶段,准备接收下
一动作的数据。
[0094]
为了验证本发明的效果,发明人还进行了以下试验例:
[0095]
选取两名平均身高为173厘米的24岁年轻男性作为研究对象,在实验中,受试者以惯常的速度和姿势行走,实验人员从楼梯和楼道自由徘徊,简化的实验场景如图5所示。楼层高度为4m,实验规划:在楼道从划定的位置出发走到楼梯处,在一到三楼中间自由徘徊。实验人员的活动动作包括平地行走、上楼、下楼和转向四种动作。基于上述基本运动场景,利用本发明的单节点人体步态实时识别系统对受试者的步态进行了识别并对步长、转向角度和高度变化做了估计,实验结果如下表2所示。其中真实值是实地测量的高度、长度以及转向角度(为了方便研究起见,每次转向均为90
°
),该实验例说明了本发明的步态识别系统具有良好的精度。
[0096]
表2
[0097][0098]
本发明提供了一种基于传感器的单点式实时步态识别系统设计方法,在满足佩戴与舒适性的前提下融合了九轴惯性传感器和气压传感器提高了识别精度,同时采用边缘计算技术使得本系统完全无需外部计算机参与,可实时将识别结果与运动参数显示出来。本系统设计方法不仅提高了识别精度,而且成本低,便携性好,时效性好,对于病患腿部康复训练具有良好的应用前景。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1