CN113449265A - 一种基于堆叠lstm的腰载式航向角计算方法 - Google Patents
一种基于堆叠lstm的腰载式航向角计算方法 Download PDFInfo
- Publication number
- CN113449265A CN113449265A CN202110721336.7A CN202110721336A CN113449265A CN 113449265 A CN113449265 A CN 113449265A CN 202110721336 A CN202110721336 A CN 202110721336A CN 113449265 A CN113449265 A CN 113449265A
- Authority
- CN
- China
- Prior art keywords
- data
- course
- model
- training
- waist
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims abstract description 20
- 238000013135 deep learning Methods 0.000 claims abstract description 11
- 238000012360 testing method Methods 0.000 claims description 50
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000013136 deep learning model Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000003062 neural network model Methods 0.000 claims 1
- 238000004088 simulation Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- XADCESSVHJOZHK-UHFFFAOYSA-N Meperidine Chemical compound C=1C=CC=CC=1C1(C(=O)OCC)CCN(C)CC1 XADCESSVHJOZHK-UHFFFAOYSA-N 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000005021 gait Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明公开了一种基于堆叠LSTM的腰载式航向角计算方法,目的是解决采用方向传感器计算航向角时运动方向和行人朝向不一致引发的航向角误差问题。在模型训练阶段,将传感器采用腰载挂置方式,对行人四方向移动时记录的三轴角速度和三轴角速度进行训练,根据准确率和损失函数获得最优模型;在行人移动航向判断阶段,调用最优模型对实时行人移动时记录的数据进行实时判断,从而输出航向判断结果;在航向判断辅助航向角计算阶段,基于训练好的航向判断模型对方向传感器获取的原始航向角进行辅助计算,仿真实验表明,基于深度学习的腰载式航向判断辅助航向角计算获得的行人轨迹图与实际运动的轨迹相符,从而验证了本发明方法的有效性。
Description
技术领域
本发明涉及传感器技术、深度学习等信息技术类应用领域,具体涉及一种基于堆叠LSTM的腰载式航向判断和航向角计算方法。
背景技术
室内定位作为导航定位的“最后一公里”,近年来已成为导航界研究热点,也是导航与位置服务的核心问题。基于位置服务(location based services,LBS)使得对室内导航系统的需要迅速增加。基于惯性测量单元(inertial measurement unit,IMU)的行人航位推算(pedestrian dead reckoning,PDR)由于无需安装外部设备而被广泛研究。然而,由于航向角的不可观测性,行人惯性导航系统中存在航向角发散的问题,这个关键问题一直未能得到非常有效地解决,航向角的误差也因此成为整个导航系统误差的主要来源。
当前用于记录个体轨迹的应用系统有单兵作战系统之类。核心问题在于如何获得准确的航向信息以减少定位误差,吸引了大批计算机算法研究者的兴趣。地图匹配辅助法[Aggarwal等人,无GPS条件下个人导航系统中的地图匹配和陀螺仪启发式漂移消除算法,2011年发表在测量科学与技术第2期第22卷编号025205]虽然可以较为精确显示定位,但是该算法需要特定于已知环境并且具有大量计算。密歇根大学的Borenstein等人[Borenstein等人,人员跟踪系统的启发式漂移消除,2010年发表在导航期刊第4期第63卷第591页至606页]使用启发式漂移消除算法来校正航向,但要求测试者处于直线运动状态。作为最准确的方式,MIMU安装在脚上以利用ZUPT框架。由于传感器噪声的累积,通过积分加速度获得的速度通常随时间偏离实际值。因此,ZUPT框架通常基于以下方法减少误差: 当脚接触到地面时,脚的速度可以被认为是零。通常检测这些循环并将速度重置为零以抑制速度误差。但是,ZUPT框架不能用于其他身体部位,因为通常没有周期性的零速度时刻。基于步态检测的零速修正技术已广泛应用在鞋式行人导航中。将微惯性器件固定在人体腰部或者在腿上,这些安装方法相比于传统鞋绑式的安装方法,降低了人体运动引起的误差漂移,但同时在获取零速时刻以及步长航向角信息时带来了一系列新的问题。
磁力计很容易因为环境中的磁干扰而失真,这些误差难以消除且不可预测。陀螺仪对人体震动很敏感,因此当用户走路或转弯时,其测量值会出现不稳定甚至摇摆的现象[Kang等人,基于改进航向推算的室内定位系统,2012年发表在IEEE国际个人,室内和移动无线电通信研讨会2449页至2453页]。目前,主要方法是基于四元数算法估计航向,然后协助校正航向角。华中科技大学机械科学与工程学院Yuan 等人 [Yuan等人,基于四元数的无迹卡尔曼滤波器优化可穿戴多传感器系统进行精确的室内航向估算,2015年发表在传感器第5期第15卷第10872至10890页]提出了一种基于增益卡尔曼滤波的改进四元数算法,实现了更高的航向估计精度。Renaudin等人[Renaudin等人,室内环境下基于四元数的航向估算,2014年发表在位置和导航研讨会第645页至656页]提出了磁角速率更新和加速度梯度更新模型,它对传感器位置有一定的要求。Poulose等人[Poulose等人,一种使用智能手机传感器数据的室内位置估计算法,2019年发表在IEEE Access第7卷第11165页至第11177页]提出可以通过磁力计和陀螺仪传感器值的融合来估计行人的航向,并且已经取得了良好的效果。随着深度学习技术的发展,分析传感器数据的潜在规律已成为一个重要方向。英国牛津大学计算机科学系Chen等人[Chen等人,学习如何在惯性测距法中治愈漂移的诅咒,2018年发表在人工智能大会上,见AAAI2018论文集第6468至6476页]首先尝试使用深度学习习惯来指导数据来表征运动轨迹,正如作者所说,他们提出了第一个深度神经网络框架,该框架从原始IMU数据中学习极坐标中的位置变换,可以构建惯性测距法。作者打破了持续整合的循环,并将惯性跟踪重新表述为一个连续的学习问题。分析时间序列数据,挖掘潜在特征是深度学习的重要应用方向。
对于足部穿戴最常用的是采用ZUPT算法实现稳定可靠的航向估计,而对于数据没有零速周期性变化的穿戴方式,主要研究方向依然还是从方向传感器与陀螺仪进行优化。方向传感器由内置在手机中的加速度计和磁力计组成。在安卓手机实现中通过调用getRotationMatrix()函数对输入的加速度和磁传感器数据计算得到旋转矩阵,然后调用getOrientation()函数根据旋转矩阵获取到航向角、横滚、俯仰值。由于函数已经封装好,方便调用,因此,该方法可以较为迅速实现航向角计算; 陀螺仪可以获取角速度。通过给定一个初始航向角,可以通过积分获得下一个相对航向角。通过陀螺仪获得的航向角在短时间内具有高精度。但是由于陀螺仪的漂移效应,长时间积分会导致航向角的累积误差。
步数统计,步长估计,航向估计和位置更新是基于步长的PDR的四个核心模块,而最为关键的环节就是航向估计。在步数统计和步长估计上的误差往往不会出现太大偏差,需要克服的核心在于累积误差方向。而航向估计直接影响着轨迹生成。在调研中,我们发现,尽管大量的工作已经在开展用于提升行人航位推算中航向估计的准确性,但很少工作用于研究行人侧移以及退着走的情况。我们发现当基于方向传感器进行航向角计算时,如果正常向前走或者转弯的情况下,轨迹基本都能准确绘制出来,然后当运动方向和人的朝向不一致时,航向角保持了人的朝向方向却没有跟随着运动方向,例如人的朝向向北:
(1) 此时向后走,理论上航向角应该向南,但由于人的朝向问题依然向北;
(2) 此时向右侧移走,理论上航向角应该向东,但由于人的朝向问题依然向北;
(3) 此时向左侧移走,理论上航向角应该向西,但由于人的朝向问题依然向北;
我们需要不断提升航向角计算的精度,但前提是航向估计的方向大致和运动方向差不多的情况下,如果大致运动方向发生超过90度的判断错误,整个运动轨迹绘制将变得毫无意义。而在实际中,侧移以及后退着行走等是常见姿势。之前的研究工作很多在航向角计算前做了行人朝向和运动方向一致的假设,简化了模型,这类假设避开了讨论不一致的情况。为了得到高精度的行人航向推算,主要有两类工作探索过: 一种是根据速度方向始终和运动方向一致的原理,检测每一步中速度最大值,该时刻的方向最为稳定,可以作为每一步的运动航向,难点在于一方面需要准确地进行步态检测,另一方面在于速度最大值的检测,通常可以检测加速度最小作为速度最大的判断依据; 另一种是使用主成分分析法(PCA)从水平方向的加速度变化提取运动方向。对PCA提取的水平加速度进行绘制,其点的分布趋势和运动方向一致,因此,也可以作为航向判断的依据。
上述方法对数据属性做了探索,而随着人工智能的发展,深度学习技术在计算机视觉、自然语言处理方向得到了广泛应用,使用深度学习模型可以简化人工提取而发现传感器数据隐藏的丰富潜在特征。因此,本发明提供了一种解决航向角计算的新方法。根据以上工作,本发明选择腰部安装的MIMU,通过深度学习模型训练MIMU生成的时间序列数据,并通过判断航向以提高航向角计算精度。
发明内容
本发明所要解决的技术问题是:提供一种基于深度学习对腰载式微惯性器件进行航向判断的方法,从而辅助航向角计算,提高导航精度。
本发明为解决上述技术问题采用以下技术方案:
一种基于堆叠LSTM的腰载式航向角计算方法,包括如下步骤:
步骤1:对移动航向划分,将采集传感器挂置于腰部采集行人移动时加速度和角速度信息;
步骤2:将采集的加速度和角速度信息进行预处理;
步骤3:搭建堆叠LSTM的腰载式航向判断模型,将预处理后的数据作为输入进行训练; 步骤4:不断调整网络参数,根据准确率和损失函数获得最优训练模型;
步骤5:将本发明模型结果与其他主流深度学习模型以及不同传感器组合做对比,验证模型可行性;
步骤6:实时行人移动时,调用最优训练模型,将实时训练结果传入模型中,输出判断结果;
步骤7:根据步骤6中的航向判断结果对方向传感器获得的航向角进行修正,从而得到最终的行人航向角。
作为本发明的一种优选方案,步骤1对移动航向划分特征为四方向,分为前进、后退、左移和右移进行采集。采集为每个方向均多次采集,每次采集时间30-45s不等。数据采集频率为400HZ,采集内容为三轴加速度和三轴角速度,本发明采集共1498702条数据。
作为本发明的一种优选方案,步骤2所述的原始预处理,将400HZ采集的传感器数据隔行保存降为200HZ,然后对每组采集的数据首尾减5s的数据,即首尾各减去1000条数据。
作为本发明的一种优选方案,步骤3所述堆叠LSTM为两层LSTM结构。
作为本发明的一种优选方案,步骤4所述的准确率accuracy计算公式为:
correct_pred = equal(argmax(pred_softmax,1),argmax(Y,1))
accuracy = reduce_mean(cast(correct_pred,dtype))
其中,cast()用来进行数据类型转化; argmax()返回输入数组最大值的索引;equal()用来比较输入数据是否相同,如果相同返回1,不同返回0;reduce_mean()返回的均值即为准确率。
作为本发明的一种优选方案,步骤4所述的损失函数Loss为:
其中loss0表示原始损失函数,即调用tensorflow中softmax交叉熵函数均值的结果;loss2为L2正则化,用于优化目标函数中的正则项,防止参数太多复杂出现过拟合。ω代表张量中的每个元素;λ是超参数,可以取任何值,但是不同的λ对损失函数结果会有所不同,本发明λ设为0.0015。
作为本发明的一种优选方案,步骤4中对LSTM输出结果采用softmax函数进行归一化,得到标签预测概率pred_softmax,其特征在于计算公式为:
其中pred_Y为LSTM模型输出的结果。
作为本发明的一种优选方案,步骤4所述堆叠LSTM最优训练模型参数见下表:
作为本发明的一种优选方案,步骤5所述的对比实验方案为卷积神经网络模型和图卷积神经网络模型;与其他传感器输入进行的对比实验,分别为单一模式—加速度计采集的数据和陀螺仪采集的数据,以及融合模式—加速度计与陀螺仪组合采集的数据。
作为本发明的一种优选方案,步骤6所述的实时数据传入模型时,每300条为一组进行预测,间隔200条数据进行迭代。
作为本发明的一种优选方案,步骤7所述的原始航向角由方向传感器获得。
作为本发明的一种优选方案,步骤7所述的航向判断结果对方向传感器获得的航向角进行修正,具体为:如果航向判断向前,则方向传感器获取的航向角即为行人移动的航向角;如果航向判断向右,则在方向传感器获取的航向角基础上加90度作为行人移动的航向角;如果航向判断向后,则在方向传感器获取的航向角基础上加180度作为行人移动的航向角;如果航向判断向左,则在方向传感器获取的航向角基础上加270度作为行人移动的航向角。
附图说明:
图1是本发明基于堆叠LSTM的腰载式航向角计算方法的整体流程图;
图2是本发明堆叠LSTM模型结构图;
图3是本发明基于深度学习训练模型流程图;
图4是基于本发明的方法进行航向角修正后的行人轨迹图。
具体实施方式:
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明提供一种基于堆叠LSTM的腰载式航向角计算方法,主要用于对腰载式惯性器件进行航向判断,通过划分四方向进行多次数据采集,将预处理后的数据传入搭建好的深度学习网络模型中进行训练,根据准确率和损失函数选择最优模型,用于行人腰载式惯性器件系统航向判断,从而辅助航向角计算。
本发明基于堆叠LSTM的腰载式航向判断方法,包括如下步骤:
步骤S1:训练集数据采集阶段。本步骤包含如下三个子步骤:
步骤S11:惯性器件挂置方式。本发明实验的方式是将微惯性器件置于腰部,做腰载式航向判断;
步骤S12:训练数据结构设计。本发明采用前行、后退、向左侧移和向右侧移的方式进行采集数据。每个方向均多次采集,每次采集时间30-45s不等。数据采集频率为400HZ,采集内容为三轴加速度和三轴角速度,本次采集共1498702条数据,数据分布如表1所示:
表1 数据分布
我们对采集后数据进行整理,得到的数据形式如表2所示:
表2 数据字段说明
ID | activity | timestamp | x-axis | y-axis | z-axi | x-ang | y-ang | z-ang |
步骤S13:数据预处理。本发明主要从两个角度进行数据预处理,在之后的模型测试中,一方面我们直接使用原始数据进行训练,另一方面,我们将数据进行抽样成200Hz,降低模型内存占用率,同时也进行了前后各减5秒数据的对比。数据预处理包含如下两个子步骤:
步骤S131:数据抽样。在模型训练时,采用nvidia-smi跟踪GPU的内存使用率,由于400Hz为高频率采样,会使得之后模型训练时,输入矩阵较大,内存使用率经常接近总内存,因此,为获取更多间隔输入,我们对原始数据隔行保存,使得400Hz降到200Hz;
步骤S132: 数据优化。当采集数据时,开始计数到开始行走时,之间会有几秒停顿,即数据未开始计数。因此,我们采用前后各减5秒即前后各减1000个数据的方式,保留中间采样的数据。
步骤S2:搭建堆叠LSTM的腰载式航向判断模型。本发明采用两层LSTM结构作为网络结构,如图2所示;通过准确率和损失函数选择最优模型,训练过程如图3所示。
步骤S3:模型参数选择。 包含如下三个子步骤:
步骤S31:11G 2080ti显卡测试1结果- 400Hz原始数据。针对400Hz原始数据,在11G 2080ti显卡上训练,这里使用原始数据集,共1498702条数据,这里我们以400为步长作为输入矩阵行数维度,即每一次输入矩阵为1s的数据,输入矩阵宽度为3维,即选取三轴角速度作为特征提取,因此总数据量为74920个400*3的输入矩阵。训练集和测试集比例均为4:1,即训练样本为59936个,测试样本为14984个。
我们设置模型训练测试迭代次数为3000次,BATCH为1024,学习率为0.0001,隐藏层单元设置为64,具体参数如表3所示。我们发现模型收敛,测试集准确率96.20%。对测试结果进行混淆矩阵分析,如表4所示:
表3 参数设置
表4 混淆矩阵
步骤S32:11G 2080ti显卡测试2结果- 200Hz抽样原始数据。针对200Hz数据,即对原始数据抽取保存之后的数据在11G 2080ti显卡上训练,共749351条数据,这里我们以400为步长作为输入矩阵行数维度,即每一次输入矩阵为2s的数据,输入矩阵宽度为3维,即选取三轴角速度作为特征提取,因此总数据量为37448个400*3的输入矩阵。训练集和测试集比例均为4:1,即训练样本为29958个,测试样本为7490个。
我们设置模型训练测试迭代次数为3000次,BATCH为1024,学习率为0.0001,隐藏层单元设置为128,具体参数如表5所示。我们发现模型收敛,测试集准确率99.08%。对测试结果进行混淆矩阵分析,如表6所示:
表5 参数设置
表6 混淆矩阵
步骤S33:11G 2080ti显卡测试3结果- 200Hz抽样前后减5s数据。针对200Hz抽样前后减5s数据,即对原始数据前后各减5s再抽取保存之后的数据在11G 2080ti显卡上训练,共585351条数据,这里我们以400为步长作为输入矩阵行数维度,即每一次输入矩阵为2s的数据,输入矩阵宽度为3维,即选取三轴角速度作为特征提取,因此总数据量为29248个400*3的输入矩阵。训练集和测试集比例均为4:1,即训练样本为23398个,测试样本为5850个。
我们设置模型训练测试迭代次数为3000次,BATCH为1024,学习率为0.0001,隐藏层单元设置为128,具体参数如表7所示。我们发现模型收敛,测试集准确率99.86 %。对测试结果进行混淆矩阵分析,如表8所示:
表7 参数设置
表8 混淆矩阵
我们对3个测试实验进行汇总,如表9所示:
表9 参数设置对比表
在对数据进行前后5s之后的数据进行测试训练时,模型在更少的迭代次数就达到了较高的准确率,并且最后准确率也相对较高,这是因为一开始计数时而未进行相应动作,但被打上了标签,导致未移动的数据出现了4组不同的标签,对训练模型会造成潜在影响,因此,前后删减数据,保存中间已经移动的数据,可以提高标签对应的准确率,因此训练模型也相应更加准确。
同时由于GPU内存不同,因此设置不同参数相应训练。
我们以测试3为例,进行结果分析。在收敛过程中,第631迭代时出现了损失函数偏离较大的情况,因为训练次数较少,在之后训练次数增长之后,测试集偏离情况基本消失。
而在测试集上,前行测试1295次,判断正确1293次;后行测试1295次,判断正确1291次;左移测试1560次,判断正确1560次;前行测试1700次,判断正确1698次。混淆矩阵如表10所示:
表10 混淆矩阵
通过测试集验证,可以发现,本发明方法可以辅助PDR系统进行航向判断。
步骤S4:对比实验验证模型可行性。包含如下2个子步骤:
步骤S41:与CNN模型对比。为了评估,其测试结果与其他DNN模型(例如卷积神经网络)进行比较。根据训练得到的精度曲线,我们提出的堆叠LSTM模型下降得更快,并且在训练期间比精度比CNN更高。 从曲线可以看出,对比实验的结果都是收敛的。从大约180次迭代到结束,CNN模型的精度保持在97%左右并且不再增加。我们对80%的数据集进行训练,经过2000次迭代,我们对剩余的20%数据集进行了测试,堆叠LSTM的准确率为99.12%,CNN的准确率为97.21%。堆叠LSTM模型表现出了比CNN更好的性能。
步骤S42:与GCN模型对比。采集频率为200Hz,每个图包含200个点,199个边,即每个图即为1s运动的数据,共753000行数据,共有3765个图。输入矩阵宽度为6维,即选取三轴角速度和三轴加速度作为特征提取,因此总数据量为3765个200*6的输入矩阵。训练集和测试集比例均为4:1,即训练样本为3013个,测试样本为753个。我们设置模型训练测试迭代次数为2000次,BATCH为60,学习率为0.0001,我们发现模型收敛,测试集准确率99.07%。堆叠LSTM模型表现出了比GCN更好的性能。
步骤S43:采用不同传感器或者组合传感器数据作为输入对比。先前的结论是通过陀螺仪获得的角速度数据获得的,我们还评估了堆叠LSTM在处理不同组合传感器信号时提供的准确性。无论是加速度计还是陀螺仪,在四个方向上移动时,三轴值的变化都非常不同。因此,选择合适传感器的数据对最终判断结果有很大影响。通过实验我们发现,单个传感器和组合传感器在测试集上的准确度均超过99%,都表现出强大的鲁棒性。
加速度计或陀螺仪或这两个传感器的组合在训练模型时保持相同的参数。唯一的区别是,在训练组合的传感器数据时,需要将特征维从三维修改为六维,这也增加了计算成本。因此,在精度超过99%的情况下,完全适用选择单个传感器的值。考虑到导航角的计算取决于角速度,为了减少传感器的使用量,在相同精度的情况下,我们选择角速度的深度学习模型用于后续实验。
步骤S5:实时传感器数据测试。包含如下5个子步骤:
步骤S51:搭载模型选择。根据步骤三模型训练分析,基于深度学习的航向判断模型具有很强的可行性。这里我们采集753292条数据进行训练,采集频率为200Hz,测试结果收敛。
步骤S52:tensorflow模型导出和加载。为了方便结果预测,调用freeze_graph生成ckpt等文件保存网络结构等信息,根据保存的文件生成.pb模型用于之后模型加载。
步骤S53:方向实时评测。这里我们四方向各测三次,同时短距离转三圈一次,长距离转两圈一次。结果如表11所示:
表11 预测结果
步骤S54:转圈测试。因为本发明模型时辅助传统PDR,因此正常转圈时,尽管会发生转弯的情况,但是航向一直是朝前走的,因此本发明模型预测的结果应该为朝前,只有方向位移时,才会触发本发明模型进行优化矫正。因此,转圈测试2次,一次为短距离转圈三圈,一次为长距离转圈两圈。
步骤S55:转圈测试结果。实时数据传入模型时,每300条为一组进行预测,间隔200条数据进行迭代。在实际测试中,短距离转三圈准确率为98.8%,长距离转两圈准确率为98.1%。
我们可以发现,在转圈测试中,本发明模型也表现出了较好的鲁棒性。
根据上述测试,本发明模型可以较为准确地提供航向判断,是可以辅助优化传统PDR模型。
步骤S6:基于航向判断辅助航向角计算。包括如下个子步骤:
步骤S61:转弯行走。我们将在室内运动两圈,一圈为正常的行走一圈,人的朝向始终和运动方向相同; 另一圈则是先直行,然后向右移动;接着向后移动,最后向左移动。我们基于Android数据库框架LitePal对安卓端必要的数据如航向角数据进行保存,将腰载式数据和安卓端数据上传到服务器端,进行轨迹绘制。
步骤S62:辅助修正航向角。如果航向判断向前,则方向传感器获取的航向角即为行人移动的航向角; 如果航向判断向右,则在方向传感器获取的航向角基础上加90度作为行人移动的航向角; 如果航向判断向后,则在方向传感器获取的航向角基础上加180度作为行人移动的航向角; 如果航向判断向左,则在方向传感器获取的航向角基础上加270度作为行人移动的航向角。
步骤S63:仿真测试。我们对行走两圈的测试结果记录如下:
①第一圈测试。我们正常行走一圈,基于航向角可以直接在手机端上绘制正确的轨迹,我们将每一步轨迹点打印所需的步长和航向进行了本地存储。同时,将腰载式传感器记录的数据进行保存,通过加载之前训练好的航向判断模型,每隔1秒进行一次航向判断,此处服务器端模型判断均为前行,根据图1中的算法流程进行航向角修正,从而可以通过粗略估计的步长数据绘制出如图4(a)的运动轨迹图,和实际运动轨迹相符;
②第二圈测试。这一圈中包含了四个方向的移动,此时,基于传统方法的手机端已经无法正确绘制运动轨迹,向左侧移、向右侧移和向后移动均判断向前移动。原始航向角数据由方向传感器获取,这里,由于行走时,步长基本控制一致,我们将每步步长粗略都设定为0.75m,从而根据服务器端模型的航向判断和航向角修正,我们可以绘制出如图4(b)的运动轨迹图,和实际运动方向轨迹一致,从而验证了本发明方法的有效性。
本发明提供一种以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (10)
1.一种基于堆叠LSTM的腰载式航向角计算方法, 其特征在于, 包括如下步骤:
步骤1:对移动航向划分, 将采集传感器挂置于腰部采集行人移动时加速度和角速度信息;
步骤2:将采集的加速度和角速度信息进行预处理;
步骤3:搭建堆叠LSTM的腰载式航向判断模型, 将预处理后的数据作为输入进行训练;步骤4:不断调整网络参数, 根据准确率和损失函数获得最优训练模型;
步骤5:将本发明模型结果与其他主流深度学习模型如卷积神经网络(ConvolutionalNeural Networks, CNN)、图卷积神经网络(Graph Convolutional Network, GCN)以及不同传感器组合做对比, 验证模型可行性;
步骤6:实时行人移动时, 调用最优训练模型, 将实时传感器数据传入模型中, 输出判断结果;
步骤7: 根据步骤6中的航向判断结果对方向传感器获得的航向角进行修正, 从而得到最终的行人航向角。
2.根据权利要求1所述的基于堆叠LSTM的腰载式航向角计算方法, 其特征在于, 步骤4所述的准确率计算根据模型输出的标签预测概率pred_softmax, Y为真实标签, 比较预测值与实际值是否相同, 对输出结果取均值得到准确率accuracy, 计算公式为:
correct_pred = equal(argmax(pred_softmax, 1), argmax(Y, 1))
accuracy = reduce_mean(cast(correct_pred, dtype))
其中, cast()用来进行数据类型转化; argmax()返回输入数组最大值的索引;equal()用来比较输入数据是否相同, 如果相同返回1, 不同返回0; reduce_mean()返回的均值即为准确率。
5.根据权利要求1所述的基于堆叠LSTM的腰载式航向角计算方法, 其特征在于, 步骤5所述的验证不同传感器输入的准确率, 本发明选择输入数据为加速度计或者陀螺仪或者加速度计与陀螺仪组合的情况,其中, 采用加速度计数据训练时, 准确率为99.83%; 陀螺仪数据进行训练时, 准确率为99.12%; 加速度计与陀螺仪组合输入时, 准确率为99.39%。
6.根据权利要求1所述的基于堆叠LSTM的腰载式航向角计算方法, 其特征在于, 步骤6中所述的航向判断结果对方向传感器获得的航向角进行修正, 具体为: 如果航向判断向前, 则方向传感器获取的航向角即为行人移动的航向角; 如果航向判断向右, 则在方向传感器获取的航向角基础上加90度作为行人移动的航向角; 如果航向判断向后, 则在方向传感器获取的航向角基础上加180度作为行人移动的航向角; 如果航向判断向左, 则在方向传感器获取的航向角基础上加270度作为行人移动的航向角。
7.根据权利要求1所述的基于堆叠LSTM的腰载式航向角计算方法, 其特征在于, 对腰部佩戴的微惯性设备采集到的运动数据进行深度学习训练得到航向判断模型。
8.根据权利要求1所述的图卷积神经网络模型, 针对200Hz数据进行训练, 设计每个图包含200个点, 199个边, 即每个图为1s运动的数据, 共753000行数据, 因此得到3765个图;输入矩阵宽度为6维, 即选取三轴角速度和三轴加速度作为特征提取, 因此总数据量为3765个200*6的输入矩阵;训练集和测试集比例均为4:1, 即训练样本为3013个, 测试样本为753个;设置模型训练测试迭代次数为2000次, BATCH为60, 学习率为0.0001。
9.根据权利要求2所述的基于堆叠LSTM的腰载式航向角计算方法, 其特征在于, 采集为每个方向均多次采集, 每次采集时间30-45s不等;数据采集频率为400HZ, 采集内容为三轴加速度和三轴角速度, 本发明采集共1498702条数据。
10.根据权利要求9所述的验证实时传感器数据, 其特征在于,实时输入数据为300条数据一组, 间隔200条数据进行迭代,为保证训练模型的有效性, 即有较高准确率的预测结果, 测试传感器采集频率需与训练传感频率保持一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721336.7A CN113449265A (zh) | 2021-06-28 | 2021-06-28 | 一种基于堆叠lstm的腰载式航向角计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721336.7A CN113449265A (zh) | 2021-06-28 | 2021-06-28 | 一种基于堆叠lstm的腰载式航向角计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113449265A true CN113449265A (zh) | 2021-09-28 |
Family
ID=77813540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110721336.7A Pending CN113449265A (zh) | 2021-06-28 | 2021-06-28 | 一种基于堆叠lstm的腰载式航向角计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449265A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114529985A (zh) * | 2022-01-19 | 2022-05-24 | 吉林大学 | 一种面向老年人日常复杂地形运动的意图识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107490378A (zh) * | 2017-07-17 | 2017-12-19 | 北京工业大学 | 一种基于mpu6050与智能手机的室内定位与导航的方法 |
CN108444473A (zh) * | 2018-03-20 | 2018-08-24 | 南京华苏科技有限公司 | 一种行人室内轨迹定位方法 |
WO2020194598A1 (ja) * | 2019-03-27 | 2020-10-01 | 日本電気株式会社 | 歩行判別装置、歩行判別方法、およびプログラム記録媒体 |
CN112181148A (zh) * | 2020-09-29 | 2021-01-05 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于强化学习的多模态人机交互方法 |
US20210080261A1 (en) * | 2019-09-17 | 2021-03-18 | University Of Electronic Science And Technology Of China | Pedestrian adaptive zero-velocity update point selection method based on a neural network |
-
2021
- 2021-06-28 CN CN202110721336.7A patent/CN113449265A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107490378A (zh) * | 2017-07-17 | 2017-12-19 | 北京工业大学 | 一种基于mpu6050与智能手机的室内定位与导航的方法 |
CN108444473A (zh) * | 2018-03-20 | 2018-08-24 | 南京华苏科技有限公司 | 一种行人室内轨迹定位方法 |
WO2020194598A1 (ja) * | 2019-03-27 | 2020-10-01 | 日本電気株式会社 | 歩行判別装置、歩行判別方法、およびプログラム記録媒体 |
US20210080261A1 (en) * | 2019-09-17 | 2021-03-18 | University Of Electronic Science And Technology Of China | Pedestrian adaptive zero-velocity update point selection method based on a neural network |
CN112181148A (zh) * | 2020-09-29 | 2021-01-05 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于强化学习的多模态人机交互方法 |
Non-Patent Citations (7)
Title |
---|
JIAYI LIN, ET AL: "Deep heading estimation for pedestrian dead reckoning", JOURNAL OF PHYSICS: CONFERENCE SERIES, vol. 1656 * |
SHANZHI GU, ET AL: "Heading Judgment for the Waist-Mounted MIMU Using LSTM", 2019 IEEE 25TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), pages 937 - 942 * |
张馨;王宇;程向红;: "光纤陀螺寻北仪航向效应误差分析和补偿", 弹箭与制导学报, no. 05 * |
徐龙阳;郑增威;孙霖;霍梅梅;: "基于神经网络的多传感器融合PDR定位方法", 传感技术学报, no. 04 * |
杨刚;李强;韩路;张鑫;: "基于MEMS-MARG传感器的消防员室内定位算法", 中国惯性技术学报, no. 05 * |
王鹏宇等: "腰绑式行人导航系统基于缓存区的启发式航向补偿算法研究", 导航定位与授时, vol. 07, no. 03, pages 150 - 156 * |
赵慧;王斌;阮巍;: "基于MEMS惯性传感器的行人导航轨迹复现研究", 传感器与微系统, no. 03 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114529985A (zh) * | 2022-01-19 | 2022-05-24 | 吉林大学 | 一种面向老年人日常复杂地形运动的意图识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | An INS/GNSS integrated navigation in GNSS denied environment using recurrent neural network | |
Sun et al. | IDOL: Inertial deep orientation-estimation and localization | |
Bai et al. | A high-precision and low-cost IMU-based indoor pedestrian positioning technique | |
Yan et al. | Ronin: Robust neural inertial navigation in the wild: Benchmark, evaluations, and new methods | |
CN107635204B (zh) | 一种运动行为辅助的室内融合定位方法及装置、存储介质 | |
CN109991636A (zh) | 基于gps、imu以及双目视觉的地图构建方法及系统 | |
US11519731B2 (en) | Pedestrian adaptive zero-velocity update point selection method based on a neural network | |
CN110146909A (zh) | 一种定位数据处理方法 | |
CN107830858B (zh) | 一种基于重力辅助的手机航向估计方法 | |
CN106767828A (zh) | 一种手机室内定位解决方法 | |
CN106643715A (zh) | 一种基于bp神经网络改善的室内惯性导航方法 | |
CN104613965B (zh) | 一种基于双向滤波平滑技术的步进式行人导航方法 | |
CN112004183B (zh) | 一种基于卷积神经网络融合IMU和WiFi信息的机器人自主定位方法 | |
Jamil et al. | Enhanced Kalman filter algorithm using fuzzy inference for improving position estimation in indoor navigation | |
Rao et al. | Ctin: Robust contextual transformer network for inertial navigation | |
CN110579207A (zh) | 基于地磁信号结合电脑视觉的室内定位系统及方法 | |
CN107677267A (zh) | 基于mems‑imu的室内行人导航航向反馈修正方法 | |
Or et al. | A hybrid model and learning-based adaptive navigation filter | |
Manos et al. | Walking direction estimation using smartphone sensors: A deep network-based framework | |
Yu et al. | AZUPT: Adaptive zero velocity update based on neural networks for pedestrian tracking | |
CN113411744A (zh) | 一种高精度的室内定位追踪方法 | |
Zhou et al. | DeepVIP: Deep learning-based vehicle indoor positioning using smartphones | |
Yang et al. | Symmetrical-Net: Adaptive zero velocity detection for ZUPT-aided pedestrian navigation system | |
CN112066980A (zh) | 一种基于人体四节点运动约束的行人导航定位方法 | |
CN113449265A (zh) | 一种基于堆叠lstm的腰载式航向角计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |