首页> 中国专利> 基于智能手机多传感器融合和SVM分类的多场景PDR定位方法

基于智能手机多传感器融合和SVM分类的多场景PDR定位方法

摘要

本发明涉及定位技术领域中的一种基于智能手机多传感器融合和SVM分类的多场景PDR定位方法,该方法包括两部分的内容,一是通过智能手机上的多种传感器测得行人的运动特征,并通过峰值检测的方法进行步数检测,通过非线性步长模型进行步长估计,通过运动特征进行方向估计,并将步数检测、步长估计、方向估计三者结合得到高精度的行人移动轨迹数据;二是提出了一种利用支持向量机区分行人携带智能手机模式的方法,可以在不同的模式下应用相应的计算模型,有效避免了传统PDR方法在多场景切换时的较大误差。设计的多场景PDR定位方法具有较高的精度与较快的运行速度,且仅需一部智能手机,不依赖外部辅助设备,从而使定位精度和鲁棒性得到明显改善。

著录项

  • 公开/公告号CN113029153A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN202110334800.7

  • 发明设计人 邱潇涵;范雨欣;王雕;史治国;

    申请日2021-03-29

  • 分类号G01C21/20(20060101);G01C22/00(20060101);G06K9/62(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人刘静

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 11:37:30

说明书

技术领域

本发明涉及室内定位领域,具体涉及一种基于智能手机多传感器融合和SVM分类的多场景PDR定位方法。

背景技术

随着智能移动设备的普及,室内定位的市场需求越来越大,如何实现在近距离复杂环境下的高精度室内定位逐渐成为研究热点,WIFI定位、蓝牙定位、超声波定位、红外线定位、磁场定位等室内定位方式不断涌现。在复杂多变的室内环境中,目前已有方法均存在一定局限性,难以投入实际应用。

行人航迹推算技术(PDR)依据移动终端的传感器获取行人步数、步长、方向,进而推算行人当前位置。相较于红外、超声波等定位方式,PDR不需在环境中额外布置设备,仅需依托智能手机内置的加速度计、陀螺仪、磁力计即可完成位置估计。然而,单步误差积累、移动终端与行人运动不一致等问题均会影响其定位精度。

发明内容

本发明目的为克服现有技术的不足,提供一种基于智能手机多传感器融合和SVM分类的多场景PDR定位方法。

本发明的目的是通过以下技术方案来实现的:一种基于智能手机多传感器融合和SVM分类的多场景PDR定位方法,该方法包括以下步骤:

步骤1:通过UWB或WiFi定位的方式获取当前设备的初始位置;

步骤2:通过手机集成的加速度计、陀螺仪与气压计采集得到当前手机的加速度、角速度与气压值;

步骤3:对步骤2采集得到的数据进行低通滤波处理,滤除采样噪声;

步骤4:对经过步骤3滤波后的加速度与角速度数据进行四元数变换,将其从载体坐标系转换到世界坐标系;

步骤5:取世界坐标系下z轴加速度大小作为步数检测的依据,采取加速度峰值检测的方法,对步数进行判断;

步骤6:依据步骤5的峰值检测方法检测到一步之后,计算出一步所花的时间T,得到步频f=1/T,根据非线性步长模型计算得到步长;

步骤7:基于滤波后的加速度频域特征,采用SVM方法进行分类,区分手机处于行人口袋、手机在左手时的行人摆臂、手机在右手时的行人摆臂和平端手机这四种状态;

步骤8:对于四种不同的状态,通过检测角速度或加速度特征值计算一步内前进的方向;

步骤9:基于步骤6计算得到的步长与步骤8计算得到的方向,更新行人行走一步之后的位置;

步骤10:持续检测气压计的变化,若气压计示数出现连续下降趋势,则判断为行人上楼;若气压计示数出现连续上升趋势,则判断为行人下楼;

步骤11:完成一步的位置更新之后,持续检测步数变化;若出现新的一步,重复步骤5至步骤10;否则结束定位进程。

进一步地,所述步骤3中,低通滤波的通带截止频率为2.3Hz至3Hz,以行人的步频上限为佳。

进一步地,所述步骤4中,四元数的微分方程如下:

其中ω

通过一阶毕卡法迭代求解该微分方程,具体计算公式如下:

其中Δt代表时间微分量;

通过陀螺仪不断测得的角速度更新四元数,根据四元数方向余弦矩阵与欧拉角的关系,按照以下公式求出欧拉角:

其中φ、θ、ψ分别代表欧拉角中的翻滚角(Roll)、俯仰角(Pitch)、偏航角(Yaw),完成从载体坐标系到世界坐标系的转换。

进一步地,所述步骤5中,峰值检测步数的实现步骤如下:

S1:对世界坐标系下行人行走时的z轴加速度进行带通滤波,通带截止频率分别为0.5Hz和2.5Hz,滤除噪声与重力分量;

S2:取z轴加速度的模不小于0.5的波峰,若相邻两个波峰之间间隔不小于0.6s,则视作检测到一步。

进一步地,所述步骤6中,结合步频f、用户输入的身高h与个体特征参数c,根据非线性步长模型计算得到步长SL:

SL=[0.7+0.371×(h-1.75)+0.227×(f-1.79)×h÷1.75]×c;

其中个体特征参数c的值在0.8至1.2之间,通常取值为1。

进一步地,所述步骤7中,SVM分类的依据是行走时手机采集得到的加速度频谱特征;在有监督学习的前提下,将用户行走的加速度频谱特征用于训练分类模型,并将训练结果存储至云端,在实际使用时将用户行走的加速度频谱特征与训练结果进行匹配,实现实时的状态分类检测;SVM分类的实现步骤如下:

S0:原理说明:SVM即支持向量机,也称为最大间隔分类器,可以通过分离超平面将原始样本集划分成两部分或多部分。SVM的基本思路是找到能够正确划分训练集并且几何间隔最大的超平面,并且使得间隔最大化,即转换成凸二次规划问题。

S1:在有监督学习的情况下,对已知行人手机状态采集得到的加速度数据进行带通滤波处理,通带截止频率分别为0.5Hz和2.5Hz,滤除噪声与重力分量;

S2:通过峰值检测的方法判断步数,做出标记;

S3:对两步为一段的时域数据进行频域变换得到频域特征作为训练集合;

S4:对四种类别的数据分别附上标签:平端label=1,口袋label=2,左摆臂label=3,右摆臂label=4;

S5:对训练集合的数据进行归一化处理,映射到[0,1]之间;

S6:训练:采用镜像基函数RBF作为SVM的核函数并通过3-折交叉验证的方式找到其中最优的惩罚参数c以及RBF核参数g。将验证后得到的最佳参数c和g以及训练集、训练集标签代入到SVM训练函数中,得到训练模型;

S7:预测:将行人行走过程中实际采集到的加速度频谱数据,经步骤S1至S3中的滤波、分段和频域变换操作后,输入到步骤S6训练好的SVM分类模型中,得到预测的分类结果。

进一步地,所述步骤8中,手机处于不同状态下的方向检测具体方法如下:

S1:对于手机处于手持平端的状态和处于行人口袋的状态,首先对加速度值进行带通滤波,滤除重力加速度分量;再找到一步时间段内z轴加速度a

S2:对于手机处于行人右手摆臂的情况,当一步内z轴方向上的角速度大于0时,取x、y轴上的角速度峰值矢量和方向作为该步前进方向;

S3:对于手机处于行人左手摆臂的情况,当一步内z轴方向上的角速度小于0时,取x、y轴上的角速度峰值矢量和方向作为该步前进方向。

进一步地,所述步骤8中,对于手机处于行人左右手摆臂的情况,在行走过程中,行人的摆臂运动可简化分解为以下两个子运动:一为水平面上手臂末端绕肩膀点的转动,体现为绕z轴转动的角速度ω

进一步地,所述步骤8中,当手机平端在行人手上或手机放在行人贴身口袋中时,手机的运动可视为与行人躯干运动一致,行人迈出一步的过程可以划分为腿部迈动与重心转换两个阶段:在腿部迈动阶段,后腿离开地面,并逐渐向前迈出,最终脚后跟触及前方地面;由采集的加速度信息可知,从脚迈到最高点到脚后跟接触地面前一刻,人体躯干z轴方向上滤除重力后的加速度呈现由负值到正值的变化;在这个过程中,z轴方向上加速度为0对应的时刻,人体竖直向下方向上的速度达到最大,身体处于试图稳定的状态,此时身体左右摇晃最少,水平面上的加速度只由人体朝行进方向的平移运动产生,即水平面上的加速度合成方向能够准确地反映出行人的行走方向。

本发明的有益效果为:首先,通过智能手机终端上的加速度计、陀螺仪、磁力计、气压计获得行人运动数据,使用峰值检测法进行步数检测,使用非线性步长模型进行步长估计,使用加速度与角速度特征进行方向估计,并将步数检测、步长估计、方向估计三者相结合得到高精度的行人移动轨迹数据;其次,提出了一种利用支持向量机将定位时行人携带智能手机的方式区分开来的方法,可以在不同的方式下应用不同的行人移动轨迹计算模型,有效地避免了传统方法中PDR在多场景中切换使用时的较大误差。总之,该方法为一种精度较高、成本低、普适性高的室内定位方法,适合实际应用。

附图说明

图1为本发明的方法流程图;

图2为本发明具体实施例中行人持续朝北行走的三轴角速度波形图;

图3为本发明具体实施例中测试集的实际分类和预测分类图。

具体实施方式

下面对本发明的具体实施方式进行描述,便于本技术领域的技术人员理解本发明。应当指出,对于本技术领域的普通技术人员而言,在不脱离本发明原理的前提下,还可对本发明进行若干改进及修饰,这些改进与修饰也落入本发明权利要求的保护范围内。

如图1所示,本发明提出的一种基于智能手机多传感器融合和SVM分类的多场景PDR定位方法,包括以下步骤:

步骤1:通过UWB或WiFi定位的方式获取当前设备的初始位置;

步骤2:通过手机集成的加速度计、陀螺仪与气压计采集得到当前手机的加速度、角速度与气压值;

步骤3:对步骤2采集得到的数据进行低通滤波处理,滤除采样噪声;

步骤4:对经过步骤3滤波后的加速度与角速度数据进行四元数变换,将其从载体坐标系转换到世界坐标系;

步骤5:取世界坐标系下z轴加速度大小作为步数检测的依据,采取加速度峰值检测的方法,对步数进行判断;

步骤6:依据步骤5的峰值检测方法检测到一步之后,计算出一步所花的时间T,得到步频f=1/T,根据非线性步长模型计算得到步长;

步骤7:基于滤波后的加速度频域特征,采用SVM方法进行分类,区分手机处于行人口袋、手机在左手时的行人摆臂、手机在右手时的行人摆臂和平端手机这四种状态;

步骤8:对于四种不同的状态,通过检测角速度或加速度特征值计算一步内前进的方向;

步骤9:基于步骤6计算得到的步长与步骤8计算得到的方向,更新行人行走一步之后的位置;

步骤10:持续检测气压计的变化,若气压计示数出现连续下降趋势,则判断为行人上楼;若气压计示数出现连续上升趋势,则判断为行人下楼;

步骤11:完成一步的位置更新之后,持续检测步数变化;若出现新的一步,重复步骤5至步骤10;否则结束定位进程。

进一步地,所述步骤3中,低通滤波的通带截止频率为2.3Hz至3Hz,以行人的步频上限为佳。

进一步地,所述步骤4中,四元数的微分方程如下:

其中ω

通过一阶毕卡法迭代求解该微分方程,具体计算公式如下:

其中Δt代表时间微分量;

通过陀螺仪不断测得的角速度更新四元数,根据四元数方向余弦矩阵与欧拉角的关系,按照以下公式求出欧拉角:

其中φ、θ、ψ分别代表欧拉角中的翻滚角(Roll)、俯仰角(Pitch)、偏航角(Yaw),完成从载体坐标系到世界坐标系的转换。

进一步地,所述步骤5中,峰值检测步数的实现步骤如下:

S1:对世界坐标系下行人行走时的z轴加速度进行带通滤波,通带截止频率分别为0.5Hz和2.5Hz,滤除噪声与重力分量;

S2:取z轴加速度的模不小于0.5的波峰,若相邻两个波峰之间间隔不小于0.6s,则视作检测到一步。

进一步地,所述步骤6中,结合步频f、用户输入的身高h与个体特征参数c,根据非线性步长模型计算得到步长SL:

SL=[0.7+0.371×(h-1.75)+0.227×(f-1.79)×h÷1.75]×c;

其中个体特征参数c的值在0.8至1.2之间,通常取值为1。

进一步地,所述步骤7中,SVM分类的依据是行走时手机采集得到的加速度频谱特征;在有监督学习的前提下,将用户行走的加速度频谱特征用于训练分类模型,并将训练结果存储至云端,在实际使用时将用户行走的加速度频谱特征与训练结果进行匹配,实现实时的状态分类检测;SVM分类的实现步骤如下:

S0:原理说明:SVM即支持向量机,也称为最大间隔分类器,可以通过分离超平面将原始样本集划分成两部分或多部分。SVM的基本思路是找到能够正确划分训练集并且几何间隔最大的超平面,并且使得间隔最大化,即转换成凸二次规划问题。

S1:在有监督学习的情况下,对已知行人手机状态采集得到的加速度数据进行带通滤波处理,通带截止频率分别为0.5Hz和2.5Hz,滤除噪声与重力分量;

S2:通过峰值检测的方法判断步数,做出标记;

S3:对两步为一段的时域数据进行频域变换得到频域特征作为训练集合;

S4:对四种类别的数据分别附上标签:平端label=1,口袋label=2,左摆臂label=3,右摆臂label=4;

S5:对训练集合的数据进行归一化处理,映射到[0,1]之间;

S6:训练:采用镜像基函数RBF作为SVM的核函数并通过3-折交叉验证的方式找到其中最优的惩罚参数c以及RBF核参数g。参数c是在分界面简单性和分类样本之间的权衡,参数g是单个训练样本的影响大小。在3-折交叉验证的过程中可以设置参数c和g的变化范围为2^-10~2^10,步进大小设为0.5。将验证后得到的最佳参数c和g以及训练集、训练集标签代入到SVM训练函数中,得到训练模型;

S7:预测:将行人行走过程中实际采集到的加速度频谱数据,经步骤S1至S3中的滤波、分段和频域变换操作后,输入到步骤S6训练好的SVM分类模型中,得到预测的分类结果。

进一步地,所述步骤8中,手机处于不同状态下的方向检测具体方法如下:

S1:对于手机处于手持平端的状态和处于行人口袋的状态,首先对加速度值进行带通滤波,滤除重力加速度分量;再找到一步时间段内z轴(空轴)加速度a

S2:对于手机处于行人右手摆臂的情况,当一步内z轴方向上的角速度大于0时,取x、y轴上的角速度峰值矢量和方向作为该步前进方向;

S3:对于手机处于行人左手摆臂的情况,当一步内z轴方向上的角速度小于0时,取x、y轴上的角速度峰值矢量和方向作为该步前进方向。

手机处于不同状态下的方向检测具体原理如下:

S1:对于手机处于行人左右手摆臂的情况,在行走过程中,行人的摆臂运动可简化分解为以下两个子运动:一为水平面上手臂末端绕肩膀点的转动,体现为绕z轴转动的角速度ω

S2:当手机平端在行人手上或手机放在行人贴身口袋中时,手机的运动可视为与行人躯干运动一致,行人迈出一步的过程可以划分为腿部迈动与重心转换两个阶段:在腿部迈动阶段,后腿离开地面,并逐渐向前迈出,最终脚后跟触及前方地面;由采集的加速度信息可知,从脚迈到最高点到脚后跟接触地面前一刻,人体躯干z轴方向上滤除重力后的加速度呈现由负值到正值的变化;在这个过程中,z轴方向上加速度为0对应的时刻,人体竖直向下方向上的速度达到最大,身体处于试图稳定的状态,此时身体左右摇晃最少,水平面上的加速度只由人体朝行进方向的平移运动产生,即水平面上的加速度合成方向能够准确地反映出行人的行走方向。

针对一个具体场景测试SVM分类性能,测试过程与结果如下:

具体场景:在一个商场内,行人以四种不同的姿态带着手机行走,每一种姿态大约行走两分钟,手机中的传感器便可以采集到不同时刻的数据,并将数据保存下来。

操作步骤:

数据预处理:通过步数判断对两步为一段的时域加速度数据进行频域变换得到频域特征,其中75%的数据作为训练集,25%的数据作为测试集;对四种类别的数据分别附上标签:平端label=1,口袋label=2,左摆臂label=3,右摆臂label=4,可分别得到训练集标签和测试集标签;

SVM:采用镜像基函数RBF作为SVM的核函数并通过3-折交叉验证的方式找到其中最优的参数c和参数g。参数c是在分界面简单性和分类样本之间的权衡,参数g是单个训练样本的影响大小。

训练:在3-折交叉验证的过程中可以设置参数c和g的变化范围为2^-10~2^10,步进大小设为0.5。将3-折交叉验证后得到的最佳参数c=0.23和g=0.015625以及训练集、训练集标签代入到SVM训练函数中,并得到训练模型。

测试:将测试集、测试标签以及训练好的模型代入到预测函数中,可以得到测试集的测试结果,可以将测试结果与测试集标签进行比较,从而可以得到分类正确率。

如图3所示,共计64组数据中只有1个数据分类错误,分类正确率为98.4375%。

综上所述,本发明涉及定位技术领域中的一种基于智能手机多传感器融合和SVM分类的多场景PDR定位方法,该方法包括两部分的内容,一是通过智能手机终端上的加速度计、陀螺仪、磁力计、气压计测得行人的运动特征,并通过判断阈值的方法进行步数检测,通过非线性步长模型进行步长估计,通过加速度计和陀螺仪的特征进行方向估计,并将步数检测、步长估计、方向估计三者相结合得到高精度的行人移动轨迹数据;二是提出了一种利用支持向量机将定位时行人携带智能手机的方式区分开来的方法,可以在不同的方式下应用不同的行人移动轨迹计算模型,有效地避免了传统方法中PDR在多场景中切换使用时的较大误差。设计的行人移动轨迹预测算法和SVM分类算法具有较高的精度与较快的运行速度,而且仅需要一部普通的智能手机,完全不依赖外部辅助设备,从而使定位精度和定位系统鲁棒性得到明显改善。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号