基于神经网络的步行者室内惯导定位技术

2021-06-24 04:05覃昊洁林水生肖卓凌余新国
实验室研究与探索 2021年5期
关键词:步行者轨迹阈值

覃昊洁, 阎 波, 林水生, 周 亮, 肖卓凌, 余新国

(电子科技大学信息与通信工程学院,成都 611731)

0 引 言

随着时代的发展和科技的进步,定位导航技术已普及到社会生活和生产的各个领域,并逐渐显示出良好的技术发展前景和巨大的市场应用空间[1]。与室外环境相比,室内环境要复杂得多,建筑物的布局、内部结构、材料、装饰装修情况等都会对室内定位效果产生影响[2]。惯性传感器定位作为室内定位导航技术的关键技术,在室内导航、残障引导、智慧城市、智能搜救等领域皆有广泛应用[3]。在实际教学中,步行者室内自主导航定位技术由于实用性强、应用领域广、实验效果直观等特点,能很好激发学生的学习兴趣和探索精神。步行者室内自主定位技术需要融合《高等数学》《微处理器系统与嵌入式系统设计》《传感器原理》《无线传感器网络》等基础课程知识与定位导航知识,非常适合为高校电子类专业开设综合性和设计性强的研究型实验。

现阶段步行者室内自主定位实验主要应用ZigBee、RFID、超声波、WiFi、计算机视觉和惯性传感器等技术开设,普遍对室内环境要求较高且部署复杂,维护难度高。例如ZigBee要求室内尽量空旷,计算机视觉需要在定位前已知室内结构平面图,Wi-Fi需提前部署复杂的基础设施辅助定位等[4-6]。目前,只有基于惯性传感器的定位技术在保障准确率的前提下无需依靠任何外部信号实现自主定位,适用于复杂的室内环境[7]。惯导系统还具有体积小、价格便宜、无需额外搭建、稳定性强等特点。

传统步行者室内惯导定位实验多利用固定阈值法或基于固定阈值的衍生法修正惯性导航长时间误差累积,提高定位准确率。实验不仅涉及传统的硬件设计,还需要进行算法研究、阈值选取、算法实现、实验测试、数据分析及反向调整,有利于培养学生解决复杂工程问题的能力。在正常速度步行时,学生通过仿真和反向调整选取合适的阈值可得到较好的定位准确率,项目式教学能很好地培养学生的分析、设计、验证及调试能力,实验取得了较好的教学效果。实际教学中发现固定阈值应用于不同的行人,不同的运动模式时,算法的修正效果表现不佳[8]。学生根据不同的情况,重新拟定合适阈值并手动切换后,在快走和跑步时定位效果仍不理想。为保证定位准确率手动切换阈值或限制行人的运动模式,在实际工程应用中都是不切实际的。针对这一问题,课程组将人工智能引入传统算法,自适应地识别零速更新点和非零速更新点,根据教学实际需要搭建兼顾准确率和硬件开销的轻量级神经网络。经实验验证,该方法能有效提高零速区间的检测准确率,在多种运动模式下均能保证定位准确率。

1 传统步行者室内惯导定位实验

传统步行者室内惯导定位实验主要把惯性传感器直接固定连接在步行者身上(腰、腿、脚),测量步行者的线运动信息和角运动信息,通过对加速度积分得到步行者的速度和位置信息,再结合姿态矩阵运算得到行进方向。惯性传感器都存在噪声,多次积分会导致误差不断积累,致使步行者的定位轨迹快速发散[9]。业界普遍应用零速检测算法修正此类误差[10]。零速检测算法主要结合卡尔曼滤波算法和人类行走的生物学特征,在零速区间(脚接触地面并在短时间内保持静止的时间段)利用卡尔曼滤波算法估算速度和方向的误差,更新预测速度和方向的值。零速检测算法在步行者每次进入零速区间时都对误差进行修正,定位系统利用更新方程避免不断累积误差而长期稳定运行。

为获得与实际长期轨迹更一致的结果,需要准确检测每个步态周期的零速区间[11]。多数零速检测算法是基于对传感器输出的加速度和角速度的模值、方差以及幅值和已设定的阈值进行比较,提取出步态中的零速点[12]。阈值的设定与行人体态和运动模式都密切相关[13],基于固定阈值的零速检测算法在不同的行人和不同的运动模式下常常存在零速区间范围不精确,甚至漏检的情况[14],大大影响定位系统的定位准确率和实用性。例如,图1显示通过固定阈值法判断零速区间的示意图。

图1 固定阈值零速区间检测示意图

式中:ω为角速度;b为角速度基于载体坐标系。利用角速度的二范数作为阈值判定k时刻采样点是否零速更新点:

式中:thgyro为预先在系统里设置的固定阈值,图中用红线标示;zvk为1时该点判定为零速更新点。可见,正常匀速行走时,固定阈值得到的零速区间陀螺仪输出值接近0且波动很小,与实际的零速区间一致,但该阈值在行人跑步时基本无法检测出零速点。

2 基于神经网络的步行者室内惯导定位

2.1 基于神经网络的步行者室内惯导定位算法

传统实验算法泛化性不佳,关键在于无法根据不同情况精确选取合适的零速区间阈值,无法在准确的零速更新点修正误差。零速更新点的选取,本质上是提取特征进行有效分类,神经网络在特征提取方面应用广泛,尤其是卷积神经网络(Convolutional Neural Networks,CNN)在对提取的特征进行分类时表现出色[15]。CNN可以把初始的“低层”特征表示转化为“高层”特征表示,用“简单模型”完成复杂的分类等学习任务[16]。

基于神经网络的步行者室内惯导定位算法在传统算法的基础上引入CNN进行零速更新点的判定,图2为该算法的流程图。

图2 基于神经网络的步行者室内惯导定位算法流程图

加速度和角速度数据通过捷联式惯性传感器收集后,在数据预处理系统中进行低通滤波和标准化等处理得到当前加速度、速度、角速度信息,把这些信息输入到训练好的CNN模型中,模型一旦判断当前为零速点,立即利用扩展卡尔曼滤波算法估算误差,对观测值进行更新

式中:Vk|k、Pk|k分别为更新后的速度和位置;Vk|k-1、Pk|k-1分别为根据上一个采样点得到的预测速度和位置;δ(Vk)、δ(Pk)分别为扩展卡尔曼滤波算法得到的速度和位置的估计误差。如果不是零速更新点,则直接根据上一次计算得到的位置信息进行累积运算:

式中:a为惯性传感器测量到的三轴加速度;Δ(t)为采样间隔。

2.2 CNN的搭建

基于零速更新的惯导定位算法只需进行简单的二分类,且搭建的神经网络模型要应用于实验教学,因此网络要在保证定位准确率的前提下尽量小,减小学生的训练难度并保障算法可移植到常用实验设备上。本文在Google开发的比较成熟的TensorFlow系统上进行网络搭建,经过多次实验,最终的网络模型如图3所示。

图3 实验中搭建的CNN模型示意图

网络中主要包含2个卷积层、2个池化层和1个全连接层。输入层每个样本由54个采样点组成,每个采样点分别包含3轴加速度和3轴角速度,其中加速度和角速度分别通过2个通道输入。网络中的卷积核大小最终设置为3×3矩阵,卷积层的卷积核个数分别为6和12个,采用补零填充的策略。采样层中的池化窗口为2×2矩阵,窗口横向移动步长为1,纵向移动步长为2。采样策略可根据需要调整,默认为最大采样。全连接层根据权重优化组合池化层2中12个14×1矩阵,最后全连接层的结果通过Sigmoid函数输出,并与预先设定好的一个固定常数进行对比,大于该常数则判定为1,否则判定为0。

2.3 CNN的训练

为保证算法的泛化性,训练样本集随机选取一个实验教学班内85%的同学(本实验选取40人)标定为集合A,这些同学以常速行走、快速走及跑步3种模式分别在实验楼内连续移动,每种模式至少走4个轨迹,最短的轨迹约50 m,最长的约1 km,例如集合A中的元素A1可表示为A1={ W1,WF1,R1};W为常速走轨迹集合;WF为快走轨迹集合;R为跑步轨迹集合。

验证样本集由班内剩余15%的同学以同样方式提供,标定为集合B。如图4所示,最后收集到480条运动轨迹组成的训练样本集A和84条轨迹组成的验证样本集B。

图4 神经网络训练与验证集数据划分

得到的数据在训练前需要为每个采样点预先标定是否零速更新点,粗略估计共有2×107个采样点需要标记,工作量非常大,为了提高实验效率设计基于广义似然比检验的标签标定算法用于标签标定的辅助手段。

由于数据处理前已知该段数据的运动状态,因此根据不同的运动状态的广义似然比的阈值可以筛选掉大部分非零速更新点。运动中的惯性数据曲线会存在一些类似“毛刺”的波动,易误判为零速更新点,结合零速区间长度Lk可以进一步剔除误判点。利用下式计算K时刻角速度和加速度的广义似然比结果:

3 结果及分析

本实验采样频率400 Hz,采集47人分别以常速走、快走和跑步的状态连续运动的轨迹共564条,其中40人的轨迹用于CNN的训练,共16 584 522采样点,另外7人的轨迹用于神经网络的验证,共2 943 452采样点。实验经过反复参数调试,设置合适的CNN数据迭代次数、迭代样本数、学习率和误差损失函数。表1为验证集在训练完成的CNN上的零速更新点分类表现。

表1 神经网络法零速更新点分类指标参数

当步行者以正常行走、快速行走和跑步连续运动时,对零速更新点的测准率平均可达到98%,召回率平均值接近98%,F1得分也均在98%附近。这说明该模型在验证集上泛化性能优良,不同运动模式均可准确又全面地识别出零速点。

选取课程组老师和助教作为测试集,从实验室门口出发,沿实验中心的走廊分别以常速走、快走和跑步进行运动,最后回到起点,全程约100 m。人工选取合适的固定阈值与本文所用算法进行对比,得到的常速行走实验轨迹如图5所示,蓝色为轨迹真值,红色为实测轨迹,可见,两种算法都能复原测试者的轨迹。在测试快走和跑步时分别重新根据实测的陀螺仪数据选取合适的阈值与本文算法对比,得到的轨迹如图6、7所示,基于CNN的零速更新点分类算法在快走和跑步时的定位表现明显优于固定阈值法,基本可以呈现测试者行进路线,而固定阈值法轨迹随着距离的增加,明显偏离真值,尤其是终点与实际偏差较大。

图5 常速行走轨迹对比图

图6 快速行走轨迹对比图

图7 跑步轨迹对比图

常速走的轨迹几乎相同,因此不再进一步分析误差。根据图6、7绘制误差累积分布图对比快走和跑步时,固定阈值法和本文算法的定位误差表现。

图8为误差累积分布图,纵轴表示误差的累积分布函数,横轴表示误差距离,虚线表示本文算法,实线表示固定阈值法。

图8 误差累积分布图

快走时,在人工选取合适阈值的情况下,本文算法有一半的距离误差在0.6 m内,而同样概率下固定阈值法的距离误差是1.1 m。跑步时,在人工选取合适阈值的情况下,神经网络法大部分的距离误差都小于1 m,而相同概率下固定阈值法大部分的距离误差在1.8 m。快走和跑步时的固定阈值法误差大于本文算法,原因在于脚的迈动幅度大,频率高,虽然已经选取了合适的固定阈值,但固定阈值法灵活性不足,仍然容易把一些“毛刺”误判为零速更新点。

4 结 语

本文通过研究现阶段基于惯性传感器的步行者室内定位实验鲁棒性不佳的原因,提出了一种兼顾鲁棒性和定位准确率的步行者室内自主定位方法,根据教学实际需要,对算法神经网络模型进行轻量化设计和验证。该算法在不同运动模式下都可应用CNN自适应地对零速更新点进行准确、全面的分类,提高卡尔曼滤波算法对累积误差的修正效果,改善实验在不同运动模式下的定位准确率。与传统固定阈值法相比,本文提出的算法除了能在常速走模式下准确定位外,在快走和跑步时零速更新点的识别准确率和室内定位准确率都明显更优,可有效解决传统步行者惯导定位技术切换运动模式后无法保证定位准确率的问题,为其拓宽应用场景和应用领域,并为高校的相关实验实践课程提供兼具综合性、设计性及难度的研究型课改素材。

·名人名言·

想像力比知识更重要,因为知识是有限的,而想像力概括着世界的一切,推动着进步,并且是知识进化的源泉。

——爱因斯坦

猜你喜欢
步行者轨迹阈值
美国勃朗宁武器公司A-Bol olt“步行者”栓动霰弹枪
每天步行者请注意这7条
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
轨迹
轨迹
小波阈值去噪在深小孔钻削声发射信号处理中的应用
每天步行者请注意这7条
轨迹
进化的轨迹(一)——进化,无尽的适应
步行者说