APP下载

基于机器学习与步态特征辅助的行人导航方法

2019-11-20钱伟行周紫君刘文慧

中国惯性技术学报 2019年4期
关键词:步态行人修正

钱伟行,周紫君,谢 非,陈 欣,王 融,刘文慧

(1.南京师范大学 电气与自动化工程学院,南京 210046; 2.南京航空航天大学 自动化学院,南京 210016)

行人导航技术在军事作战、医疗救援、公共安全、应急响应、娱乐消费等诸多社会领域发挥着越来越重要的作用[1]。由于卫星信号无法穿透建筑物,使得行人室内导航系统需要ZigBee、Wi-Fi、Beacon、惯性传感器等室内导航技术的辅助[2]。近年来,国内外学者围绕单足、双足安装微惯性测量组件(Micro Inertial Measurement Unit,MIMU)以及其他分布式结构的行人导航方法进行了全面而深入的研究,在步态检测、人体运动分析、惯性器件误差修正等方面均取得了较为明显的成果[3-5]。同时,在上述研究中也发现,人体的运动除了常规的行走以外,还存在较多高过载的运动方式,如奔跑、跳跃以及军事作战中的各类运动,在上述情况下工作时基于足部惯性技术的行人导航系统尚存在如下问题:足部是人体运动信息采集的关键位置,当人体在包含较高过载的行进中时,足部MIMU可能会出现持续性超量程或故障等情况,此时行人导航系统只能依赖安装或携带于人体其他位置的备份惯导完成导航推算,其性能将受到不同程度的影响,甚至直接导致导航定位功能失效。

为解决上述问题,本文提出了一种基于机器学习构建虚拟惯性组件(Virtual Inertial Measurement Unit,VIMU),并通过步态特征辅助修正足部虚拟惯导系统(Virtual Inertial Navigation System,VINS)的行人导航方法。该方法通过视觉几何组-长短期记忆混合(VGG-LSTM)神经网络模型拟合人体不同部位IMU信息之间的映射关系,构建足部VIMU来完成导航任务,解决了惯性器件足部安装方式下的超量程与故障问题,并在零速修正的基础上通过对VINS 的姿态信息进行实时修正,进一步减缓系统定位误差随行进距离的积累。同时,利用VINS 与足部MIMU 中的磁传感器得到人体运动的航向信息,从而实现较长时间的行人导航。

1 行人导航定位方案及系统结构设计

本文提出的行人导航方案如图1所示。为了构建VGG-LSTM 神经网络模型,需要分别在人体足部与其他部位安装MIMU。本文以同侧的腿部和足部安装MIMU 为例,以相同频率采集人体腿部和足部MIMU的数据,并以该数据作为VGG-LSTM 神经网络模型的训练样本。当该神经网络模型构建完成之后,便可通过该模型建立人体足部与腿部MIMU 信息之间的非线性映射关系,构建出足部VIMU,并同时识别出步态特征相位。进一步地,在足部MIMU 出现超量程或故障时,基于VINS 的输出进行多约束条件的零速检测,并以速度和姿态信息为系统观测值构建Kalman滤波器,实现具有强容错能力的行人导航定位功能。下文将围绕该方法中的各项关键技术详细展开论述。

图1 行人导航系统的工作原理及流程图 Fig.1 Principle and process flowchart of the pedestrian navigation system

2 基于卷积-长短期记忆混合网络的IMU 信息映射模型

当人体进行奔跑、跳跃等高过载的运动时,足部MIMU 将会出现周期性的超量程情况。此时,找到其他安装位置的MIMU 信息与足部MIMU 信息之间的关系便成为完成行人导航最为关键的步骤。本文为了构建人体运动中同侧腿部与足部MIMU 信息之间的映射模型,研究并应用了一种改进的一维串联卷积网络和长短期记忆网络复合的深层混合网络模型(VGG-LSTM 神经网络模型)。该模型结构如图2所示,VGG-LSTM 神经网络模型的输入为腿部MINU信息,输出为足部MIMU 信息以及人体行进中足部的特征相位。通过充分的训练,可以由腿部MIMU 信息实时构建足部VIMU 信息。

神经网络结构主要由卷积部分和双层长短期记忆网络部分组成。通过卷积模型串联多个卷积层以取代较大的卷积核,在提供复杂非线性变换的同时增加模型深度,从而可以提取到输入数据的高维特征,并利用最大池化层完成特征降维,同时实现保持平移不变性与控制过拟合风险。在此基础上,LSTM 网络部分一方面接收卷积网络的特征片段,另一方面结合长短期记忆进一步挖掘腿部惯性数据的时序特征,充分实现在短期记忆的基础上保持长期记忆的效果[6-7]。

如图2所示的卷积神经网络模型包括输入层x0、 卷积层c和池化层p。卷积模型的工作原理如下:

一般把输入层设为第0 层:

式中,M表示数据预处理后时间窗口的大小。卷积层的输出为

式中,R表示池化窗口的尺寸。卷积网络中卷积核学习到的特征图p即池化层的输出;多核卷积是指卷积过程中,每个卷积核e均会对应生成特征图pe。

图2 VGG-LSTM模型架构 Fig.2 VGG-LSTM model framework

图2所示的LSTM 网络是循环神经网络的一个改进结构,该结构可通过增加输入门、输出门和遗忘门有效地实现在增加模型深度的基础上充分挖掘数据的结构信息。将卷积神经网络部分输出的一维特征图依次首尾拼接,形成一维特征向量:

式中,n表示卷积核数。一维特征向量s进入全连接层处理,全连接层的输出为

式中,W为全连接层的权值矩阵;ε为全连接层偏置项向量。

由以上分析可知,VGG-LSTM 混合模型能够利用传感器数据时序、分层的结构特点,自动提取具有时序性、层次性的实时输入信息的高维特征。通过研究得知在采用2 个卷积层串联的卷积块的前提下,堆叠4 个卷积块并采用3 层LSTM 网络结构,可使足部与腿部MIMU 信息之间的映射准确率与系统资源占用率的比值达到最大值。

3 基于机器学习与步态特征辅助的行人导航算法

3.1 基于惯性信息特性与机器学习相位识别的零速检测算法

实时、准确的零速检测为足部VINS 的误差修正提供了重要保障。基于已构建的足部VIMU,可通过虚拟加速度计和陀螺仪输出的周期性特性,以及神经网络模型输出中的足部特征相位,进行多条件约束的零速检测。检测算法的框架由两个约束条件构成,分别记为ξ1和ξ2。约束条件实现如下:

1)根据足部VIMU 的加速度计和陀螺仪输出对零速状态进行联合判定,零速检测方法如式(6)和式(7)所示:

式(6)和(7)给出了同时适用于加速度计和陀螺仪输出的零速状态判定方法,其中:axk、ayk、azk分别代表第k时刻足部VIMU 加速度计或陀螺仪采集得到的3 轴加速度或角速度信息;n为方差计算区间大小;、εa2分别为依据虚拟惯性器件精度设定的阈值;λ1、λ2、λ3、λ4分别表示四种不同零速状态判别方法的测定结果。

在固定参数阈值条件下,针对不同行人、不同步速,仅用单一的方法进行零速判别,其结果的稳定性较差,且误判与漏判率较高。本文研究并采用了根据加速度计与陀螺仪的方差判别零速状态的条件判别出零速的起始时刻,根据加速度计与陀螺仪的幅值判别零速状态的条件判别出零速的结束时刻,以此提高固定参数阈值在零速检测中的准确性[8]。根据加速度计和陀螺仪输出的加速度和角速度信息对零速状态进行联合判定程序如下:

式中,ξ1表示k时刻的零速判别结果。

2)根据足部特征相位中零速相位的识别对零速状态进行判定,零速检测方法如下:

步行是两脚重复运动的过程,在行走时一侧足跟着地到该侧足跟再次着地的过程被称为一个步态周期(Gait Cycle,GC)。行人步态周期如图3所示。

行走中每个步态周期都包含着一系列典型位姿的转移,将这种典型位姿变化划分出一系列时段,称之为步态时间相位,简称步态相位。一个步行周期可分为支撑相位和摆动相位,详细分类又可以分成8 个相位,一般用该相位所占步态周期的百分数(GC%)来表达[9]:

1)首次触地期:运动侧足跟接触地面的瞬间,占GC 的2%左右;

2)承重反应期:从运动侧足跟触地到对侧足趾离地的阶段,整个过程中运动侧足掌完全着地,占GC的10%左右;

3)支撑相中期:起始于对侧足趾离地,至躯干位于支撑腿正上方时结束,大约占GC 的19%;

4)支撑相末期:从支撑侧足跟离地到对侧足跟着地的阶段,约占GC 的19%;

5)摆动前期:从对侧足跟着地到支撑侧足趾离地之前的一段时间,占GC 的12%左右;

6)摆动相早期:从足脱离地面的时刻开始到膝关节达到最大弯曲状态的时刻结束,占GC 的13%左右;

7)摆动相中期:从膝关节到达弯曲状态的时刻开始到小腿摆动到与地面垂直的时刻结束,占GC 的12%左右;

8)摆动相末期:从小腿垂直于地面的时刻开始到足跟再次接触地面的时刻结束,占GC 的13%左右。

图3 行人常规步态周期 Fig.3 Normal gait cycle of pedestrian

本文所研究的步态相位识别方法如下:根据对行人步态特性的分析,将每一个步态周期的3 轴虚拟加速度信息和3 轴虚拟陀螺仪信息按照不同步态相位所占步态周期的百分数划分为8 个数据样本。将数据样本与对应的步态相位导入上述VGG-LSTM 神经网络模型进行训练,使该模型可准确识别8 个步态相位,从而为实时确定每个步态相位结束时刻的足部姿态信息奠定基础,具体确定方法下文将进一步说明。当神经网络识别出图3所示的零速相位(zero-velocity phase)后,便可对零速状态进行如下判定:

式中,ξ2表示k时刻的零速判别结果。

由于上述的2 种零速检测方法都会产生不同程度的误检率,因此,为避免单种检测算法不能准确判断行人复杂步态的问题,将2 个条件结果进行逻辑“与”运算,用ξ表示零速检测结果。

3.2 基于足部步态特征相位识别的姿态匹配

为了在零速修正的基础上进一步减缓惯性导航系统的定位误差随行进距离的积累,本文基于人体各步态相位中足部姿态具有高度重复性的特征,研究了一种对惯导系统进行姿态修正的方法。

由于足部惯性导航系统的定位误差主要随行进距离积累,因此在惯导系统进入导航模式的第一个步态周期时其姿态误差最小,将该步态周期的MIMU 信息输入已训练好的神经网络中,并将神经网络输出的8个步态相位结束时刻的高精度姿态信息保存下来。由于人体行走过程中足部姿态具有高度重复性,将随后每个步态周期的腿部MIMU 信息都输入已训练好的神经网络,并将神经网络输出的8 个步态相位结束时刻的VINS 姿态信息与之前保存的对应特征相位结束时刻的高精度姿态信息进行比对,将两者之差作为误差观测量,利用Kalman 滤波器对导航系统姿态误差进行估计与修正,从而在零速修正的基础上进一步减缓惯性导航系统的定位误差随行进距离的积累。

3.3 Kalman 滤波器设计

利用零速修正辅助捷联惯导解算的过程可分为两种状态:1)非零速状态:系统无法获得速度误差观测量,Kalman 滤波器仅进行时间更新;2)零速状态:获取得到速度误差观测量,Kalman 滤波器进行完整更新,并将系统误差估计值进行反馈补偿。

利用步态特征辅助捷联惯导解算的过程同样也可分为两种状态:1)非步态特征相位状态:系统无法获得准确的姿态误差观测量,Kalman 滤波器仅进行时间更新;2)步态特征相位状态:根据3.2 节所述的步态特征相位识别方法得到准确的姿态信息以获取姿态误差观测量,Kalman 滤波器进行完整更新,并将系统误差估计值进行反馈补偿。

结合上述两种误差估计与修正方式,基于虚拟足部惯导系统的Kalman 滤波器设计如下:

1)惯导误差模型/系统状态方程

惯性系统误差模型由平台误差角模型、速度误差 模型、定位误差以及惯性传感器误差模型组成。

其中平台误差角方程为

速度误差模型如式(12)所示:

定位误差模型为

惯性器件随机常值模型如下:

式(4)~(8)中各物理量以及线性卡尔曼滤波器的状态方程的建立过程详见参考文献[10]。

2)系统观测方程

式中:Zk为系统观测向量,Hk为观测矩阵,V k为观测白噪声矢量。

行人导航系统的速度、姿态组合模式可根据观测量情况来实施调整观测方程:

① 非零速状态/非步态特征相位点:无误差观测量,Kalman 滤波器仅进行时间更新。

② 非零速状态/步态特征相位:只进行姿态组合,误差观测量为

式中:δγ、δθ、δψ分别为横滚角误差、俯仰角误差、航向角误差;γ1、θ1、ψ1分别为第一个步态周期每个步态相位结束时刻的横滚角、俯仰角与航向角;γi、θi、ψi分别为当前步态周期每个步态相位结束时刻的横滚角、俯仰角与航向角。

③ 零速状态:既进行速度组合,又进行姿态组合,速度组合的误差观测量为

式中: ΔVk为零速状态时的速度误差,则零速状态总的误差观测量为

4 行人导航系统原理样机构建与性能验证

为了验证本文所提出的行人导航系统及其导航方法的可行性与性能指标,将微惯性测量组件安装于人体左腿外侧。采用便携式计算机进行数据实时采集与导航定位解算,从而构成行人导航系统原理样机。实验过程中的系统航向信息分别采用实际INS、VINS与足部MIMU 中的磁传感器解算得到[11]。

为分析行人导航系统的定位性能与误差特性,分别在室内和室外选择测试路径,并且在每一条测试路径上进行两组不同行进速度的人体行进实验,实验环境不存在明显电磁干扰。室内行进总路程约240 m,室外行进总路程为360 m。其中第一组实验采用平均速度约1.0 m/s 的人体常规步态,室内行进总时间约240 s,室外行进总时间约360 s;第二组实验采用平均速度约2.5 m/s 的快速步态,室内行进总时间约100 s,室外行进总时间约140 s。

图4(a)(b)分别为1.0 m/s 的人体常规步态下虚拟与实际IMU 陀螺X 轴输出与加表Y 轴输出;图4(c)(d)分别为2.5 m/s 的快速步态下虚拟与实际IMU 陀螺X轴输出与加表Y 轴输出。

图4 1 m/s 与2.5 m/s 步速下虚拟与实际IMU 数据 Fig.4 Virtual and actual IMU data under the walking speed of 1 m/s and 2.5 m/s

图5为室内和室外四组行人导航系统原理样机性能实验的性能对比结果。图5(a)与(c)分别为室内和室外行人导航系统原理样机进行性能测试时行进路线的卫星地图。图5(b)与5(d)分别为室内和室外行人导航结果的性能对比曲线。在图5(b)与图5(d)中:曲线(a)为常规步速行进中采用足部实际MIMU 与零速修正完成行人导航时的定位信息,该方案的室内定位误差为1.4 m,约占轨迹全长的0.5%,室外定位误差为2.5 m,约占轨迹全长的0.7%;曲线(b)为快速行进中采用足部 实际MIMU 和零速修正完成行人导航时的定位信息,行进后期人体足部角速度极值≥800 (°)/s,加速度极值≥8g,在惯性器件过载情况下只用常规的零速修正方法在室内和室外测试路径中均无法得到较稳定的导航定位曲线;曲线(c)为快速行进中采用基于神经网络模型构建足部VIMU 和零速修正完成行人导航时的定位信息,由该曲线可知,该方法在人体快速行进中可实现稳定的导航定位功能,不再受到惯性器件超量程的明显影响,但由于神经网络模型存在训练误差,室内定位误差约7.1 m,约占总行进路程的3%,室外定位误差为13.8 m,约占轨迹全长的4%;曲线(d)为快速行进中采用基于神经网络模型构建足部VIMU,并同时采用零速修正与姿态修正进行行人导航时的定位信息。由该曲线可知,该方法同样可在人体快速行进中实现稳定的导航定位功能,且性能优于单独采用零速修正的方法,其中室内定位误差约4.8 m,约占总行进路程的2%,室外定位误差为8 m,约占轨迹全长的2.5%。

上述实验结果的对比分析可总结如表1所示。

由上述实验结果对比分析可知:常规步速下采用足部实际MIMU 结合零速修正可实现较高精度的行人导航定位功能;在快速步态下,由于人体下肢的运动幅度较大,足部运动信息会出现超出惯性传感器量程的情况,采用足部实际MIMU 和零速修正的导航定位方法将无法有效实现零速修正与导航定位;在快速步态下采用足部VIMU 和零速修正的导航定位方法,可实现稳定且准确的行人导航定位;进一步地,在快速步态下采用足部VIMU,并同时采用零速修正与姿态修正的导航定位方法,可进一步提高行人导航定位的精度。

图5 行人导航系统原理样机性能实验 Fig.5 Performance experiment of pedestrian navigation system principle prototype

表1 行人导航实验结果对比分析 Tab.1 Comparative analysis of pedestrian navigation experiment results

5 总 结

本文提出了一种基于机器学习与步态特征辅助的行人导航方法。首先,基于一维串联卷积网络和长短期记忆网络复合的深层混合网络,实现了VIMU 的构建;然后,通过足部VIMU 中加速度计和陀螺仪输出的周期性特性,以及神经网络模型输出中的足部特征相位,进行多条件约束的零速检测;再有,利用人体各步态相位中足部姿态具有高度重复性的特征,对虚拟足部惯导系统姿态信息进行姿态修正,结合零速修正方法,进一步减缓惯性导航系统的定位误差随行进距离的积累。

实验结果表明,本文所提出的方法在快速行走、奔跑等高过载运动中可完成人体精确定位,定位误差不超过总行进距离的2.5%。相比基于常规零速修正的行人导航方法,该方法可在士兵作战、消防抢险、特警执勤等应用背景中提供更可靠、精度更高的导航信息,为特种行业穿戴式设备的研制提供技术支持。

猜你喜欢

步态行人修正
基于步态参数分析的老年跌倒人群步态特征研究
Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
修正这一天
毒舌出没,行人避让
路不为寻找者而设
基于面部和步态识别的儿童走失寻回系统
步态识人
软件修正
我是行人
曝光闯红灯行人值得借鉴