1.本说明书实施例涉及一种导航应用技术,更具体地,涉及用于室内导航的方法、设备、计算机程序产品和计算机可读存储介质。
背景技术:2.近年来,导航应用程序越来越受欢迎。导航应用程序可以是安装在配置有全球定位系统(gps)传感器的终端设备上的计算机软件程序。根据从gps卫星收到的信号和地图,导航应用程序可以提供终端设备的位置。但是,当导航应用程序的用户进入建筑物时,来自gps卫星的信号可能会被建筑物的屋顶、墙壁和其他物体衰减和分散。因此,导航应用程序无法提供准确的室内导航。
3.专用传感器是为了测量移动用户的加速度和方向而开发的。例如,诸如手机之类的终端设备配备了这些传感器,因此可以检测到用户的加速度和方向信号。但是,很难对这些信号处理并以有效和方便的方式获取用户的准确运动。
技术实现要素:4.根据本说明书的一个实施例,提出了一种在室内导航中识别步进事件的新方法。一般而言,在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段,加速度信号流由与移动用户相关的加速度传感器收集,第一时间窗口比第二时间窗口短;基于第一信号片段和第二信号片段分别确定第一时间窗口和第二时间窗口的第一幅度特征和第二幅度特征;以及基于第一幅度特征和第二幅度特征之间的偏差识别用户的步进事件。通过上述方法,以一种更有效、更准确的方式识别步进事件,从而提高室内导航的准确性。
5.可以理解的是,发明内容的目的并不是确定本说明书实施例的关键或基本特征,也不旨在用于限制本说明书的范围。通过下面的描述,很容易理解本说明书的其他特征。
附图说明
6.附图和下面的描述中阐明了本说明书的一个或多个实施例的详细信息。说明书、附图和权利要求中披露的其他功能、方面和优势显而易见,其中:
7.图1示出了实施本说明书的实施例的环境的框图;
8.图2示出了根据本说明书的实施例实现识别步进事件的方法的流程图;
9.图3示出了根据本说明书的实施例基于两个时间窗口处理加速度信号流的过程框图;
10.图4示出了根据本说明书的实施例确定偏差的过程框图;
11.图5示出了根据本说明书的实施例确定与第一时间窗口和第二时间窗口相关的步进强度的过程框图;
12.图6示出了根据本说明书的实施例基于加速度信号流确定步进强度曲线的框图;
13.图7示出了根据本说明书的实施例确定加速度幅度的过程框图;
14.图8示出了根据本说明书的实施例确定步长的过程框图;
15.图9示出了实施本说明书的实施例的环境的框图;
16.图10示出了根据本说明书的实施例确定用户运动方向的过程框图;
17.图11示出了根据本说明书的实施例确定用户运动方向的方法的流程图;
18.图12示出了根据本说明书的实施例确定用户运动方向的过程框图;
19.图13示出了根据本说明书的实施例与用户的步进事件相关的步进窗口的框图;
20.图14示出了根据本说明书的实施例确定用户轨迹的框图;以及
21.图15示出了实施本说明书的一个或多个实施例的设备的框图。
22.在各个附图中,相同或相应的参考编号始终表示相同或相应的元素。
具体实施方式
23.下面将参考某些实施例描述本说明书的原则。可以理解的是,这些实施例仅是为了描述的目的,帮助本领域技术人员理解和实施本说明书,而非用于限制本说明书的保护范围。本说明书可以通过下面描述的实施例及其他各种形式实现。
24.如本文所述,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。除非另有说明,否则“一个”一词应理解为“一个或多个”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“另一个实施例”一词应为“至少其他实施例”。此外,应当理解,在本说明书的描述中,术语“第一”、“第二”等用于指示单个元素或组件,而不旨在限制这些元素的顺序。此外,第一个元素可能与第二个元素不一样。下文还可能包括其他明确的和隐含的定义。
25.导航应用程序被广泛安装在终端设备中,终端设备中的gps传感器可以从gps卫星接收信号并获取终端设备的位置。但是,当终端设备的用户进入建筑物时,信号可能会被削弱从而变得无用。目前,惯性测量单元(imu)传感器已应用于终端设备中,并且可以处理从imu传感器收集的信号流,以确定携带终端设备的移动用户的运动。
26.对于本说明书的工作环境,将参考图1。图1示出了实施本说明书的实施例的环境的框图100。在图1中,可以将导航仪110安装在终端设备中,并可以在用户的终端设备中配备传感器130。其中,传感器130可以包含用于获取加速度信号流的加速度计132和用于获取方向信号流的陀螺仪134。然后,可以处理信号流以确定运动信号120,运动信号120包括用户的速度122和方向124。此外,可以向导航仪110提供运动信号120以进行室内导航。
27.为了室内导航提出了一种行人航位推算(pdr)方法。pdr方法涉及三个主要步骤:1)确定用户的步进事件,2)确定用户的步长;3)确定用户的方向。其中,步进事件是指用户伸出他/她的腿并走一步的事件。由于确定步长和方向都基于已确定的步进事件,因此步进事件的识别成为室内导航的基础。开发了峰值检测和零交叉检测算法,用于从信号流中识别步进事件。但是,由于传感器130的噪声和偏差,应首先过滤信号流。此外,很难创建标准来检测过滤的信号流中的峰值和零点。
28.为了至少部分解决上述问题和其他潜在问题,本文提供了一种新的方法和设备,以识别步进事件。根据本说明书的实施例,使用了两个具有不同长度的窗口,用于处理从传感器130收集的信号流。由于两个窗口具有不同的宽度,因此在两个窗口内的信号片段表现
出不同的模式。然后,通过比较信号片段可以从信号流中识别步进事件。通过上述实施例,无需过滤信号流中的噪声和偏差以及识别峰值和零点,从而,可以更有效和方便的确定步进事件。
29.参考图2,以详细说明本说明书的实施例。图2示出了根据本说明书的实施例识别步进事件的方法200的流程图。在框210处,在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段。其中,加速度信号流由与移动用户关联的加速度传感器收集,并且第一时间窗口比第二时间窗口短。有关收集第一信号片段和第二信号片段的详细信息,参见图3。
30.图3示出了根据本说明书的实施例基于两个时间窗口处理加速度信号流的过程的框图300。在图3中,示出了加速度信号流330,其中横轴代表加速度信号流330中的帧,纵轴表示加速度的幅度。加速度信号流330可以从加速度传感器(例如配备在用户的终端设备中的加速度计132)收集。当用户走路时,加速度传感器可能会连续收集加速度并输出加速度信号流330。加速度传感器可以以预定义的频率收集信号,并且频率可以基于传感器类型而调整。在一个示例中,频率可能为50hz,这意味着传感器每秒收集50帧。在另一个示例中,频率可能是另一个值。
31.定义了第一时间窗口210(用阴影块表示)和第二时间窗口220(用空白块表示),并且第一时间窗口310比第二时间窗口320短。第一信号片段312和第二信号片段322分别从第一时间窗口310和第二时间窗口320内的加速度信号流330中获得。其中,第一信号片段212是第一时间窗口310中加速度信号流330的一部分,第二信号片段322是第二时间窗口320中加速度信号流330的一部分。
32.在用户移动过程中,在加速度信号流330中不同帧的加速度幅度可能会有所不同。通常,短期窗口中的变化比在长期窗口中更剧烈。因此,第一信号片段312和第二信号片段322可能涉及不同的幅度变化,可以有助于确定步进事件。
33.在本说明书的一个实施例中,第一时间窗口310可以在第二时间窗口320之内。尽管图3所示的示例中第一时间窗口310位于第二时间窗口320的中间,但第一时间窗口310可能位于任何位置。在另一个实施例中,第一时间窗口310可以在第二时间窗口320的开始或结尾,甚至在第二时间窗口320之外。例如,第一时间窗口310和第二时间窗口320可以同时开始或结束。在一个实施例中,第一时间窗口310和第二时间窗口320可以分别具有20帧和100帧的长度。在另一个示例中,第一时间窗口310和第二时间窗口320的长度可以设置为其他值,并且可以用另一种格式(例如0.2秒和1秒)表示。
34.可以理解的是,图3仅说明了用户移动期间与某个时间点相关的情况。当用户行走时,第一时间窗口310和第二时间窗口320可以沿加速度信号流330向前移动,并且可以从两个时间窗口的每次运动中获得更多信号片段。由于第二时间窗口320中包含了第一时间窗口310,因此第二信号片段322可以包括第一时间窗口310附近的更多加速度信息。因此,比较两个信号片段可以有助于更有效地识别由步进事件引起的幅度变化。
35.在描述了有关获取第一信号片段312和第二信号片段322的详细信息后,再返回到图3中,处理第一信号片段312和第二信号片段322。在图3中的框320处,分别基于第一信号片段312和第二信号片段322确定第一时间窗口310和第二时间窗口320的第一幅度特征和第二幅度特征。其中,第一幅度特征代表第一信号片段312中的幅度水平,更多信息参见图4
获取。
36.图4示出了根据本说明书的实施例确定偏差的过程的框图400。可以基于第一信号片段312的平均值确定第一幅度特征412。假设第一信号片段312包括n1帧,并且在i
th
帧处的幅度表示为则可以基于如下所示的公式1表示第一幅度特征412。其中,代表第一时间窗口310的第一幅度特征412,n1表示第一时间窗口310中包含的帧数,表示第一信号片段312中的i
th
帧处的幅度。
37.第二幅度特征422可以基于如下所示的公式2,以类似方式确定。其中,代表第二时间窗口320的第二个幅度特征422,n2表示第二个窗口320中包含的帧数,表示第二信号片段322中的i
th
帧处的幅度。
38.可以理解的是,上述公式1和2只是确定第一幅度特征412和第二幅度特征422的示例。另外和/或除此之外,第一幅度特征412第二幅度特征422可以基于幅度平方的平均值确定,或基于可以反映各时间窗口内相应幅度的另一个公式确定。
39.为了易于描述,可以识别结束帧用帧来表示第一幅度特征412和第二幅度特征422。假设在加速度信号流330中第一时间窗口310和第二时间窗口320都在j
th
帧时结束,第一时间窗口310和第二时间窗口320都可以称为j
th
帧的第一时间窗口和第二时间窗口,以及第一幅度特征412和第二幅度特征422可以称为j
th
帧的第一幅度特征和第二幅度特征。此外,可以比较第一幅度特征412和第二幅度特征422,从而可以确定两者之间的偏差430。
40.再次参考图3,在框330处,基于第一幅度特征412和第二幅度特征422之间的偏差430识别用户的步进事件。在本说明书的一个实施例中,该偏差也与帧有关,并且可以根据公式3的第一幅度特征412和第二幅度特征422之间的差异确定j
th
帧处的偏差。其中,devj代表加速度信号流330中j
th
帧的偏差430,和分别代表j
th
帧的第一幅度特征412和第二幅度特征422。继续上述示例,当第一时间窗口310和第二时间窗口320具有相同的结束帧时,j
th
帧可以为结束帧。
41.可以理解的是,上述公式3只是确定偏差430的一个例子。另外和/或除此之外,可以根据下面的公式4和5中的任何一个确定偏差430。以根据下面的公式4和5中的任何一个确定偏差430。在公式4和5中,各符号的含义与公式3中的符号相同,具体内容省略。
42.由于第一时间窗口310中的变化可能比第二时间窗口320更剧烈,因此基于偏差430可以容易地识别步进事件。在本说明书的一个实施例中,如果偏差430超过阈值偏差,则可以在j
th
帧处确定步进事件,并且公式6可用于在加速度信号流330中的j
th
帧处识别步进事件。其中,阈值偏差可以根据经验确定。
其中,表示是否基于偏差430在加速度信号流330的j
th
帧处确定了步进事件,devj代表加速度信号流330中j
th
帧帧的偏差430,th
dev
代表阈值偏差。
43.由于偏差430存在于受同一噪声和偏差影响的同一加速度信号流中的第一幅度特征412和第二幅度特征422之间,因此噪声和偏差对偏差430影响不大,从而更可靠地识别步进事件。与基于峰值检测和零点检测的现有pdr方法相比,本说明书可以减少噪声和偏差的影响,从而提高识别步进事件的准确性和可操作性。
44.可以理解的是,上述公式6只是基于用户行走时与单个时间点相关的偏差430直接识别步进事件的示例。在本说明书的其他示例中,可以基于以其他方式确定的偏差进一步确定步进事件。在本说明书的一个实施例中,第一时间窗口310和第二时间窗口320可以分别沿加速度信号流330向前移动。然后,可以基于用户行走时多个时间点的多个偏差积累确定步进强度。有关更多详细信息,请参考图5。
45.图5示出了根据本说明书的实施例确定与第一时间窗口和第二时间窗口移动相关的步进强度的过程的框图500。为简单起见,图5仅说明了第一时间窗口310的运动,第二时间窗口320的运动相似,因此被省略。随着用户行走的时间,将获得更多的加速度信号流,并且第一时间窗口310可以从第一时间点520向前移动到第二时间点530,如箭头510所示。其中,第一时间窗口310可能在加速度信号流330中一次向前移动一个或多个帧。
46.假设第一时间窗口310和第二时间窗口320具有相同的结束帧,则结束帧可能会在运动过程中覆盖一组帧。因此,可以确定针对一组帧的步进强度。具体而言,在运动期间可以在第一时间窗口310之内获得第一组信号片段,同样,可以在第二时间窗口320之内获得第二组信号片段。此外,与该组帧相关的偏差可以求和以确定步进强度。
47.在本说明书的一个实施例中,可以分别基于第一组信号片段和第二组信号片段确定第一组幅度特征和第二组幅度特征。由于第一时间窗口310和第二时间窗口320一起移动,因此可以确定运动过程中每个帧的偏差。假设运动覆盖了一组m个帧,则可以确定该组帧中的k
th
帧的偏差。在这一点上,可以根据如下公式7确定第一组幅度特征和第二组幅度特征之间的一组偏差的总和。其中,intensityj表示一组帧的步进强度,该组帧在加速度信号流330中的j
th
帧时结束,m表示该组帧中包含的帧数,devk表示该组帧中k
th
帧的偏差,该devk基于与k
th
帧相关的第一信号片段和第二信号片段,根据公式3至5中任一公式确定。
48.可以理解的是,上述公式7只是确定步进强度的一个示例。在本说明书的另一个示例实施中,可以根据以下公式8至11中任一公式确定步进强度。例实施中,可以根据以下公式8至11中任一公式确定步进强度。例实施中,可以根据以下公式8至11中任一公式确定步进强度。例实施中,可以根据以下公式8至11中任一公式确定步进强度。
其中,公式8至11中的各符号具有与公式7中的符号相同的含义,δt表示加速度信号流330的采样间隔。
49.通过上述实施例,在确定用户步行时的步进事件时,考虑了在一段时间内与一组帧有关的偏差,并且可以监视加速度信号流330的幅度的连续变化,以识别步进事件。因此,可以降低与单个时间点相关的单个偏差引起的识别误差,并且可以进一步增强步进事件识别的准确性和可操作性。
50.在本说明书的一个实施例中,可以根据公式12基于步进强度和阈值强度之间的比较结果确定步进事件,其中阈值强度可以根据历史经验确定。其中,表示是否基于加速度信号流330中j
th
帧的步进强度确定步进事件,intensityj代表与加速度信号流330中j
th
帧相关的步进强度,th
intensity
表示阈值强度。
51.在本说明书的一个实施例中,如果步进强度低于阈值强度,则第一时间窗口310和第二时间窗口320可以通过另一个帧向前移动,以获得包括更多帧的新的一组帧的新步进强度。如果这组帧的步进强度超过阈值强度,则标识一个步进事件(例如,在j
th
帧处)。一旦确定了步进事件,就可以从该组帧之后的帧开始重置这组帧。在这一点上,第一时间窗口310和第二时间窗口320可能会沿加速度信号流330不断向前移动,以识别进一步的步进事件。有关步进强度的更多详细信息,将参考图6。
52.图6示出了根据本说明书的实施例基于加速度信号流确定步进强度曲线的框图600。在图6中,横轴代表加速度信号流330中的帧,纵轴表示基于上述公式确定的步进强度。通常,用户的两条腿的力量可能不同,因此一条腿的峰值可能与另一条腿的峰值不同。步进强度的曲线显示了周期性的模式,其中星图标(例如峰值点610和峰值点620)表示步进强度中的峰值,而点图标表示步进强度中的非峰值。在图6中,可以将两个连续的峰值点610和620之间的帧识别为步进事件的步进窗口630。另外和/或除此之外,步进强度中的谷值也可以用于识别步进事件。
53.需要理解的是,图6中的步进强度曲线只是示例,针对其他用户确定的曲线可能显示出不同的模式。例如,其他用户的曲线可能显示出更大的峰值和更高的频率。通过上述实施例,可以考虑与持续时间相关的偏差以识别步进事件。因此,可以监控用户长期的行为习惯,减少因事故引起的误差。
54.在本说明书的一个实施例中,可以组合用于识别步进事件的上述方法。例如,基于单个偏差和步进强度的识别可以组合在一起以增强识别。具体而言,根据下述公式13,在加速度信号流330中的j
th
帧可以识别一个步进事件。其中,表示在加速度信号流330中的j
th
帧处识别步进事件的最终结果,表示基于公式6确定的结果,表示基于公式12确定的结果。通过上述实施例,可以在识别步进事件时同时考虑单个偏差和步进强度。因此,可以进一步减少因事故引起的误差。
55.上面的段落描述了有关识别步进事件的详细信息。之后,可以基于加速度信号流330的任何加速度幅度和频率限制进一步验证所识别的步进事件。参见图7,图7示出了根据本说明书的实施例确定加速度幅度的过程框图700。通常,加速度传感器可以在三维空间中收集信号,因此可以利用x、y、z维度的幅度确定加速度信号流330中某一帧的加速度幅度。
56.如图7所示,在加速度信号流330中的j
th
帧处,加速度710与x、y和z坐标有关,因此可以基于如下公式14通过幅度x 712,幅度y 714和幅度z 716确定j
th
帧处的加速度幅度。其中,aj代表与加速度信号流330中j
th
帧相关的加速度幅度,amplitude_xj、amplitude_yj和amplitude_zj分别表示x、y和z坐标中的幅度。
57.此外,可以根据下述公式15的加速度幅度和阈值幅度之间的比较结果来验证步进事件,其中阈值幅度可以根据经验确定。其中,表示是否基于加速度信号流330中j
th
帧的加速度幅度确定了步进事件,aj代表与加速度信号流330中j
th
帧相关的加速度幅度,th
amplitude
代表阈值幅度。
58.根据上述公式15,如果确定步进事件的某一帧处的加速度幅度超过了阈值幅度,则可以验证步进事件。通过此实施例,步进事件的识别可以更准确。
59.在本说明书的一个实施例中,单个偏差、步进强度和加速度幅度的识别可以合并在一起,以进一步增强识别。具体而言,根据如下公式16,在加速度信号流330中的j
th
帧处可以确定一个步进事件。其中,代表在加速度信号流330中是否在j
th
帧处确定出步进事件的最终结果,表示基于公式6确定的结果,表示基于公式12确定的结果,表示是否基于公式15验证了步进事件。通过上述实施例,可以进一步增强步进事件识别的准确性和可操作性。
60.在本说明书的一个实施例中,可以基于频率限制来验证步进事件。其中频率限制可以根据历史经验确定。通常,历史经验可能表明,常见的步行频率是每秒一到三步。如果频率超出频率限制,则可以提供警告。假设步进事件的频率为每秒2步,则可以验证步进事件。如果频率为每秒5步,则将无法验证步进事件,并将输出警告。通过上述实施例,可以基于对频率的常识来验证已确定的步进事件。因此,可以提供更可靠的步进事件识别。
61.可以理解的是,确定步进事件只是室内导航的开始。一旦确定了步进事件,就可以获得与步进事件相关的步长。有关步长确定的更多信息,请参考图8。图8示出了根据本说明书的实施例确定步长的过程框图800。在本说明书的一个实施例中,可以构建机器学习模型以确定步长。在图8中,样本数据集可以包括从参考用户收集的加速度信号流810以及参考用户的步长830,并可用于训练步长模型820。
62.在本说明书的一个实施例中,步长模型820表征了多个参考用户中一个参考用户
的步长、加速度信号流的极值、平均值和频率之间的多项式关联,其中加速度信号流通过与参考用户关联的加速度传感器收集。例如,可以根据如下公式17确定步长模型。其中,length
step
代表一个步长,a、b、c、d和u代表超参数,和分别表示在确定的步进窗口内的加速度信号流的幅度的最小值、最大值和平均值,f表示与步进事件相关的步行频率,m表示步进窗口中包含的帧数,δt表示加速度信号流330的采样间隔。
63.通过上述实施例,可以简单地对多项式关联进行训练。在本说明书的一个实施例中,可以获取length
step
、f、m和δt的值来训练步长模型820。步长模型820成功训练后,可以简单处理加速度信号流330,然后将其输入步长模型820中以确定步长。
64.为了获得用户的步长,可以从加速度信号流330中确定与步进事件相关的步进窗口内的极值(包括最大值和最小值),可以确定步进窗口的平均值,也可以确定步进事件的频率。此外,可以基于步长模型820、极值、平均值和频率确定步长。换句话说,可以处理加速度信号流330,以提取与length
step
、f、m和δt相关的参数。接下来,提取的参数可以输入到步长模型820中,然后可以输出步长。
65.可以理解的是,上述公式17只是步长模型的示例。在其他实施例中,基于各种类型的机器学习技术,步长模型820可以用除多项式关联以外的其他形式表征。
66.在本说明书的一个实施例中,可以在确定步进事件和/或确定步长时考虑用户的行为模式。例如,步进模式可以分类为步行、漫步、静止和摇摆模式。因此,可以根据上述行为模式对各种模型进行训练,以便获得更准确的步进事件和相关的步长。在本说明书的一个示例中,可以确定与已确定的步进事件有关的运动方向。从而可以确定用户的速度和轨迹。
67.在本说明书的一个实施例中,可以基于步长和与步长相关的持续时间确定用户的速度。或者,除此之外,可以基于多个步长和多个持续时间确定速度。例如,可以基于多个步长的长度计算长度和,并且可以基于多个持续时间计算时间和。然后,可以基于长度和与时间和确定速度。
68.在描述了如何识别步进事件并确定与步进事件相关的步长之后,以下参考图9,以介绍有关确定用户的运动方向的详细信息。图9示出了实施本说明书的实施例的环境的示意图900。在图9中,用户910在他/她的口袋中或握在他/她的手中随身携带终端设备920。但是,用户910的运动方向912可能与终端设备920的设备方向922不同。通常,运动方向912和设备方向922之间可能存在角度差930。
69.此前,已经提出了确定用户运动方向的方法。设备方向922可以通过终端设备920中的专用传感器确定,并且设备方向922通常被视为运动方向912。但是,设备方向922和运动方向912并不总是相同的,并且在运动过程中,角度差930也可能发生变化。因此,如何检测用户910的运动方向912成为重点。
70.为了至少部分解决上述问题和其他潜在问题,提供了一种确定运动方向的新方法
和设备。根据本说明书的实施例,定义了一个偏差度以表示用户910的运动方向912与终端设备920的实际设备方向之间的偏差。如果偏差度低于阈值度,则可以基于设备方向920确定运动方向912。否则,可以通过机器学习技术估算运动方向912。
71.参考图10,以简要说明本说明书。图10示出了根据本说明书的实施例确定用户运动方向的过程框图1000。如图10所示,传感器130可以提供信号流1010。其中,传感器130可以包含用于收集加速度信号流的加速度计132和用于收集方向信号流的陀螺仪134。终端设备920的设备方向922可通过从终端设备920中配备的传感器130收集的信号流1010中获得。
72.此外,基于信号流1010确定偏差度1020。偏差度1010越大,则角度差930可能越大。可以根据经验预设阈值度1022,然后可以将偏差度1020与阈值度1022进行比较,以获得比较结果1024。基于比较结果1024,可以从设备方向922和估计运动方向1030中选择一个方向作为运动方向912。
73.通过上述实施例,偏差度1020可以衡量用户910的运动方向912是否与终端设备920的实际设备方向一致。仅当两个方向彼此一致时,可以基于设备方向922确定运动方向912。与直接使用设备方向922作为运动方向912的解决方案相比,可以更准确,更可靠地确定运动方向912。
74.参考图11,以详细说明本说明书的实施例。图11示出了根据本说明书的实施例确定用户运动方向的方法1100的流程图。在框1110处,基于从移动用户携带的终端设备920收集的至少一个信号流获取终端设备920的设备方向922。在本说明书的一个实施例中,终端设备920可以配备加速度计132和陀螺仪134。因此,至少一个信号流可以包括加速度计132收集的加速度信号流以及陀螺仪134收集的方向信号流。
75.有关确定设备方向922的更多详细信息,请参考图12。图12示出了根据本说明书的实施例确定用户运动方向的过程框图1200。其中,可以从信号流1010确定设备方向922,信号流1010包括加速度信号流330和方向信号流1230。其中,方向信号流1230可以由从陀螺仪134收集的角速度表示。在本说明书的实施例中,对获得设备方向922的方法没有限制。相反,可以使用多种已知和/或将来将开发的方法。
76.在一个示例中,可以基于imu方向确定设备方向922。或者,可以建立机器学习模型,机器学习模型表征参考终端设备的设备方向与从参考终端设备收集的加速度信号流和方向信号流之间的关联。对机器学习模型训练后,就可以将加速度信号流330和方向信号流1230输入到模型中以获得设备方向922。
77.此外,参考回图11,可以确定偏差度1020。在框1120处,基于至少一个信号流1010确定偏差度1020。其中,偏差度1020代表用户910的运动方向912与终端设备920的实际设备方向之间的偏差。在本说明书的一个示例中,可以通过机器学习技术确定偏差度1020。如图12所示,可以提供机器学习模型1210确定与运动方向912相关的参数。其中,机器学习模型1210可以包括用于确定偏差度1020的偏差模型1220和方向模型1240。
78.在本说明书的一个实施例中,偏差度1020可能与角度差有关。具体地,信号流1010中i
th
帧处的偏差度1020可以根据如下公式18表示。devdegreei=|βi|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式18其中,devdegreei代表信号流1010中i
th
帧处的偏差1020,βi代表i
th
帧处的角度差。
79.其中,可以通过图12中的偏差模型1220估算角度差。偏差模型1220可以表征参考
用户收集的角度差异与从参考用户携带的终端设备收集的信号流之间的关联。角度差异是指参考用户的运动方向与参考用户终端设备的实际设备方向之间的角度差。一般而言,偏差度1020可能与角度差成比例,并且随着角度差的增加而增加。可以理解的是,本说明书并不限制建立机器学习模型的方法。在一个示例中,可以基于resnet建模构建偏差1220,最终可以使用完全连接层来预测运动过程中的角度差。
80.可以收集参考用户的样本数据集,以训练偏差模型1220。样本数据集可以包含多个样本,每个样本包括与一个参考用户有关的参数。例如,每个样本可以包括参考用户运动过程中收集的角度差异、加速度信号流和方向信号流。此外,样本数据集可用于训练偏差模型1220,以便训练后的偏差模型1220可以表征角度差异和信号流之间的关联。接下来,可以处理用户910的加速度信号流330和方向信号流1230,然后输入到偏差模型1220中以获得角度差。
81.通过上述实施例,可以利用有关角度差异和信号流之间关联的历史经验来训练偏差模型1220。反过来,偏差模型1220可以为估计用户910运动过程中的角度差异提供可靠的知识。
82.在本说明书的一个实施例中,偏差度1020也可以与用户910的估计运动方向1030和设备方向922相关联。具体而言,信号流1010中i
th
帧的偏差度1020可以基于如下公式19确定。devdegreei=|β
i-(θ
i-αi)|
ꢀꢀꢀꢀꢀꢀꢀ
公式19其中,devdegreei代表信号流1010中i
th
帧的偏差度1020,βi表示i
th
帧的角度差,θi代表i
th
帧的估计运动方向,αi代表i
th
帧的设备方向。通过上述实施例,偏差度1020还考虑了运动方向和设备方向的影响,因此可以获得更准确的偏差度1020。
83.其中,可以构建方向模型1240,以提供估计运动方向1030。方向模型1240可以基于(长期记忆,lstm)体系结构构建,以估算运动方向。其中,与信号流1010中每个帧有关的sin()和cos()函数的2d向量以及参考用户收集的运动方向可以用于训练方向模型1240。
84.在训练方向模型1240中,可以收集参考用户相关的样本数据集。样本数据集可以包含多个样本,每个样本与一个参考用户有关。每个样本可以包括参考用户的实际运动方向,以及在参考用户运动过程中收集的加速度信号流和方向信号流。此外,样本数据集可用于训练方向模型1240,以便训练后的方向模型1240可以表征运动方向和信号流之间的关联。然后,可以接收来自用户910的加速度信号流330和方向信号流1230,并输入到方向模型1240中以获得估计运动方向1030。
85.通过上述实施例,可以利用有关运动方向和信号流之间关联的历史经验来训练方向模型1240。反过来,方向模型1240可以提供可靠的知识,以估计用户运动过程中的运动方向910。
86.需要理解的是,图12仅说明了通过偏差模型1220和机器学习模型1210中的方向模型1240处理信号流1010的过程。在另一个实施例中,机器学习模型1210可以采用不同的体系结构。例如,一个新模型表征偏差度和信号流之间的关联。此时,基于上述公式确定偏差度1020的过程可能成为新模型的内部程序。此时,信号流1010可以直接输入新模型,以获得相应的偏差度。
87.可以理解的是,在用户910的移动过程中,两个步进事件的运动方向可能有所不
同,因此,可以步进事件为基础对方向模型1240进行训练。因此,可以基于步进事件从样本数据集的信号流中提取步进信号片段。其中,可以根据前面段落所述的方法300识别步进事件,并且可以从参考用户的加速度信号流中的第一时间窗口和第二时间窗口内分别获得第一信号片段和第二信号片段。或者和/或除此之外,可以根据其他方式确定步进事件。
88.在这一点上,样本数据集中的每个样本可能与多个步进事件有关,并包括各个步进事件对应的步进信号片段和运动方向。然后,可以基于步进事件对方向模型1240进行训练,以表征步进事件的运动方向和信号片段之间的关联。一旦成功训练了方向模型1240,就可以从加速度信号流330中提取步进信号片段,然后输入到方向模型1240中以获得估计运动方向。
89.为了从加速度信号流330中提取步进信号片段,可以分别获得第一信号片段和第二信号片段,并且可以使用提取的信号片段来识别步进事件。具体而言,可以通过方法300来识别步进事件,然后可以确定与步进事件关联的步进窗口。有关从信号流1010提取步进信号片段的更多详细信息,请参考图13。
90.图13示出了根据本说明书的实施例与用户的步进事件相关的步进窗口的框图1300。在图13中,同时收集了加速度信号流330和方向信号流1230,因此,基于加速度信号流330检测到的步进窗口1330的方法300也适用于方向信号流1230。可以将加速度信号流330和方向信号流1230中步进窗口1330的片段分别输入到方向模型1240中,以获得已确定的步进事件对应的运动方向。通过上述实施例,可以确定每个步进事件的运动方向,因此可以进一步提高准确性和可操作性。
91.可以理解的是,用户910的速度也是运动的重要因素。速度越大,对用户910轨迹偏差的影响越大。例如,即使角度差很小,当用户910快速移动时,轨迹偏差也可能达到更大的值。虽然角度差很大,而用户走得非常慢并且几乎保持静止,则轨迹偏差可能很低。因此,在本说明书的一些实施例中,偏差度1020也可能与用户910的速度相关联。具体而言,信号流1010中i
th
帧的偏差度1020可以基于如下所示公式20确定。devdegreei=vi×
|β
i-(θ
i-αi)|
ꢀꢀꢀꢀꢀꢀ
公式20其中,devdegreei表示信号流1010中i
th
帧的偏差度1020,vi代表i
th
框架用户910的速度,βi表示i
th
帧的角度差,θi表示i
th
帧的估计运动方向,αi表示i
th
帧的设备方向。可以理解的是,偏差度1020是标量值,因此速度vi可能仅包含速度的数值而无需考虑方向。
92.在此实施例中,可以根据上述段落中描述的方法确定速度。或者,可以从机器学习模型中获得速度。例如,可以修改偏差模型1220,使其还包括参考用户的速度和信号流之间的关联。然后,可以基于偏差模型1220和用户910的信号流1010获得用户910的速度。使用上述公式20,还可以在确定偏差度1020时考虑用户的速度,因此可以获得更可靠和更准确的偏差度1020。
93.确定偏差度1020后,就可以基于偏差度1020和阈值度1022的比较结果确定运动方向912。回到图11,在框1130处,基于偏差度1020低于阈值度1022的确定结果,基于设备方向922确定运动方向912。可以理解的是,较低的偏差度可能表明运动方向912与设备方向922相对一致。因此,设备方向922可以直接用作运动方向912。通过这种方式,可以有效减少运动方向和设备方向之间的偏差所造成的潜在误差。
94.在本说明书的一个示例中,如果偏差度1020超过阈值度1022,则基于估计运动方
向1030确定运动方向912。此时,由于设备方向922与实际运动方向有显著不同,因此可以使用从方向模型1240获得的估计运动方向1030作为运动方向912。由于估计运动方向1030是基于方向模型1240中包含的正确历史知识,因此估计运动方向1030可以非常接近实际运动方向,从而提高了运动确定的准确性。
95.尽管上面的段落描述了确定步进事件、确定步长和确定运动方向的过程的多个实施例,但这些实施例可以合并在一起以形成另一个实施例。例如,基于上述实施例,可以确定同时包括速度和方向的用户运动,然后可以得到轨迹。
96.在本说明书的一个实施例中,可以重复上述方法300和方法1100,从而可以获得用户910的轨迹。图14示出了根据本说明书的实施例确定用户的轨迹的框图1400。在图14中,示出了用户轨迹中的三个位置,其中用户910可以在位置1410上行走第一步。上述方法300可以用于识别第一步,并且上述方法1100可以用于确定第一步的运动方向。假设偏差度超过阈值度,运动方向1412设置为第一步的估计运动方向。根据上述方法300和运动方向1412确定的步长,确定位置1420。
97.在位置1420,用户910可能会朝另一个方向走第二步。假设第二步的偏差度也超过了阈值度,运动方向1422也设置为估计运动方向,然后用户910到达位置1430。此外,用户910可能会行走第三步。假设第三步的偏差度低于阈值度,则将运动方向1432设置为设备方向。通过上述实施例,可以确定室内导航的轨迹。
98.根据本说明书的实施例,上述室内导航的实施例可以与室外导航相结合。例如,在导航仪110中可以提供两种导航模式,其中gps传感器可以在室外导航模式下使用,并且可以使用加速度和方向传感器来支持室内导航。
99.尽管是以终端设备为示例处理设备来描述的本说明书实施例,但也可以在一般处理设备上执行实施例。图15示出了实施本说明书的一个或多个实施例的设备框图1500。可以理解的是,设备1500并不旨在对有关本说明书的使用范围或特征的任何限制,可以在各种通用或特殊用途的计算机环境中实施各实施例。
100.如图所示,设备1500至少包括一个处理单元(或处理器)1510和一个存储器1520。处理单元1510执行计算机可执行指令,可以是一个真实的或虚拟的处理器。在多处理系统中,多个处理单元执行计算机可执行指令,以提高处理能力。存储器1520可以是易失性存储器(例如,寄存器、缓存、ram)、非易失性存储器(例如,rom、eeprom、闪存)或它们的某些组合。
101.在图15所示的示例中,设备1500进一步包括存储器1530、一个或多个输入设备1540、一个或多个输出设备1550和一个或多个通信接口1560。互连机制(未显示),例如总线、控制器或网络将设备1500的组件互连起来。通常,操作系统软件(未显示)为设备1500中执行的其他软件提供了一个操作环境,并协调设备1500组件的活动。
102.存储器1530可以是可移动的或不可移动的,并且还可以包括计算机可读的存储介质,例如闪存驱动器、磁盘或任何其他可用于存储信息并可在设备1500中访问的介质。输入设备1540可以是各种不同的输入设备中的一个或多个。例如,输入设备1540可以是包括鼠标、键盘、轨迹球等的用户设备。输入设备1540可以实现一种或多种自然用户界面技术,例如语音识别或触摸和手写笔识别。如其他示例,输入设备1540可以包括扫描设备;网络适配器;或另一个为设备1500提供输入的设备。输出设备1550可以是显示器、打印机、扬声器、网
络适配器或提供设备1500输出的其他设备。输入设备1540和输出设备1550可以合并到单个系统或设备中,例如触摸屏或虚拟现实系统。
103.通信接口1560可以通过通信媒体与另一个计算实体进行通信。此外,设备1500组件的功能可以在单个计算机或能够通过通信接口进行通信的多个计算机中实现。因此,设备1500可以在使用逻辑连接到一个或多个其他服务器、网络pc或其他通用网络节点的网络环境中运行。仅作为示例,通信媒体包括有线或无线网络技术。
104.根据本说明书的一个实施例,可以在设备1500上配置导航仪110,以识别步进事件、确定用户的步长和运动方向。此外,导航仪110可以提供用户的速度和轨迹。
105.仅出于描述的目的,下面将列出一些实施例的示例。
106.根据本说明书的一个实施例,为室内导航提供了一种计算机实施方法。该方法包括:在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段,加速度信号流由与移动用户相关的加速度传感器收集,第一时间窗口比第二时间窗口短;基于第一信号片段和第二信号片段分别确定第一时间窗口和第二时间窗口的第一幅度特征和第二幅度特征;以及基于第一幅度特征和第二幅度特征之间的偏差识别用户的步进事件。
107.根据本说明书的一个实施例,第一时间窗口在第二时间窗口内,并且与第二时间窗口的结束时间相同。
108.根据本说明书的一个实施例,确定第一幅度特征包括:基于第一信号片段的平均值确定第一幅度特征。
109.根据本说明书的一个实施例,确定步进事件包括:基于第一幅度特征和第二幅度特征之间的差异确定偏差;以及基于偏差超过阈值偏差的确定结果识别步进事件。
110.根据本说明书的一个实施例,确定步进事件进一步包括:沿加速度信号流分别向前移动第一时间窗口和第二时间窗口;基于在移动过程中获取的第一组信号片段和第二组信号片段,确定与第一时间窗口和第二时间窗口的移动相关的步进强度;以及基于步进强度超过阈值强度的确定结果识别步进事件。
111.根据本说明书的一个实施例,确定步进强度包括:基于第一组信号片段和第二组信号片段分别确定第一组幅度特征和第二组幅度特征;以及获取第一组幅度特征和第二组幅度特征之间的一组偏差的总和。
112.根据本说明书的一个实施例,该方法进一步包括:基于加速度信号流的多个维度的测量值,确定加速度信号流中各个帧的加速度幅度;以及基于识别到的步进事件的一个帧的加速度幅度超过阈值幅度的确定结果验证步进事件。
113.根据本说明书的一个实施例,该方法进一步包括:基于步进事件的频率在频率限制范围内的确定结果验证步进事件。
114.根据本说明书的一个实施例,该方法进一步包括:基于步长模型确定与步进事件相关的步长,步长模型表征参考用户的步长与参考用户携带的加速度传感器收集的加速度信号流之间的关联。
115.根据本说明书的一个实施例,确定步长的方法包括:从加速度信号流中识别与步进事件相关的步进窗口内的极值;确定步进窗口的平均值;以及基于步长模型、极值、平均值和步进事件的频率确定步长。
116.根据本说明书的一个实施例,步长模型表征参考用户中的一个参考用户的步长、极值、平均值和加速度信号流的频率之间的多项式关联,其中加速度信号流通过与参考用户关联的加速度传感器收集。
117.根据本说明书的一个实施例,该方法进一步包括:获取与用户相关的由方向传感器收集的方向信号流;基于加速度信号流和方向信号流确定与步进事件相关的运动方向;以及基于运动方向和步长确定用户的轨迹。
118.根据本说明书的一个实施例,这是一种用于室内导航的电子设备。设备包括:处理单元;以及存储器,存储器连接到处理单元并存储由处理单元执行的指令,当处理单元执行指令时,存储器使该设备执行下列操作:在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段,加速度信号流由与移动用户相关的加速度传感器收集,第一时间窗口比第二时间窗口短;基于第一信号片段和第二信号片段分别确定第一时间窗口和第二时间窗口的第一幅度特征和第二幅度特征;以及基于第一幅度特征和第二幅度特征之间的偏差识别用户的步进事件。
119.根据本说明书的一个实施例,第一时间窗口在第二时间窗口内,并且与第二时间窗口的结束事件相同。
120.根据本说明书的一个实施例,确定第一幅度特征包括:基于第一信号片段的平均值确定第一幅度特征。
121.根据本说明书的一个实施例,确定步进事件包括:基于第一幅度特征和第二幅度特征之间的差异确定偏差;并基于偏差超过阈值偏差的确定结果确定步进事件。
122.根据本说明书的一个实施例,确定步进事件进一步包括:沿加速度信号流分别向前移动第一时间窗口和第二时间窗口;基于在移动过程中获取的第一组信号片段和第二组信号片段,确定与第一时间窗口和第二时间窗口的移动相关的步进强度;并基于步进强度超过阈值强度而识别步进事件。
123.根据本说明书的一个实施例,确定步进强度包括:基于第一组信号片段和第二组信号片段分别确定第一组幅度特征和第二组幅度特征;以及获取第一组幅度特征和第二组幅度特征之间的一组偏差的总和。
124.根据本说明书的一个实施例,该方法进一步包括:基于加速度信号流的多个维度的测量值,确定加速度信号流中各个帧的加速度幅度;以及基于识别到的步进事件的一个帧的加速度幅度超过阈值幅度的确定结果验证步进事件。
125.根据本说明书的一个实施例,该方法进一步包括:基于步进事件的频率在频率限制范围内的确定结果,验证步进事件。
126.根据本说明书的一个实施例,该方法进一步包括:基于步长模型确定与步进事件相关的步长,步长模型表征参考用户的步长与参考用户携带的加速度传感器收集的加速度信号流之间的关联。
127.根据本说明书的一个实施例,确定步长的方法包括:从加速度信号流中识别与步进事件相关的步进窗口内的极值;确定步进窗口的平均值;以及基于步长模型、极值、平均值和步进事件的频率确定步长。
128.根据本说明书的一个实施例,步长模型表征参考用户中的一个参考用户的步长、极值、平均值和加速度信号流的频率之间的多项式关联,其中加速度信号流通过与参考用
户关联的加速度传感器收集。
129.根据本说明书的一个实施例,该方法进一步包括:获取与用户相关的由方向传感器收集的方向信号流;基于加速度信号流和方向信号流确定与步进事件相关的运动方向;以及基于运动方向和步长确定用户的轨迹。
130.根据本说明书的一个实施,为室内导航提供一种计算机程序产品。计算机程序产品包括包含程序指令的计算机可读存储介质,该程序指令由电子设备执行时,使得电子设备执行用于室内导航的方法。
131.根据本说明书的一个实施例,为室内导航提供一种计算机可读存储介质。该介质包含程序指令,该程序指令由电子设备执行,以使电子设备执行室内导航方法。
132.根据本说明书的一个实施例,为室内导航提供了一种计算机实施方法。该方法包括:基于从移动用户携带的终端设备收集的至少一个信号流,获取终端设备的设备方向;基于至少一个信号流确定偏差度,偏差度表征用户的运动方向与终端设备的实际设备方向之间的偏差;以及,基于偏差度低于阈值度的确定结果,基于设备方向确定运动方向。
133.根据本说明书的一个实施例,确定偏差度包括:基于至少一个信号流获取用户的估计运动方向;获取运动方向和实际设备方向之间的估计角度差;以及,基于设备方向、估计运动方向和估计角度差确定偏差度。
134.根据本说明书的一个实施例,该方法进一步包括:根据偏差度超过阈值度的确定结果,基于估计运动方向确定运动方向。
135.根据本说明书的一个实施例,获取估计运动方向包括:获取方向模型,方向模型表征参考用户的运动方向与从参考用户的终端设备收集的信号流之间的关联;以及,基于方向模型和用户的至少一个信号流获取估计运动方向。
136.根据本说明书的一个实施例,获取估计运动方向进一步包括:在至少一个信号流中识别与用户的步进事件相关的步进窗口;以及,基于方向模型和信号流中步进窗口内的步进信号片段,获取估计运动方向。
137.根据本说明书的一个实施例,至少一个信号流包含终端设备的加速度传感器获取的加速度信号流,以及终端设备的方向传感器获取的方向信号流。
138.根据本说明书的一个实施例,识别步进事件包括:在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段;以及,基于第一信号片段和第二信号片段的比较结果,识别步进事件。
139.根据本说明书的一个实施例,获取估计角度差包括:获取偏差模型,偏差模型表征参考用户的角度差与从参考用户的终端设备收集的信号流之间的关联,角度差中的一个角度差是参考用户中的一个参考用户的运动方向与参考用户的终端设备的实际设备方向之间的角度差异;以及,基于偏差模型和用户的至少一个信号流,获取估计角度差。
140.根据本说明书的一个实施,确定偏差度进一步包括:基于至少一个信号流确定用户的运动速度;以及,基于运动速度、设备方向、估计运动方向和估计角度差确定偏差度。
141.根据本说明书的一个实施例,该方法进一步包括:基于运动方向和运动速度确定用户的轨迹。
142.根据本说明书的一个实施,为室内导航提供一种电子设备。设备包括:处理单元;连接到处理单元并存储由处理单元执行的指令的存储器,当处理单元执行指令时,引导设
备执行的操作包括:基于从移动用户携带的终端设备收集的至少一个信号流,获取终端设备的设备方向;基于至少一个信号流确定偏差度,偏差度代表用户的运动方向与终端设备的实际设备方向之间的偏差;以及,根据偏差度低于阈值度的确定结果,基于设备方向确定运动方向。
143.根据本说明书的一个实施例,确定偏差度包括:基于至少一个信号流获取用户的估计运动方向;获取运动方向和实际设备方向之间的估计角度差;并基于设备方向、估计运动方向和估计角度差确定偏差度。
144.根据本说明书的一个实施例,操作进一步包括:根据偏差度超过阈值度的确定结果,基于估计运动方向确定运动方向。
145.根据本说明书的一个实施例,获取估计运动方向包括:获取方向模型,方向模型表征参考用户的运动方向与从参考用户的终端设备收集的信号流之间的关联;以及,基于方向模型和用户的至少一个信号流获取估计运动方向。
146.根据本说明书的一个实施例,获取估计运动方向进一步包括:在至少一个信号流中识别与用户的步进事件相关的步进窗口;以及,基于方向模型和信号流中步进窗口内的步进信号片段,获取估计运动方向。
147.根据本说明书的一个实施例,至少一个信号流包括由终端设备中加速度传感器获取的加速度信号流,以及终端设备中的方向传感器获取的方向信号流。
148.根据本说明书的一个实施例,识别步进事件包括:在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段;以及,基于第一信号片段和第二信号片段的比较结果,识别步进事件。
149.根据本说明书的一个实施例,获取估计角度差包括:获取偏差模型,偏差模型表征参考用户的角度差与从参考用户的终端设备收集的信号流之间的关联,角度差中的一个角度差是参考用户中的一个参考用户的运动方向与参考用户的终端设备的实际设备方向之间的角度差异;以及,基于偏差模型和用户的至少一个信号流,获取估计角度差。
150.根据本说明书的一个实施,确定偏差度进一步包括:基于至少一个信号流确定用户的运动速度;以及,基于运动速度、设备方向、估计运动方向和估计角度差确定偏差度。
151.根据本说明书的一个实施例,操作进一步包括:基于运动方向和运动速度确定用户的轨迹。
152.根据本说明书的一个实施例,为室内导航提供了计算机程序产品。计算机程序产品包括包含程序指令的计算机可读存储介质,该程序指令由电子设备执行,以使电子设备执行用于室内导航的方法。
153.根据本说明书的一个实施例,提供了一种计算机可读存储介质。该存储介质包含程序指令,程序指令由电子设备执行,以使电子设备执行室内导航方法。
154.本说明书的实施例可以进一步包括有形地存储在非瞬态机器可读介质上的一个或多个计算机程序产品,以及包括机器可执行的指令。当在电子设备上执行该指令时,使得电子设备执行上述的一个或多个进程。
155.通常,可以在硬件或特殊用途电路、软件、逻辑操作或其任何组合中实现各种实施例。可以在硬件中实现某些实施例,而其他实施例可以在固件或软件中实现,该固件或软件可以由控制器、微处理器或其他计算设备执行。虽然本说明书的各个实施例通过框图、流程
图或其他一些图形表示形式来说明和描述,但可以理解,本文所述的模块、设备、系统、技术或方法可以作为非限制性示例,以硬件、软件、固件、特殊用途电路或逻辑、通用硬件或控制器或其他计算设备或其任意组合来实现。
156.在本说明书的上下文中,机器可读介质可以是任何有形的介质,该介质可以包含或存储与指令执行系统、设备或设备使用或与之相联系的程序。机器可读介质可以是机器可读的信号介质或机器可读存储介质。机器可读介质可能包括但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或其任何适当组合。机器可读存储介质的更具体示例包括具有一个或多个电线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光学存储设备、磁性存储设备或其任何适当组合。
157.用于执行本说明书方法的计算机程序代码可以用一种或多种或任何组合的编程语言编写。这些计算机程序代码可以提供给通用计算机、特殊用途计算机或其他可编程数据处理设备的处理器,以便在由计算机或其他可编程数据处理设备执行程序代码时,可以实现要实施的流程图和/或框图中指定的功能或操作。程序代码可以完全在计算机上执行,作为独立软件包,部分在计算机上,部分在远程计算机上或完全在远程计算机或服务器上。
158.此外,虽然按特定顺序描绘了操作,但不应理解为要求以所示的特定顺序或按相继顺序执行这些操作,或者执行所述的所有操作,以实现理想的结果。在某些情况下,多任务处理和并行处理可能更有利。同样,虽然上述讨论中包含了几个特定实施例的详细信息,但不应将其解释为任何披露范围或可能被声明的范围的限制,而应作为对特定披露的特定实施例的特定功能的描述。本说明书中在独立实施例的背景下分别描述的某些功能,也可以在单个实施例中结合实现。相反,在单个实施例的上下文中描述的各种功能也可以分别在多个实施例中或任何合适的组合中实现。
159.当与附图结合阅读时,根据上述描述,对于本领域技术人员来说,对本说明书的上述实施例的各种修改和应用都是显而易见的。任何和所有修改仍将属于本说明书的非限制性和示例性实施例的范围。此外,与本说明书相关的其他实施将是本领域技术人员容易想到的,上述描述和附图的介绍教导这些相关实施例。因此,需要理解,本说明书的实施例不限于披露的具体实施例,并且旨在将修改和其他实施例包括在权利要求的范围内。尽管本文使用了特定术语,但它们仅以通用和描述性的意义使用,而不是用于限制的目的。
技术特征:1.一种计算机实现的方法,包括:在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段,所述加速度信号流由与移动用户相关的加速度传感器收集,所述第一时间窗口比所述第二时间窗口短;基于所述第一信号片段和所述第二信号片段分别确定所述第一时间窗口和所述第二时间窗口的第一幅度特征和第二幅度特征;以及基于所述第一幅度特征和所述第二幅度特征之间的偏差识别用户的步进事件。2.根据权利要求1所述的方法,其特征在于,所述第一时间窗口在所述第二时间窗口内,并且与所述第二时间窗口的结束时间相同。3.根据权利要求1所述的方法,其特征在于,确定所述第一幅度特征包括:基于所述第一信号片段的平均值确定所述第一幅度特征。4.根据权利要求1所述的方法,其特征在于,识别所述步进事件包括:基于所述第一幅度特征和所述第二幅度特征之间的差异确定所述偏差;以及基于所述偏差超过阈值偏差的确定结果识别所述步进事件。5.根据权利要求4所述的方法,其特征在于,识别所述步进事件进一步包括:沿所述加速度信号流分别向前移动所述第一时间窗口和所述第二时间窗口;基于在所述移动过程中获取的第一组信号片段和第二组信号片段,确定与所述第一时间窗口和所述第二时间窗口的移动相关的步进强度;以及基于所述步进强度超过阈值强度的确定结果识别所述步进事件。6.根据权利要求5所述的方法,其特征在于,确定所述步进强度包括:基于所述第一组信号片段和所述第二组信号片段分别确定第一组幅度特征和第二组幅度特征;以及获取所述第一组幅度特征和所述第二组幅度特征之间的一组偏差的总和。7.根据权利要求1的方法,其特征在于,所述方法进一步包括:基于所述加速度信号流的多个维度的测量值,确定所述加速度信号流中各个帧的加速度幅度;以及基于识别到的所述步进事件的一个帧的加速度幅度超过阈值幅度的确定结果验证所述步进事件。8.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:基于所述步进事件的频率在所述频率限制范围内的确定结果,验证所述步进事件。9.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:基于步长模型确定与所述步进事件相关的步长,所述步长模型表征参考用户的步长与所述参考用户携带的加速度传感器收集的加速度信号流之间的关联。10.根据权利要求9所述的方法,其特征在于,确定所述步长包括:从所述加速度信号流中识别与所述步进事件相关的步进窗口内的极值;确定所述步进窗口的平均值;以及基于所述步长模型、所述极值、所述平均值和所述步进事件的频率确定所述步长。11.根据权利要求10所述的方法,其特征在于,所述步长模型表征所述参考用户中的一个参考用户的步长、极值、平均值和加速度信号流的频率之间的多项式关联,其中所述加速
度信号流通过与所述参考用户关联的加速度传感器收集。12.根据权利要求1所述的方法,其特征在于,进一步包括:获取与所述用户相关的由方向传感器收集的方向信号流;基于所述加速度信号流和所述方向信号流确定与所述步进事件相关的运动方向;以及基于所述运动方向和所述步长确定所述用户的轨迹。13.一种电子设备,包括:处理单元;以及存储器,所述存储器连接到所述处理单元并存储由所述处理单元执行的指令,当所述处理单元执行所述指令时,所述存储器使该设备执行下列操作:在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段,所述加速度信号流由与移动用户相关的加速度传感器收集,所述第一时间窗口比所述第二时间窗口短;基于所述第一信号片段和所述第二信号片段分别确定所述第一时间窗口和所述第二时间窗口的第一幅度特征和第二幅度特征;以及基于所述第一幅度特征和所述第二幅度特征之间的偏差识别用户的步进事件。14.根据权利要求13所述的设备,其特征在于,所述第一时间窗口在所述第二时间窗口内,并且与所述第二时间窗口的结束时间相同。15.根据权利要求13所述的设备,其特征在于,确定所述第一幅度特征包括:基于所述第一信号片段的平均值确定所述第一幅度特征。16.根据权利要求13所述的设备,其特征在于,识别所述步进事件包括:基于所述第一幅度特征和所述第二幅度特征之间的差异确定所述偏差;以及基于所述偏差超过阈值偏差的确定结果识别所述步进事件。17.根据权利要求16所述的设备,其特征在于,识别所述步进事件进一步包括:沿所述加速度信号流分别向前移动所述第一时间窗口和所述第二时间窗口;基于在所述移动过程中获取的第一组信号片段和第二组信号片段,确定与所述第一时间窗口和所述第二时间窗口的移动相关的步进强度;以及基于所述步进强度超过阈值强度而识别所述步进事件。18.根据权利要求17所述的设备,其特征在于,确定所述步进强度包括:基于所述第一组信号片段和所述第二组信号片段分别确定第一组幅度特征和第二组幅度特征;以及获取所述第一组幅度特征和所述第二组幅度特征之间的一组偏差的总和。19.根据权利要求13所述的设备,其特征在于,所述指令进一步包括:基于所述加速度信号流的多个维度的测量值,确定所述加速度信号流中各个帧的加速度幅度;以及基于识别到的所述步进事件的一个帧的加速度幅度超过阈值幅度的确定结果验证所述步进事件。20.根据权利要求13所述的设备,其特征在于,所述指令进一步包括:基于所述步进事件的频率在所述频率限制范围内的确定结果,验证所述步进事件。21.根据权利要求13所述的设备,其特征在于,所述指令进一步包括:
基于步长模型确定与所述步进事件相关的步长,所述步长模型表征参考用户的步长与所述参考用户携带的所述加速度传感器收集的加速度信号流之间的关联。22.根据权利要求21所述的设备,其特征在于,确定所述步长包括:从所述加速度信号流中识别与所述步进事件相关的步进窗口内的极值;确定所述步进窗口的平均值;以及基于所述步长模型、所述极值、所述平均值和所述步进事件的频率确定所述步长。23.根据权利要求22所述的设备,其特征在于,所述步长模型表征所述参考用户中的一个参考用户的步长、极值、平均值和加速度信号流的频率之间的多项式关联,其中所述加速度信号流通过与所述参考用户关联的加速度传感器收集。24.根据权利要求13所述的设备,其特征在于,所述指令进一步包括:获取与所述用户相关的由方向传感器收集的方向信号流;基于所述加速度信号流和所述方向信号流确定与所述步进事件相关的运动方向;以及基于所述运动方向和所述步长确定所述用户的轨迹。25.一种计算机程序产品,所述计算机程序产品包括包含程序指令的计算机可读存储介质,所述程序指令由电子设备执行,以使所述电子设备执行权利要求1至12中任一项所述的方法。26.一种计算机可读的存储介质,所述存储介质包含程序指令,所述程序指令可由电子设备执行,以使所述电子设备执行权利要求1至12中任一项所述的方法。
技术总结本说明书实施例提供了一种在室内导航中识别步进事件的新方法。一般来说,在加速度信号流中的第一时间窗口和第二时间窗口内分别获取第一信号片段和第二信号片段,加速度信号流由与移动用户相关的加速度传感器收集,第一时间窗口比第二时间窗口短(210);基于第一信号片段和第二信号片段分别确定第一时间窗口和第二时间窗口的第一幅度特征和第二幅度特征(220);以及基于第一幅度特征和第二幅度特征之间的偏差识别用户的步进事件(230)。通过上述方法,以一种更有效、更准确的方式识别步进事件,从而提高室内导航的准确性。从而提高室内导航的准确性。从而提高室内导航的准确性。
技术研发人员:滕晓强 许鹏飞 马朝伟 徐斌 张军 孟一平 胡润波 柴华
受保护的技术使用者:北京嘀嘀无限科技发展有限公司
技术研发日:2020.05.29
技术公布日:2022/11/1