一种基于PDR轨迹绘制的室内楼宇轮廓修整方法与流程

文档序号:11520304阅读:448来源:国知局
一种基于PDR轨迹绘制的室内楼宇轮廓修整方法与流程

本发明涉及基于pdr轨迹绘制的室内楼宇轮廓修整方法。



背景技术:

目前,室内定位技术有广泛的应用领域,能够实现复杂环境下的定位、监测和追踪任务。由于移动终端的普及,使得定位系统可以与其他客户共享网络,硬件成本低,适用于医疗机构、主题公园、工厂、商场等各种需要定位导航的场合。

因此基于wifi的室内定位技术、基于视觉的室内定位技术发展较快,但仍然面临一些问题。例如针对wifi室内定位技术,需要基于室内详细地图的基础上进行ap位置的测绘、定位radiomap的建立等。针对基于视觉的室内定位技术,需要在获取室内地图的基础上进行图像获取等。这些技术的基础都需要在未知的室内环境中或未获得准确的室内建筑图纸的情况下,因此需要能够自主建立地图即slam技术(simultaneouslocalizationandmapping)构建物理图纸。通常情况下针对未知室内环境来获取室内地图需要花费大量的人力物力,一般需要由专业的测绘人员进行精确的测绘。

利用众包的方式建立室内地图是较为便利的一种方式。众包(crowdscouring)是指一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众网络的做法。结合室内定位中未知环境的地图建立的需求,可以通过广大用户众包的方式以较低的人力、物力和时间成本进行室内地图的建立与更新。相较由专业人员进行室内环境测绘,利用众包的方法能够在保证一定的精度上大大节省实现室内定位的成本,对室内定位技术的推广有巨大的应用价值。

在该方法中,用户上传自身手机终端中的imu数据,结合行人航迹推算算法(pdr)能够复现用户在室内环境中的行走轨迹。通过大量用户轨迹的融合,可以体现出室内环境的轮廓。但是由于pdr轨迹的误差、众包数据的误差,其用户轨迹并不精确,轨迹并非是直线。因此其通过众包轨迹建立的室内地图轮廓边缘存在着一定的突出与凹陷,整体轮廓并非是直线化。而最终希望得到的用于定位的室内地图需进一步的精确与直线化,便于室内定位技术的应用。



技术实现要素:

本发明的目的是为了解决现有pdr轨迹不精确,生成的室内地图不规则以及alpha-shape算法形成原始室内地图轮廓存在着粗糙的凹陷与突出的缺点,而提出一种基于pdr轨迹绘制的室内楼宇轮廓修整方法。

一种基于pdr轨迹绘制的室内楼宇轮廓修整方法包括以下步骤:

步骤一:根据alpha-shape地图轮廓的原始pdr轨迹,得到pdr轨迹中的拐点点集;

步骤二:对步骤一得到的拐点点集进行噪声点剔除与聚类,并得到聚类中心;

步骤三:对步骤二得到的k个聚类中心设置拐点区域,将拐点区域作为交集对alpha-shape地图轮廓进行划分,形成k+1个凸包轮廓的组合,并利用最小外包矩形算法(mbr)得到k+1个矩形区域的组合;

步骤四:对步骤三得到的k+1个矩形区域组合求解交点,通过交点将k+1个矩形组合进行连接,形成直线化的地图轮廓。

本发明的有益效果为:

在众包imu数据构建室内地图时,针对室内地图建立轮廓非直线化的问题,本发明专利提出一种基于用户pdr轨迹拐点,以分割地图轮廓的方式,结合最小外包矩形对地图轮廓进行修整,确保了室内地图的精确建立,同时为室内定位技术开展奠定了基础,在降低室内定位系统的部署成本上并实现室内定位系统快速建立与应用。

本发明针对由pdr轨迹及alpha-shape算法得到的非凸包室内楼宇轮廓不规则非直线化的问题,提出一种通过pdr轨迹拐点检测,k-means++聚类,非凸包室内楼宇轮廓转换并结合最小外包矩形算法的室内楼宇轮廓修整算法,最终得到直线化的非凸包楼宇轮廓,从而满足用户对利用pdr轨迹建立直线化的室内楼宇平面图要求。

本发明方法能在pdr建立室内地图的基础上构建精确直线化的二维楼宇室内地图,解决了二维楼宇室内地图非规则化问题,结合基于众包数据构建室内地图的技术上,实现室内地图的快速精确化建立与应用,降低了室内定位系统的部署成本。

附图说明

图1是原始alpha-shape轮廓示意图。

图2是pdr轨迹拐角点示意图。

图3是pdr拐角点剔除轮廓外噪声点示意图。

图4是pdr拐角点剔除轮廓内噪声点示意图。

图5是拐角分割边缘提取示意图。

图6是分割后最小外包矩形生成示意图。

图7是不存在交点情况下拐角分割后生成两侧矩形示意图。

图8是不存在交点情况下延长线交点提取与拐角轮廓生成示意图。

图9是存在交点情况下拐角分割后示意图。

图10是存在交点情况下延长线交点提取与拐角轮廓生成示意图。

图11是区域分割后最小外包矩形生成示意图。

图12是pdr算法原理示意图。

具体实施方式

具体实施方式一:一种基于pdr轨迹绘制的室内楼宇轮廓修整方法包括以下步骤:

本发明的目的是在alpha-shape算法得到的室内环境轮廓的基础上,利用pdr轨迹的特征对地图轮廓进行校正与修整,从而使地图轮廓呈现直线化,以解决在室内定位领域构建室内地图时不规则的情况。

在室内环境中,通过众包方式利用pdr算法得到用户轨迹,并且结合alpha-shape算法最终能够生成室内地图,其轮廓如图1所示。但是由于pdr轨迹较不精确,其生成的室内地图并不是规则的。同时由于alpha-shape算法提取其轨迹边缘形成原始室内地图轮廓,其轮廓存在着粗糙的凹陷与突出,因此需要通过一种修整方法能够实现室内地图的直线化。

首先获取pdr原始轨迹,通过四元数法求取航向角,然后对其微分求极值,得到对应的pdr轨迹的拐点点集,如图2所示。

然后对轨迹拐点点集进行噪声点的剔除,可以利用射线法判断点是否在原始地图轮廓内部,从而对其处于原始地图轮廓外的拐点点集设置为外部噪声点,如图3所示。之后对剔除噪声后的拐点点集进行聚类并求解其聚类中心。通过基于密度分析剔除其噪声点,如图4所示,并且利用k-means++算法对剔除噪声点后的拐点点集进行聚类,并生成聚类中心。

之后通过设置与聚类中心为圆心的圆形拐点区域,以该区域作为交集对原始地图轮廓进行划分,形成多个凸包轮廓的组合,从而能够利用最小外包矩形算法得到多个矩形区域的组合。

最后对多个矩形区域组合求解交点和延长线交点,通过这些点集将多个矩形组合进行连接,形成直线化的地图轮廓。最终实现对非凸包的室内地图轮廓直线化,生成符合室内定位导航要求的室内地图轮廓。

步骤一:根据alpha-shape地图轮廓的原始pdr轨迹,得到pdr轨迹中的拐点点集;

步骤二:对步骤一得到的拐点点集进行噪声点剔除与聚类,并得到k个聚类中心;

步骤三:对步骤二得到的k个聚类中心设置拐点区域,将拐点区域作为交集对alpha-shape地图轮廓进行划分,形成k+1个凸包轮廓的组合,并利用最小外包矩形算法(mbr)得到k+1个矩形区域的组合;

步骤四:对步骤三得到的k+1个矩形区域组合求解交点,通过交点将n个矩形组合进行连接,形成直线化的地图轮廓。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中根据alpha-shape地图轮廓的原始pdr轨迹,得到pdr轨迹中的拐点点集的具体过程为:

利用四元数法分别对三轴加速度数据、三轴陀螺仪数据计算得到航向角,结合互补滤波法计算得到精确的航向角;

通过对所有轨迹点的精确的航向角进行微分,并求极值对应的轨迹点位置,得到的轨迹点位置集合即为拐点点集。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二中对步骤一得到的拐点点集进行噪声点剔除与聚类,并得到聚类中心的具体过程为:

利用射线法判断拐点点集是否在alpha-shape地图轮廓内部,将处于alpha-shape地图轮廓外的拐点点集设置为外部噪声点并剔除;

利用密度分析,判断剔除外部噪声点后的拐点点集是否满足密度相连的要求,将不满足要求的alpha-shape地图轮廓内的拐点点集设置为内部噪声点并剔除;

利用k-means++算法对去除噪声点后的拐点点集进行聚类划分,得到聚类后的点集与聚类中心点。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述利用射线法判断拐点点集是否在alpha-shape地图轮廓内部的具体过程为:

从待判断点出发沿着任意方向画一条射线,依次判断该射线与alpha-shape轮廓每条边的交点,并统计交点个数,若交点数为奇数,则该点处于alpha-shape轮廓内部;若焦点数是偶数,则该点处于alpha-shape轮廓外部,该点为外部噪声点并且剔除。射线法对凸和非凸多边形都适用,复杂度为o(n)。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述利用k-means++算法对去除噪声点后的拐点点集进行聚类划分的具体过程为:

步骤二一:从去除噪声点后的拐点点集中随机选择一个点作为第一个聚类中心;

步骤二二:计算去除噪声点后的拐点点集中的每一个点与第一个聚类中心距离di,i=1…n,并求和得到sum(di);

步骤二三:再取一个在sum(di)中的随机值random,random分别减去di,直到random小于等于0时,此时对应点为下一个聚类中心;

步骤二四:迭代执行步骤二二和步骤二三直到k个聚类中心被选出来;

步骤二五:计算去除噪声点后的拐点点集中的每个点到k个聚类中心的距离;

步骤二六:将每个点聚类到离它最近的聚类中心;

步骤二七:利用均值方法更新k个聚类中心;

步骤二八:迭代执行步骤二五、步骤二六和步骤二七直到满足收敛条件,所述收敛条件为聚类中心点不再改变。

其它步骤及参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤三以步骤二得到的聚类中心为圆心,以同一聚类集合与该聚类中心点的最远距离为半径,设置圆形区域,所述圆形区域作为两个凸包轮廓的交集对alpha-shape地图轮廓进行划分实现的,具体包括以下步骤:

步骤三一:选择alpha-shape轮廓起始端一侧,判断是否与圆形区域存在交点,若存在,则该交点p1作为圆弧起点a;若此圆形区域与该侧alpha-shape轮廓不存在交点,则选择该侧alpha-shape轮廓上与聚类中心点(圆形区域圆心)距离最近的一点p2,并作与圆形区域的外切线l1,使该切线与alpha-shape轮廓夹角大于90度,所得到切点作为圆弧起点a;

步骤三二:选择alpha-shape轮廓起始端的另一侧,判断是否与圆形区域存在交点,若存在,则该交点p3作为圆弧终点b;若此圆形区域与该侧alpha-shape轮廓不存在交点,则选择该侧alpha-shape轮廓上与聚类中心点(圆形区域圆心)距离最近的一点p4,并作与圆形区域的外切线l2,使该切线与alpha-shape轮廓夹角大于90度,所得到切点作为圆弧终点b,如图5所示;

步骤三三:若圆形区域与alpha-shape轮廓存在交点,则选择起点a与终点b之间的一段圆弧,与起始端alpha-shape轮廓组合形成凸包轮廓,如图9所示;若不存在交点,则选择起点a与终点b之间的一段圆弧加上外切线,与起始端alpha-shape轮廓组合形成凸包轮廓;

步骤三四:将已形成凸包轮廓的alpha-shape起始端数据剔除,重复执行步骤三一、步骤三二和步骤三三,将剩余的alpha-shape轮廓封闭,形成新的封闭端;

步骤三五:重复执行步骤三一、步骤三二、步骤三三和步骤三四,对剩余新的alpha-shape轮廓再次划分,直到不存在拐点圆形区域为止。如图6、图7、图8、图9所示。

其它步骤及参数与具体实施方式一至五之一相同。

具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述步骤四中对步骤三得到的k+1个矩形区域组合求解交点,通过交点将k+1个矩形组合进行连接,形成直线化的地图轮廓的具体过程为:

利用射线法分别判断单个矩形顶点是否在其他矩形内部,若在其内部,则删除,若不在其内部,则保留;

对得到的多个矩形区域组合求解交点,对拐角区域求解延长线的交点,以交点作为多个矩形区域的连接点并与保留的矩形顶点进行连接形成直线化的地图轮廓,如图10、图11所示。

其它步骤及参数与具体实施方式一至六之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

实验环境位于中国哈尔滨工业大学科学园的2a建筑内,如图所示。在这个平面图中,主要实验环境为室内走廊。已得到通过众包pdr轨迹建立的大致室内alpha-shape轮廓地图,如图1所示。下面对该地图轮廓进行修整使之直线化表示。首先,从手机终端中获取行人行走过程中的陀螺仪、加速度数据共60组,通过pdr算法形成共60条室内行人行走轨迹。

其行人航迹推算(pedestriandeadreckoning,pdr)的原理为:从一个已知的坐标位置开始,通过传感器获取行人在该位置的运动方向、速度等数据来推算行人在下一时刻出现的位置。其定位过程基本不受环境的影响,因此能够随时随地的提供连续的二维位置信息。由于航迹推算是一种辅助定位方式,因此必须通过其它定位方式来确定行人的初始位置和姿态,再通过航向角和速度变化来确定行人的位置变化。

pdr算法首先需要对初始位置进行确定,假设行人的初始位置为p0(x0,y0),如图12所示:

其下一个位置为p1(x1,y1),从p0到p1的这段时间内的航向为α0(t0),步长为s(t0),则与这两点之间的关系为:

以此类推,从pk到pk-1的关系可以表示为:

通过pdr算法得到轨迹,下面利用四元数法分别求取轨迹点的航向角,其计算步骤如下:

(1)初始四元数的确定,如下式所示:

其中:θ0、ψ0、γ0分别为输入的初始姿态角,θ0为俯仰角;ψ0为滚动角;γ0为航向角。

(2)四元数的标量部分与矢量部分的λ、p1、p2、p3的实时计算,输入信号为陀螺仪的数字输出信号其中i为x、y、z轴,计算方法采用二阶龙格库塔法,如下式所示:

(3)姿态矩阵的实时计算,以确定姿态矩阵输入为式(14)得到的λ(n)、p1(n)、p2(n)、p3(n),如下式所示:

(4)载体姿态角计算,以确定姿态角θ、ψ、γ,输入为中的元素t11(n)、t12(n)、t13(n)、t23(n)、t33(n),如下式所示:

其中航向角为ψ,之后对航向角求取微分,若其角度变化率大于20°,即认为为轨迹的拐点,如图2所示。之后对其拐点进行噪声点的剔除,利用射线法判断点是否在原始地图轮廓内部,从而对其处于alpha-shape地图轮廓外的拐点点集设置为外部噪声点,并进行剔除,如图3所示。对内部噪声点的剔除,利用密度相连的条件,即判断在该点1m半径的圆内是否存在30个拐点的条件,若不存在,则设置为内部噪声点进行剔除,若存在,则保留该拐点,如图4所示。

下面对保留的拐点点集提取聚类中心,该环境共有5处拐点处,利用k-means++算法获取共5个聚类初始点,并进行循环迭代,直至其聚类中心点距离改变小于0.1为止。以最终得到的5个聚类中心为圆心,以同一聚类集合与该聚类中心点的最远距离为半径,设置5个圆形区域。并通过轮廓划分分别得到6段封闭的凸包alpha-shape轮廓。

之后对6段凸包形状的alpha-shape轮廓执行最小外包矩形算法得到共6个矩形组合,如图11所示。最终对得到的多个矩形区域组合求解交点,对拐角区域求解延长线的交点,以交点作为多个矩形区域的连接点并与保留的矩形顶点进行连接形成直线化的地图轮廓。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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