[发明专利]一种基于自适应扩展卡尔曼滤波的人体姿态识别方法有效
申请号: | 201710006776.8 | 申请日: | 2017-01-05 |
公开(公告)号: | CN106500695B | 公开(公告)日: | 2019-02-01 |
发明(设计)人: | 赖晓晨;迟宗正;史文哲;刘鑫 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G01C21/18 | 分类号: | G01C21/18;G01C21/20 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 温福雪;侯明远 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于自适应扩展卡尔曼滤波的人体姿态识别方法,属于体域网领域。该方法分为两个部分,模型设计和参数设计。模型设计中,利用四元数可反映人体肢体运动角度的特点,通过惯性传感器采集人体运动的角速度、加速度和周边磁场强度,基于自适应扩展卡尔曼滤波方法进行姿态解算,求得姿态四元数。参数设计中,通过理论分析和实验方法确定了过程噪声协方差矩阵、测量噪声协方差矩阵的取值,以及状态初始值和状态协方差矩阵初始值,使自适应扩展卡尔曼滤波方法可以持续迭代进行,从而不断实时识别人体运动姿态。本发明可作为体育训练、医疗保健、游戏设计等领域的人体姿态识别方法使用。 | ||
搜索关键词: | 一种 基于 自适应 扩展 卡尔 滤波 人体 姿态 识别 方法 | ||
【主权项】:
1.一种基于自适应扩展卡尔曼滤波的人体姿态识别方法,其特征在于,本方法基于扩展卡尔曼滤波的如下5个公式设计:
P′k=ΦPk‑1ΦT+S (31)Kk=P′kNT(NP′kNT+R)‑1 (32)
Pk=P′k‑KkNP′k (34)其中,k表示当前时刻,k‑1表示前一时刻;通过式(30)由前一时刻状态最优估计值和当前时刻系统输入计算当前时刻状态期望值,其中,
为当前时刻状态期望值,
为前一时刻状态最优估计值,uk为系统当前时刻的输入,wk为当前时刻的过程噪声,f(·)是一个非线性函数;式(31)为系统误差迭代公式,其中,P′k为先验误差协方差,Pk‑1为后验误差协方差,Φ是f(·)的雅克比矩阵,S为过程噪声协方差矩阵;式(32)用于计算卡尔曼增益,其中,Kk为卡尔曼增益,N为式(33)中h(·)的雅克比矩阵,R为测量噪声的协方差;式(33)为状态迭代公式,当前状态的最优估计值经由当前状态期望值和残差求得,其中,
为系统当前时刻的最优状态估计值,zk为系统当前输出,h(·)也是一个非线性函数;式(34)为误差协方差迭代公式;本方法基于节点工作,节点集成了陀螺仪、加速度计和电子罗盘,分别负责采集角速度、加速度和磁场强度传感器数据,并将传感器数据从物理量转换为电信号;该方法包括模型设计和参数设计两个部分;(1)模型设计用于解决人体姿态识别的模型推导问题;人体运动时肢体的角度由姿态四元数来表示,采用扩展卡尔曼滤波方法,通过四元数运动学方程,根据传感器数据和当前姿态四元数,计算下一时刻姿态四元数的期望值;对于姿态四元数xk=(ak bk ck dk)T,根据四元数乘法的性质,将四元数运动学方程的状态向量递推公式表示为式(35),即节点转动的系统状态方程:
其中,Δt为从k‑1时刻到k时刻经历的时间,ωx、ωy、ωz为空间三个轴向的转动角速度,由陀螺仪采集获得;由于状态方程本身是一个线性方程,转移矩阵为Φ,如式(36)所示,因此进行扩展卡尔曼滤波时不需对状态转移矩阵进行泰勒级数展开;
假定已知k‑1时刻姿态四元数的后验误差协方差矩阵Pk‑1,k时刻姿态四元数的先验误差协方差矩阵P′k由式(31)求得,如式(37)所示:
采用节点加速度和磁场强度作为观测值,分别对状态期望值进行校正;由于状态域和观测域的数据类型不同,通过观测函数h(·)将当前姿态四元数转换为载体坐标系加速度;设初始时刻测得节点的加速度值
对向量所在坐标系本身进行逆时针旋转,用当前姿态四元数(a,b,c,d)变换得到载体坐标系的加速度
如式(38)所示:
通过矩阵乘法得出观测函数h(·)中各分量的表达式,如式(39)所示:
按照式(40)求函数h(·)的雅克比矩阵,即令h(·)的各分量对四元数(a,b,c,d)的各项分别求偏导,得式(41):![]()
式(41)中的矩阵J即为扩展卡尔曼滤波的式(32)所示的矩阵N,将其带入式(32),求得卡尔曼增益Kk;假定节点在当前时刻只有重力加速度,在没有任何误差的理想情况下,经过转换后各个方向的加速度值等于当前传感器读出的加速度值;采集节点加速度计的输出值作为系统输出的观测值zk,将其与前述求得的卡尔曼增益Kk一同代入公式(33),对状态期望值
进行修正,得到k时刻状态的次优估计值
为了使迭代持续进行,计算下一时刻的协方差矩阵Pk,将式(41)求得的N、式(37)求得的Pk'以及卡尔曼增益Kk代入式(34),即求得Pk,至此实现了一次完整迭代,完成了基于扩展卡尔曼滤波算法的模型设计过程,通过该模型得到人体运动的姿态四元数,从而完成人体姿态识别;(2)参数设计用于解决人体姿态识别的参数初始值和参数迭代计算问题,由于参数具有时变部分,本扩展卡尔曼滤波方法演变为自适应扩展卡尔曼滤波方法;参数设计部分要确定的参数分别为过程噪声协方差矩阵S、测量噪声协方差矩阵R、状态初始值x0,以及误差协方差矩阵初始值P0;①过程噪声协方差矩阵当前过程噪声wk由陀螺仪的非随机噪声和随机噪声两部分构成;其中,非随机噪声由传感器品质、安装误差和刻度系数误差引起;随机噪声由逐次启动漂移、慢变漂移和快变漂移产生;在实际工作过程中,通过静态标定减弱非随机噪声和逐次启动漂移的影响,因此认为wk仅包含慢变漂移和快变漂移产生的噪声,并将其认为是高斯白噪声;建立过程噪声协方差矩阵的数学模型,将式(35)所示系统状态方程表示为式(42):
其中,误差由等号右面第二项决定,即如式(43)所示:
其中,
代表x轴角速度的误差,
代表y轴角速度的误差,
代表z轴角速度的误差,Ψk‑1为前一时刻状态分量组成的4×4方阵;所以,将过程噪声的协方差矩阵S表示如式(44)所示:
其中,ωS为式中的协方差因子,如式(45)所示:
其中,
为(45)中等式最右边方阵中右下角的3×3方阵;由于Ψk‑1由前一时刻状态的各分量组成,因此在扩展卡尔曼公式递推过程中为已知,所以过程噪声协方差矩阵最终归结为计算
即三轴角速度误差的协方差矩阵;同时,也由于Ψk‑1由前一时刻状态的各分量组成,因此Ψk‑1的值时时变化,因此本系统的处理方法实质为自适应扩展卡尔曼滤波;
按照下述方法估计:将节点置于水平桌面上保持静止不动,采集1000次陀螺仪的三轴角速度值,得到1000个三维向量,计算协方差矩阵,即得到
如式(46)所示:
将式(46)代入式(45)计算得到ωS,如式(47)所示;
将式(47)代入式(44),结合前一时刻状态值,即求出过程噪声协方差矩阵S;②测量噪声协方差矩阵vk为当前测量噪声;在惯性导航系统中,测量噪声认为是由一阶马尔科夫过程产生,近似等效为高斯白噪声;测量噪声协方差矩阵按照如下方式来估计;首先按照六位置法对加速度计进行标定,然后将节点静止放置于水平桌面,然后采集1000次加速度计的三轴输出,得到1000个三维向量,计算协方差矩阵,得到式(48):
从式(48)知,非对角元值比对角元小1个数量级,考虑到测量精度及传感器字长限制,认为加速度计三个轴向的测量噪声相互独立,因此将所有非对角元取值为0,即得到加速度计的测量噪声协方差矩阵如式(49)所示:
同理,将节点静止放置于水平桌面,然后采集1000次电子罗盘的三轴输出,得到1000个三维向量,计算协方差矩阵,得到式(50):
基于同样原因,认为电子罗盘三个轴向的测量噪声相互独立,因此将所有非对角元取值为0,即得到电子罗盘的测量噪声协方差矩阵如式(51)所示:
③滤波初始条件估算假定系统一致完全随机可控且一致完全随机可观,则卡尔曼滤波器具有一致渐近稳定性,随着滤波步数的增加,状态初值x0和误差协方差矩阵初值P0对状态值xk和Pk的影响将逐渐消失,使估计值趋向无偏,x0和P0的选择范围较为宽松;因此,选择初始状态x0为单位四元数(1,0,0,0),选择P0初始值为单位阵。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710006776.8/,转载请声明来源钻瓜专利网。