掌桥专利:专业的专利平台
掌桥专利
首页

楼层分配

文献发布时间:2023-06-19 11:21:00


楼层分配

技术领域

本发明涉及用于将建筑物内的轨迹的片段分配给建筑物的相应楼层的方法和系统。特别地,但不是完全性地,本发明涉及使用高度数据的方法,例如,来自压力变化和/或惯性数据、与环境信号数据相结合的数据,用于楼层分配。

背景技术

本领域技术人员将理解,将轨迹的部分分配给建筑物的相应楼层可以用于各种场景,例如跟踪,映射人流量以及映射其他特征(例如WiFi信号)。

技术人员将理解,当前的智能手机压力传感器对于绝对压力测量通常不太准确。由于环境压力和传感器噪声的变化,以及其他因素,根据绝对压力估算楼层数或高度可能不可靠。不同器件之间的压力比较(可以具有不同的传感器和/或不同校准的传感器)也通常不可靠,特别是在众包数据中,可能没有足够的信息可以用于设备之间的压力的精确校准。其他类型的高度数据可能也存在类似的问题。

因此,在众包数据中,可以由不同的用户和/或设备提供的不同轨迹的数据,以及对于可以从任何地方开始和结束的轨迹(在建筑物的任何楼层上),确定轨迹的哪一部分在哪个楼层是上是重要的。

发明内容

根据本发明的第一方面,提供了一种将轨迹的片段自动分配给相应楼层的方法。该方法包括以下至少一个:a)接收来自沿着轨迹移动的移动设备的与所述轨迹相关的数据,所述数据包括高度数据和环境信号数据;b)通过所述高度数据将所述轨迹分割成多个片段,以使高度数据的变化大于第一阈值时标记一个片段的结束区域和其相邻片段的开始区域,所述轨迹的相邻片段之间的高度数据的变化为高度链接;c)基于所述环境信号数据计算片段对的相似度值;d)使用所述相似度值,根据所述环境信号数据将所述多个片段分成多个分组;e)使用所述高度链接检查所述分组中的错误,响应于所述检查:f)如果所述检查确定不存在错误,接受片段的分组;以及g)如果所述检查确定存在错误,执行以下操作之一:i)迭代重新运行分组并检查错误(例如,增加分组数量和/或使用不同的随机种子);或者ii)拒绝一个或多个片段和相应的轨迹(可能被认为是异常值),接受所述分组;h)当所述分组被接受,将所述分组分配给建筑物的楼层。

应当理解,在步骤g)的选项i)处重新运行分组并检查错误可以使步骤d)、e)、f)和g)以迭代方式重复,直到分组被接受。每次重新运行分组和检查时,都会修改分组过程和/或片段的参数,以逐渐修改结果,直到片段的分组一致。

相同轨迹的相邻片段之间的高度数据的变化为高度链接。

在步骤i)中迭代地重新运行分组可以包括:拒绝一个或多个片段;以及对未拒绝的片段重新运行所述分组。

可以使用高度链接将分组分配给相应的楼层。

该方法可选地可以在后处理步骤中(例如,在初始分组之后)包括另一步骤:将拒绝的片段分配给相对和/或绝对楼层。

拒绝的片段可以被分配给楼层标识符,使用片段之间的高度链接来估计楼层过渡概率,以及使用拒绝的片段与其他轨迹的已经被分配给楼层的片段的相似度来估计拒绝的片段属于该楼层标识符的概率。

使用贝叶斯滤波器将片段分配给所述楼层标识符。

如果检查确定错误仍然存在,则该方法可以包括:iii)停止该过程。

将分组分配给建筑物的楼层可以包括将每个分组分配给建筑物的不同楼层。

步骤h)可以包括将分组分配给相对楼层;即楼层分配不与建筑物的楼层绝对对应。或者,另外地,分组的分配可以是绝对楼层;即楼层分配与建筑物的楼层绝对对应。

如本文所使用的,术语“高度数据”指可以单独或与其他数据结合指示移动设备的高度变化和/或绝对高度变化的任何数据。因此,环境信号数据可以被认为是可以用来检查使用所谓高度数据的轨迹的结果分割的任何数据。

各种实施例可以使用不同的环境数据。一些实施例可以使用多于一个环境数据。技术人员将理解,环境数据来源都提供了进一步的数据,从而提高了方法的准确性。示例性地,环境数据包括以下任何一种:无线电通信数据、可见光、调制光、地磁。这里的无线电通信数据可以包括WiFi、蓝牙、蜂窝无线电(例如GSM、UNMTS、3G、4G、5G等)等。通常情况下,可以用来提供进一步的信息的环境信号在重复访问同一地点时,可观察到相同的,或至少是相似的模式。

高度数据可以包括压力数据。轨迹可以被分割,使得压力变化大于第一阈值的压力变化时标记一个片段的结束区域和其相邻片段的开始区域,轨迹的相邻片段之间的压力变化可以被称为压力链接(例如,高度链接可以是压力链接)。

使用压力链接将分组分配给建筑物的楼层可以包括:使用压力链接,按照压力顺序对分组排序。

高度数据可以是、包括或来自惯性数据。惯性数据可以用于以等效方式分割轨迹。

替代地或另外地,高度数据可以是、包括或来自侧信道信息。侧信道信息可以用于确定、推断片段之间的高度差,并以等效方式用于分割轨迹。

侧信道信息可以用于增强高度数据。侧信道信息可以提供与片段的开始和结束、和/或片段之间的高度差相关的信息。

替代地或另外地,高度数据可以是、包括或来自其他传感器数据。其他传感器数据可以包括由可以用于提供高度信息的传感器产生的数据,如以下任何一种:高度计数据和GPS高度数据。

本领域技术人员将理解,如这里所使用的,术语“分割轨迹”表示将与轨迹对应的数据分割成片段,每个片段对应于轨迹的一部分。虽然轨迹的一部分可能包含多个数据点,但是这些数据点在时间上与该轨迹的另一个片段的数据点分离(除了潜在的相邻片段相遇处的少量重叠外)。

技术人员将理解,当前的智能手机压力传感器擅长检测压力数据的相对变化,但对于绝对压力测量不是非常准确。发明人表示,即使对于不同的设备和不同的环境条件,即使绝对高度数据(例如绝对压力值)不可靠和/或没有设备间校准数据,当前的智能手机传感器也可以用于稳健地检测楼层变化。

接收的数据可以与多个轨迹对应。每个轨迹的数据可以来自沿着该轨迹移动的移动设备。该数据可以由单个移动设备或多个移动设备提供。通常,任何一个轨迹的全部数据由同一设备提供。

高度数据可以包括压力数据,或由压力数据推断,而高度链接可以包括轨迹的相邻片段之间的压力变化(即压力链接)。

高度数据可以仅包括压力数据,或仅由压力数据推断,而高度链接可以是轨迹的相邻片段之间的压力变化(即压力链接)。

高度数据可以包括惯性数据,或由惯性数据推断,而高度链接可以包括惯性链接。

高度数据可以仅包括惯性数据,或仅由惯性数据推断,而高度链接可以是惯性链接。

在至少一些实施例中,高度数据可以包括先验信息和/或侧信道信息,或由先验信息和/或侧信道信息推断。例如,这种先验信息可以从关于哪些楼层对应于两个片段的知识中导出。在一个示例中,先验信息表明轨迹从底楼开始(例如,GPS数据表明使用底楼入口)并移动到二楼(例如,检测仅在二楼可用的WiFi SSID)。在另一示例中,先验信息可以由提供地面真相信息的用户提供。使用这种先验信息和/或侧信道信息的实施例可以使其更加准确。在随后的步骤中,可将从该侧信道信息生成的高度链接视为从其它来源(例如压力数据)生成的高度链接;高度链接可被认为是将轨迹的一部分与该轨迹的其它部分分割的手段。使用这种先验信息和/或侧信道的信息的实施例可能更准确。

在一些实施例中,高度链接可能来自多种不同类型的数据。例如,一些高度链接可能来自压力,而其他高度链接则来自侧信道信息。

技术人员将理解,高度数据中可能包含与高度数据相关联的时间戳和/或其他元数据,例如标头、校验和等。在一些实施例中,高度数据包含压力或惯性数据的说明并不排除时间戳和/或元数据的存在。

在一些实施例中,高度数据还可以包含高度数据的不确定度,例如,估计高度差的方差。在随后的计算中,这些实施例可以使用这种不确定度以提高整体方法精度。

本领域技术人员将理解,当高度数据是、包括或者由二进制或其他不连续信息(例如一些先验信息或侧信道信息,例如是否可以检测到X,X例如是日光、与特定路由器相关联的特定SSID、特定磁信号等)生成时,由于数据的概率处理(例如,考虑到不确定度),高度数据与阈值的比较仍然可以进行。因此,楼层变化的可能性,或者相应地足以指示楼层变化的高度变化的可能性,可以与阈值进行比较,并且如果可能性超过阈值,则创建高度链接。在这样的实施例中,"高度数据的变化大于第一阈值"应相应地解释为:高度数据的变化足以使楼层变化发生的可能性高到足以引入片段之间的高度链接/分隔。

可以计算每个可能片段对的相似度值。

计算的相似度值可以是Jaccard相似度、Tanimoto系数、相关距离、动态时间翘曲距离、片段之间的环路闭合的可靠性、或适合于比较两个环境信号的任何其他相似性度量。在一些实施例中,可以将相似性度量应用于两个片段的全部或部分环境信号数据。

在环境信号是WiFi数据的实施例中,可以基于每个片段的一个或多个WiFi指纹来计算片段对的相似度值。类似地,对于其他形式的环境信号,每个片段可能也存在该环境信号的指纹。

相似度值可以用于生成相似度矩阵。相似度值的分组可以使用相似矩阵来执行。

分组可以使用聚类方式进行,并且分组结果可以是由聚类形成的簇。

检查分组中的错误可以包括:(i)识别每一分组内的任何高度链接,指示相同轨迹的相邻片段已被错误地分配给同一个分组;(ii)识别分组对之间的高度链接高于第二阈值的偏差,指示分组对的至少一个高度链接与两个分组之间的预期高度差不匹配;和/或(iii)识别片段的分组之间的不一致。例如,A组比B组高两层,B组比C组高一层,但A组比C组高四层(而不是三层)。

在一些实施例中,可以使用最短路径算法来估计两个分组之间的最短高度变化,然后可以将该的两个分组之间的最短高度变化与由该方法确定的高度链接进行比较。估计的高度变化和高度链接之间的偏差可能突出表明存在不一致。

在检查(ii)中识别的偏差可以是每个分组对的两个分组之间的高度链接的平均高度变化的标准差。

第一阈值和第二阈值可以是相同的;高度链接的差可能必须大于楼层变化的预期高度变化,才能识别出错误。

如果检测到错误,则可以重新运行片段的分组到达预定次数。在每次迭代中,可以改变分组过程的参数,例如,可以增加分组数量,和/或选择不同的随机种子。

在一些实施例中,如果执行预定数量的分组后仍然存在错误,则该方法可以移除(即拒绝)导致错误的片段,并且可选地移除包含这些片段的整个轨迹。如果从分组中删除的片段的数量较多(例如,在该分组中的所有片段中超过一定比例),该过程可以终止。分组可以在没有拒绝轨迹的情况下重新运行,或者可以在没有拒绝轨迹的情况下被接受。

使用高度链接将每个分组分配给相对楼层,可以包括:生成分组之间平均高度差的邻接矩阵;使用邻接矩阵,基于高度数据,将基于环境信号数据形成的分组分成高度分组;以及基于高度分组将楼层标识符分配给每个片段。

基于高度数据的初始分组(基于环境信号数据形成的分组)的分组可以使用聚类方法进行。

建筑物的楼层数k可以事先已知。在这种情况下,基于环境信号数据的分组可以初始设置为产生k组,即与楼层相同的分组数量。

如果由于错误识别而重复基于环境信号数据的分组,例如产生大于k个分组,则可以通过基于高度数据(例如压力数据)进行分组,将分组数量减少到k或更少。

高度数据可以是压力数据。在这种情况下,第一阈值可以为0.6毫巴。

绝对楼层标识符可以使用相对楼层标识符生成。

在一些实施例中,可以将一个分组的片段分配给建筑物的绝对楼层。在一个实施例中,如果最高和最低相对楼层之间的楼层差等于建筑物的最高和最低绝对楼层的相应差,则将绝对楼层分配给每组片段。在这种情况下,相对楼层标识符可以用绝对楼层标识符代替。

在另一个附加或替代的实施例中,如果存在确认绝对楼层到分组的分配的先验信息,则进行绝对楼层分配。例如,可以已知一个片段从在地面上的建筑物的入口处开始,在这种情况下,可以假设可以为该分组的所有片段分配地面的绝对标识符。

在错误检查中被拒绝的每个轨迹可以可选地在处理后(即,初始分组后)以将其与相对和/或绝对楼层分配重新关联。该后处理可以通过贝叶斯滤波器jx,其可以使用轨迹的高度链接来估计已经分配给楼层的楼层过渡概率和相似度片段。

根据本发明的第二方面,提供了一种包括指令的计算机可读介质,当处理单元读取所述指令后,处理单元至少执行以下中的至少一个:接收来自沿着轨迹移动的移动设备的与所述轨迹相关的数据,所述数据包括高度数据和环境信号数据;通过所述高度数据将所述轨迹分割成多个片段,以使高度数据的变化大于第一阈值时标记一个片段的结束区域和其相邻片段的开始区域,所述轨迹的相邻片段之间的高度数据的变化为高度链接;基于所述环境信号数据计算片段对的相似度值;使用所述相似度值,根据所述环境信号数据将所述多个片段分成多个分组;使用所述高度链接检查所述分组中的错误,响应于所述检查:如果所述检查确定不存在错误,接受所述多个片段的每个分组;以及如果所述检查确定存在错误,执行以下操作之一:i)迭代重新运行分组并检查错误(例如,例如,增加分组数量和/或使用不同的随机种子);或者ii)拒绝一个或多个片段和相应的轨迹(可能被认为是异常值),接受所述分组;当所述分组被接受,将所述分组分配给建筑物的楼层。

指令可以进一步使该处理单元执行关于第一方面描述的任何步骤。

根据本发明的第三方面,提供了一种计算装置,该计算装置用于将轨迹的片段自动分配给轨迹所在的建筑物的相应楼层,所述计算装置包括:一个或多个处理单元,所述处理单元用于:接收来自沿着轨迹移动的移动设备的与所述轨迹相关的数据,所述数据包括高度数据和环境信号数据;通过所述高度数据将所述轨迹分割成多个片段,以使高度数据的变化大于第一阈值时标记一个片段的结束区域和其相邻片段的开始区域,所述轨迹的相邻片段之间的高度数据的变化为高度链接;基于所述环境信号数据计算片段对的相似度值;使用所述相似度值,根据所述环境信号数据将所述多个片段分成多个分组;使用所述高度链接检查所述分组中的错误,响应于所述检查:如果所述检查确定不存在错误,接受所述多个片段的每个分组;以及如果所述检查确定存在错误,执行以下操作之一:i)迭代重新运行分组并检查错误(例如,例如,增加分组数量和/或使用不同的随机种子);或者ii)拒绝一个或多个片段和相应的轨迹(可能被认为是异常值),接受所述分组;当所述分组被接受,将所述分组分配给建筑物的楼层。

计算装置可以另外执行关于第一方面描述的任何步骤。

根据第四方面,提供了一种系统,该系统将轨迹的片段自动分配给相应楼层,所述系统包括:一个包括传感器的移动设备,用于沿着轨迹移动,并且在其上安装有应用程序所述应用程序被布置为:由传感器生成与轨迹对应的数据,所述数据包括高度数据和环境信号数据的数据;以及发送与轨迹对应的数据;以及

一个处理单元,被布置为:接收来自沿着轨迹移动的移动设备的与所述轨迹相关的数据,所述数据包括高度数据和环境信号数据;通过所述高度数据将所述轨迹分割成多个片段,以使高度数据的变化大于第一阈值时标记一个片段的结束区域和其相邻片段的开始区域,所述轨迹的相邻片段之间的高度数据的变化为高度链接;基于所述环境信号数据计算片段对的相似度值;使用所述相似度值,根据所述环境信号数据将所述多个片段分成多个分组;使用所述高度链接检查所述分组中的错误,响应于所述检查:如果所述检查确定不存在错误,接受所述多个片段的每个分组;以及如果所述检查确定存在错误,执行以下操作之一:i)迭代重新运行分组并检查错误(例如,例如,增加分组数量和/或使用不同的随机种子);或者ii)拒绝一个或多个片段和相应的轨迹(可能被认为是异常值),接受所述分组;当所述分组被接受,将所述分组分配给建筑物的楼层。

处理单元可以远离移动设备。

处理单元可以被配置为接收与多个轨迹对应的数据。

处理单元可以被配置为从多个移动设备接收数据。

处理单元可以被配置为执行关于第一方面描述的任何步骤。

根据第五方面,提供了用于将轨迹的片段自动分配给相应楼层的轨迹数据。轨迹数据包括高度数据和环境信号数据。轨迹数据基于高度数据被分割为片段,使得高于第一阈值的高度数据的变化标记了一个片段的结束区域和相邻片段的开始区域。环境信号数据与高度数据匹配/对齐,从而通过一个或多个时间戳分配给片段。

根据本发明的第六方面,提供了一种将轨迹的片段自动分配给相应楼层的方法。该方法包括以下至少一个:a)接收来自沿着轨迹移动的移动设备的与所述轨迹相关的数据,所述数据包括高度数据和环境信号数据;b)通过所述高度数据将所述轨迹分割成多个片段,以使高度数据的变化大于第一阈值时标记一个片段的结束区域和其相邻片段的开始区域,所述轨迹的相邻片段之间的高度数据的变化为高度链接;c)基于所述环境信号数据计算片段对的相似度值;d)使用所述相似度值,根据所述环境信号数据将所述多个片段分成多个分组;e)使用所述高度链接检查分组中的错误,f)根据检查结果,执行以下内容之一:i)接受片段的分组;ii)重新运行分组并检查错误(例如,增加分组数量和/或使用不同的随机种子);iii)拒绝一个或多个片段和相应的轨迹(可能被认为是异常值);g)当所述分组被接受,将所述分组分配给建筑物的楼层。

该方法可以包括关于第一方面描述的任何步骤。

本领域技术人员将理解,本发明的一个方面所描述的特征可以比照适用于本发明的任何其他方面。

在本发明的任何上述方面中提到的机器可读介质可以是以下任何一种:CDROM;DVDROM/RAM(包括-R/-RW或R/RW);硬盘驱动器(包括固态驱动器(SSD));存储器(包括USB驱动器;SC卡;紧凑型闪存卡等);发送信号(包括互联网下载,FTP文件传输);导线;等等。

此外,技术人员将理解硬件和软件的二元性。这样,虽然本文描述的一些方面/实施例被描述为由软件或通过硬件执行,但是技术人员将理解,这种情况不是必须的,并且方面/实施例的许多部分可以由硬件、软件、固件或两者的组合执行。

附图说明

现在仅以实例的方式对本发明的实施例进行详细说明,并参考附图,其中:

图1A示出了具有四个楼层和三个标记的轨迹的建筑物的示意性透视图;

图1B示出了一个实施例的移动设备的示意图;

图2示出了标记有轨迹的片段的建筑物的两个楼层的示意性透视图;

图3示出了一个实施例的方法的流程图;以及

图4示出了一个实施例的方法的流程图。

具体实施方式

图1A示出了具有四个楼层101、102、103、104的建筑物100:底楼101(“楼层0”);一楼102(“楼层1”),在楼层0上;二楼103(“楼层2”),在楼层1上;以及三楼104(“楼层3”),在楼层2上。

技术人员将理解,在其他实施例中,建筑物100可以具有任何数量的楼层,并且建筑物100的楼层101-104可以具有不同的形状和/或尺寸。

人150可以在建筑物100周围移动。人150在建筑物100内或通过建筑物100的路径被称为轨迹。图1A中标有三个轨迹110、120、130。

人150可以携带移动设备152,例如智能手机。技术人员将理解,移动设备152可以是能够围绕建筑物100移动,检测高度数据、环境信号数据和处理数据,和/或发送高度数据和环境数据至其他地方进行处理的任意设备。因此,移动设备152可以是或包括任何合适的智能手机、平板电脑、便携式计算机(例如膝上型)、智能手表、

在一些实施例中,环境信号数据包括无线电通信信号数据,并且相对于使用这种无线电通信信号数据来描述实施例是方便的。然而,本领域技术人员将理解,环境信号数据比简单的无线电通信数据更宽泛。

图1B示出了移动设备152的示意图,示出了其某些部件。移动设备152包括传感器152a、152b,在各种实施例中,其可以包括无线电通信信号传感器、加速度计、陀螺仪、气压计(即压力传感器)、环境光传感器、照相机、温度传感器和指南针等中的两个或多个。传感器152a、152b中的每一个都产生数据。例如,加速度计产生加速度数据,气压计产生压力数据,温度传感器产生温度数据等。

移动设备用于处理由传感器生成的数据(例如,加速度数据、压力数据、温度数据等)。在所描述的实施例中,其中移动设备是用于运行软件应用程序(通常称为App)的智能电话,这使得移动设备不时地将由至少一些传感器产生的数据存储在移动设备152的内部存储器中。在替代实施例中,可以立即发送从至少一些传感器生成的数据,并且可以不在本地存储。

在所描述的实施例中,移动设备152包括用于检测无线电通信信号的无线电通信信号传感器152a(图1B中的箭头A表示接受该信号)。在所描述的实施例中,无线电通信信号传感器152a是WiFi传感器,并且无线电通信信号是WiFi信号。在替代或另外的实施例中,可以使用

在所描述的实施例中,移动设备152包括传感器152b,该传感器152b用于提供与移动设备的高度相关的信息(高度数据)。在所描述的实施例中,传感器152b是压力传感器。

在所描述的实施例中,来自压力传感器152b的压力数据用于或至少用于确定高度数据。压力检测由图1B中的箭头B表示。在替代或其他实施例中,惯性数据(其可以识别高度的变化),可以用作,或者至少可以用于确定高度数据、压力数据、或高度数据和压力数据。技术人员将理解,可以使用本领域中已知的其他形式的高度数据来代替这些示例,或与这些示例一起使用。

在所描述的实施例中,移动设备152还包括处理电路152c。处理电路152c可以是或包括以下处理器中的一个或多个:来自

在所描述的实施例中,移动设备152用于收集携带移动设备152的人150在建筑物100内移动时与轨迹110、120、130对应的数据(即,存储由传感器产生的数据和/或将其发送用于处理)。在所描述的实施例中,与轨迹110、120、130对应的数据包括高度数据和无线电通信信号数据。

本领域技术人员将理解,一些实施例可以仅使用单个移动设备152(并且如果轨迹多次访问几个楼层和至少其中一些楼层,则可选地仅使用单个轨迹)来执行。在这样的实施例中,移动设备152可以执行高度数据的处理。

在其他实施例中,收集和处理来自多个移动设备152的数据。

在所描述的实施例中,移动设备152用于将与轨迹110、120、130对应的数据发送(如图1B中的箭头C所示)到处理单元160以进行处理。移动设备152的发送单元152d用于将数据发送到处理单元160。

在所描述的实施例中,由传感器152a、b生成的数据包括与轨迹对应的数据,不时地向处理单元160发送。也就是说,移动设备152的内部存储器用于缓存传感器生成的数据。然而,其他实施例可以被配置为在移动设备的处理电路152c从传感器接收数据时,传输传感器产生的数据流式。

在所描述的实施例中,处理单元160不是移动设备152的一部分,因此可以被称为远程处理单元160。在替代或其他实施例中,可以在移动设备152处执行下面描述的一些或全部处理。

在所描述的实施例中,处理单元160位于建筑物100内。因此,移动设备152有时可以靠近处理单元160;为了清楚起见,与物理距离无关,将处理设备160描述为“远程”处理单元。

在多个移动设备152的数据被收集用于和/或移动设备152被配置为用于将与轨迹110、120、130对应的数据发送到处理单元160进行处理的实施例中,移动设备152具有通信/数据传输能力(由发送单元152d表示)。发送单元152d可以使用一个或多个网络连接以进行数据传输;例如,通过互联网,但技术人员将理解,可以使用任何合适的数据传输装置。例如,可以使用Wi-Fi,全球移动通信(GSM)和/或通用移动通信系统(UMTS)。同时,除较为方便的使用广域网(WAN)例如互联网外,但可以使用任何数据连接,例如特设网络、移动设备152和处理单元之间的专用连接等。

远程处理单元160从沿该轨迹110、120、130移动的移动设备152接收与轨迹对应的数据。远程处理单元160可以接收多个轨迹110、120、130的数据。远程处理单元160可以从多个不同的移动设备152接收数据,这可以与不同的人150相关联。实际上,如果远程处理单元160从多个移动设备接收多个轨迹,则是方便的。例如,如果处理电路从100秒或1000s的轨迹中接收数据是方便的。然而,为方便起见,图中仅示出了3个轨迹。

处理单元160将每个轨迹110、120、130分成一个或多个片段。每个轨迹110、120、130使用该轨迹的高度数据进行分割。更具体地,轨迹的高度(使用高度数据)的变化用于将轨迹分割为不同高度的片段。

高度的变化大于第一阈值,标志着一个片段的结束区域和相邻片段的开始区域;从高度数据推断,该点的轨迹已经从一个楼层过渡到另一个楼层。

在所描述的实施例中,高度数据是压力数据,并且第一阈值是0.6毫巴的压力变化,这是在建筑物的连续楼层之间的压力变化。因此,压力变化的大小可以被认为是已经通过了多少楼层的指示。例如,可以采用约1.2毫巴(或更一般地,第一阈值的两倍)的变化来指示两个楼层的变化。本领域技术人员将理解,可以基于一般楼层之间的平均间距来设置第一阈值,或者可以针对单个建筑物、特定城市和/或平均高度(可以通过例如匹配GPS数据与高度数据来确定)来设置第一阈值。

在所描述的实施例中,第一阈值是0.6毫巴。在替代实施例中,第一阈值可以是0.5、0.55、0.65、0.7或0.75毫巴。在替代或另外的实施例中,第一阈值可以设定为0.2毫巴和1毫巴、0.3毫巴和0.9毫巴、或0.4毫巴和0.8毫巴之间的任何值。技术人员将理解,对于已知楼层间距比平均水平更宽的建筑物100,和/或对于海拔较低的建筑物(在该建筑物上,大气压力随高度变化更快),可以将更大的压力变化设置为阈值。

图1A示出了三个不同的轨迹110、120、130。

第一轨迹110由人150在楼层0上行走形成,如部分111所示,乘坐电梯到楼层1,如部分112所示,在楼层1上行走,如部分113所示,乘坐电梯到楼层3,如部分114所示,并在楼层3上行走。然后,轨迹110终止,例如,由于人150关闭移动设备152或者禁用用于将轨迹数据发送到远程处理单元160的应用程序。

在所描述的实施例中,人150在电梯中的轨迹110的112、114部分与人150在建筑物100的某一楼层周围行走的111、113、115部分相比,具有较短的持续时间。因此,在楼层改变部分期间,可以发送任何数据或非常少的数据点,而可以为每个行走部分发送更多数据。

轨迹110被分割为与部分111、113和115对应的三个片段。楼层0和楼层1之间的高度的变化大于设定阈值(第一阈值),触发第一片段111与第二片段113的分离。楼层1和楼层3之间的高度的变化大于阈值,触发第二片段113与第三片段115的分离。

在所描述的实施例中,与在高度改变(部分112和114)期间收集的数据对应的任何数据点被丢弃,因为对于这些点,高度不稳定。在所描述的实施例中,轨迹分割输出对应于每个片段的开始和结束的时间戳。在这些时间戳之外的任何压力和环境信号数据(例如在所描述的实施例中的Wi-Fi扫描数据)不被考虑。这些数据与楼梯、电梯等相关,并且不属于任何一个楼层。

在替代实施例中,与高度改变期间收集的数据对应的数据点(部分112和114)可以包括在它们最接近高度的任何片段。

因此,每个高度的变化标记一个片段的结束区域和一个相邻片段的开始区域。

高度的变化可能发生在两个数据点之间(例如,对于低频数据收集、高速变化、和/或由于结构(例如,电梯阻挡传输)而在过渡期间的有限数据收集)。在这种情况下,高度的变化将标记一个片段的结束和下一个片段的开始,变化一侧的数据点是第一片段的最后一个数据点,而变化另一侧的相邻数据点是第二片段的第一个数据点。在替代实施例中,紧邻变化的数据点可以作为潜在的不可靠的数据点被舍弃,因此变化可以指示一个开始和结束区域,而不是相邻片段的精确开始和结束点。

高度的变化可能发生在多个数据点上(例如,对于高频数据收集、低速变化、和/或使用楼梯而不是电梯的变化)。在这种情况下,过渡期间的点可以被丢弃,可以全部与一个片段相关联,或者可以在相邻片段之间分割。

在一些实施例中,将没有高度变化的设定数量的数据点用于要建立的新片段。因此,如果一个人爬到楼梯的一半,转身并回到与先前相同的楼层(即没有整体压力变化),则可能没有创建新的片段。高度变化期间的数据点可能会被丢弃。可以使用数据收集的设定时间片段而不是设定数量。可选地或另外地,如果已经检测到异常的高度改变模式,则可以停止轨迹并且开始新的轨迹,使得不依赖于涉及异常高度改变模式的高度链接。

本领域技术人员将理解,无论选择的实现细节如何,高度的变化用于识别一个片段的结束区域和相邻片段的开始区域,以及对数据进行分割。

轨迹110的第一片段111和第二片段112之间的高度的变化可以是这些片段之间的高度链接。

轨迹110的第二片段113和第三片段115之间的高度的变化可以是这些片段之间的高度链接。

在所描述的实施例中,高度数据可以是压力数据,压力变化可以指示高度的变化。因此,高度链接可以是压力链接。

第二轨迹120由在楼层3上行走的人150生成,如部分121所示,从楼梯下降到楼层2,如部分122所示,并且在楼层2上行走,如部分123所示。然后,轨迹120终止,例如,由于人150关闭移动设备152或禁用用于将轨迹数据发送到远程处理单元160的应用程序。

在所描述的实施例中,人150在楼梯上的轨迹120的部分122具有与部分121、123相似的持续时间,人150在建筑物100的楼层上行走。因此,楼层上的每个部分发送的数据点的数量可以与楼层改变部分相似。

轨迹120被分割成与部分121和123对应的两个片段。楼层3和楼层2之间的高度的变化触发了第一片段121从第二片段123的分离。在所描述的实施例中,人150在楼梯上的中间部分122的数据被丢弃。两个片段之间的高度变化被记录为高度链接。

第三轨迹130由在楼层2上行走的人150形成。由于高度没有变化,整个轨迹130被视为单个片段131。

技术人员将理解,虽然本文描述的方法被设计为基于多个轨迹110-130,但是覆盖多层楼层并返回到至少一些楼层的单个轨迹同样适用本方法。

在图1A所示的实施例中,在每个楼层101-104上存在WiFi接入点101a-104a。技术人员将理解,可以在替代或其他实施例中使用任何其他无线电通信信号提供单元,例如

实际上,如其他方面所描述的,一些实施例使用环境信号数据而不是无线电通信信号数据。在这样的实施例中,环境信号可以由可见光(例如来自相机)、调制光、地磁等提供。

在每个楼层101-104上或附近时,移动设备152从WiFi接入点101a-104a中的至少一个接收信号。该信号提供在所描述的实施例中通过移动设备152发送到处理单元160的无线电通信信号数据(在这种情况下为WiFi数据)。

在所描述的实施例中,WiFi数据与高度数据相关联。WiFi和高度数据可以同时获得(在设定时间的数据点),或者在不同时间和/或频率下获得。时间戳或其他系列戳可以允许WiFi数据与高度数据(在这种情况下为压力数据)的正确部分相关联。因此,WiFi数据被分割为轨迹数据的一部分。在所描述的实施例中,处理电路152c用于在处理电路152c接收/处理数据时对由传感器152a、b产生的数据加时间戳。

当处理单元160已经对轨迹110-130进行了分割,则基于无线电通信信号数据,或者在其他实施例中的环境信号数据,计算出片段对的相似度值。在所描述的实施例中,针对任何可能的片段对(在轨迹内以及轨迹之间)来计算相似度值。片段与自身之间的相似度值可以设置为定义值,例如,定义值可以为1。相似度值越大,片段对越相似,例如,相似度值可以取值0到1。

在所描述的实施例中,相似度值的计算由处理单元160的WiFi相似度计算器执行。在替代实施例中,计算可以由单独的处理单元和/或由移动设备152执行。

采用图1A中所示的示例,移动设备152可以接收,例如:在楼层0,接入点101a的信号相对较强,接入点102a的信号较弱。在楼层1,接入点102a的信号相对较强,接入点101a和103a的信号较弱。在楼层2,接入点103a的信号较强,接入点102a和接入点104a的信号较弱;以及在楼层3,接入点104a的信号相对较强,接入点103a的信号较弱。

在一些情况下,每个层楼可能有多个接入点,和/或其他楼层的接入点可能对一个层楼上的移动设备152不可见。

每个无线电通信信号的强度可能随楼层上的位置而变化,例如受到距接入点或转发器的距离、和/或WiFi信号的障碍物的影响。然而,平均而言,与每个楼层上的特定WiFi环境无关,同一楼层上的片段比楼层之间的片段的WiFi环境更相似。WiFi数据可以被称为WiFi指纹。

对于其他形式的环境数据,也会生成类似的指纹。通常情况下,给定楼层内的片段比楼层之间的片段的环境数据更相似。

在所描述的实施例中,片段对的相似度值越高,则指示这些片段处于同一楼层的概率越高。

在所描述的实施例中,WiFi相似度计算器将所有的片段WiFi数据作为输入,并计算所有片段对的相似度指数(在本实施例中,更具体地说是Jaccard相似度,尽管本领域技术人员将理解,可以使用其他相似度量)。其他实施例可以使用诸如Tanimoto相似度、相关距离、动态时间翘曲距离或任何其他基于统计的度量等。其他实施例可以使用其他环境信号,例如蓝牙、蜂窝、可见光、地磁数据或在重复访问同一地点时可以唯一识别的任何其他信号。

参考图2,T1和T3是来自相同连续轨迹的轨迹片段。这意味着两者之间的压力差(如果两者相邻,则为单一的压力链接,如果存在其他中间片段,则为压力链接之和)可从压力数据得到。然而,片段T2属于不同的轨迹,因此T2和T1或T2和T3之间的压力差不可用,因为在所描述的实施例中,不依赖于绝对压力。因此,可以使用WiFi(或其他环境信号)相似度量,以便识别哪些片段位于同一楼层上,而不是依赖绝对压力值进行比较。

因此,T1和T2之间、T1和T3之间以及T2和T3之间的相似度值被计算。T1和T2之间的相似度值高,因为两个片段空间上重叠/位于同一楼层上。T1和T3之间的相似度值低,因为两个片段不重叠/位于不同楼层上。T2和T3之间的相似度值低,因为两个片段也不重叠/位于不同楼层上。

在所描述的实施例中,结果呈现为3乘3相似矩阵,其总结了所有片段之间的关系。技术人员将理解,对于n个片段,矩阵将是n乘n的矩阵。

然后,在这种情况下,以相似度矩阵的形式,使用相似度值对片段进行分组。

在所描述的实施例中,基于无线电通信信号数据,使用相似度值将片段分在多个分组中。类似的片段(即具有更多类似的WiFi指纹的片段)被分组在一起。

在所描述的实施例中,可以使用分层聚类方法对片段进行分组。技术人员将理解,可以使用本领域已知的任何合适的分组方法。因此,可以基于WiFi数据将片段映射到分组中。这可以称为WiFi分组,或WiFi指纹分组。

在所描述的实施例中,已知建筑物100的楼层101-104的总数,并且初始分组数量被设置为等于楼层数。聚类算法被配置为将片段划分成k个分组(也称为簇),其中k是已知数量的楼层。方便地,使用k-均值聚类算法。然而,本领域技术人员将理解,可以使用任何其他合适的聚类算法,例如k均值算法的变化,包括k-均值++,模糊c均值,k-中位数等。实际上,一些实施例可以使用其他聚类方法,例如基于分布的聚类,密度聚类等。

在替代实施例中,楼层数目可能是未知的,和/或要形成的簇的数目可以不被设置,或者可以被设置为不等于楼层数目的值。

获得各分组后,使用高度数据对各分组进行错误检查。

在所描述的实施例中,可以执行簇内和簇间检查。检查分组中的错误包括:

(i)簇内:识别分组内的任何高度链接,指示相同轨迹的相邻片段(即,它们之间的压力链接)已被错误地分配给同一个分组;

(ii)簇间:识别分组对之间的高度链接高于第二阈值的偏差,指示分组对的至少一个高度链接与两个分组之间的预期高度差不匹配;以及

(iii)多簇:识别多个分组之间的任何不一致。例如,A组比B组高两层,B组比C组高一层,但A组比C组高四层(而不是三层)。

如果属于同一簇的片段之间存在任何高度链接,则簇内错误检查失败(即认为检测到一个或多个错误)。这是因为在同一轨迹上的两个相邻片段之间表现出足以指示楼层变化(即大于第一个阈值)的压力差,同时又属于同一楼层是矛盾的。

如果一个簇与另一个簇之间的压力链路的偏差超过阈值,则簇间错误检查失败(即认为检测到一个或多个错误)。在所描述的实施例中,计算簇间的标准差,并将标准差用于簇间错误检查。

无论在特定日期和通过特定设备152记录的绝对压力如何,都可以预期楼层X和楼层Y之间的压力差将是相同的(在合理的精度内)。这样,如果两个簇之间的至少一个压力链接与两个楼层之间的预期压力差/两个簇之间的压力链接的平均值明显不同,则表明至少有一个与异常压力相关的片段链接在错误的分组中。由于该测试将异常值与平均值进行比较,因此,不必知道每个簇所属的楼层。

在替代或其他实施例中,可以以相同的方式使用其他高度数据、压力数据、或高度数据和压力数据进行错误检查,例如惯性数据(例如,使用二重积分来提供高度变化的估计)、先验信息和/或侧信道信息。

在所描述的实施例中,如果满足这两个检查,则接受将片段的分组到k个簇中而无需进一步检查。

如果不满足这两个检查,则重复进行聚类。在所描述的实施例中,聚类时用更多簇进行聚类,特别等,增加簇的数量至(k+1)。

在替代或另外的实施例中,可以使用不同的随机种子代替增加分组数量,或使用不同的随机种子并同时增加分组数量。

在替代或其他实施例中,仅将错误检查失败的簇或分组分离为新的簇或组,以使这些新的簇满足簇间和簇内检查。

然后对新的簇重复错误检查。

当分组被接受后,则可以将簇分配给特定楼层。在所描述的实施例中,使用高度链接执行楼层分配,在这种情况下,高度链接是压力链接。使用压力链接按压力顺序对分组进行排序。如果建筑物的楼层分布可用,则最高压力分组将与最低楼层匹配,依此类推。

在所描述的实施例中,通过构建簇之间的平均压力链接的N×N的邻接矩阵(其中N是簇的数量),并将结果馈送到下一个模块304来执行簇到楼层的分配。

然后执行高度聚类。在所描述的实施例中,高度数据包括压力数据,因此高度聚类是压力聚类。本领域技术人员将理解,其他形式的高度相关数据可以在其他实施例中使用。

在所描述的实施例中,N×N的邻接矩阵被分组,以便将矩阵的行映射到相对楼层标识符。分组被分配了相对楼层编号,因此每个分组的片段被了分配一个相对楼层编号。在该实施例中,分组是聚类,使用k-均值聚类方法进行;技术人员将理解,可以使用任何合适的方法。

技术人员将理解,当已知楼层数k,并且簇数等于楼层数时,N×N的邻接矩阵可以是k×k的邻接矩阵。假设k个楼层中的每个楼层都被访问过,在高度聚类中形成的每个聚类应该与聚类形成的每个聚类相同,。本领域技术人员将理解,在这种情况下,可能不需要第二轮聚类。例如,可以使用压力链接的简单比较。

如果已知楼层数k,且簇数大于楼层数(或k层中有一个或多个楼层未被访问过),则高度聚类允许分配群集的多个簇在适当的情况下,将其分配给同一个楼层,以便将簇数减少到k,或者将访问的楼层的数量减少到小于k的数量。

技术人员将理解,在一些实施例中,邻接矩阵可能是不完整的;即,在一些成对的簇之间可能没有压力链接。因此,在这种情况下,可以采取如下步骤以完成邻接矩阵;例如,可以使用最短路径算法,例如Floyd-Warshall算法。技术人员将理解,可以使用本领域已知的任何合适的方法。

技术人员将理解,可以使用本领域已知的任何合适的方法来提供用于分割轨迹的高度数据。因此,轨迹的分割部分通过高度链接连接。实施例可以潜在地使用以下任何一种方法来分割轨迹:使用压力传感器,可以使用绝对压力值,其中一组的最高平均压力值指示该组属于最低楼层等。使用惯性传感器、垂直加速度(通过双积分转换为位移)作为测量高度的代理。技术人员将理解,在实践中,在当前智能手机中发现的MEMS加速度计的典型信噪比很低,可能导致不准确的风险。

如果已知每个WiFi接入点(或等效物)或其中一些的楼层编号,则可以从使用WiFi信号强度数据作为环境信号数据的实施例中的WiFi数据分配楼层编号;如果每个蓝牙信标(或等效物)或其中一些的楼层编号是已知的,则在使用蓝牙信标数据作为环境信号数据的实施例中,可以从蓝牙信标数据中分配楼层编号;如果每个WiFi接入点(或等效物)或其中一些接入点关联了标识符,例如商店或咖啡馆的名称,则该标识符可以用于推断位置,例如通过了解该商店或咖啡馆的位置。如果已知某片段从某一楼层的一个或多个建筑入口开始或结束,或从该楼层的一个或多个建筑入口通过,则可将该片段与该楼层联系起来。

更一般地,如果可以获得任何先验指纹或感测到的环境信号的信息,环境信号与特定的位置或楼层相关联,则可以用来分配楼层编号。

结果是为每个轨迹的片段分配的楼层编号305。

在所描述的实施例中,如果满足簇间和簇内检查,并且簇的数量等于已知的楼层数k,则簇被接受,无需进一步检查。如果楼层数是未知的,则同样可以适用。

在所描述的实施例中,如果不满足簇间和簇内检查,对于超过预定阈值的聚类操作次数的聚类,则在后处理步骤中删除和处理造成错误的片段和各自的轨迹。

在所描述的实施例中,在所描述的实施例中使用楼层分配滤波器模块304。

楼层分配滤波器模块304估计轨迹的片段的最有可能的楼层分配如下:它使用轨迹的高度链接来估计楼层过渡概率,并使用轨迹的每个片段与其他轨迹的已经被楼层分配的片段的相似度来估计观察概率。在所描述的实施例中,隐藏的马尔可夫模型用于估计观察概率,但其他实施例可以使用其他技术。

图3示出了类似于上面描述的系统300。

在图3所示的实施例中,基于移动设备152处的相关高度数据(压力数据)来分割WiFi数据文件。

接收模块301接收并加载压力分段的WiFi数据文件。给定片段的WiFi数据可以被称为该片段的WiFi指纹。每个片段可以包括多个数据点,因此可以包括多个WiFi指纹。

然后,计算模块302计算不同片段的WiFi指纹之间的相似度。WiFi指纹可以称为WiFi事件。

然后将相似度值及其相关联的片段传递给WiFi聚类模块303。

然后,WiFi聚类模块303的第一聚类子模块303a将片段分组成簇。

然后,检查子模块303b寻找聚类中的任何错误。在所描述的实施例中,如上所述,检查包括簇间和簇内检查。在附加或替代实施例中,检查可以包括或由不同的检查,和/或所描述的两个检查之一组成。

在所描述的实施例中,该实施例用于使得簇的数量具有预定的最大数量。其他实施例可以具有必须满足的额外标准和/或替代标准。然而,所描述的实施例包括模块303c,其检查是否已超过簇的最大数量。

如果确定正在使用的簇的数目仍然小于最大值,则错误处理子模块303d增加簇的数量。在所描述的实施例中,错误处理子模块303d将簇的数量增加一个。本领域技术人员将理解,在一些实施例中可以使用更大的增加量,增加量的大小可以取决于所识别的冲突的数量,和/或除了增加簇的数量之外,替代地,还可以改变关于聚类过程的其他内容(例如,选择新的随机种子)。在替代实施例中,只有含有冲突的簇可以被分成进一步的簇或分组。在簇的数量不增加的实施例中,可以不设置簇的最大数量,和/或不执行检查以查看是否已经超过簇的最大数量。

本领域技术人员将理解,,在所描述的实施例中,如果错误检查没有识别任何错误,则接受片段的每个分组,或者如果错误检查识别任何错误,则重新运行分组。在替代的实施例中,少量的错误(与片段的总数量相比)可能被认为是可接受的,因此尽管错误的数量非零,但分组可以被接受。在这种情况下,与错误相关的片段和可选的轨迹可以从数据集中删除。

模块303D增加了簇的数量后,系统返回到聚类子模块303a。

如果检查子模块303b发现没有冲突(“否”),则将簇传递到高度聚类单元304,高度聚类单元304用于将相对标识符分配给簇;即每个簇被分配给相对楼层标识符。在所描述的实施例中,压力聚类用于通过压力(从而通过高度)来对簇进行排序,并且如上所述,可以合并似乎在处于相同高度的任何簇。

然后,楼层分配模块305将楼层编号分配给由高度聚类单元304产生的每个簇,从而分配给簇中的每个片段。技术人员将理解,可能无法将绝对楼层标识分配给相对楼层。例如,由模块304产生的相对楼层数可以与建筑物内的楼层数不同,建筑物内的楼层数可能不是已知的等。

技术人员将理解,在一些实施例中,可以不执行压力聚类。在这样的实施例中,由WiFi聚类模块303(或在其他环境信号数据上的模块聚类)形成的簇可以直接传递到楼层分配模块305,或者可以在其间执行不同的检查。

在创建簇的期间,如果模块303c确定已超过簇的最大数量,则模块306会从正在聚类的数据中移除片段和/或包含这些片段的轨迹。数据的这种删除将允许聚类处理继续进行,并且达到相对楼层分配步骤304。在图3所示的实施例中,在删除引起错误的轨迹之后,接受聚类,并且系统立即进行到执行相对楼层分配304。在替代实施例中,例如图4中所示的(在下面进行讨论),聚类处理可以使用精简的数据集进行。

当步骤305完成楼层分配过程,将拒绝的片段和/或轨迹重新分配给楼层。模块307尝试此过程。

其他实施例可包括其他模块。例如,其他模块可以用于数据的后处理以检查任何错误。这种其他模块可以被认为是楼层分配校正器模块。在替代或其他实施例中,可以使用不同的检查方法,例如使用附加数据类型,或者可以不执行后处理。

本领域技术人员将理解,系统300可以由单个处理器或处理单元300提供,或者由彼此通信的多个不同单元提供。每个模块301-307可以以软件和/或硬件形式提供。

图4示出了一个实施例的方法400。

在步骤801,接收与轨迹对应的数据。数据包括高度数据和无线电通信信号数据。

在步骤802,使用高度数据对已经接收到数据的每个轨迹进行分割。高度的变化用于指示一个片段结束的位置和下一个片段的开始;分割基于高度变化。

在关于图1和图2描述的实施例中,数据由远程处理单元160从一个或多个移动设备152接收,并且远程处理单元执行分割802。

在关于图3描述的实施例中,移动设备152接收(来自其传感器的)数据,并对数据进行分割。移动设备152执行分割802。然后,移动设备152将分割后的数据发送到处理单元160。

在替代实施例中,远程处理单元160可以从不同的移动设备152接收801个未分割数据和一些分割数据,并且可以在尚未由移动设备152完成时执行分割802。

在所描述的实施例中,基于无线电通信信号数据计算片段对的相似度值803。在所描述的实施例中,为每个可能的片段对计算803的相似度值。

在所描述的实施例中,远程处理单元160在其相似度计算模块302中执行相似度值的计算803。在替代或其他实施例中,可以在其他地方进行一些或所有相似度计算。

在所描述的实施例中,然后使用相似度值基于无线电通信信号数据将片段分组804为多个分组。

在所描述的实施例中,远程处理单元160在聚类模块303中使用相似度值执行分组804,分组804产生多个片段组。

在所描述的实施例中,对分组进行错误检查805,以检查分组中的不一致。在所描述的实施例中,执行在分组内和分组间的检查。

然后,判断806分组是否包含任何错误。

如果发现分组包含任何错误,则只要没有超过预定的迭代次数808a,就重新运行分组807。在所描述的实施例中,增加数量的分组被用于重新运行分组。然而,如果已经超过了预定的迭代次数,则在重新运行分组之前,可以从分组生成过程809中移除导致错误的数据(例如,片段和/或包含这些片段的轨迹)。如果导致错误的数据被移除,则可以不增加分组的数量,和/或不改变随机种子等,用于移除之后的重新运行分组。在其他实施例中,在移除引起错误的轨迹后,不重新运行分组,而是可以接受808b省略了引起错误的轨迹的当前分组,即该方法可以直接从步骤809进行到步骤808b。

在替代实施例中,仅包含错误的分组进一步分成另外的分组。

如果没有找到错误,则在所描述的实施例中接受分组808b。

当分组(即簇)形成,如果存在数据以验证绝对楼层分配,则在绝对楼层分配811前进行相对楼层分配810。

此外,在步骤812中尝试,将在步骤809中拒绝的任何数据分配给在步骤810和/或811中已识别的楼层之一。

在替代或其他实施例中,可以在分组被接受之前执行进一步的错误检查,例如,通过基于高度数据(例如使用高度链接)对片段进行聚类。这可以识别不一致,和/或允许将由初始分组804形成的多个簇合并成单个簇。例如,如果同一楼层的两个区域由于存在不同的路由器和/或无线电通信绝缘结构而具有不同的无线电通信信号环境,则可能发生这种情况。由于不同的无线电通信指纹,这些片段可能被无线电通信分组804分成两组。因此,具有不同无线电通信指纹的两组可能都属于同一楼层,并且在基于高度链路的进行聚类时可能被合并成一组。可以理解的是,在其他实施例中,如果使用了除无线电通信信号以外的环境信号,则本节的讨论同样适用于该环境信号的指纹。

在替代或其他实施例中,可以在将每个分组分配给建筑物100的楼层之后执行进一步的错误检查。

可选地或另外地,可以使用不同的方法。例如,可以检查与数据中的一些WiFi指纹相关联的WiFi路由器的楼层位置,并将其与分配的楼层编号进行比较,并且可以将来自楼层的观察到的SSID(无线网络名称)与楼层地图信息进行比较。也可以使用将片段的环境信号与楼层相关联的其他先验信息。

技术人员将理解,本文所述的楼层分配可以作为"流水线"的一个组成部分,该"流水线"用于处理众包数据以自动构建建筑物的Wi-Fi地图(或其他无线电通信信号或其他环境信号地图)。众包数据集中的每个轨迹(用户路径)可以包括来自各种传感器的数据,例如加速度计、陀螺仪、磁力计、压力传感器、Wi-Fi、蓝牙和/或蜂窝无线电(例如GSM、UMTS、3G、4G、5G等)接收器和环境光传感器等。轨迹可以从建筑物外部或内部开始,并且可以在任何楼层或楼层之间开始或结束。轨迹可以以任何顺序穿越不同楼层。例如,用户可能从底楼的特定入口进入建筑物,上到三楼,然后下到二楼,然后在离开建筑物之前停止提供数据。

相关技术
  • 中央吸油烟机动力分配阀楼层配置方法、系统和电子设备
  • 一种智能分配楼层的电梯控制系统
技术分类

06120112893900