首页 / 专利库 / 保护装置和系统 / 锚点 / 使用外围信号的轨迹匹配

使用外围信号的轨迹匹配

阅读:414发布:2024-02-12

专利汇可以提供使用外围信号的轨迹匹配专利检索,专利查询,专利分析的服务。并且公开了一种基于众包轨迹数据自动地确定路径的形状的技术。轨迹数据是针对多个众包路径而收集的。针对多个众包路径中每个众包路径的轨迹数据与至少一个唯一可识别的周围 信号 关联。锚定点可以与个体的众包路径的轨迹数据的特性的转变对应而被识别。匹配可以基于分析锚定点的匹配模式和评估该匹配而被执行。各种 实施例 涉及使用链接 节点 结构以表示一个或多个迹线和/或指示特定地理区域内的路线。,下面是使用外围信号的轨迹匹配专利的具体信息内容。

1.一种用于使用周围信号确定轨迹的方法,包含:
收集针对多个众包路径的轨迹数据,其中针对多个路径中每个路径的轨迹数据与至少一个唯一可识别的周围信号关联;并且
基于针对多个众包路径的轨迹数据及其至少一个关联的周围信号,自动地确定路径的形状。
2.如权利要求1所述的方法,其中自动地确定所述路径的形状包含使用至少一个关联的周围信号来匹配针对多个众包路径的轨迹数据。
3.如权利要求2所述的方法,其中所述匹配包含识别所述多个众包路径的每个路径中的轨迹数据的锚定点,并且基于锚定点执行匹配,
其中锚定点与个体的众包路径的轨迹数据的特性的转变相对应。
4.如权利要求3所述的方法,其中所述周围信号包含指示移动设备的移动状态的轨迹数据,
所述转变与从包括转弯、移动的方向、移动设备的移动模式的组中选择的至少一个成员相对应。
5.如权利要求3所述的方法,其中基于锚定点执行匹配包含识别锚定点的匹配模式。
6.如权利要求5所述的方法,其中识别锚定点的匹配模式包含识别移动设备的转弯。
7.如权利要求6所述的方法,其中识别转弯包含选择子轨迹步子长度并且确定阈值度条件是否被满足。
8.如权利要求7所述的方法,其中所述步子长度是根据所检测到的转弯的类型而被不同地调整的,并且所述转弯的类型是基于与所述转弯对应的轨迹点处的曲率而被确定的。
9.如权利要求8所述的方法,进一步包含通过从高于预定的第一阈值转弯曲率的转弯和小于预定的第二阈值转弯曲率的转弯的组合中选择至少一个末尾转弯来识别显著的转弯。
10.如权利要求6所述的方法,进一步包含基于针对所述多个众包路径中的两个众包路径的锚定点来评估匹配结果,
其中所述评估是基于各自的周围信号的相似度的。
11.如权利要求10所述的方法,所述评估匹配结果进一步包含获得可以将包括在所述两个众包路径中的转弯彼此组合的情况的数目。
12.如权利要求11所述的方法,其中所述匹配是至少部分地基于周围信号的相似度而被评估的。
13.如权利要求12所述的方法,其中所述匹配包含基于计算周围信号的相似度并且将所述周围信号相似度除以距离因子来确定分数。
14.如权利要求6所述的方法,其中所述匹配进一步包含转变并且旋转所述轨迹数据以将所述轨迹数据调整为对齐。
15.如权利要求1所述的方法,其中所述周围信号包含由WiFi信号、蓝牙信号、声音、图像信号、磁信号和光学信号构成的组中的至少一个成员。
16.如权利要求1所述的方法,其中所述轨迹数据是从多个移动设备聚集的。
17.如权利要求16所述的方法,其中每个移动设备包括至少一个传感器以生成轨迹数据。
18.一种用于管理轨迹信息的方法,包含:
基于一个或多个迹线来维护链接节点结构,其中:
所述链接节点结构包括一个或多个节点以及一个或多个链路;
每个节点与按所述一个或多个迹线穿行的特定地理位置关联;并且每个链路连接一对节点,其指示与相连接的节点关联的位置之间可用的路径;
将新迹线中的一个或多个点与所述链接节点结构中的一个或多个节点匹配,其中每个点是基于新迹线中可识别的变化而被识别的;并且
基于所述匹配更新所述链接节点结构。
19.一种用于确定轨迹的系统,包含:
收集器,用于收集针对多个众包路径的轨迹数据,其中针对所述多个路径的每个路径的轨迹数据与至少一个唯一可识别的周围信号关联;以及
处理器,用于基于针对所述多个众包路径的轨迹数据及其至少一个关联的周围信号来自动地确定路径的形状。
20.如权利要求19所述的系统,其中所述处理器使用至少一个关联的周围信号来匹配针对所述多个众包路径的轨迹数据。
21.如权利要求20所述的系统,其中所述处理器识别所述多个众包路径的每个路径中的轨迹数据的锚定点,并且基于锚定点执行匹配,
其中锚定点与个体的众包路径的轨迹数据的特性的转变相对应。
22.如权利要求21所述的系统,其中所述周围信号包含指示移动设备的移动状态的轨迹数据,
所述转变与从包括转弯、移动的方向、移动设备的移动模式的组中选择的至少一个成员相对应。
23.如权利要求21所述的系统,其中当基于锚定点的匹配被执行时,所述处理器识别锚定点的匹配模式。
24.如权利要求23所述的系统,其中当锚定点的匹配模式被识别时,所述处理器识别移动设备的转弯。
25.如权利要求24所述的系统,其中当转弯被识别时,所述处理器选择子轨迹步子长度并且确定阈值角度条件是否被满足。
26.如权利要求25所述的系统,其中所述步子长度是根据所检测到的转弯的类型而被不同地调整的,并且所述转弯的类型是基于与所述转弯对应的轨迹的点处的曲率而被确定的。
27.如权利要求26所述的系统,所述处理器通过从高于预定的第一阈值转弯曲率的转弯和小于预定的第二阈值转弯曲率的转弯的组合中选择至少一个末尾转弯来识别显著的转弯。
28.如权利要求24所述的系统,所述处理器基于针对所述多个众包路径中的两个众包路径的锚定点来评估匹配结果,
其中所述评估是基于各自的周围信号的相似度的。
29.如权利要求28所述的系统,所述处理器获得可以将包括在所述两个众包路径中的转弯彼此组合的情况的数目。
30.如权利要求29所述的系统,其中所述匹配是至少部分地基于周围信号的相似度而被评估的。
31.如权利要求30所述的系统,其中当所述匹配被评估时,所述处理器基于计算周围信号的相似度并且将所述周围信号相似度除以距离因子来确定分数。
32.如权利要求24所述的系统,其中当匹配被执行时,所述处理器转变并且旋转所述轨迹数据以将所述轨迹数据调整为对齐。
33.如权利要求19所述的系统,其中所述周围信号包含由WiFi信号、蓝牙信号、声音、图像信号、磁信号和光学信号构成的组中的至少一个成员。
34.如权利要求19所述的系统,其中所述轨迹数据是从多个移动设备聚集的。
35.如权利要求34所述的系统,其中每个移动设备包括至少一个传感器以生成轨迹数据。
36.一种其上记录了用于运行权利要求1到18的所述方法的程序的计算机可读记录介质。

说明书全文

使用外围信号的轨迹匹配

技术领域

[0001] 本发明一般涉及与利用来自周围信号的轨迹数据以帮助生成用于基于位置的服务的路径的地图的技术。本发明的各种实施例针对利用众包(crowd-sourced)轨迹数据以确定路径之间的相对位置。一些实施方式涉及使用链接节点结构以表示特定区域内的路线。

背景技术

[0002] 有多种方法用以基于全球定位系统(GPS)数据跟踪个体的位置。然而,GPS在室内位置中经常不可靠地工作。因此,在发展新技术以提供基于位置的服务方面的关注日益增加。
[0003] 室内轨迹数据可以使用信息利用基于从用户的移动设备生成的信息的行人航位推算(pedestrian dead reckoning,PDR)来计算而不依赖于诸如WiFi网络或蓝牙信标的传统RF架构。作为示例,移动设备上的加速计或磁计(罗盘)可以用来生成信息以执行行人航位推算。
[0004] 使用PDR的室内轨迹数据已经被广泛用于针对个体的室内跟踪和定位。给定具有初始已知位置的起始点,诸如GPS坐标,室内定位系统可以使用室内轨迹数据、通过估计步子的数目和移动的方向来跟踪用户的当前位置。
[0005] 使用PDR的轨迹数据的另一应用是了解用户的室内活动模式。从用户收集的室内轨迹数据是用于活动模式分析的重要数据源。例如,用户多久去大型购物中心一次和他待在购物架前多久,可以指示用户的购物兴趣和情境信息。聚集来自多个用户的室内轨迹数据可以帮助商店所有者发现货架布置的问题。商店所有者可以使用该数据来改进布置以提升用户的购物体验和增加商店利润。
[0006] 使用PDR的轨迹数据的另一应用是室内地图。室内轨迹数据可以用来绘制室内环境地图。进而,生成的地图可以用于基于室内位置的服务。

发明内容

[0007] [技术问题]
[0008] 然而,在使用PDR计算轨迹数据中的问题是许多诸如智能电话的移动设备有显著的罗盘噪声和陀螺仪噪声。因而,即使初始准确的位置是可用的,在基于智能电话的传感器数据的任何后续的PDR计算中也有噪声。例如,图1A示出了地板平面图和用于室内轨迹数据收集的路径。图1B示出了基于两轮PDR数据计算的两条轨迹110和120。因为智能电话的陀螺仪和罗盘中的噪声,所以该室内轨迹没有很好的重叠。具体来说,该室内轨迹的初始航向(heading)有偏移并且两条轨迹上的每个拐的角度略微不同。
[0009] 使用传统PDR的另一问题是轨迹的不同起始点。参考图2A,获得轨迹数据的假定的两个不同实例。对于大部分(但不完全)重叠并且具有不同起始点的两条路径数据可以获得所述数据。例如,办公室内的两个不同个体可以有不同的小卧室(不同的起始点),但是可能另外经过室内位置中的某些公共部分。在任意情况中,每个实例的最初起始点可能不同并且路径不必相同。如所示。在大多数一般情况下,起始点是偏移的。有不同起始点的事实,连同陀螺仪和罗盘的错误一起,造成的结果是,两条轨迹当绘制在同一坐标系统中时可能完全地不匹配,如图2B中所示的迹线205和210。对于大多数基于室内轨迹的定位系统来说,这是基本的问题。
[0010] 现有技术中,提高准确性并且准许匹配不同路径的各种解决方案通常需要用户手动地提供的轨迹或信息的现有知识,因而该技术不是完全自动地。例如,一些方法要求特殊的训练数据、地标的标识或特殊的蓝牙节点。
[0011] 因此,鉴于这些问题,开发了本发明。
[0012] [解决方案]
[0013] 根据实施例,用于使用周围信号确定轨迹的方法可以包含针对多个众包路径收集轨迹数据,其中针对多个路径中的每个路径的轨迹数据与至少一个唯一可识别的周围信号关联;并且基于针对多个众包路径的轨迹数据及其至少一个关联的周围信号来自动地确定路径的形状。
[0014] [有益的效果]
[0015] 可以获得使用GPS的不同房间内的用户的位置,并且可以通过使用众包获得内部的地图和用户的移动信息。附图说明
[0016] 图1A和图1B示出了根据现有技术在匹配轨迹数据的两条迹线中传感器错误的问题。
[0017] 图2A和图2B示出了根据现有技术在匹配轨迹数据的两条迹线中初始偏移的问题。
[0018] 图3示出了根据本发明的实施例的系统。
[0019] 图4示出了根据本发明的实施例的系统。
[0020] 图5示出了根据本发明的实施例经众包自动地确定路径的方法。
[0021] 图6示出了根据本发明的实施例经众包自动地确定路径的方法。
[0022] 图7示出了根据本发明的实施例通过以具有所选择的长度的步子检查子轨迹来执行转弯检测的方面。
[0023] 图8示出了根据本发明的实施例调整步子长度以组合转弯。
[0024] 图9示出了根据本发明的实施例的轨迹调整。
[0025] 图10示出了根据本发明的实施例的匹配评估的方面。
[0026] 图11示出了根据本发明的实施例用于生成链接节点结构的方法。
[0027] 图12示出了根据本发明的实施例用于更新链接节点结构的方法。
[0028] 图13示出了根据本发明的实施例用于生成并且更新链接节点结构的方法。
[0029] 图14示出了根据本发明的实施例通过大型购物中心的路径的框图
[0030] 图15示出了根据本发明的实施例的具有锚定点的迹线。
[0031] 图16示出了根据本发明的实施例的链接节点结构和关联的迹线。
[0032] 图17示出了根据本发明的实施例通过大型购物中心的路径的框图。
[0033] 图18示出了根据本发明的实施例的两条迹线。
[0034] 图19示出了根据本发明的实施例的具有锚定点的迹线。
[0035] 图20示出了根据本发明的实施例迹线中的点和链接节点结构的匹配。
[0036] 图21示出了根据本发明的实施例的经修改的链接节点结构。
[0037] 图22示出了根据本发明的实施例合并两条迹线。
[0038] 图23示出了根据本发明的实施例旋转迹线。

具体实施方式

[0039] [最佳方式]
[0040] 根据示例实施例提供一种方法。该方法包含针对多个众包路径收集轨迹数据,其中针对多个路径中的每个路径的轨迹数据与至少一个唯一可识别的周围信号关联;并且基于针对多个众包路径的轨迹数据及其至少一个关联的周围信号自动地确定路径的形状。
[0041] 根据示例实施例,自动地确定路径的形状包含使用至少一个关联的周围信号匹配针对多个众包路径的轨迹数据。
[0042] 根据示例实施例,匹配包含识别多个众包路径的每个中的轨迹数据的锚定点并且基于锚定点执行匹配,其中锚定点与个体众包路径的轨迹数据的特性中的转变相对应。
[0043] 根据示例实施例,周围信号包含指示移动设备的移动状态的轨迹数据,所述转变与从包括移动设备的转弯、移动的方向、移动模式的组中选择的至少一个成员相对应。
[0044] 根据示例实施例,基于锚定点执行匹配包含识别锚定点的匹配模式。
[0045] 根据示例实施例,识别锚定点的匹配模式包含识别移动设备的转弯。
[0046] 根据示例实施例,识别转弯包含选择子轨迹步子长度并且确定是否满足阈值角度条件。
[0047] 根据示例实施例,步子长度依据检测到的转弯的类型而被不同地调整,并且转弯的类型基于与转弯对应的轨迹的点处的曲率而确定。
[0048] 根据示例实施例,该方法包含通过从大于预定的第一阈值转弯曲率的转弯和小于预定的第二阈值转弯曲率的转弯的组合中选择至少一个末尾转弯来识别显著的转弯。
[0049] 根据示例实施例,该方法包含基于针对多个众包路径中的两个众包路径的锚定点评估匹配的结果,其中所述评估是基于各自的周围信号的相似度。
[0050] 根据示例实施例,评估匹配的结果进一步包含获得将包括在两条众包路径中的转弯彼此组合的情况的数目。
[0051] 根据示例实施例,匹配是至少部分地基于周围信号的相似度而评估的。
[0052] 根据示例实施例,所述匹配包含基于计算周围信号相似度并且将周围信号相似度除以距离因子来确定分数。
[0053] 根据示例实施例,所述匹配进一步包含转换和旋转轨迹数据以将轨迹数据调整为对齐。
[0054] 根据示例实施例,周围信号包含由Wi-Fi信号、蓝牙信号、声音、图像信号、磁信号和光学信号构成的组中的至少一个成员。
[0055] 根据示例实施例,来自多个移动设备聚集轨迹数据。
[0056] 根据示例实施例,每个移动设备包括至少一个传感器以生成轨迹数据。
[0057] 根据本公开的一方面,一种方法包含基于一个或多个迹线维护链接节点结构,其中:链接节点结构包括一个或多个节点和一个或多个链路;每个节点与一个或多个迹线贯穿的特定地理位置关联;并且每个链路连接一对节点,其指示与相连接的节点关联的位置之间可用的路径;将新的迹线的一个或多个点与链接节点结构中的一个或多个节点匹配,其中每个点基于新的迹线中可识别的变化而被识别;并且基于所述匹配更新链接节点结构。
[0058] 根据本公开的一方面,一种系统包含收集器,其用于针对多个众包路径收集轨迹数据,其中针对多个路径中的每个路径的轨迹数据与至少一个唯一可识别的周围信号关联;和处理器,其用于基于针对多个众包路径的轨迹数据及其至少一个关联的周围信号来自动地确定路径的形状。
[0059] 根据本公开的一方面,记录介质包括用于使用周围信号执行轨迹匹配方法的程序。
[0060] [用于发明的方式]
[0061] 本说明书中,众包指代在数据收集中公众的参与。即,在确定目标路径方面,众包意思是从正通过或已通过相同空间的非特定的大数目的个体设备中接收包含关于路径的轨迹数据的周围信号。
[0062] 此外,转弯指代移动设备的移动方向的变化。急转弯是与该转弯对应的轨迹点的曲率大于预定的第一阈值曲率的转弯。缓转弯是与该转弯对应的轨迹点的曲率小于预定的第二阈值曲率的转弯。第一阈值曲率可被设置为具有和第二阈值曲率相同的值。
[0063] 此外,匹配指代将多个轨迹或迹线的形状的至少部分匹配在一起。在一实施例中,匹配可被用来通过将包含偏移的多个轨迹或迹线根据其形状来移动以消除偏移。此时,偏移指代多个轨迹或迹线的形状对于至少部分来说可以互相匹配的程度。
[0064] 参考附图,将描述本公开。
[0065] 图3是根据实施例示出系统的示意图。根据实施例的系统可以是包含处理器(320)和收集器(310)的计算设备(300)。
[0066] 计算设备(300)可以进一步包含用于接收收集的周围信号的收集器(310),该信号是已收集或正收集的周围信号。收集器(310)对于多个众包路径,收集与可被识别的至少一个唯一的周围信号关联的迹线数据。
[0067] 处理器(320)使用针对众包路径的轨迹数据和至少一个关联的周围信号来自动地确定路径的形状。计算设备(300)可以是计算机或服务器,但不限于此。
[0068] 图4示出了示例系统环境。系统环境(400)包含多个移动设备(405-1到405-N)和计算设备。图3的计算设备(300)可以与图4的计算设备(400)相对应。例如,收集器(310)和处理器(320)所执行的操作可以由计算设备(450)的众包轨迹数据聚集存储装置(430)、自动的地图生成器(440)、具有处理器和存储器硬件元件(490)中的至少一个执行。
[0069] 在一实施例中,个体移动设备(405-1到405-N)生成位置数据。个体移动设备提供周围信号(415-1到415-N),该信号包括提供相对顺序位置信息的迹线数据,从相对顺序位置信息中可以直接或间接地确定轨迹数据。个体周围信号(415-1到415-N)优选地包括唯一ID或唯一特性。在以下描述中,迹线可以指示迹线数据。
[0070] 轨迹数据是由收集并存储轨迹数据的众包数据聚集和存储单元330收集的。在一实施例中,位置数据是通过行人航位推算(PDR)生成的,其利用移动设备的机载(on-board)传感器和定位子系统407来估计移动设备的位置并且生成轨迹数据。在各种实施例中,定位子系统407估计相对于确定的起始点或第一位置的位置,如,第一位置可以是x-y坐标系统中的0,0。然而,可以理解,任何合适的定位系统或坐标系统都可以被使用。对于PDR的情况,移动设备的机载传感器的示例可以包括陀螺仪、罗盘和加速计以基于传感器数据和诸如步子长度的因素来确定行人运动。更一般地,移动设备的定位子系统407可以使用其它技术生成位置数据并且包括移动设备所生成的任意轨迹数据。数据的某些类型,诸如GPS数据,可以只对某些情形,诸如户外活动,是可用的。因此,将理解,如果不同类型的轨迹数据是可用的,则两个或更多个不同类型的轨迹可以被使用。轨迹数据可以在室内环境中或户外环境中收集。
[0071] 每个移动设备(405-1到405-N)可以,例如,被实现为其上具有机载传感器、处理器、存储器和无线通信能力的智能电话。然而,更一般地,移动设备(405-1到405-N)不限于智能电话实现方式并且可以包括其它类型的移动设备,诸如移动机器人、移动车辆,或汽车等。
[0072] 在示例实施例中,计算设备(450)可以包含数据聚集存储装置(430)、地图生成器(440)、以及具有处理器和存储器的硬件元件(490)。数据聚集和存储单元430从至少两个移动设备并且优选地从多个移动设备N中收集并且存储轨迹数据,以便针对所选择的位置众包轨迹数据的收集。该位置可以是室内建筑。然而,更一般地,该位置不必须限于室内建筑。对于不同移动设备收集的迹线数据不必须限于在完全相同路径上获得的数据,并且可以与以下路径相对应:略微不同的路径、部分重叠的路径或具有不同偏移的路径,诸如当多个用户步行经过不迫使用户步行经过完全相同的路径的建筑物或区域时可能发生的。将理解,数据聚集和存储单元430包括诸如处理器、存储器的硬件。数据聚集和存储单元430还可以直接地接收并检测周围信号或从另一信号检测实体接收该信息。
[0073] 周围信号优选地包括唯一ID以识别个体的迹线,诸如移动设备ID或MAC ID,尽管这不是要求。周围信号可以使用Wi-Fi信号或蓝牙信号来实现,尽管更一般地,它可以通过诸如光学图像、磁性的/电磁的、声音和光的其它信号传送介质来实现。
[0074] 在一实施例中,自动的地图生成单元440包括检测个体迹线中的锚定点的单元442、执行轨迹匹配的单元444、执行轨迹合并和校正的单元446、以及执行路径地图绘制的单元448。如果轨迹是来自相同位置,则轨迹合并和校正单元446合并来自多个用户的轨迹。
地图绘制单元448一并根据已合并的和已校正的轨迹生成地图,其还可以包括从用户收集的其它数据。自动的地图生成单元440的单元可以被实现为驻留在计算系统上的软件,该计算系统包括诸如至少一个处理器和存储器的硬件元件490。
[0075] 图5示出了根据本发明的实施例的方法的流程图。块505中,轨迹数据是针对多个众包路径而收集的。针对多个路径中的每个路径的轨迹数据与至少一个唯一可识别的周围信号关联,在块510中在多个众包路径中的每个路径中识别锚定点。
[0076] 锚定点与轨迹数据的特性的转变相对应,该轨迹数据的特性的转变是诸如与转弯、停止、速度变化、跳跃的事件关联的方位或加速度的变化、或者该轨迹数据的特性是诸如开的特定用户活动的特性。此外,对于移动车辆或汽车的情况,锚定点可以与诸如与速度变化、停止、跳跃或路径上的阻碍关联的变化的特性的转变相对应。轨迹数据的第一迹线中的锚定点的第一集合可以像指纹一样来使用以识别第一模式。轨迹数据的第二迹线中的锚定点的第二集合可以具有与第一模式潜在对应的第二模式。第一模式和第二模式之间的潜在的匹配可以被评估。
[0077] 如块515所示,个体众包路径可以基于锚定点来匹配。考虑到传感器错误和潜在的偏移,两条迹线可以彼此转变和旋转以使迹线达到校正的对齐。迹线调整/校正还可以使用几何地图绘制操作来执行以将一对迹线与所匹配的锚定点的特定集合对齐。这可以包括迹线的旋转和转变以执行迹线调整/校正。替换地,轨迹的几何形状可以被用来确定几何调整/校正。可以在给定位置中对不同迹线的轨迹数据的所有可能匹配执行该过程,其导致潜在地大数目的可能匹配。
[0078] 一个或多个规则可以被包括以基于周围信号的特性消除不可能的组合。例如,锚定点的某些匹配可以作为排列理论上是可能的,但在考虑到对潜在的周围信号的相似度的估计方面是极不可能的。因此,在一实施例中,为匹配而正考虑的两个迹线的周围信号的特性被分析以消除不可能的匹配。
[0079] 块520中评估最佳匹配。通过考虑匹配的周围信号的相似度和正被匹配的轨迹的几何方面两者来执行评估。即使周围信号具有高的相似度,几何距离也可能不利于给予匹配一个高分数。在一实施例中,打分算法可以基于周围信号的相似度的计算并且进一步考虑与成对的锚定点关联的几何距离,来给匹配定级。所有可能的匹配都被评估并且具有最高分的匹配被选择。路径的形状可以基于最佳匹配而在块525中被自动地确定。尽管示出了两条迹线,更一般地,该过程可以被扩展为评估多个迹线并且选择最可能的路径。
[0080] 图6是示出了针对锚定点是转弯的情况经由众包自动地确定路径的方法的方面的流程图。以下每个块提供额外说明性例证。在这一示例中,块605中针对轨迹数据A和B的两条迹线写入迹线数据。原始的迹线数据可能具有传感器错误和偏移。而且,原始的迹线数据可能与部分重叠的路径或具有偏移的路径相对应。因此,迹线A和B具有不同的形状。在这一示例中,锚定点是转弯并且在块610中在迹线数据中检测转弯。这导致迹线A已检测到转弯1和2。迹线B已检测到转弯1、2和3。这导致将在块615评估两条迹线的潜在的转弯匹配的过程中考虑的各种排列。在这一示例中,存在转弯锚定点的六种可能的匹配。例如,贯穿所有不同的可能排列,迹线A的转弯1可以与迹线B的转弯1匹配并且迹线A的转弯2可以与迹线B的转弯2匹配等等。
[0081] 分析转弯匹配排列的目的是生成两条轨迹的所有可能的匹配。例如,轨迹A中有两个转弯:A1和A2;并且另一轨迹B中有两个转弯:B1和B2。对于这些转弯,可能的组合是:
[0082] (A1,B1),(A2,B2)
[0083] (A1,B2),(A2,B1)
[0084] (A1,NULL),(A2,B1)
[0085] (A1,NULL),(A2,B2)
[0086] (A2,NULL),(A1,B1)
[0087] (A2,NULL),(A1,B2)
[0088] 这里假定存在至少一个转弯匹配并且可能有空(Null)结果,其中当转弯不与其它轨迹中有任何匹配时就出现了空结果。在这一示例中,两条迹线具有不同数目的检测到的转弯,因而对于一些可能的排列出现空结果。
[0089] 为了减少将来步骤中的计算,在一实施例中,基于对于周围信号的信号相似度测试来移除不可能的(或更准确地说,极不可能的)组合。
[0090] 在一实施例中,周围信号是Wi-Fi信号并且通过计算两个拐角之间的Wi-Fi相似度来移除不可能的(或极不可能的)组合。Wi-Fi信号在两个转弯处被找到。给定两个Wi-Fi扫描信号A和B:
[0091] A={ap1:rss1,ap2:rss2,api:rssi,…}
[0092] B={ap1:rss1,ap2:rss2,apj:rssj,…}
[0093] 然后谷本相似度(Tanimoto similarity)可以被用来按下式计算两个信号的相似度。
[0094] [等式1]
[0095]
[0096] 在以上示例中,如果转弯A1和B1之间的Wi-Fi相似度小于阈值,则将移除包含(A1,B1)的匹配的所有组合。因而最后可能的组合将是
[0097] (A1,B2),(A2,B1)
[0098] (A1,NULL),(A2,B1)
[0099] (A1,NULL),(A2,B2)
[0100] (A2,NULL),(A1,B2)
[0101] 注意到这一相似度公式可以被应用于其它的周围信号和为了减少要考虑的组合的数目而执行的相似的阈值测试。
[0102] 额外的轨迹调整(迹线调整)可以基于块625中所示的转弯匹配而执行。即,对针对锚定点的给定匹配的两条轨迹执行调整。图6示出了如何使两条迹线针对锚定点的给定排列对齐的不同示例。
[0103] 然后在块630中执行匹配评估以选择最佳匹配。即,每个轨迹组合的可能性被评估。在这一示例中,从六个可能的组合中选择最佳匹配。
[0104] 将理解该过程可以继续用于额外的迹线。在最初的两条迹线被匹配后,这两条迹线将被合并为一条迹线,其用来匹配其它迹线。
[0105] 图7示出了根据实施例的转弯检测的方面。在一实施例中,具有步子长度S的子迹线滑动窗口被用于转弯检测。因而,单一的迹线被作为一连串的子迹线来分析,其中当移动滑动窗口时,在一连串的步子中考虑所述一连串的子迹线。对于每个子迹线,对在窗口中的子迹线的起始的第一点(位置0处)、子迹线的中点(位置S/2处)和子迹线的终点(位置S-1处)之间形成的角度执行计算。在一实施例中,为针对每个子轨迹计算出的角度而设置阈值t。如果角度大于t,则在步子S/2处的中点被作为轨迹上潜在的转弯点来对待。如果有角度大于t的连续的子轨迹,则选择具有最小角度的子轨迹的点S/2作为转弯点并且忽略这些连续的子轨迹中的所有其它转弯点。该过程被继续以利用某个数目的步子S检验所有子轨迹。
[0106] 图8示出了优化缓转弯和急转弯的检测的混合方法。如图8所示,轨迹数据可以包括缓转弯和急转弯的组合。在迹线805中,沿着具有急转弯的被定位的区域T2示出缓转弯T1。在一实施例中,参数设置可被选择以只选择显著的转弯。例如,可以通过包括规则——如果若干转弯彼此靠近(诸如区域T2中)则只包括起始和末尾转弯——来消除急转弯。
[0107] 调整参数S的值是调整检测缓转弯和急转弯的能力的一种方式。如果S被设置得较长,则该检测算法可以检测缓转弯但不能准确地检测靠近的转弯(如图8中的第二曲线810所示)。另一方面,如果S被设置的较小(如较小的点的大小所示),则它可以检测形状非常精细的转弯但是可能错过缓转弯,其通常发生在大的室内空间,如大型购物中心(如图8中第三曲线815所示)。
[0108] 曲线820示出了使用参数S的两个不同值的混合方法。在转弯检测的第一轮中,S的较大值被用来检测轨迹中的缓转弯。在转弯检测的第二轮中,S的较小值被用来检测轨迹中精细的和急的转弯。两个转弯检测结果之后被组合以获得混合的结果。当组合两个转弯检测结果时,移走“急转弯”附近的“缓转弯”,如第四曲线820所示。
[0109] 此外,在一实施例中,从附近的转弯集合中只选择一个转弯,如第五曲线825所示。曲线825中的结果是组合了许多附近的急转弯。将理解,用于该混合方法的参数可以被适配并且被选择以优化对于特定应用的结果,以便检测对于识别感兴趣的路径非常重要的转弯。
[0110] 图9示出了用于匹配两条迹线的轨迹调整的额外的方面。在一实施例中,轨迹调整遵循一条轨迹上的转弯的顺序并且一个接一个地合并已匹配的转弯。对于第一匹配的转弯,一条轨迹上的转弯被转变为另一轨迹上的转弯。对于接下来的转弯,转弯被旋转到新坐标,其是通过合并两个匹配的转弯而计算的。在转弯调整期间,只允许转变和旋转操作。将理解,转变和旋转操作中的变化是可能的,以获得相似的结果。
[0111] 图10示出了匹配评估的额外的方面。针对每对转弯计算相似度,该相似度对于Wi-Fi信号作为周围信号的情况来说是Wi-Fi相似度。计算每对转弯的距离。然后针对每对转弯计算平均分。因而,在这一示例中,两个迹线具有A-1转弯对和B-2转弯对。
[0112] 匹配评估给予每个可调整轨迹对一个分数以指示该轨迹匹配的可能性。评估算法基于如下观察——如果两个转弯/拐角位于相同地方,则与这两个转弯关联的Wi-Fi信号(或其它周围信号)将是非常相似的。并且如果这两个转弯在轨迹中正确地匹配,则相匹配的这两个转弯的距离将是小的。
[0113] 基于以上观察,然后计算分数S:
[0114] S=Wi-Fi相似度/转弯距离
[0115] 给定两个Wi-Fi扫描信号:
[0116] A={ap1:rss1,ap2:rss2,api:rssi,…}
[0117] B={ap1:rss1,ap2:rss2,apj:rssj,…}
[0118] 谷本相似度被用来计算这两个信号的相似度:
[0119] [等式2]
[0120]
[0121] 欧氏距离(Euclidean distance)被用来计算转弯距离。如果两个转弯的坐标是(x1,y1)和(x2,y2),则转弯距离被计算为:
[0122] d=sqrt((x1-x2)^2+(y1-y2)^2)
[0123] 对于附近的转弯对,结果是,如果轨迹调整使轨迹接近真实(地面值),则转弯距离将更小。否则转弯距离将更大。每对的Wi-Fi相似度将保持不变。该分数是所有附近的转弯对的平均分。从而,较好的匹配将具有较高分数S并且较差的匹配将产生较低的分数S。然后选择产生最高分数S的匹配。
[0124] 尽管已结合特定实施例描述了本发明,但是将明白这不意图将本发明限制于所描述的实施例。相反,它意图涵盖可以包括在所附权利要求定义的本发明的精神和范围内的替换、修改和等同物。本发明可以在没有一些或所有的具体细节的情况下被实践。此外,可以不具体描述周知的特性以免不必要地模糊本发明。
[0125] 根据本发明,组件、处理步骤和/或数据结构可以使用各种类型的操作系统、编程语言、计算平台、计算机程序和/或通用机来实现。此外,本领域普通技术人员将意识到较低通用性的设备,诸如硬连线设备、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等,也可以在不脱离这里所公开的发明构思的范围和精神的情况下使用。本发明也可以有形地具体化为存储在诸如存储设备的计算机可读介质上的计算机指令集。
[0126] 链接节点结构
[0127] 一些前述实施例描述了用于识别迹线中的转弯、匹配转弯和合并轨迹的技术。即,在各种实施方式中,从多个移动设备(405-1到405-N)收集轨迹数据。轨迹数据可以,例如,反映诸如购物中心、购物区、游乐园等室内或室外区域中的多个用户的移动。在个体的迹线中检测锚定点(如,转弯点、跳跃、速度变化等)。基于锚定点匹配个体的众包路径。相应的迹线可以基于锚定点的匹配而关于另一个迹线进行转变和旋转。如,以上结合图3-9讨论的上述技术的示例。
[0128] 在各种实施例中,链接节点结构被用来表示多个迹线的匹配与合并。链接节点结构是包括或指示与链路连接的多个节点的任意结构。每个节点与地理位置和/或锚定点相对应。当链路连接两个节点时,在各种实施例中,它指示用户可以在与这两个节点相对应的地理位置之间直接地移动,而不跨过任何其它已知的节点/锚定点。一般地,任意适合的软件或硬件可被用来生成链接节点结构。在一些实施例中,例如,链接节点结构是指示或表示具有节点、链路和分支的树形或类树形结构的数据结构,尽管这不是必须的并且多种其它结构也可以被使用。
[0129] 链接节点结构可以基于合并的迹线来帮助简化迹线的处理以及便利地图和导引应用的使用。当额外的众包迹线被收集时,节点和链路被添加到链接节点结构以反映最新收集的迹线。随时间,链接节点结构可以基于到该时间点已被收集并分析的所有众包路径,来表示不同锚定点/位置之间的所有已知路径。由于链接节点结构被布置的方式,在各种实施例中,与从合并的迹线本身获取有用的数据相比,计算机有时候可以更快且更高效地从链接节点结构获得有用的数据(如,地图数据、导引数据等)。
[0130] 接下来参考图11,将描述用于基于初始迹线生成链接节点结构的示例方法1100。在这一示例中,服务器(如,众包数据聚集和存储单元430)执行方法1100,尽管任意适合的计算设备也可以执行该方法。一般地,执行方法1100的设备有权访问多个众包迹线,如服务器已从多个移动设备(405-1到405-N)接收的轨迹数据。
[0131] 步骤1102中,获得形成迹线的轨迹数据。这个轨迹数据可以是以上描述的轨迹数据(如,移动设备(405-1到405-N)获得的轨迹数据)。轨迹数据可以包括PDR数据、基于移动设备(405-1到405-N)所接收的周围信号的周围信号数据、或适合用于跟踪或识别设备的位置和环境随时间的变化的任何其它数据。在一些实施例中,例如,每个迹线由多个点形成并且每个点与位置(如,使用x,y坐标表达)、时间戳(如,指示移动设备(405-1到405-N)何时到达该位置)和周围信号数据(如,指示从设备接收的信号在相对应的位置处的强度的数据)关联。周围信号可以包括但不限于WiFi信号、蓝牙信号、超声信号、基于光的信号和/或任何类型的信号,移动设备(405-1到405-N)检测的特性或参数。
[0132] 移动路径1402和相应的迹线1401的示例在图14和图15中示出。图14示出室内位置如在这一示例中大型购物中心1404的示例布局。大型购物中心1404包括各种室内商店、墙、结构和过道。图14还包括粗略地指示带着移动设备(405-1到405-N)的用户经该购物中心的移动的路径1402。图15示出了表示在移动设备(405-1到405-N)正穿过路径1402时所收集的轨迹数据的迹线1500。在这一示例中,迹线1500是基于PDR数据的并且因此由许多个体数据点组成,其中每个数据点指示移动设备(405-1到405-N)在不同时刻所处的特定地理位置。
[0133] 回顾图11,步骤1104中,识别迹线1500中的锚定点。锚定点之前在本申请中描述过。在一些实施例中,锚定点与轨迹数据的特性的转变相对应,诸如方位或加速度的变化,如转弯、速度变化、跳跃等。用于确定锚定点的任何前述的技术都可以例如按照结合图5的步骤510和图6-8所描述的那样使用。
[0134] 图15示出了在迹线1500中识别到的锚定点的示例集合。图15包括迹线1500以及锚定点1504a、1504b、1504c、1504d和1504e。在这一具体示例中,每个锚定点指示其中检测到转弯或迹线开始和结束时的迹线1500的部分。即,迹线开始于锚定点1504a,结束于1504e,并且包括在锚定点处1504b、1504c和1504d处的转弯。
[0135] 如先前讨论的,每个锚定点可以与多种额外的数据关联。在所示的实施例中,例如,每个锚定点与轨迹/位置数据和周围信号数据关联。轨迹数据指示,例如基于移动设备(405-1到405-N)收集的PDR数据的,特定地理位置。周围信号数据指示当移动设备(405-1到405-N)在相应的地理位置处时所获得的信号(如,RF信号、Wi-Fi信号、蓝牙信号、传感器数据等)的特性。例如,在一些实施例中,周围信号数据指示当移动设备(405-1到405-N)在相应的地理位置处时所接收的信号(如,Wi-Fi、蓝牙等)的强度。周围信号数据还可以包括指示发送信号的设备的身份的数据(如,蓝牙/WiFi信号发送设备的MAC地址)。在各种实现方式中,锚定点数据包括时间戳,如指示特定移动设备(405-1到405-N)何时到达锚定点位置的时间戳。
[0136] 回顾图11,步骤1106中,基于锚定点和/或迹线生成链接节点结构。链接节点结构可以是被布置为帮助指示地理位置/锚定点之间的路径或链路的任意结构(如,软件数据结构)。
[0137] 图16中示出了示例链接节点结构1600。在这一示例中,链接节点结构1600是树形或类树形结构,尽管这不是必须的。链接节点结构1600包括与多个链路1606相连接的多个节点1604a、1604b、1604c、1604d和1604e。如图16所示,每个节点与图15所示的迹线1500的锚定点相对应。在这一示例中,每个节点包括所有锚定点数据(如,轨迹数据、周围信号数据、地理位置、时间戳等)或者与所有锚定点数据关联,其中所有锚定点数据与相应的锚定点关联。
[0138] 有多种方式来构筑链接节点结构。在所示实施例中,例如,以下过程被用来生成链接节点结构1600的节点和链路:
[0139] 1)获得迹线中的第一锚定点,即其相应的地理位置最先被帮助形成迹线的用户/移动设备访问的锚定点;
[0140] 2)基于第一锚定点生成节点。这一节点是链接节点结构的第一节点(根);
[0141] 3)检查该迹线以查明该迹线中是否有未被列入链接节点结构的其它锚定点。如果该迹线中没有更多锚定点,则链接节点结构已完成;
[0142] 4)如果仍有未被列入链接节点结构的一个或多个锚定点,则按照该用户/移动设备访问锚定点的顺序移动到下一锚定点;
[0143] 5)基于下一锚定点生成节点;创建这一节点和先前创建的节点之间的链路。
[0144] 6)返回到上面的步骤3)。
[0145] 在图16所示的示例中,以上过程导致链接节点结构1600。链接节点结构包括分别与图15的锚定点1504a-1504e相对应的节点1604a-1604e。每个节点与数据(如,轨迹数据、周围信号数据、地理位置等)关联或包括该数据,其中该数据与其相对应的锚定点关联。
[0146] 在所示的实施例中,两个节点之间的每个链路指示在与节点关联的地理位置之间有直接的路径。例如,假定节点1604b表示位置X并且节点1604c表示地址Y。该节点之间的链路指示用户可以在位置X和Y之间移动而不遇到作为用于确定锚定点的基础的特性、位置和/或信号中的任何一个。在所示的实施例中,例如,锚定点表示移动设备的移动路径中的转弯。因而,节点1604b和1604c之间的链路指的是用户无需转弯和/或大幅改变方向就可以在位置X和Y之间穿过。(这也可以在图14中看到,其指示连接位置X和Y的直接通道。)[0147] 应当理解,链接节点结构不需要确实地包括或涉及有区别的链路和节点。基于该迹线(如,原始PDR数据或周围信号数据)但区别于该迹线的、帮助指示前述链接节点结构的至少一些特征的任意合适的数据或结构(如,基于软件或硬件的数据结构)也可以被使用。
[0148] 一般地,每个节点包括节点数据或与节点数据关联。如之前指出的,每个节点是基于锚定点生成的,并且因此节点数据与相应锚定点所关联的数据相同或者基于该数据。在各种实施例中,每个节点因而与轨迹/位置数据(如,PDR数据或帮助指示地理位置的任何其它数据)、周围信号数据(如,在该位置处接收的周围信号的强度)和/或时间戳(如,指示移动设备305何时到达该地理位置)关联。此外,节点数据可以包括任意其它适合的参数和值。在一些实施方式中,例如,节点数据还包括通过值(passthrough value),其指示多少路径或迹线已通过了与该节点关联的地理位置。在图16所示的示例中,由于已经基于单一的迹线生成链接节点结构1600,所以节点1604a-1604e的每一个都有大小为1的通过值。
[0149] 一旦基于所选择的迹线形成了链接节点结构,就分析额外的迹线。这些的迹线中的一些和链接节点结构可以涉及同一普通地理区域(如,图14的大型购物中心1404),尽管它们具有不同的物理起点和终点。重叠的迹线然后可以被合并以创建该地理区域的模型。链接节点结构被调整以考虑合并的迹线及其各自的锚定点。因而,在各种实施方式中,链接节点结构反映从重叠在特定地理区域中的多个迹线中获得的路线和导航信息。在图12中描述这一过程的示例。
[0150] 图12是用于使用链接节点结构来合并迹线的示例方法1200的流程图。方法1200假定链接节点结构已被形成(如,图11的方法1100中描述的)。在这一示例中,任何合适的服务器(如,众包数据聚集和存储单元430)执行方法1200,尽管任何合适的计算设备也可以执行该方法。一般地,执行方法1200的设备有权访问多个众包迹线,如已经从许多移动设备(405-1到405-N)接收的轨迹数据。
[0151] 步骤1202中,针对新的迹线获得轨迹数据。这一迹线,例如,可以是基于已由多个移动设备(405-1到405-N)收集的众包轨迹数据的许多迹线的其中一个,如先前讨论地。
[0152] 图17和图18示出了步骤1202的示例实现方式。图17再一次示出了图14所示的大型购物中心1404。图14所示的移动路径1402也在图17中以细线示出。较粗的线粗略地表示在同一购物中心中的其它用户和不同移动设备采用的另一路径1702。(应当注意,路径1702也可能已被循着路径1402的同一移动设备穿过。)移动路径1402和1702在某些程度上重叠。
[0153] 图18示出了基于当移动设备(405-1到405-N)正通过路径1702时收集的轨迹数据的迹线1800。图18中,图15的迹线1500和迹线1800绘制在同一坐标系。从图17,可以看出理想情况下迹线1500和1800应当是很大部分重叠的,因为它们是基于相互交叉的移动路径1402/1702。然而,由于轨迹数据中的传感器/陀螺仪噪声和其它错误,迹线在某种程度上彼此偏移并且不对齐。这将使用链接节点结构在稍后的步骤中得到校正。
[0154] 回顾图12,步骤1204中,在新的迹线中识别锚定点。锚定点的识别或确定可以使用任意前述的技术(如,结合图5的步骤510、图6-8和图11的步骤1104所述)执行。这一步骤的示例实现方式在图19示出,其示出了迹线1800中被识别的多个锚定点1904a、1904b、1904c和1904d。再一次,在这一示例中,每个锚定点指示被跟踪的移动的开始、被跟踪的移动的结束、或转弯(如,方向上的改变),尽管在其它实施例中,锚定点可以基于不同特征来确定。
[0155] 图12的步骤1206中,找到匹配的点。更具体地,关于链接节点结构的任意节点和新迹线的锚定点是否匹配,做出确定。如先前讨论地,链接节点结构的每个节点与例如轨迹数据和周围信号数据的各种类型的数据关联。这一数据帮助指示与该节点相对应的地理位置。新迹线的每个锚定点也与这样的数据和地理位置关联。关于链接节点结构的任意节点是否对应于与任意锚定点相同的地理位置,做出确定。
[0156] 匹配过程可以以任意适合的方式执行。在一些实施例中,例如,针对每个节点和锚定点的周围信号数据(如,从诸如WiFi接入点或蓝牙信号发送设备的各种设备接收的信号的信号强度数据)被分析以确定该节点和锚定点是否匹配。一些实施方式涉及确定针对每个节点和锚定点的周围信号数据之间的谷本相似度(如,本申请先前讨论地)。如果谷本相似度明显足够和/或超过预定的阈值,则确定该节点和锚定点匹配。
[0157] 此外,先前结合图5和图6(图5的步骤510、515和520以及图6的块610和615)讨论的任意技术可以被用来确定锚定点和节点之间的匹配。一些前述的技术被用来将一条迹线中的锚定点与另一条迹线中的锚定点匹配。更具体地,一些这样的技术使用与锚定点关联的数据(如,周围信号数据)以匹配不同迹线的锚定点。在各种实施例中,相同技术被用来确定链接节点结构的每个节点和新迹线的每个锚定点之间的匹配,这是由于通常节点和锚定点与相同或相似类型的数据(如,周围信号数据、位置/轨迹数据等)关联。
[0158] 图20中示出步骤1206的示例实施方式,其涉及将链接节点结构的节点与新迹线的锚定点相匹配。图20指示分别在链接节点结构的节点1604c和新迹线1800的锚定点1904c之间、链接节点结构的节点1604d和新迹线1800的锚定点1904b之间找到匹配。节点1604c和1604d与初始迹线1500的锚定点1504b和1504c相对应(如图20所示),其是链接节点结构
1600的基础。因而,该匹配指示迹线1500的锚定点1504b、迹线1800的锚定点1904c和节点
1604c与图17的同一地理位置A关联。该匹配还可以指示迹线1500的锚定点1504c、迹线1800的锚定点1904b和节点1604d与图17的同一地理位置B关联。
[0159] 回顾图12,一旦匹配点(即,相匹配的节点和锚定点)已被确定,则参考点被确定。参考点是从匹配点中选择的。它通常被理解为具有最高准确性——即具有准确的关联的数据(如,周围信号数据、位置数据、PDR数据等)的最高可能性——的匹配点。
[0160] 选择其中一个匹配点作为参考点,可以以多种方式执行。在一些实施例中,例如,期望选择用户最早访问的那个匹配点。即,如先前描述地,每个节点或锚定点是基于迹线的,而迹线是由移动设备所获得的轨迹数据生成的。一般地,轨迹数据指示当用户的设备穿过该迹线的路径时用户和他的/她的设备访问各种锚定点的顺序。在一些实施例中,参考点是该设备相对于该设备到达其它匹配点的时刻最初到达的匹配点。换句话说,在一些实现方式中,这意味着该匹配点是最接近于链接节点结构的根的点,因为根节点是基于设备用户最初到达的迹线上的锚定点。此方法的可能的依据是一些类型的跟踪和PDR相关技术在用户开始沿着该迹线的路径时更准确,但是之后由于传感器噪声和其它跟踪错误,准确性随时间降低。然而,应当理解,任何合适的技术可以被用来确定匹配点的准确性并且从中选择参考点。
[0161] 图19中示出了步骤1208的示例实施方式。在这一示例中,节点1604c和锚定点1904c被确定为匹配并且因而共同地形成匹配点。节点1604d和锚定点1904d也被确定为匹配并且也共同地形成另一匹配点。确定节点1604c/锚定点1904c是参考点,部分地原因是,相对其它匹配点,节点1604c最接近链接节点结构1600的根节点(节点1604a),因此指示其是用户循着链接节点结构1500所基于的路径1402较早访问的。
[0162] 回顾图12,一旦参考点被选择,就使用该参考点转变新迹线(步骤1210)。即,参考点可以被用来确定新迹线和链接节点结构应当连接的合适的位置。链接节点结构被修改为考虑新迹线的连接。
[0163] 在各种实施例中,一个或多个节点和链路被添加到链接节点结构以考虑新迹线。依赖于链接节点结构的性质和不同应用的需要,这可以以多种方式执行。在一些实施例中例如可以遵循以下过程将节点添加到链接节点结构:
[0164] 1)在参考点处开始(即,与参考点对应的新迹线上的锚定点和链接节点结构的节点)。
[0165] 2)将节点添加到链接节点结构以考虑尚未被表示在链接节点结构中的并且与新迹线中的参考点直接连接的锚定点。与锚定点关联的数据被包括在新节点内或者与新节点关联。
[0166] 3)对于未表示在链接节点结构中的新迹线中的每个锚定点,将节点添加到该链接节点结构。新节点的数据与锚定点数据相同或者基于锚定点数据,如上所述。在节点之间创建适当的链路以指示迹线中的锚定点之间的直接连接。
[0167] 4)继续以上过程直到迹线中的所有锚定点都被列入链接节点结构。
[0168] 图21示出了示例实施方式。图21中,原始链接节点结构由节点1604a-1604d表示。参考点2102与节点1604c和新迹线1800的锚定点1904c(图20)相对应。由于锚定点1904d在迹线1800上直接连接到锚定点1904c,所以节点2104d被添加并且链接到节点1604c。节点
2104d与锚定点1904d的数据关联或者包括锚定点1904d的数据。锚定点1904b也直接地连接到锚定点1904c,但它已适当地通过节点1604d被列入链接节点结构,因为节点1604d直接地链接到节点1604c。未被表示在链接节点结构1600中的迹线1800上的其余锚定点是锚定点
1904a。锚定点1904a直接地链接到锚定点1904b,锚定点1904b与链接节点结构1600上的节点1604d匹配。因此,新节点被创建(节点2104a)并且直接地链接到节点1604d。节点2104a与针对锚定点1904a的数据关联或者包括针对锚定点1904a的数据。
[0169] 迹线还可以基于以上转变过程而被安排。即,链接节点结构所基于的(多个)迹线和新的迹线可以在参考点处相连接。这一方法的示例实施方式在图22中示出。应当记得在图18中,仅仅基于关联的轨迹数据,迹线1500和1800彼此错误地偏移。为了帮助校正这一错误,迹线1800被安排为使得它与迹线1500在参考点2102(即,与图20的节点1604c/锚定点1504b关联的位置)处相连接,如图21所示。新的迹线1800在锚定点1904c(即,图20中与锚定点1504b/节点1604c匹配的迹线1800上的匹配点)的位置处连接到参考点2102。即,与锚定点1904c关联的位置数据被修改以匹配与节点1604c关联的位置数据。
[0170] 回顾图12,步骤1212中,基于其它已知匹配点,新的迹线然后被旋转到适当的位置。这可以任何合适的方式执行。在一些实施方式中,例如,这一步骤涉及计算新迹线上的非参考匹配点的位置并且相应地重新定位该迹线。作为示例,新迹线上非参考匹配点的位置可以通过对链接节点结构和新迹线上相应的匹配点的位置取平均来确定。这帮助提高迹线的准确性。
[0171] 参考图20描述了这一方法的示例实施方式。迹线1800的非参考匹配点是锚定点1904b。链接节点结构1600的相应匹配点是1604d。如之前指出的,每个节点与节点数据关联并且每个锚定点与锚定点数据关联,两种数据都包括,例如轨迹/位置数据,诸如PDR数据。
出于这一示例的目的假定,针对节点1604d的PDR数据与位置X1关联并且针对锚定点1904b的PDR数据与位置Y1关联。在这一示例中,针对锚定点1904b的位置的新的位置是X1和Y1的平均。如果有额外的非参考匹配点,则它们的位置可以以相似的方式确定。
[0172] 一旦迹线上的非参考匹配点的位置被确定,则迹线可以基于最新确定的位置被重新对齐和/或旋转。这一操作的示例实施方式在图22中示出。图22中,尽管迹线1500/1800在参考点2102处连接,但它们是错位的。基于对迹线1800上的非参考匹配点(如,锚定点1904b)的位置的重新计算,迹线1700被旋转到适当的位置,如图23所示。通过比较图17和图
23所示,合并的迹线现在更好地与用户经过购物中心1404所走的实际路径1402/1702相似,其中迹线1500/1800被意图表示该实际路径。
[0173] 此外,可以对新的迹线进行其它调整以便提高其准确性。在一些实施例中,例如,周围信号数据被用来修改迹线。如之前指出的,在各种实施方式中,每个锚定点和节点与位置数据和周围信号数据(如,WiFi数据、蓝牙数据等)关联。此外,迹线可以由多个点组成(如,使用PDR),每个点与时间戳、周围信号数据和位置数据关联。在一些实施例中,基于对每个点的周围信号数据和一个或多个节点的周围信号数据的分析,来修改迹线中的点的所估计的位置。例如,如果节点的周围信号数据(如,WiFi指纹)与迹线中的点的周围信号数据相同,则在一些应用中期望调整该点的位置以便该点和该节点与同一位置关联。
[0174] 图12的步骤1214中,更新链接节点结构的数据。如所讨论的,在各种实施例中,添加到链接节点结构的每个新节点是基于新迹线上的锚定点的,并且因而与对应的锚定点关联同一数据(如,周围信号数据、PDR数据、位置数据、时间戳数据等)。这样的数据可以存储在该链接节点结构处或者以任何方式存储。
[0175] 在各种实施方式中,还修改与链接节点结构上的匹配点对应的节点数据。这可以以多种方式进行。考虑其中新的迹线具有与数据A关联的锚定点A的示例。锚定点A与链接节点结构上的节点B匹配。节点B与数据B关联。在这一示例中,数据A和数据B涉及位置/PDR数据(如,指示与节点/锚定点关联的位置的数据,以x,y坐标的形式表达)和周围信号数据(如,指示在各种位置从诸如蓝牙信号发送设备、WiFi接入点或周围信号的任何其它源的信号发送设备接收的信号强度的数据)。
[0176] 在各种实施例中,针对匹配节点A的数据可以通过对数据A和数据B中的值进行平均而被更新,如结合图12的步骤1212所讨论的。例如,数据A可以包括将锚定点A与位置P1关联的PDR数据。数据B可以包括将节点B与位置P2关联的PDR数据。数据B然后可以被更新以将节点B和基于P1和P2的平均的位置关联。周围信号数据也可以被平均,例如,如果数据A将锚定点A与来自特定信号发送设备的信号强度值Y1关联,并且数据B将节点B与来自同一信号发送设备的信号强度Y2关联,则数据B可以被更新为指示从所述同一设备接收的信号的强度是Y1和Y2的平均。然而,应当了解,节点数据的更新可以以任何合适的方式执行,并且不被限制于以上取平均的技术。
[0177] 节点数据中其它的参数和值也可以被更新。在各种实施例中,例如,每个节点的节点数据包括通过值(passthrough value)。如前面讨论的,通过值指示已通过该节点的路径或迹线的数目。一般地,由于匹配点指示新的迹线已通过该匹配点节点,所以这些节点的通过值增加1。因此,在图23的示例中,每个节点具有大小为1的通过值,匹配点(节点1604c和1604d)除外,匹配点各自具有大小为2的通过值。这是因为至少两条迹线(如,迹线1500和
1800)通过了与这些节点所关联的位置,如图17和图20所示。
[0178] 一旦链接节点结构已使用初始迹线创建,然后它就可以使用图12的以上方法1200、重复地利用众包迹线来被更新和添加。这一过程的示例在图13中示出。图13示出了方法1300,该方法在这一示例中由服务器(如,众包数据聚集和存储单元430)实现,尽管任何适合的计算设备都可以执行方法1300。最初,步骤1302中,获得迹线。例如,迹线可以从向服务器发送迹线的移动设备(405-1到405-N)众包。
[0179] 步骤1304中,关于步骤1302中获得的迹线是否为对于特定地理区域所获得的第一迹线,做出确定。即,关于与新迹线关联的针对该地理区域的适合的链接节点结构是否尚未被生成,做出确定。如果回答是肯定的,则方法1300继续到步骤1306。步骤1306中,链接节点结构基于该迹线生成,如结合图11的方法1100所讨论的。
[0180] 如果做出的确定是步骤1302中所获得的迹线不是第一迹线和/或适合的链接节点结构已被生成,则方法1300继续到步骤1308。步骤1308中,如以上讨论的,执行图12的方法1200。在这一步骤期间,现有的链接节点结构被更新以考虑新的迹线。同样地,该迹线可以被合并并且与所合并的迹线的现有集合适当地对齐,其中所合并的迹线的现有集合由链接节点结构来表示。一旦新迹线被添加,新方法1300就返回到步骤1302并且该方法被重复。
[0181] 随着时间,链接节点结构被重复地更新以反映额外的众包迹线。一旦获得足够数目的迹线,链接节点结构指示人们可以用来通过特定地理区域的多种路线。例如,图21的链接节点结构指示人可以怎样通过图14和图17的大型购物中心1404。它指示人可以在其间移动而不遇到转弯或其它锚定点的位置。它还可以指示特定的人或设备已经穿过特定锚定点多少次(如,使用通过值)。
[0182] 基于以上数据,可以提供多种有用的服务。在一些实施例中,已执行图13的方法1300的服务器随后向移动设备用户提供服务。作为示例,服务器向移动设备(405-1到405-N)发送数据,该数据给出关于到链接节点结构所覆盖的区域内的特定目标位置的最短路径的导引。然后,移动设备(405-1到405-N)基于该数据显示消息、导引和/或图形界面。在一些实施例中,服务器还可以向移动设备(405-1到405-N)发送距离数据,该距离数据指示当前位置(或另一位置)和目标位置之间的距离。该距离可以基于针对与这些位置关联的节点的节点数据而被计算。即,由于每个节点与位置数据关联,所以每对链接的节点之间的物理距离可以被确定,因此通过多个链接节点的路径的总的距离也可以被确定。
[0183] 链接节点结构还可以被用来识别实时通行模式(traffic pattern)以及用户的移动和活动模式。即,当移动设备(405-1到405-N)正穿过特定区域时,它们被安排为向服务器发送轨迹数据和迹线信息。然后当接收到轨迹数据时,服务器实时地执行图13的方法1300。因此,链接节点结构基于所接收的轨迹数据而被实时地生成和更新,并且链接节点结构反映区域内当前的通行模式。例如,链接节点结构可以被用来确定拥挤数据,即指示已经有多少人通过了一个或多个位置(如,锚定点位置)的数据。作为示例,每个节点的通过值可以被用来确定拥挤数据。
[0184] 一旦这样的拥挤数据被获得,它就可以用于多种应用。作为示例,服务器可以向移动设备(405-1到405-N)发送拥挤数据,以指示特定区域的许多部分如何拥挤和/或从一个位置到另一位置的最普遍的路径。拥挤数据是基于存储在服务器上的链接节点结构的链路、节点和/或通过值的。在各种实施方式中,拥挤数据指示多个时间段上的通行模式,包括但不限于当前、每天、每月地或季节性地通行模式。基于从服务器接收的拥挤数据,移动设备(405-1到405-N)被安排以向用户显示地图、图形界面或其它类型的信息,以指示这样的拥挤模式和/或用于避免或接近拥挤区域的路线。在一些实施例中,拥挤模式被用来确定应当为放置在该区域内的位置处的特定广告收多少钱。例如,相比具有较低通行量的区域的广告费,针对高通行量的区域的广告费可以被设置得更高。类似的方法可以被用于租用费,例如对于被确定为处于高通行量区域的购物中心内的建筑来说,租用费可以是较高的费用
[0185] 在一些应用中,前述的服务器可以向移动设备(405-1到405-N)或其它设备发送数据,以指示人们多快地穿过转弯,如节点。该通过时间还可以基于与节点关联的位置和时间数据。在各种实施方式中,例如,每个节点的节点数据包括位置数据(如,x,y坐标)和时间数据(如,特定移动设备(405-1到405-N)到达这些坐标的时间)。同一移动设备到达的其它节点可与相似类型的位置和时间数据关联。因而,基于这些数据,移动设备(405-1到405-N)在任意两个节点之间移动或经过一连串节点所需的时间可以被计算。在各种实施方式中,服务器向移动设备(405-1到405-N)发送这样的时间数据,移动设备之后显示指示所估计的在不同位置之间的穿行时间的消息。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈