一种基于行为的室内定位和地标语义标识的方法与流程

文档序号:12904177阅读:265来源:国知局
一种基于行为的室内定位和地标语义标识的方法与流程

本发明涉及基于惯性传感器的室内行人定位和地标语义标识领域,提出一种基于行为的室内定位和地标语义标识的方法。



背景技术:

基于惯性传感器的室内定位是在室内环境下首先采集rf信号,通过聚类算法将采集到的rf信号和对应指纹库进行聚类获取行人的初始位置;然后通过采集和处理加速度传感器、陀螺仪以及地磁传感器的数据来计算行人行走时的位移和航向角,结合航位推算原理,在已知上一个位置的基础上,根据行走时间段内的位移和航向角来推算出行人当前的位置。

在航向推算算法中,采集的加速度传感器数据可以通过步态识别的方法计算行人行走的步数,进而计算其位移,采集的陀螺仪和地磁传感器数据可以获取行人的航向角,其中陀螺仪数据提供短期精确的相对角变换,地磁传感器数据提供长期固定的角度变换。但是由于地磁信号非常容易受到金属物体的干扰,并且传感器自身噪声和行人身体晃动容易引起累计漂移误差,所以基于惯性传感器的室内定位在这种环境下定位精度较差。

研究人员提出过很多基于惯性传感器的室内定位和地标标识方法。对于室内定位方法中,有的只是对传感器数据进行滤波等处理,虽然一定程度上减小了漂移误差,但是没有从根本上提高定位的精度;有的方法通过蓝牙等射频信号来校正定位误差,虽然略微提高了定位精度,但是射频信号定位需要繁琐的校准工作;有的方法通过结合传感器数据和wifi信号来识别特定地标,利用地标来校正传感器漂移的累积误差,虽然大幅度提高了定位精度,但是只适用于配置电梯、自动扶梯等服务的大型场所,不适合中小型的公寓类型室内环境。



技术实现要素:

本发明的主要目的在于提出并实现一种利用传感器识别室内行人的行为模式,从而实现高精度的室内定位和地标语义标识的方法。该方法能够利用惯性传感器准确的识别室内行人的行为模式,进而探测室内地标的位置以及实现在此基础上的室内定位;该方法能够利用地标校正定位误差,有效应对环境因素的干扰和传感器自身的噪声,显著提高室内定位的精度;该方法能够迭代更新地标的位置,不断提高室内定位的精度;该方法能够利用室内行人的动作序列、地标之间相对位置关系等一系列属性对室内地标进行具有语义的标识,室内行人能够更加方便的使用室内定位服务。

一种基于行为的室内定位和地标语义标识的方法,其特征在于,包括以下步骤:

步骤1,加速度传感器、陀螺仪、方向传感器以固定频率100hz采集数据,以及以1hz的频率采集wifi信号;

步骤2,通过支持向量机学习传感器数据来识别室内行人的元动作序列,进而通过基于可能性的模糊模式识别方法识别室内人员的行为模式;

步骤3,利用wifi粗定位和航位推算原理计算室内行人的位置,这个过程不断地执行就可以不断地获得室内行人的位置信息;

步骤4,根据所识别的行为模式和室内行人的粗定位对室内地标进行位置探测;

步骤5,根据发生在地标的元动作序列属性、室内地标相对位置关系以及地标的覆盖范围对地标进行自动语义标识;

步骤6,重复步骤1-5,不断对室内地标进行探测和语义标识,逐渐完善对室内环境的扫描,直至无法探测到新的室内地标;

步骤7,对行人进行高精度室内定位;为了消除传感器漂移所带来的定位误差,利用地标来修正室内行人的位置;

步骤8,需要通过识别室内行人当前的行为模式和位置来判断室内行人此时是否处于地标旁,具体做法为室内人员当前时刻行为模式是否和周围欧氏距离为m米内的地标相匹配;若行为模式和位置可以与附近地标进行匹配,则利用地标位置修正当前时刻室内行人的位置,消除传感器的漂移问题,输出高精度带有语义的室内定位结果;若否,则使用航位推算所得到的位置作为室内行人的当前位置。

在上述的一种基于行为的室内定位和地标语义标识的方法,所述的步骤2中,识别元动作序列的具体操作方法如下:

步骤2.1,输入加速度传感器、陀螺仪和方向传感器数据;

步骤2.2,对传感器数据进行卡尔曼滤波;卡尔曼滤波首先引入一个离散控制过程的系统,使用一个线性随机微分方程描述:x(k)=ax(k-1)+bu(k)+w(k),再加上系统的测量值:z(k)=hx(k)+v(k),其中x(k)是k时刻的系统状态,u(k)是k时刻对系统的控制量,a和b是系统参数,z(k)是k时刻的测量值,h是测量系统的参数,w(k)和v(k)分别表示过程和测量的噪声;他们被假设成高斯白噪声,他们的协方差分别是q,r;1)首先利用系统的过程模型,来预测下一状态的系统;假设现在的系统状态是k,根据系统的模型,可以基于系统的上一状态而预测出现在状态:x(k|k-1)=ax(k-1|k-1)+bu(k),x(k|k-1)是利用上一状态预测的结果,x(k-1|k-1)是上一状态最优的结果,u(k)为现在状态的控制量;2)到现在为止,系统结果已经更新了,可是,对应于x(k|k-1)的协方差还没更新;p表示协方差:p(k|k-1)=ap(k-1|k-1)a’+q,p(k|k-1)是x(k|k-1)对应的协方差,p(k-1|k-1)是x(k-1|k-1)对应的协方差,a’表示a的转置矩阵,q是系统过程的协方差;3)结合预测值和测量值,我们可以得到现在状态k的最优化估算值x(k|k):x(k|k)=x(k|k-1)+kg(k)(z(k)-hx(k|k-1)),其中kg为卡尔曼增益:kg(k)=p(k|k-1)h’/(hp(k|k-1)h’+r);4)为了令卡尔曼滤波器不断的运行下去直到系统过程结束,我们还要更新k状态下x(k|k)的协方差:p(k|k)=(i-kg(k)h)p(k|k-1),其中i为1的矩阵,对于单模型单测量,i=1;当系统进入k+1状态时,p(k|k)就是p(k-1|k-1);这样,算法就可以自回归的运算下去;

步骤2.3,数据归一化使用z-score归一化方法,利用卡尔曼滤波后的数据的均值和标准差进行数据归一化:x*=(x-μ)/σ,式中x表示需要进行归一化的数据,μ表示样本均值,σ表示样本标准差;

步骤2.4,用滑动窗口机制对预处理后的数据提取特征,根据采样频率设置滑动窗口大小为100,窗口重叠率设置为50%;

步骤2.5,滑动窗口每次向后移动0.5个窗口大小;

步骤2.6,判断滑动窗口是否到达数据末尾,如果到达则元动作序列识别工作流程结束并输出元动作序列,否则对滑动窗口内数据进行特征提取;动作序列识别使用三个传感器,每个传感器有三个轴,对每个轴提取12个标准统计学特征,包括:均值、最大值、最小值、方差、标准偏差、峰度、信号幅度面积、正值之和、负值之和、均方根、波峰及波谷的数量,共9×12=108个特征,此外同一传感器任意两轴之间的轴相关系数也作为特征,共9个特征,因此一个滑动窗口内共有117个特征,将这117个特征组成一个特征向量,以便svm进行识别;

步骤2.7,将特征向量输入到已训练好的svm分类器中进行学习,svm分类器核函数选择径向基核函数,输出为元动作;在输出元动作后,转到步骤2.5继续对数据进行识别。

在上述的一种基于行为的室内定位和地标语义标识的方法,所述的步骤2中,对行为模式定义如下:

1)标准行为模式,即根据室内行人的动作序列特点来定义标准的动作序列;

2)每个标准行为模式中的元动作均具有前驱动作和后继动作,排列在某元动作之前的动作称为该动作的前驱动作,排列在之后的动作称为该动作的后继动作;

3)每个元动作均具有隶属度μpj(a)和权重ωi两个属性,隶属度的计算公式为:μpj(a)=(pa+qa)/(n-1),其中pa表示元动作a在标准行为模式中前驱动作数,qa表示后继动作数,n为该标准行为模式所含元动作数量;

4)每个标准行为模式中元动作权重ωi需要定义,例如使用抽水马桶或椅子等物体的行为模式中大幅转身和坐下两个元动作的权重较高,其他权重较低,权重之和为1;4)行为模式x的可能性σ的计算公式为:

对元动作序列的行为模式识别过程如下:步骤3.1、若元动作序列x中的一动作a仅出现在一个待识行为模式xj(j∈n)中,则该动作归属于此待识行为模式xj(j∈n);

步骤3.2、若该动作a出现在两个以上待识行为模式xj(j∈n)中,则首先判断xj(j∈n)是否己经完成分割;当各xj(j∈n)己完成分割时,进行第3步,否则等待元动作序列中新的动作加入后,仍从第1步开始进行判断;

步骤3.3、对于己完成分割的且包含动作a的各待识行为模式xj(j∈n),根据可能性σ的计算公式来计算σ(xj);

步骤3.4、若在己完成分割的且包含动作a的各待识行为模式xj(j∈n)中,有σ(xi)=max[σ(xj)]且σ(xi)>λ,则将动作a归属于待识行为模式xi,同时将动作a从其它待识行为模式xj(j∈n,j≠i)中删除;这里λ取值0.8;

步骤3.5、当一个元动作序列中的所有元动作均经过上述1~4步处理后,该序列中的各动作便唯一地归属于此待识行为模式xi;因此,该行为模式即是元动作序列中对应动作所构成的一个识别结果。

在上述的一种基于行为的室内定位和地标语义标识的方法,所述的步骤4中,室内地标位置探测的具体操作方法如下:

步骤4.1,输入室内行人的行为模式,通过矩阵m存储已识别的室内人员行为模式,矩阵元素<i,j>表示室内行人i在时间j所进行的行为模式;

步骤4.2,将矩阵m中相同的行为模式归为一类,即确认进行相同行为模式的室内行人p={p1,p2,…pn}以及对应时间t={t1,t2,…tn};

步骤4.3,利用wifi粗定位和航位推算原理计算室内行人集合p在对应时间t的室内位置l={l1,l2,…ln};若存在已知地标,可以利用已知地标修正位置信息;

步骤4.4,判断室内位置l中是否有5个以上位置处于一个面积小于4m2的小区域中;若存在5个以上位置处于一个面积小于4m2的小区域中,则取这些位置的平均值作为该地标的位置,并触发室内地标位置的迭代更新工作流程;若无,则结束本次地标位置探测,继续采集传感器数据和wifi信号以便下次地标位置探测;

步骤4.5,利用航位推算算法从历史数据中提取任意两个相连地标之间的距离,可知两个地标间可能存在多组距离;计算任意两个地标之间距离的方差,判断某一地标与其他相连地标之间的距离方差是否均超过阈值0.7;如果均超过阈值0.7,则说明该地标为范围性区域,将其特殊标记,不用于室内高精度定位;反之,则说明该地标不是范围性区域,可用于室内定位。

在上述的一种基于行为的室内定位和地标语义标识的方法,所述的步骤4.4中,室内地标位置的迭代更新的具体操作方法如下:

步骤4.4.1,利用邻接矩阵g表示地标之间的距离均值,元素<gi,gj>表示地标i和地标j之间的平均距离;利用集合{pi,oi}表示地标,pi表示地标i的坐标,oi表示地标i对应的行为模式;

步骤4.4.2,根据地标集合中已知地标的位置和行为模式信息来比较探测到的地标的位置和行为模式;

步骤4.4.3,判断是否存在已知地标和探测到的地标处于同一个4m2的小区域内;若不存在已知地标和探测到的地标处于同一个4m2的小区域内,则视为未探测过的地标,将该地标加入到地标集合中,根据历史数据计算新地标到其他可达地标的平均距离并更新邻接矩阵g;

步骤4.4.4,若存在已知地标和探测到的地标处于同一个4m2的小区域内,记录已知地标的个数为k,判断已知地标和探测地标的行为模式是否相同;若行为模式相同,则将探测地标视为已知地标,利用探测数据中的位置和历史数据中的位置取平均值来更新该地标的位置,并更新邻接矩阵;

步骤4.4.5,若行为模式不同,暂时不对该探测地标进行处理,对接下来12小时内发生在该区域的数据进行分析,判断是否出现k+1种行为模式;若出现k+1种行为模式,则该地标为未探测过的地标,将该地标加入到地标集合中,根据历史数据计算新地标到其他可达地标的平均距离并更新邻接矩阵g;反之,则将该地标视为已知地标,利用探测数据中的位置和历史数据中的位置取平均值来更新该地标的位置,并更新邻接矩阵;

6.根据权利要求1所述的一种基于行为的室内定位和地标语义标识的方法,其特征在于,所述的步骤5中,进行地标语义标识的具体操作方法如下:

步骤5.1,输入地标集合{pi,oi}和表示地标之间距离的邻接矩阵g,pi表示地标i的坐标,oi表示地标i对应的行为模式;

步骤5.2,通过分析大量数据来定义不同类型的室内地标的属性,属性包括元动作序列的发生时间、元动作序列中元动作的持续时间、相对位置关系以及是否为范围性区域;

步骤5.3,获取当前地标的属性;

步骤5.4,根据已定义的地标属性匹配当前地标是否可以进行语义标识;若可以进行语义标识,则根据定义和当前地标的元动作序列属性、相对位置关系以及是否为范围性区域的匹配结果对其进行语义标识;若不可以,则结束地标语义标识工作。

本发明具有以下创新点:1、传统的室内定位技术中,一般采用采用无线信号位置指纹定位,或者采用基于无线信号衰减距离模型定位方法,这些方法不但定位难度大,定位精度低,并且无法对无线信号无法覆盖的地方进行定位。本发明采用基于室内人员行为的室内定位方法,利用传感器识别室内人员的行为模式,进而识别地标并利用地标修正传感器的漂移问题。这是一种全覆盖且连续的室内定位技术,定位精度高,持续稳定且自动更新。2、本发明根据室内对象的使用特点定义行为模式,识别的地标密度较大,传统的室内定位系统仅适用于配置电梯、自动扶梯等服务的大型室内环境,例如商场等环境下,对小型室内环境无法进行精确定位,而本发明适用于公寓级别的室内环境,能够实现更加精确的定位精度。3、本发明根据室内人员的动作序列属性、地标之间相对位置关系以及地标的覆盖范围对地标进行自动语义标识,无需手动标识,节省了大量时间且提高了室内行人使用定位功能时的用户体验。4、本发明提出的办法简单易实现,不需要任何的额外定位设备,而且有很强的健壮性和可靠性。

附图说明

图1为本发明基于行为的室内定位和地标语义标识的整体工作流程。

图2为本发明元动作序列识别工作流程。

图3为本发明行为模式识别原理示意图。

图4为本发明室内地标位置的探测工作流程。

图5为本发明wifi粗定位和航位推算的原理示意图。

图6为本发明室内地标位置的迭代更新工作流程。

图7为本发明地标语义标识的工作流程。

具体实施方式

本发明提出的基于行为的室内定位和地标语义标识是一个高精度的、稳定的室内定位和语义标识方案。图1显示了室内定位和地标语义标识的整体工作流程,图2显示了元动作序列识别工作流程,图3显示了行为模式识别原理示意图,图4显示了室内地标位置探测工作流程,图5显示了wifi粗定位和航位推算的原理示意图,图6显示了室内地标位置的迭代更新工作流程,图7显示了地标语义标识的工作流程。

为了使本发明的目的、技术方案以及有益效果更加清楚明确,下面结合附图,对本发明进行详细说明。

一、首先介绍下本发明的大致方法步骤。

a、室内人员行为模式的识别方法:首先本发明根据室内人员的动作和室内对象的使用特点定义了室内人员的元动作类型和行为模式,其中元动作指弯腰、行走、坐下、起立等基本动作,行为模式指由特定元动作序列组成的高层次事件,例如坐在凳子上和使用抽水马桶属于同一种行为模式。;然后对采集的传感器数据进行预处理,采用滑动窗口机制对处理后的传感器数据进行特征提取,通过支持向量机(supportvectormachine,svm)对特征向量进行学习,识别元动作序列;最后通过基于可能性的模糊模式识别方法对元动作序列进行识别,识别为行为模式。

b、室内地标位置的探测方法:根据不同室内人员在不同时间的行为模式来统计进行相同行为模式的室内人员,然后根据wifi信号和航位推算对这些室内人员进行大致定位,在定位过程中若有已知室内地标,则可以根据已知地标修正室内人员的室内定位结果;若进行相同行为模式的室内人员的室内定位均在一个小区域中,且该区域的面积小于4m2,则确定该区域中心位置为地标。在室内地标探测完毕后,根据航位推算算法计算地标之间的相对距离,根据相对距离来确定地标是否表示范围性区域,如沙发等,若是,则从地标集合中特殊标记该地标,并只对室内行人进行粗略定位,不用于精确定位。

c、室内地标位置的迭代更新方法:首先使用一个连通图邻接矩阵表示各个已探测地标之间的距离均值,然后根据探测到的地标对应的行为模式和位置来确定其是否为一个未探测过的地标,若位置与已知地标不同,则视为未探测过的地标,将其加入到地标集合中并初始化邻接矩阵;若位置和行为模式与已知地标均相同,则视为已知地标,将其作为新的位置数据来更新地标的位置,并更新邻接矩阵;若位置与已知地标相同但行为模式不同,则根据历史数据选择性对邻接矩阵和地标集合进行更新。

d、地标语义标识的方法:根据室内地标的属性对地标进行语义标识。属性包括发生在该地标处元动作序列的时间、元动作序列中元动作的持续时间、该地标与其他地标之间的相对位置关系以及该地标是否为范围性区域。

步骤a中,本发明根据室内人员的日常动作将元动作分为12类,分别是快速行走(1.5m/s-2m/s),正常行走(1m/s-1.5m/s),坐下,蹲下,起立,停止,90°弯腰,30°前倾,小幅后仰(0-45°),大幅后仰(45-90°),大幅转身(90°-270°),小幅转身(-90°-90°)。首先利用智能手机内置加速度传感器、陀螺仪和方向传感器以固定频率收集数据,并以精确到毫秒的时间戳进行标记;然后利用卡尔曼滤波算法对传感器数据进行降噪处理,另外由于个体差异性导致传感器数据差异较大,因此在降噪之后要对数据进行归一化处理;然后采用滑动窗口机制对数据集进行特征提取,滑动窗口大小根据采样频率设置,窗口重叠率设置为50%,对于每个传感器的每个坐标轴均提取12个特征,分别是均值、最大值、最小值、方差、标准偏差、峰度、信号幅度面积、正值之和、负值之和、均方根、波峰及波谷的数量,此外同一传感器任意两轴之间的轴相关系数也作为特征;将每个滑动窗口的以上特征组成特征向量作为svm分类器的输入,随着滑动窗口的滑动最终输出为元动作序列(a1a2a3…an),利用svm分类器识别元动作序列中需要设置svm分类器的核函数类型以及其损失函数的参数。根据基于可能性的模糊模式识别算法将svm分类器识别的元动作序列识别行为模式,首先定义各种标准行为模式,然后根据标准行为模式对元动作序列中的元动作ai进行分割,每个元动作ai都具有隶属度μpj(ai)和权重ωi,若元动作ai仅出现在一种标准行为模式中,则将其归为该行为模式,否则归为多种行为模式中;根据每个已完成分割的待识行为模式中每个元动作的隶属度和权重乘积之和来计算该行为模式的可能性σ,从中选择可能性最大的行为模式作为识别结果,并将该行为模式中出现的所有元动作从元动作序列中删除,以便接下来的行为模式识别。在基于可能性的模糊模式识别算法中,需要定义标准行为模式以及设置每个标准模式中每个元动作的权重,使每个标准模式的元动作权重之和为1;元动作的隶属度的计算与该元动作在标准行为模式中的前驱动作数、后继动作数以及对应标准行为模式的元动作个数相关,这里前驱动作指在标准模式中排列在该动作之前的元动作,排列在该作动之后的元动作成为其后继动作。至此室内人员的行为模式识别模型建立完成。

步骤b中,通过矩阵m来存已识别的室内人员行为模式,矩阵元素<i,j>表示室内行人i在时间j所进行的行为模式。将矩阵m中相同的行为模式归为一类,从中可以得知进行相同行为模式的室内行人以及对应时间;然后通过wifi信号确定室内人员的初始位置,其中wifi包含mac地址和rssi,利用航位推算算法确定其轨迹,对该过程中获得的位置信息进行分析,若进行相同行为模式的室内行人在对应时间在一个面积小于4m2的小区域中,则将该区域中心作为地标的位置。在室内地标位置的探测方法中,区域的中心为该区域所有室内行人位置的平均值。根据上述过程探测室内所有地标后,利用航位推算算法对历史数据进行计算,得到地标之间的相对距离;根据历史数据可知两个地标之间可能存在多组距离,计算这两个地标之间距离的方差,若某一地标与其他相连地标之间的距离方差均超过阈值,则判断该地标为范围性区域,将其特殊标记,大幅提高了定位的精度。根据大量实验得到方差所比较的阈值为0.7。

步骤c中,首先使用一个邻接矩阵g表示地标之间的距离均值,元素<gi,gj>表示地标i和地标j之间的平均距离。然后用集合{pi,oi}表示地标,pi表示地标i的坐标,oi表示地标i对应的行为模式。根据地标集合比较识别的行为模式和其发生的位置,来确定是否为一个未探测过的地标,分为三种情况:1)行为模式发生的位置和已知地标不在一个4m2的小区域,则视为未探测过的地标,将识别的行为模式和对应的位置加入到地标集合,根据历史数据计算新的地标到其他可达地标的平均距离并更新邻接矩阵g;2)探测的地标的位置与已知地标处于同一小区域,且行为模式也相同,则视为已知地标,利用探测数据中的位置和历史数据中的位置取平均值来更新该地标的位置,并更新邻接矩阵中该地标与其他地标的相对距离;3)探测的地标的位置与已知地标处于同一小区域,但行为模式不同,在这种情况下暂时不对该地标做出处理,对接下来的发生在该地标的数据进行分析,若两种行为模式均出现,则该区域存在两个地标,若只出现一种行为模式,则该区域仅存在一个地标,最后对地标集合和邻接矩阵进行更新。

步骤d中,由于元动作序列反映了室内行人的动作模式,具有一定语义,因此本发明根据发生在地标的元动作序列对地标进行语义标识,增强室内行人使用定位的体验效果,这里元动作序列包括发生在地标的元动作序列的发生时间、元动作序列中元动作的持续时间;另外在中小型室内环境中地标之间的位置往往具有一定关系,例如马桶和洗手池之间的距离一般小于5米,所以本发明也根据地标之间的位置关系对地标进行语义标识,不同类型地标之间的距离关系设置均不同;最后室内地标的覆盖范围也作为地标语义标识的一个方面,即点状地标或范围性地标,。

二、下面结合附图对本发明的发明进行详细阐述。

图1显示了本发明中基于行为的室内定位和地标语义标识的整体工作流程。该发明包括以下步骤:

步骤101:系统开始工作后,首先从加速度传感器、陀螺仪、方向传感器以固定频率100hz采集数据,以及以1hz的频率采集wifi信号。

步骤102:然后用图2所示的元动作序列识别流程和图3所示的行为模式识别原理来识别室内人员的行为模式。

步骤103:利用图5所示的wifi粗定位和航位推算原理计算室内行人的位置,这个过程不断地执行就可以不断地获得室内行人的位置信息。

步骤104:根据所识别的行为模式和室内行人的粗定位对室内地标进行位置探测,具体的室内地标位置探测工作流程如图4所示。

步骤105:根据发生在地标的元动作序列属性、室内地标相对位置关系以及地标的覆盖范围对地标进行自动语义标识。具体的地标语义标识工作流程图如图7所示。

步骤101-105循环执行,不断对室内地标进行探测和语义标识,逐渐完善对室内环境的扫描。

步骤106:在地标探测工作和地标语义标识工作的不断完善后,对行人进行高精度室内定位。为了消除传感器漂移所带来的定位误差,本发明利用地标来修正室内行人的位置。

步骤107:需要通过识别室内行人当前的的行为模式和位置来判断室内行人此时是否处于地标旁,具体做法为室内人员当前时刻行为模式是否和周围欧氏距离为2米范围内的地标相匹配,若否,则结束;

步骤108:行为模式和位置可以与附近地标进行匹配,则利用地标位置修正当前时刻室内行人的位置,消除传感器的漂移问题,输出高精度带有语义的室内定位结果。

图2为元动作序列识别工作流程,在数据采集完毕后,可以通过本流程识别出室内行人的元动作序列。本发明根据室内人员的日常动作将元动作分为12类,分别是快速行走(1.5m/s-2m/s),正常行走(1m/s-1.5m/s),坐下,蹲下,起立,停止,90°弯腰,30°前倾,小幅后仰(0-45°),大幅后仰(45-90°),大幅转身(90°-270°),小幅转身(-90°-90°)。以下是各个步骤的详细说明。

步骤201:输入加速度传感器、陀螺仪和方向传感器数据。

步骤202:对传感器数据进行卡尔曼滤波。卡尔曼滤波首先引入一个离散控制过程的系统,使用一个线性随机微分方程描述:x(k)=ax(k-1)+bu(k)+w(k),再加上系统的测量值:z(k)=hx(k)+v(k),其中x(k)是k时刻的系统状态,u(k)是k时刻对系统的控制量,a和b是系统参数,z(k)是k时刻的测量值,h是测量系统的参数,w(k)和v(k)分别表示过程和测量的噪声。他们被假设成高斯白噪声,他们的协方差分别是q,r。1)首先利用系统的过程模型,来预测下一状态的系统。假设现在的系统状态是k,根据系统的模型,可以基于系统的上一状态而预测出现在状态:x(k|k-1)=ax(k-1|k-1)+bu(k),x(k|k-1)是利用上一状态预测的结果,x(k-1|k-1)是上一状态最优的结果,u(k)为现在状态的控制量。2)到现在为止,系统结果已经更新了,可是,对应于x(k|k-1)的协方差还没更新。p表示协方差:p(k|k-1)=ap(k-1|k-1)a’+q,p(k|k-1)是x(k|k-1)对应的协方差,p(k-1|k-1)是x(k-1|k-1)对应的协方差,a’表示a的转置矩阵,q是系统过程的协方差。3)结合预测值和测量值,我们可以得到现在状态k的最优化估算值x(k|k):x(k|k)=x(k|k-1)+kg(k)(z(k)-hx(k|k-1)),其中kg为卡尔曼增益:kg(k)=p(k|k-1)h’/(hp(k|k-1)h’+r)。4)为了令卡尔曼滤波器不断的运行下去直到系统过程结束,我们还要更新k状态下x(k|k)的协方差:p(k|k)=(i-kg(k)h)p(k|k-1),其中i为1的矩阵,对于单模型单测量,i=1。当系统进入k+1状态时,p(k|k)就是p(k-1|k-1)。这样,算法就可以自回归的运算下去。

步骤203:数据归一化使用z-score归一化方法,利用卡尔曼滤波后的数据的均值和标准差进行数据归一化:x*=(x-μ)/σ,式中x表示需要进行归一化的数据,μ表示样本均值,σ表示样本标准差。

步骤204:用滑动窗口机制对预处理后的数据提取特征,根据采样频率设置滑动窗口大小为100,窗口重叠率设置为50%。

步骤205:滑动窗口每次向后移动0.5个窗口大小。

步骤206:判断滑动窗口是否到达数据末尾,如果到达则元动作序列识别工作流程结束并输出元动作序列,否则进入步骤207。

步骤207:动作序列识别使用三个传感器,每个传感器有三个轴,对每个轴提取12个标准统计学特征,包括:均值、最大值、最小值、方差、标准偏差、峰度、信号幅度面积、正值之和、负值之和、均方根、波峰及波谷的数量,共9×12=108个特征,此外同一传感器任意两轴之间的轴相关系数也作为特征,共9个特征,因此一个滑动窗口内共有117个特征,将这117个特征组成一个特征向量,以便svm进行识别。

步骤208:将特征向量输入到已训练好的svm分类器中进行学习,svm分类器核函数选择径向基核函数,输出为元动作。在输出元动作后,转到步骤205继续对数据进行识别。

图3为行为模式识别原理示意图,对图2所示工作流程所得的元动作序列进行分割并识别为行为模式。在进行识别之前需要进行定义,1)首先需要定义标准行为模式,即根据室内行人的动作序列特点来定义标准的动作序列,如图3中定义了三个标准行为模式:ωa=abcde,ωb=adec,ωc=acefd。2)然后每个标准行为模式中的元动作均具有前驱动作和后继动作,排列在某元动作之前的动作称为该动作的前驱动作,排列在之后的动作称为该动作的后继动作,例如标准行为模式a中,元动作c的前驱动作为ab,后继动作为de。3)每个元动作均具有隶属度μpj(a)和权重ωi两个属性,隶属度的计算公式为:μpj(a)=(pa+qa)/(n-1),其中pa表示元动作a在标准行为模式中前驱动作数,qa表示后继动作数,n为该标准行为模式所含元动作数量;每个标准行为模式中元动作权重需要定义,例如使用抽水马桶或椅子等物体的行为模式中大幅转身和坐下两个元动作的权重较高,其他权重较低,但是权重之和为1,图3中三个行为模式中各个元动作的权重相等。4)行为模式x的可能性σ的计算公式为:

以图3为例,图中元动作上方为该元动作对应的隶属度,σ(xi)为该待识行为模式的可能性,对元动作序列abcfdegadhec的行为模式识别过程如下:

1.若元动作序列x中的一动作a仅出现在一个待识行为模式xj(j∈n)中,则该动作归属于此待识行为模式xj(j∈n)。

2.若该动作a出现在两个以上待识行为模式xj(j∈n)中,则首先判断xj(j∈n)是否己经完成分割。当各xj(j∈n)己完成分割时,进行第3步,否则等待元动作序列中新的动作加入后,仍从第1步开始进行判断。

3.对于己完成分割的且包含动作a的各待识行为模式xj(j∈n),根据可能性σ的计算公式来计算σ(xj)。

4.若在己完成分割的且包含动作a的各待识行为模式xj(j∈n)中,有σ(xi)=max[σ(xj)]且σ(xi)>λ,则将动作a归属于待识行为模式xi,同时将动作a从其它待识行为模式xj(j∈n,j≠i)中删除。这里λ取值0.8。

5.当一个元动作序列中的所有元动作均经过上述1~4步处理后,该序列中的各动作便唯一地归属于此待识行为模式xi。因此,该行为模式即是元动作序列中对应动作所构成的一个识别结果。

图4为室内地标位置的探测工作流程,在识别室内人员的行为模式之后,根据室内行人的行为模式和对应位置来探测室内地标的位置,并特殊标记范围性区域的地标。室内地标位置的探测是持续不断的进行。具体步骤如下:

步骤401:输入室内行人的行为模式,通过矩阵m存储已识别的室内人员行为模式,矩阵元素<i,j>表示室内行人i在时间j所进行的行为模式。

步骤402:对矩阵m中相同的行为模式归为一类,即确认进行相同行为模式的室内行人p={p1,p2,…pn}以及对应时间t={t1,t2,…tn}。

步骤403:利用图5所示的wifi粗定位和航位推算原理计算室内行人集合p在对应时间t的室内位置l={l1,l2,…ln}。若存在已知地标,可以利用已知地标修正位置信息。

步骤404:判断室内位置l中是否有5个以上位置处于一个面积小于4m2的小区域中,若无,则结束本次地标位置探测,继续采集传感器数据和wifi信号以便下次地标位置探测。

步骤405:若存在5个以上位置处于一个面积小于4m2的小区域中,则取这些位置的平均值作为该地标的位置,并触发图6所示的室内地标位置的迭代更新工作流程。

步骤406:利用航位推算算法从历史数据中提取任意两个相连地标之间的距离,可知两个地标间可能存在多组距离。计算任意两个地标之间距离的方差,判断某一地标与其他相连地标之间的距离方差是否均超过阈值0.7。

步骤407:如果均超过阈值0.7,则说明该地标为范围性区域,将其特殊标记,不用于室内高精度定位。

步骤408:反之,则说明该地标不是范围性区域,可用于室内定位。

图5为wifi粗定位和航位推算的原理示意图,wifi粗定位的作用是对室内行人进行初始位置的定位,利用k-means聚类方法将当前wifi指纹与指纹库进行聚类,得到初始位置;再利用航位推算获取接下来室内行人的位置信息,图中sl是行人的步长,行人的步长可以通过估算法得到;sc是行人行走的步数。步数是根据加速度传感器获取的z轴加速值计算得到。由于行人正常行走一步的过程中,z轴加速度值的曲线是一个正弦波,所以可以通过检测z轴加速度正弦波的个数来统计行人的步数。(x,y)是通过wifi粗定位获取的行人的初始坐标,(x*,y*)是行人的下个位置的坐标。h是行人行走的方位角,该方位角可以通过方向传感器获取,获取到的方位角是行人行进的方向与地磁北极的夹角。如果初始坐标已知,而行人的步长、步数、方位角可以通过传感器数据计算得到,那么行人的位置可通过图中的公式计算得到。行人的位置信息可以通过连续不断的航位推算获得。

图6为室内地标位置的迭代更新工作流程,在探测到室内地标的位置后,触发室内地标位置的迭代更新,根据探测的地标位置和行为模式的不同对其进行不同的更新。具体步骤如下:

步骤601:利用邻接矩阵g表示地标之间的距离均值,元素<gi,gj>表示地标i和地标j之间的平均距离。利用用集合{pi,oi}表示地标,pi表示地标i的坐标,oi表示地标i对应的行为模式。

步骤602:根据地标集合比较探测到的地标的位置和行为模式。

步骤603:是否存在已知地标和探测到的地标处于同一个4m2的小区域内。

步骤604:不存在已知地标和探测到的地标处于同一个4m2的小区域内,则视为未探测过的地标,将该地标加入到地标集合中,根据历史数据计算新地标到其他可达地标的平均距离并更新邻接矩阵g。

步骤605:存在已知地标和探测到的地标处于同一个4m2的小区域内,记录已知地标的个数为k,判断已知地标和探测地标的行为模式是否相同。

步骤606:行为模式相同,则将探测地标视为已知地标,利用探测数据中的位置和历史数据中的位置取平均值来更新该地标的位置,并更新邻接矩阵。

步骤607:行为模式不同,暂时不对该探测地标进行处理,对接下来12小时内发生在该区域的数据进行分析,判断是否出现k+1种行为模式。

步骤608:出现k+1种行为模式,则该地标为未探测过的地标,将该地标加入到地标集合中,根据历史数据计算新地标到其他可达地标的平均距离并更新邻接矩阵g。

步骤609:反之,则将该地标视为已知地标,利用探测数据中的位置和历史数据中的位置取平均值来更新该地标的位置,并更新邻接矩阵。

图7为地标语义标识的工作流程,在室内地标探测结束后,根据地标是否为范围性区域、室内行人的元动作序列以及室内地标的相对位置关系对元动作序列所发生的地标进行语义标识。具体步骤如下:

步骤701:输入地标集合{pi,oi}和表示地标之间距离的邻接矩阵g,pi表示地标i的坐标,oi表示地标i对应的行为模式。

步骤702:通过分析大量数据来定义不同类型的室内地标的属性,属性包括元动作序列的发生时间、元动作序列中元动作的持续时间、相对位置关系以及是否为范围性区域。

步骤703:获取当前地标的属性。

步骤704:根据已定义的地标属性匹配当前地标是否可以进行语义标识,若不可以,则结束地标语义标识工作流程。

步骤705:可以进行语义标识,则根据定义和当前地标的元动作序列属性、相对位置关系以及是否为范围性区域的匹配结果对其进行语义标识。

以上所述的具体实施例对本发明的目的、技术方案以及有益效果进行了详细的说明。所应理解的是,上述内容仅为本发明的具体实施例而已,并不用于限制本发明。凡在本发明的精神与原则之内,所做的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1