一种基于自适应扩展卡尔曼滤波的人体姿态识别方法技术

技术编号:14815801 阅读:123 留言:0更新日期:2017-03-15 10:58
本发明专利技术公开了一种基于自适应扩展卡尔曼滤波的人体姿态识别方法,属于体域网领域。该方法分为两个部分,模型设计和参数设计。模型设计中,利用四元数可反映人体肢体运动角度的特点,通过惯性传感器采集人体运动的角速度、加速度和周边磁场强度,基于自适应扩展卡尔曼滤波方法进行姿态解算,求得姿态四元数。参数设计中,通过理论分析和实验方法确定了过程噪声协方差矩阵、测量噪声协方差矩阵的取值,以及状态初始值和状态协方差矩阵初始值,使自适应扩展卡尔曼滤波方法可以持续迭代进行,从而不断实时识别人体运动姿态。本发明专利技术可作为体育训练、医疗保健、游戏设计等领域的人体姿态识别方法使用。

【技术实现步骤摘要】

本专利技术属于体域网领域,涉及一种基于自适应扩展卡尔曼滤波的人体姿态识别方法
技术介绍
人体姿态识别可以捕捉到某一时刻人体的空间运动信息或计算出面部、四肢、躯干的细微变形,在运动医学、医疗康复、安全监控、身份识别、人机交互、虚拟现实、机器人设计等领域具有广泛应用前景。姿态识别的常用方法有光学式、电磁式、声学式和微机电式等几种。光学姿态识别是计算机视觉的研究内容之一,基本思想是跟踪和监视目标的特定光点,然后在视频图像序列中将人体的运动部位抽取出来。电磁姿态识别方法利用电磁感应原理,电磁发射源在空间产生规律变化的电磁场,安装在人体上的接收传感器能够收到磁场信号,当人体运动时,磁场信号发生变化,以此来进行姿态识别。声学姿态识别主要依靠检测超声波在移动设备之间的反射时间来实现,这种方法要求至少有三个已知位置的固定参考设备。以上几种识别方法,对工作环境要求较为苛刻,设计成本较高,为提高识别精度带来很大限制。随着半导体技术的发展,微机电系统在姿态识别领域中得到越来越广泛的应用。微机电系统是指集微型机构、微型传感器、微型执行器、信号处理和控制电路、接口、通信、电源等于一体的微型器件或系统,典型器件是陀螺仪、加速度计和电子罗盘,主要依靠惯性测量单元进行姿态识别。采用微机电系统进行姿态识别的主要难点在于需通过算法设计,克服传感器输出的累积误差,以达到较高的识别精度。1)人体姿态识别节点本专利技术采用的人体姿态识别节点(以下简称为节点)由传感器模块、无线通信模块、处理器模块和电源模块四个部分组成。传感器模块集成了陀螺仪,型号为MPU3050;集成了加速度计和电子罗盘,型号为LSM303DLH。这3种传感器分别负责采集角速度、加速度和磁场强度,并将这些传感器数据从物理量转换为电信号。无线通信模块采用nRF24L01无线收发器,负责在2.4GHz~2.5GHz频段内与基站之间传输信息。处理器模块采用STM32F103嵌入式微处理器,负责控制传感器信号采集和无线收发功能。电源采用额定电压为3.7V的锂离子电池,负责为节点提供所需能量,节点提供锂离子电池接口。节点工作时,将信号通过无线方式传输至基站,基站由处理器模块、无线通信模块和串行接口模块组成,负责接收节点发送的数据,并将接收到的数据通过串行接口传输至上位机。2)四元数四元数是一种超复数,由一个标量和一个矢量组成,定义如式(1)所示:其中a、b、c、d、n0为标量实数,i、j、k为三个虚部单位,为矢量。四元数也可表示为向量形式,即Q=(abcd)T。如果Q满足a2+b2+c2+d2=1,则将Q称作标准化四元数。两个四元数可以进行乘法运算。设Q1=a+bi+cj+dk,Q2=e+fi+gj+hk,则按照复数运算法则计算,有i·i=-1,i·j=k,j·i=-k......,因此有:上述乘法也可表示为矩阵形式,即:标准化四元数可用于描述向量的旋转,设为某向量,Q为标准化四元数,定义如式(1),Q*为Q的共轭,定义如式(4)所示:则可用Q*和Q将向量旋转至向量若为主动旋转,即向量逆时针围绕旋转轴旋转,则该旋转可通过式(5)来描述:式(5)也可通过矩阵相乘来表示,如式(6)所示其中矩阵C称为方向余弦矩阵,是由两组不同的标准正交基的基底向量之间的方向余弦所形成的矩阵,可用于向量在不同坐标系间的坐标转换。矩阵C定义如下:若为被动旋转,即对向量所在坐标系本身进行的逆时针旋转,则可用式(8)来描述:标准化四元数可用于描述刚体转动的角度,此时标准化四元数即为反应刚体转动方式的姿态四元数。式(9)为姿态四元数对时间的导数与转动角速度之间的关系,即四元数运动学方程:其中,为四元数对时间的导数,p为载体沿空间三维坐标轴转动角速度构造的四元数,其实部为零,即:p=0+ωxi+ωyj+ωzk(10)为求解包含姿态信息的四元数,需对进行积分,然后将其化为姿态四元数,这样便可得到描述从一种姿态转动至另一种姿态的等价姿态四元数。设xk=ak+bki+ckj+dkk为姿态四元数,其中k为非负整数,表示状态序号。xk用于描述系统在k时刻的位置状态,初始状态为x0,其值设为1。p为代表系统当前转动角速度的四元数,复数形式定义如式(10)所示。假设从k-1时刻到k时刻经历的时间为Δt,期间刚体做匀速转动,那么根据式(9)所示四元数运动学方程,将其离散化,可以列出式(11):其中为姿态四元数对时间的导数,定义如式(9)所示,即:将(12)代入(11)得:xk=xk-1+0.5·xk-1·p·Δt(13)式(13)即为状态向量的递推公式,如果已知x0和p,则系统全部姿态四元数可求。求得系统姿态四元数之后,利用四元数转欧拉角的公式(14),则可求得刚体在三维坐标系中与三个坐标轴的夹角,即得到刚体的当前位置。其中,αk是k时刻刚体与x轴夹角,βk是k时刻刚体与y轴夹角,γk是k时刻刚体与z轴夹角。3)卡尔曼滤波卡尔曼滤波是高效率的自回归滤波器,能够估算大范围数据处理中的可变因素,可用于估算动态系统的状态。对于多维线性系统,式(15)为系统的状态方程,式(16)为输出方程:xk+1=Axk+Buk+wk(15)zk=Hxk+vk(16)其中A、B、H为系数矩阵,A称作状态转移矩阵,H称作观测矩阵,xk为系统当前的状态,xk+1为系统下一时刻的状态,uk为系统当前的输入,zk为系统当前的输出,wk为当前的过程噪声,vk为当前的测量噪声。式中的下标k表示当前时刻,k+1表示下一时刻。假设过程噪声wk的平均值为零,测量噪声vk的平均值也为零,并且wk和vk相互独立。过程噪声的协方差S和测量噪声的协方差R可以分别描述为式(17)和式(18):定义系统当前时刻的最优状态估计值为状态期望值为则系统先验误差e'k可表示如式(19)所示:系统后验误差ek可表示如式(20)所示:先验误差的协方差如式(21)所示,即为误差协方差的期望值。后验误差的协方差如式(22)所示:根据卡尔曼滤波的基本原理,可由当前状态的最优估计值推测下一时刻状态的期望值,然后将系统测量误差映射到状态域,对状态的期望值进行修正,从而得到下一时刻的最优估计值。按照如上方式系统不断迭代,从而得到每一个状态的最优估计值。针对线性系统(15)和(16)的卡尔曼滤波方法由下面5个经典公式表示:Pk'=APk-1AT+S(24)Kk=Pk'HT(HPk'HT+R)-1(25)Pk=Pk'-KkHPk'(27)式(23)表示当前时刻的状态期望值可由前一时刻状态及当前输入求得;式(24)表明了当前时刻先验误差的协方差的期望值可由前一时刻的后验误差协方差求得;式(25)表明了卡尔曼增益Kk的求解方法;求得卡尔曼增益之后,可通过式(26),由当前时刻状态期望值和当前时刻观测值计算得到当前时刻状态最优估计值;为了使迭代能够持续不断进行,还需要通过式(27),利用当前时刻先验误差协方差计算求得后验误差协方差,将其代入式(24),即可求得下一时刻的先验误差协方差,从而可以开始下一轮迭代。卡尔曼滤波的5个经典公式中,式(23)和(24)可称为时间迭代公式,用于预测状态值及误差协方差;式(25)~(27)为测量迭代公式,通过观测值修正期望值,从而获取经过改进的期望值,即最优估计值。式(2本文档来自技高网...
一种基于自适应扩展卡尔曼滤波的人体姿态识别方法

【技术保护点】
一种基于自适应扩展卡尔曼滤波的人体姿态识别方法,其特征在于,本方法基于扩展卡尔曼滤波的如下5个公式设计:x^k′=f(x^k-1,uk)+wk---(30)]]>P′k=ΦPk‑1ΦT+S   (31)Kk=P′kNT(NPk'NT+R)‑1   (32)x^k=x^k′+Kk(zk-h(x^k′))---(33)]]>Pk=P′k‑KkNP′k   (34)其中,k表示当前时刻,k‑1表示前一时刻;通过式(30)由前一时刻状态最优估计值和当前时刻系统输入计算当前时刻状态期望值,其中,为当前时刻状态期望值,xk‑1为前一时刻状态最优估计值,uk为系统当前时刻的输入,wk为当前时刻的过程噪声,f(·)是一个非线性函数;式(31)为系统误差迭代公式,其中,Pk'为先验误差协方差,Pk‑1为后验误差协方差,Φ是f(·)的雅克比矩阵,S为过程噪声协方差矩阵;式(32)用于计算卡尔曼增益,其中,Kk为卡尔曼增益,N为式(33)中h(·)的雅克比矩阵,R为测量噪声的协方差;式(33)为状态迭代公式,当前状态的最优估计值经由当前状态期望值和残差求得,其中,为系统当前时刻的最优状态估计值,zk为系统当前输出,h(·)也是一个非线性函数;式(34)为误差协方差迭代公式;本方法基于节点工作,节点集成了陀螺仪、加速度计和电子罗盘,分别负责采集角速度、加速度和磁场强度传感器数据,并将传感器数据从物理量转换为电信号;该方法包括模型设计和参数设计两个部分;(1)模型设计用于解决人体姿态识别的模型推导问题;人体运动时肢体的角度由姿态四元数来表示,采用扩展卡尔曼滤波方法,通过四元数运动学方程,根据传感器数据和当前姿态四元数,计算下一时刻姿态四元数的期望值;对于姿态四元数xk=(ak bk ck dk)T,根据四元数乘法的性质,将四元数运动学方程的状态向量递推公式表示为式(35),即节点转动的系统状态方程:xk=akbkckdk=1-0.5·Δtωx-0.5·Δtωy-0.5·Δtωz0.5·Δtωx10.5·Δtωz-0.5·Δtωy0.5·Δtωy-0.5·Δtωz10.5·Δtωx0.5·Δtωz0.5·Δtωy-0.5·Δtωx1ak-1bk-1ck-1dk-1=Φxk-1---(35)]]>其中,Δt为从k‑1时刻到k时刻经历的时间,ωx、ωy、ωz为空间三个轴向的转动角速度,由陀螺仪采集获得;由于状态方程本身是一个线性方程,转移矩阵为Φ,如式(36)所示,因此进行扩展卡尔曼滤波时不需对状态转移矩阵进行泰勒级数展开;Φ=1-0.5·Δtωx-0.5·Δtωy-0.5·Δtωz0.5·Δtωx10.5·Δtωz-0.5·Δtωy0.5·Δtωy-0.5·Δtωz10.5·Δtωx0.5·Δtωz0.5·Δtωy-0.5·Δtωx1---(36)]]>假定已知k‑1时刻姿态四元数的后验误差协方差矩阵Pk‑1,k时刻姿态四元数的先验误差协方差矩阵Pk'由式(31)求得,如式(37)所示:Pk′=1-0.5Δtωx-0.5Δtωy-0.5Δtωz0.5Δtωx10.5Δtωz-0.5Δtωy0.5Δtωy-0.5Δtωz10.5Δtωx0.5&De...

【技术特征摘要】
1.一种基于自适应扩展卡尔曼滤波的人体姿态识别方法,其特征在于,本方法基于扩展卡尔曼滤波的如下5个公式设计:x^k′=f(x^k-1,uk)+wk---(30)]]>P′k=ΦPk-1ΦT+S(31)Kk=P′kNT(NPk'NT+R)-1(32)x^k=x^k′+Kk(zk-h(x^k′))---(33)]]>Pk=P′k-KkNP′k(34)其中,k表示当前时刻,k-1表示前一时刻;通过式(30)由前一时刻状态最优估计值和当前时刻系统输入计算当前时刻状态期望值,其中,为当前时刻状态期望值,xk-1为前一时刻状态最优估计值,uk为系统当前时刻的输入,wk为当前时刻的过程噪声,f(·)是一个非线性函数;式(31)为系统误差迭代公式,其中,Pk'为先验误差协方差,Pk-1为后验误差协方差,Φ是f(·)的雅克比矩阵,S为过程噪声协方差矩阵;式(32)用于计算卡尔曼增益,其中,Kk为卡尔曼增益,N为式(33)中h(·)的雅克比矩阵,R为测量噪声的协方差;式(33)为状态迭代公式,当前状态的最优估计值经由当前状态期望值和残差求得,其中,为系统当前时刻的最优状态估计值,zk为系统当前输出,h(·)也是一个非线性函数;式(34)为误差协方差迭代公式;本方法基于节点工作,节点集成了陀螺仪、加速度计和电子罗盘,分别负责采集角速度、加速度和磁场强度传感器数据,并将传感器数据从物理量转换为电信号;该方法包括模型设计和参数设计两个部分;(1)模型设计用于解决人体姿态识别的模型推导问题;人体运动时肢体的角度由姿态四元数来表示,采用扩展卡尔曼滤波方法,通过四元数运动学方程,根据传感器数据和当前姿态四元数,计算下一时刻姿态四元数的期望值;对于姿态四元数xk=(akbkckdk)T,根据四元数乘法的性质,将四元数运动学方程的状态向量递推公式表示为式(35),即节点转动的系统状态方程:xk=akbkckdk=1-0.5·Δtωx-0.5·Δtωy-0.5·Δtωz0.5·Δtωx10.5·Δtωz-0.5·Δtωy0.5·Δtωy-0.5·Δtωz10.5·Δtωx0.5·Δtωz0.5·Δtωy-0.5·Δtωx1ak-1bk-1ck-1dk-1=Φxk-1---(35)]]>其中,Δt为从k-1时刻到k时刻经历的时间,ωx、ωy、ωz为空间三个轴向的转动角速度,由陀螺仪采集获得;由于状态方程本身是一个线性方程,转移矩阵为Φ,如式(36)所示,因此进行扩展卡尔曼滤波时不需对状态转移矩阵进行泰勒级数展开;Φ=1-0.5·Δtωx-0.5·Δtωy-0.5·Δtωz0.5·Δtωx10.5·Δtωz-0.5·Δtωy0.5·Δtωy-0.5·Δtωz10.5·Δtωx0.5·Δtωz0.5·Δtωy-0.5·Δtωx1---(36)]]>假定已知k-1时刻姿态四元数的后验误差协方差矩阵Pk-1,k时刻姿态四元数的先验误差协方差矩阵Pk'由式(31)求得,如式(37)所示:Pk′=1-0.5Δtωx-0.5Δtωy-0.5Δtωz0.5Δtωx10.5Δtωz-0.5Δtωy0.5Δtωy-0.5Δtωz10.5Δtωx0.5Δtωz0.5Δtωy-0.5Δtωx1Pk-11-0.5Δtωx-0.5Δtωy-0.5Δtωz-0.5Δtωx1-0.5Δtωz-0.5Δtωy-0.5Δtωy-0.5Δtωz1-0.5Δtωx-0.5Δtωz-0.5Δtωy-0.5Δtωx1+S---(37)]]>采用节点加速度和磁场强度作为观测值,分别对状态期望值进行校正;由于状态域和观测域的数据类型不同,通过观测函数h(·)将当前姿态四元数转换为载体坐标系加速度;设初始时刻测得节点的加速度值对向量所在坐标系本身进行逆时针旋转,用当前姿态四元数(a,b,c,d)变换得到载体坐标系的加速度如式(38)所示:a→′=CTa→=a2+b2-c2-d22(bc+ad)2(bd-ac)2(bc-ad)a2-b2+c2-d22(cd+ab)2(bd+ac)2(cd-ab)a2-b2-c2+d2axayaz---(38)]]>通过矩阵乘法得出观测函数h(·)中各分量的表达式,如式(39)所示:ax′=(a2+b2-c2-d2)ax+2(bc+ad)ay+2(bd-ac)azay′=2(bc-ac)ax+(a2-b2+c2-d2)ay+2(cd+ab)azaz′=2(bd+ac)ax+2(cd-ab)ay+(a2-b2-c2+d2)az---(39)]]>按照式(40)求函数h(·)的雅克比矩阵,即令h(·)的各分量对四元数(a,b,c,d)的各项分别求偏导,得式(41):J=∂a→x′∂a∂a→x′∂b∂a→x′∂c∂a→x′∂d∂a→y′∂a∂a→y′∂b∂a→y′∂c∂a→y′∂d∂a→z′∂a∂a→z′∂b∂a→z′∂c∂a→z′∂d---(40)]]>J=2×a·ax-c·az+d·ayb·ax+...

【专利技术属性】
技术研发人员:赖晓晨迟宗正史文哲刘鑫
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1