一种采用众包方式的基于手机传感器的室内平面图构建方法与流程

文档序号:12273813阅读:304来源:国知局
一种采用众包方式的基于手机传感器的室内平面图构建方法与流程

本发明涉及行人航位推算技术和室内地图构建技术,尤其涉及一种通过智能手机传感器以众包方式采集大量行人行走轨迹信息,自动构建室内平面图的方法。



背景技术:

随着定位和导航技术的发展,各种基于位置的服务对地图的需求越来越大。室外地图的构建和绘制经过多年的发展已拥有一套成熟的方法,由专业测绘人员通过专业设备采集数据,再通过专业地理软件处理并绘制地图。但是室内地图的构建和绘制一直是迄待解决的问题,也是阻碍基于位置的服务在室内获得广泛应用的主要因素之一。目前室内地图的构建主要是由测绘人员测量室内数据并绘制地图或者基于建筑设计结构图绘制平面图。这些方法尽管能够进行部分楼宇的地图创建和绘制,但是由于高成本及私密性等原因,多数室内环境无法采用专业方法进行地图绘制,而建筑设计结构图也往往由于各种原因无法获得,从而导致大量室内环境无可用地图,室内定位与导航也无法实施。

近年来,随着手机传感技术的发展,加速度计、磁力计、气压计等传感器已成为智能手机的标配,极大促进了基于智能手机的行人活动识别和行人航位推算技术以及室内导航技术的发展。通过对智能手机传感器数据的采集和处理可以获得行人当前活动状态以及行动轨迹,根据大量普通用户在室内的行动轨迹,结合复杂数据分析算法,就可以获得室内区域的房间和走廊结构,从而自动构建出室内平面图,以利用基于位置的服务在室内的广泛应用。



技术实现要素:

本发明提出一种新的普遍适用的采用众包方式的基于智能手机传感器的室内平面图自动构建方法。该方法包括如下步骤:

A.由于采用众包方式进行室内平面图构建,因此需要大量用户参与。参与用户随身携带智能手机,智能手机集成加速度计、磁力计、气压计、卫星导航系统接收器以及WiFi适配器。智能手机及各传感器处于开启状态,并后台运行数据采集处理软件。

B.采用众包方式进行数据采集并产生大量用户行走轨迹。本步骤在用户智能手机端执行,需要大量用户参与,每个用户智能手机端执行以下步骤:

B1.智能手机中的卫星导航系统接收器实时监测卫星信号,当从接收到卫星信号变为接收不到卫星信号时,该位置作为建筑入口和轨迹起始点,进入B2步骤;

B2.实时采集智能手机中各传感器数据:通过加速度计采集加速度数据;通过磁力计采集磁场强度数据;通过气压计采集气压数据;对采集到的数据进行平滑降噪处理;

B3.根据加速度数据,判断用户是否处于行走状态,如果是,则执行B4步骤;

B4.根据加速度数据识别出行走中的每一步并估算步长;根据磁场强度数据结合加速度数据计算行走方向;根据前一步位置,结合当前步长和行走方向得到新的位置;采集当前位置的WiFi AP列表及信号强度;把每一步位置当成一个轨迹点,连接所有轨迹点构成行人该段时间的行走轨迹;

B5.根据气压数据计算得到海拔高度数据,根据海拔高度数据和加速度数据进行行人活动识别,确定用户是否通过楼梯、直梯或者扶梯进行上楼或下楼;如果是,则将该位置标记在行走轨迹中,并作为新的楼层和新的轨迹起始点;

B6.判断行走轨迹中的每个轨迹点是否为转向点(左转、右转、后转),如果是转向点,则在该点对行走轨迹进行分割,得到一系列轨迹线段;

B7.将所有行走轨迹数据发送到中央服务器进行处理;

C.行走轨迹聚类及平面图自动构建,本步骤在中央服务器执行,包括以下步骤:

C1.接收来自大量用户智能手机的大量行走轨迹线段;

C2.根据每个转向点位置前后的WiFi信号变化,确定该转向点是否为房间门口;连续两个房间门口之间的轨迹线段属于房间类型轨迹线段,其它的则属于走廊类型的轨迹线段;

C3.使用聚类算法对房间类型的轨迹线段和走廊类型的轨迹线段分别进行聚类,一个类为一个区域;

C4.如果区域为房间类型,则提取其中的轨迹线段包含的所有轨迹点,利用α-shape方法确定房间形状和大小;

C5.如果区域为走廊类型,则利用主成分分析法确定数据变化的主方向和次方向,从而确定走廊的长和宽;

C6.根据确定的房间和走廊的位置、形状和大小绘制室内各层平面图,同时将确定的直梯、扶梯和楼梯的位置在图中进行标记。

本发明的有益效果是能够在仅使用智能手机和普通用户非主动参与的情况下采集手机传感器数据并进行处理,自动构建近似的各楼层室内平面图。和现有技术相比,本发明根据海拔高度数据和加速度数据进行行人活动识别,确定用户是否通过楼梯、直梯或者扶梯进行上楼或下楼,从而能够进行多楼层的室内平面图构建;本发明根据行人轨迹中转向点位置前后的WiFi信号变化结合聚类算法,确定房间门口的位置,从而构建出较准确的房间位置及大小;采用主成分分析法,本发明能够确定走廊的长度和宽度。该方法无需借助专业人员和专用设备,能够解决大规模室内平面图构建难以及需要专业人员参与且成本高的问题,有利于室内基于位置的服务的广泛应用。

附图说明

图1是系统实施图

图2是行人上下楼识别算法

图3(a)是根据WiFi信号变化确定的可能的房间门口位置点

图3(b)是根据WiFi信号变化并通过聚类算法确定的房间门口位置点

图4(a)是利用主成分分析法获得的走廊长度

图4(b)是利用主成分分析法获得的走廊宽度

具体实施方式

本方法采用众包方式进行室内平面图的自动构建,需要大量普通用户参与。每个参与用户随身携带智能手机,智能手机集成加速度计、磁力计、气压计、卫星导航系统接收器以及WiFi适配器。加速度计能够实时测量手机的三轴加速度,磁力计能够实时测量手机所在位置的三轴磁场强度,气压计能够测量手机所处位置的气压值从而计算出海拔高度,卫星导航系统(GPS或者北斗)接收器能够接收导航卫星的信号并获得当前地理位置坐标,WiFi适配器可以测得所处环境中的WiFi接入器及其信号强度。用户参与过程中,智能手机及各传感器处于开启状态,后台运行数据采集处理软件,采集处理后的数据发送到服务器端进行集中处理和地图构建。图1显示了该采用众包方式的基于手机传感器的室内平面图自动构建方法的基本过程。

步骤1:智能手机中的卫星导航系统接收器实时监测卫星信号,当从接收到卫星信号变为接收不到卫星信号时,即卫星信号丢失,则表明此时由室外进入室内,将该位置作为建筑入口和轨迹起始点,进入步骤2;

步骤2:实时采集智能手机中各传感器数据。通过加速度计采集三轴加速度数据,采样频率为50Hz,即20ms一次;通过磁力计采集磁场强度数据,采样频率为50Hz,即20ms一次;通过气压计采集气压数据,采样频率为5Hz,即200ms一次。由于手机内置传感器本身的非精确性、人行走中身体晃动对传感器数据的干扰、以及周围环境的影响,采集到的传感器数据具有一定噪声,一次采用简单移动平均算法(Simple Moving Average,SMA)对数据进行平滑处理以降低噪声干扰;

步骤3:根据采集到的加速度数据,判断用户是否处于行走状态,如果加速度值高于预定行走阈值,则确定人处于行走状态,执行步骤4;

步骤4:根据平滑后的加速度数据和磁场强度数据可以进行行人行走步态识别、步长估计和方向估计。对行走步态的识别是从加速度曲线中识别出行走周期,并基于此进行步长计算。对于加速度曲线中行走周期的识别,可以将一个行走周期划分成静止状态、波峰状态和波谷状态,使用状态转换的方法来识别行走周期。静止状态、波峰状态和波谷状态则采用状态阈值来判断。识别出一个完整的行走周期后,采用卡尔曼滤波结合步长和垂直加速度的关系以及相邻两步步长之间的关系对步长进行估计。首先根据步长和行走过程中躯干的垂直位移之间的关系,通过该行走周期中加速度数据计算得到基础步长,然后将卡尔曼滤波应用于基础步长,进而得到更加精确的步长估计。方向确定使用加速度计和磁力计共同完成。首先通过三轴加速度数据和重力加速度计算出手机的俯仰角和翻滚角,然后将通过磁力计测得的基于手机坐标系的三轴磁场强度转成基于大地坐标系的三轴磁场强度,使用大地坐标系中x和y方向的磁场强度,即可确定行人方向。

获得当前步长和当前方向后,根据上一步位置,即可计算出当前位置。采集当前位置的WiFi AP列表及其信号强度。将每一步位置当成一个轨迹点,连接所有轨迹点构成行人该段时间的行走轨迹。每个轨迹点可表示为:{t,(x,y),o,r},t表示行人在该位置的时间,(x,y)为当前位置坐标,o表示当前方向,r表示在该位置采集的AP列表及信号强度。

步骤5:直梯、楼梯和扶梯是楼宇中的重要标志,也是室内平面图中的重要信息。根据气压计数据可以计算得到海拔高度,根据海拔高度和加速度数据进行行人活动识别,能够确定行人是否通过楼梯、直梯或者扶梯进行上楼或下楼,从而识别出楼梯、直梯和扶梯的位置,标记在行走轨迹中,同时将直梯、楼梯或扶梯的出口作为新一楼层的新的轨迹起始点。对行人采用直梯、楼梯和扶梯上下楼方式的识别采用两级识别算法,算法流程如图2所示,包含以下步骤:

1)一级识别,根据海拔高度数据识别出平走、直梯上楼、直梯下楼、楼梯扶梯上楼、楼梯扶梯下楼。首先采用移动平均算法对海拔高度数据进行平滑,对平滑后的海拔高度数据做线性拟合,得出海拔高度数据的变化斜率h。假设Hu为直梯上楼的经验阈值,Hd为直梯下楼的经验阈值,H0为上下楼的经验阈值。若h≥Hu,则为直梯上楼;若H0≤h<Hu,则为楼梯或扶梯上楼;若-H0<h<H0,则为平走;若-Hd<h<-H0,则为楼梯或扶梯下楼;若h<-Hd,则为直梯下楼;

2)二级识别,根据三轴加速度数据识别出扶梯上楼、楼梯上楼、扶梯下楼、楼梯下楼。首先求加速度量级根据一级识别的结果,如果是扶梯或楼梯上楼,若am<Au则为扶梯上楼,若am>Au则为楼梯上楼;如果是扶梯或楼梯下楼,若am<Ad则为扶梯下楼,若am>Ad则为楼梯下楼;Au和Ad分别为楼梯上楼和楼梯下楼的量级阈值。

步骤6:根据加速度数据和磁场强度数据,判断行走轨迹中的每个轨迹点是否为转向点(左转、右转、后转)。计算每个轨迹点的方向和前一轨迹点的方向差值Δ。如果Δ超过转向阈值,则认为发生了转向动作。考虑到可能出现连续小转向累积成大转向的情况,将连续若干次Δ值求和得到∑Δ,如果∑Δ超过转向阈值,也认为发生了转向动作。在每个被判定为转向点的轨迹点对行走轨迹进行一次分割,从而将一条连续的行走轨迹分割成若干条轨迹线段。

步骤7:智能手机端将本次行走产生的所有轨迹线段数据发送到中央服务器;中央服务器接收来自不同用户智能手机的大量行走轨迹线段;

步骤8:轨迹线段分成房间类型和走廊类型。确定轨迹线段的类型,需要首先识别出行人轨迹中的房间门口位置。由于人进门或出门时通常会有转向动作,因此检查行人轨迹中的每个转向点位置,判断该位置是否是房间门口。对于房间门口位置判断这里采用两级识别算法,包含以下步骤:

1)一级识别,由于房间内部和走廊的WiFi信号通常不同,因此通过检测每个转向点位置前后的WiFi信号变化,计算信号指纹之间的曼哈顿距离作为变化值,如果变化值超过阈值,则认为当前转向点处于房间门口,如图3(a)所示;

2)二级识别,对一级识别得到的所有房间门口位置点利用基于密度的聚类算法(DBSCAN)进行聚类,得到n个聚类区域。n个聚类区域对应n个聚类中心,将每个聚类中心半径R(R为经验值)范围内的转向点标记为门口位置点,完成对门口位置点的二次识别,如图3(b)所示。

由于每条轨迹的起点都是走廊,因此每检测到两个连续的房间门口位置则表示行人的一次进门动作和一次出门动作,这两个轨迹点之间的轨迹线段就属于房间类型。如果最终检测到的房间门口数量为偶数,表明本次行走在走廊结束,则其余轨迹线段为走廊类型;如果检测到的房间门口数量为奇数,表明本次行走在房间结束,则从最后一个房间门口位置开始到轨迹结束的轨迹线段也属于房间类型,其余轨迹线段为走廊类型。

步骤9:中央服务器使用聚类算法,分别对房间类型和走廊类型的轨迹线段所包含的轨迹点进行聚类,形成若干房间类型区域和若干走廊类型区域;

步骤10:如果聚类区域为房间类型,则提取该区域内的轨迹线段包含的所有轨迹点,通过该区域的轨迹点得到点集的边界形状即为我们需要的房间形状。轨迹点集边界形状有凸包和凹包两种常见多边形。考虑到直接取凸包或者凹包形状作为房间边界误差较大,需要一个介于凸包和凹包之间的形状来表示房间边界。所以采用α-shape方法来构建房间形状和大小,具体包含以下步骤:

1)为轨迹点数据集求取Delaunay三角网M;

2)对于M中的所有边,计算边的长度以及该边的邻接三角形集合,其中邻接2个三角形的边为内部边,邻接1个三角形的为边界边,邻接0个三角形的边为计算过程中会退化的边;

3)将所有长度大于L的边界边加入队列(L为预设的长度限制,用于排除三角网M中的无效边),循环下列过程:从队列中取出一条边E,E具有唯一邻接三角形T;找出T中另外两条边E′和E″,从它们的邻接三角形集合中删除T;将E′和E″中新形成的长度大于L的边界边加入队列;将E标记为无效边,若E′和E″有退化的,也标记为无效边;

4)收集所有有效边界边,则得到该聚类所代表的房间形状。

步骤11:如果聚类区域为走廊类型,则利用主成分分析法(Principle Component Analysis-PCA)确定轨迹点变化主方向u1和次方向u2,从而确定走廊的长和宽,如图4(a)和4(b)所示,包括以下步骤:

1)假设轨迹点数据集为X={(xi,yi)|i=1,2,...m},m为轨迹点个数。首先对轨迹点数据进行预处理,采用用Z-score标准化方法对数据进行归一化处理,经过处理后的数据符合标准正态分布;

2)计算X的协方差矩阵P=XXT/m,对P进行奇异值分解得到特征向量U=[u1 u2 … un],其中u1是P的主特征向量,u2为次特征向量;

3)向量u1和u2构成X的一个新基,对于轨迹点数据集X,是X在维度u1上的投影长度,是X投影到u2维度上的长度,这两个长度分别对应走廊区域的长和宽。

步骤12:根据确定的房间和走廊的位置、形状和大小绘制室内各层平面图,同时将确定的直梯、扶梯和楼梯的位置在图中进行标记。

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