轨迹纠偏方法及系统与流程

文档序号:29690568发布日期:2022-04-16 11:25阅读:614来源:国知局
轨迹纠偏方法及系统与流程

1.本技术实施例涉及终端领域,尤其涉及一种轨迹纠偏方法及系统。


背景技术:

2.目前,随着通信技术的发展,智能设备(例如智能手环、智能手表等)功能也越来越强大,其所应用的场景越来越广泛。例如,用户可携带智能手表跑步,并通过智能手表记录用户的运动轨迹,随后,用户可将智能手表与手机进行连接,并将智能手表记录的运动轨迹上传到手机,以通过手机显示用户的运动轨迹。
3.但是,由于智能手表等智能设备的硬件限制,导致智能手表获取到的运动轨迹与用户的实际运动轨迹之间的偏差较大,因此,手机显示的用户的运动轨迹可能出现偏离实际运动轨迹较多的问题。


技术实现要素:

4.为了解决上述技术问题,本技术提出了一种轨迹纠偏方法和系统。在该方法中,通过第一电子设备可基于从云服务器获取到的运动轨迹,对第二电子设备上传的运动轨迹进行纠偏,从而通过以标准的运动轨迹对非标准运动轨迹进行纠偏的方式,以实现不依赖于路网数据,即可对运动轨迹进行纠偏的方式,有效提升第一电子设备显示的运动轨迹的准确性。
5.第一方面,提供一种轨迹纠偏系统。该系统包括:云服务器、第一电子设备和第二电子设备,第一电子设备通过蓝牙连接到第二电子设备,第一电子设备通过蜂窝网络与云服务器进行数据交互;第一电子设备,用于:获取第一区域范围内的第一运动轨迹和第二运动轨迹,向云服务器发送第一运动轨迹和第二运动轨迹;云服务器,用于:根据接收到的第一运动轨迹和第二运动轨迹,获取第三运动轨迹;第一电子设备,用于:从云服务器获取第三运动轨迹;第二电子设备,用于:获取第一区域范围内的第四运动轨迹;向第一电子设备发送第四运动轨迹;第一电子设备,还用于:响应于接收到的第四运动轨迹,基于第三运动轨迹,对第四运动轨迹进行纠偏,显示纠偏后的第四运动轨迹。这样,第一电子设备可基于从云服务器获取到的运动轨迹,对第二电子设备上传的运动轨迹进行纠偏,以提升显示的运动轨迹与实际运动轨迹的相似度。
6.示例性的,第一电子设备还可以向云服务器发送第三运动轨迹以及第四运动轨迹等,第一~第四运动轨迹均为第一电子设备在第一区域范围内获取到的,云服务器可基于第一电子设备发送的更多的运动轨迹,得到与实际运动轨迹相似度更高的运动轨迹。第一电子设备可基于云服务器训练后的运动轨迹,对第二电子设备的运动轨迹进行纠偏,从而使得第一电子设备显示的运动轨迹与实际运动轨迹相似度进一步提高。
7.示例性的,云服务器获取所述第三运动轨迹的方式包括:将所述第一运动轨迹与已存储的多个运动轨迹进行相似度匹配;若存在与所述第一运动轨迹相似度匹配成功的运动轨迹,根据所述相似度匹配成功的运动轨迹、所述第一运动轨迹与所述第二运动轨迹,获
取所述第三运动轨迹;若所述多个运动轨迹与所述第一运动轨迹相似度匹配失败,根据所述第一运动轨迹与所述第二运动轨迹,获取所述第三运动轨迹。
8.示例性的,所述相似度匹配成功的运动轨迹上存在与所述第一运动轨迹上的至少一个轨迹点对应的投影点,其中,所述投影点的数量大于第一阈值,所述投影点与所述第一运动轨迹上对应的轨迹点之间的距离小于第二阈值,所述投影点的方向与所述第一运动轨迹上对应的轨迹点之间的方向差值小于第三阈值。
9.示例性的,所述第三运动轨迹上存在与所述第四运动轨迹上的至少一个轨迹点对应的投影点,其中,所述投影点的数量大于第一阈值,所述投影点与所述第四运动轨迹上对应的轨迹点之间的距离小于第二阈值,所述投影点的方向与所述第四运动轨迹上对应的轨迹点之间的方向差值小于第三阈值。
10.示例性的,若所述第四运动轨迹上存在跳变轨迹点,所述纠偏后的第四运动轨迹中包括所述跳变轨迹点;所述第四运动轨迹上满足下述任一条件的轨迹点为所述跳变轨迹点:与前一个轨迹点或后一个轨迹点的方向差值大于第四阈值;与前一个轨迹点或后一个轨迹点之间的速度差值大于第五阈值;与前一个轨迹点或后一个轨迹点之间的距离差值大于第六阈值。
11.根据第一方面,系统还包括第三电子设备,第三电子设备通过蜂窝网络与云服务器进行数据交互;第三电子设备,用于:获取第一区域范围内的第五运动轨迹;云服务器,还用于:接收第五运动轨迹;根据第五运动轨迹与第三运动轨迹,获取第六运动轨迹;第一电子设备,还用于:从云服务器获取第六运动轨迹;第二电子设备,用于:获取第一区域范围内的第七运动轨迹;向第一电子设备发送第七运动轨迹;第一电子设备,还用于:响应于接收到的第七运动轨迹,基于第六运动轨迹,对第七运动轨迹进行纠偏,显示纠偏后的第七运动轨迹。这样,云服务器还可以基于其它一个或多个电子设备,例如第三电子设备,当然,还可以为第四电子设备、第五电子设备等发送的第一区域范围内的运动轨迹,对第三运动轨迹进行训练,以得到更加标准的运动轨迹,从而使得第一电子设备可基于进一步训练后得到的第七运动轨迹,对第二电子设备的运动轨迹进行纠偏,从而提升显示的运动轨迹的准确性。
12.根据第一方面,或者以上第一方面的任意一种实现方式,系统还包括第三电子设备,第三电子设备通过蜂窝网络与云服务器进行数据交互;第三电子设备,用于获取第二区域范围内的第八运动轨迹和第九运动轨迹,第一区域范围与第二区域范围不同;云服务器,还用于:接收第八运动轨迹和第九运动轨迹;根据第八运动轨迹和第九运动轨迹,获取第十运动轨迹;第一电子设备,还用于:从云服务器获取第十运动轨迹;第一电子设备,还用于:将第四运动轨迹与第三运动轨迹和第十运动轨迹分别进行相似度匹配,并确定第四运动轨迹与第三运动轨迹相似度匹配成功;基于相似度匹配成功的第三运动轨迹,对第四运动轨迹进行纠偏,显示纠偏后的第四运动轨迹。这样,云服务器可基于不同区域范围内的运动轨迹,得到与该区域范围内对应的一个或多个标准运动轨迹(即第一区域范围对应的第三运动轨迹和第二区域范围对应的第十运动轨迹),第一电子设备可从云服务器获取到一个或多个标准运动轨迹(例如第三运动轨迹和第十运动轨迹),随后,第一电子设备可将第二电子设备上传的运动轨迹与获取到的一个或多个标准运动轨迹进行相似度匹配,并基于相似度匹配成功的标准轨迹(例如第三运动轨迹)对第二电子设备上传内的运动轨迹进行纠偏,
以提升显示的运动轨迹的准确性。
13.根据第一方面,或者以上第一方面的任意一种实现方式,第一运动轨迹与第二运动轨迹的相似度大于或等于相似度阈值。这样,云服务器可基于同一个区域范围内,且相似度大于阈值的多个运动轨迹进行训练,以得到标准的运动轨迹。示例性的,同一个电子设备上传的同一个区域范围内多个运动轨迹,或者,不同的电子设备上传内的同一个区域范围内的多个运动轨迹之间的相似度可能大于或等于相似度阈值,云服务器可基于同一个电子设备或不同电子设备上传的同一个区域范围内的多个运动轨迹,得到标准的运动轨迹。示例性的,同一个电子设备或不同的电子设备上传内的同一个区域范围内的多个运动轨迹之间的相似度可能小于相似度阈值,云服务器可通过对多个运动轨迹进行相似度匹配,以获取相似度大于或等于相似度阈值的两个或两个以上运动轨迹,并对所述两个或两个以上运动轨迹进行训练,以得到标准的运动轨迹,也就是说,同一个区域范围内可以对应一个或多个标注的运动轨迹。
14.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备,用于:接收用户的指令,响应于用户的指令,从云服务器获取第三运动轨迹。这样,第一电子设备可基于用户的指令,主动向云服务器请求第三运动轨迹,并获取第三运动轨迹。示例性的,用户的指令还可以指示第一电子设备从云服务器获取指定区域范围,例如第二区域范围内的运动轨迹,第一电子设备可基于用户的指令,向云服务器请求第二区域范围内的运动轨迹。
15.根据第一方面,或者以上第一方面的任意一种实现方式,云服务器,用于:向第一电子设备发送指示信息,用于指示第一电子设备可从云服务器下载第三运动轨迹。这样,云服务器在获取到第三运动轨迹后,可通过发送指示信息的方式,通知第一电子设备当前存在可下载的第三运动轨迹。示例性的,云服务器可记录第一电子设备对应的区域范围,相应的,当云服务器生成对应于该区域范围内的运动轨迹后,可向第一电子设备发送指示信息。示例性的,第一电子设备可在运动健康应用的应用界面,或者下拉通知栏,或者锁屏时的通知栏显示云服务器存在指定区域范围内的未下载的运动轨迹。第一电子设备可响应于接收到的用户的指令,从云服务器下载该指定区域范围内的运动轨迹。
16.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备为手机,第二电子设备为智能手表。这样,通过定位能力较强的第一电子设备(即手机)获取一个或多个运动轨迹,云服务器对手机发送的一个或多个运动轨迹进行训练,可得到与实际运动轨迹相似度较高的标准的运动轨迹。手机可基于云服务器训练后的运动轨迹,对定位能力较弱的智能手表上传的运动轨迹进行纠偏,从而提高纠偏后的运动轨迹与实际运动轨迹的相似度,以有效提升用户的使用体验。
17.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备与第二电子设备分别安装有运动健康应用。这样,第一电子设备与第二电子设备可通过运动健康应用配对,并进行数据交互,例如第二电子设备可通过运动健康应用向第一电子设备发送获取到的运动轨迹。
18.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备,用于:在运动健康应用的应用界面上显示纠偏后的第四运动轨迹。示例性的,运动健康应用还可以调用地图应用的路网数据,以在地图上的相应位置显示纠偏后的第四运动轨迹。
19.根据第一方面,或者以上第一方面的任意一种实现方式,第一电子设备与第二电
子设备具有同一用户账号。这样,用户可通过用户账号登录第一电子设备与第二电子设备,第一电子设备与第二电子设备可在具有同一用户账号的场景下进行数据交互。
20.第二方面,提供一种轨迹纠偏方法。该方法应用于通信系统,系统包括:云服务器、第一电子设备和第二电子设备,第一电子设备通过蓝牙连接到第二电子设备,第一电子设备通过蜂窝网络与云服务器进行数据交互;方法包括:第一电子设备获取第一区域范围内的第一运动轨迹和第二运动轨迹,向云服务器发送第一运动轨迹和第二运动轨迹;云服务器根据接收到的第一运动轨迹和第二运动轨迹,获取第三运动轨迹;第一电子设备从云服务器获取第三运动轨迹;第二电子设备获取第一区域范围内的第四运动轨迹,并向第一电子设备发送第四运动轨迹;第一电子设备响应于接收到的第四运动轨迹,基于第三运动轨迹,对第四运动轨迹进行纠偏,并显示纠偏后的第四运动轨迹。
21.根据第二方面,系统还包括第三电子设备,第三电子设备通过蜂窝网络与云服务器进行数据交互;方法还包括:第三电子设备获取第一区域范围内的第五运动轨迹;云服务器接收第五运动轨迹,并根据第五运动轨迹与第三运动轨迹,获取第六运动轨迹;第一电子设备从云服务器获取第六运动轨迹;第二电子设备获取第一区域范围内的第七运动轨迹,并向第一电子设备发送第七运动轨迹;第一电子设备响应于接收到的第七运动轨迹,基于第六运动轨迹,对第七运动轨迹进行纠偏,并显示纠偏后的第七运动轨迹。
22.根据第二方面,或者以上第二方面的任意一种实现方式,系统还包括第三电子设备,第三电子设备通过蜂窝网络与云服务器进行数据交互;方法还包括:第三电子设备获取第二区域范围内的第八运动轨迹和第九运动轨迹,第一区域范围与第二区域范围不同;云服务器接收第八运动轨迹和第九运动轨迹,并根据第八运动轨迹和第九运动轨迹,获取第十运动轨迹;第一电子设备从云服务器获取第十运动轨迹;第一电子设备将第四运动轨迹与第三运动轨迹和第十运动轨迹分别进行相似度匹配,并确定第四运动轨迹与第三运动轨迹相似度匹配成功;以及,基于第三运动轨迹,对第四运动轨迹进行纠偏,显示纠偏后的第四运动轨迹。
23.根据第二方面,或者以上第二方面的任意一种实现方式,第一运动轨迹与第二运动轨迹的相似度大于或等于相似度阈值。
24.根据第二方面,或者以上第二方面的任意一种实现方式,第一电子设备接收用户的指令,并响应于用户的指令,从云服务器获取第三运动轨迹。
25.根据第二方面,或者以上第二方面的任意一种实现方式,云服务器向第一电子设备发送指示信息,用于指示第一电子设备可从云服务器下载第三运动轨迹。
26.根据第二方面,或者以上第二方面的任意一种实现方式,第一电子设备为手机,第二电子设备为智能手表。
27.根据第二方面,或者以上第二方面的任意一种实现方式,第一电子设备与第二电子设备分别安装有运动健康应用。
28.根据第二方面,或者以上第二方面的任意一种实现方式,第一电子设备在运动健康应用的应用界面上显示纠偏后的第四运动轨迹。
29.根据第二方面,或者以上第二方面的任意一种实现方式,第一电子设备与第二电子设备具有同一用户账号。
30.第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任
意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
31.第三方面,提供一种计算机可读存储介质。该介质包括计算机程序,当计算机程序在电子设备或云服务器上运行时,使得电子设备或云服务器执行第二方面以及第二方面中任意一项中的轨迹纠偏方法。示例性的,电子设备可以为第一电子设备或第二电子设备。
32.第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
33.第四方面,本技术实施例提供了一种计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
34.第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
35.第五方面,本技术实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第二方面或第二方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。示例性的,芯片可以为云服务器的芯片或电子设备的芯片,电子设备可以为第一电子设备或第二电子设备。
36.第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
37.图1是示例性示出的通信系统的示意图;
38.图2是示例性示出的手机的结构示意图;
39.图3是示例性示出的手机的软件结构示意图;
40.图4是示例性示出的智能手表的软件结构示意图;
41.图5是示例性示出的应用场景示意图;
42.图6是示例性示出的轨迹纠偏流程示意图;
43.图7a是示例性示出的纠偏前的运动轨迹示意图;
44.图7b是示例性示出的纠偏后的运动轨迹示意图;
45.图8是本技术实施例提供的一种轨迹纠偏方法的流程示意图;
46.图9是示例性示出的标准路径训练的流程示意图;
47.图10是示例性示出的标准路径下载的流程示意图;
48.图11是示例性示出的轨迹纠偏的流程示意图;
49.图12是示例性示出的应用配对的示意图;
50.图13是示例性示出的标准路径训练的流程示意图;
51.图14是示例性示出的相似度匹配的流程示意图;
52.图15是示例性示出的标准路径训练的流程示意图;
53.图16是示例性示出的轨迹纠偏的流程示意图;
54.图17是示例性示出的标准路径训练的流程示意图;
55.图18是示例性示出的标准路径训练的流程示意图;
56.图19是示例性示出的相似度匹配的流程示意图;
57.图20是本技术实施例提供的一种轨迹纠偏方法的流程示意图;
58.图21是本技术实施例提供的一种轨迹纠偏方法的流程示意图;
59.图22是示例性示出的应用场景示意图;
60.图23a~图23b是示例性示出的运动轨迹示意图;
61.图24是示例性示出的显示界面的示意图;
62.图25是示例性示出的显示界面的示意图。
63.图26是本技术实施例提供的一种轨迹纠偏方法的流程示意图;
64.图27是本技术实施例提供的一种装置的结构示意图。
具体实施方式
65.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
67.本技术实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
68.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
69.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
70.在对本技术实施例的技术方案说明之前,首先结合附图对本技术实施例的通信系统进行说明。参见图1,为本技术实施例提供的一种通信系统示意图。该通信系统中包括云端、手机和智能手表。如图1所示,智能手表与手机可进行通信连接,手机与云端进行通信连接。示例性的,智能手表与手机之间可通过蓝牙网络交互数据,手机与云端之间可通过蜂窝网络交互数据。需要说明的是,在本技术实施例的描述中,云端包括一个或多个网络设备,用于为终端设备提供服务。手机和智能手表的数量仅为示意性举例,在实际应用场景中,手机和智能手表均的数量均可以是一个或多个。
71.本技术实施例的描述中,以智能手表和手机为例进行说明,在其他实施例中,本技术同样适用于大屏、膝上型计算机、桌上型计算机、掌上型计算机(如平板电脑、智能手机等)等电子设备与智能穿戴设备(如智能手环、智能手表、智能眼镜、智能戒指等)等电子设
备的连接场景。
72.图2为本技术实施例示出的一种手机的结构示意图。图2虽然以图1中的手机为例说明电子设备的结构,但本领域技术人员明了,图2中的手机的结构也适用于图1中的智能手表。如图2所示,手机100可以包括处理器110,外部存储器接口120,内部存储器121,usb接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
73.可以理解的是,本技术实施例示意的结构并不构成对手机100的具体限定。在本技术另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
74.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
75.控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
76.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
77.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等,可支持usb1.0、usb2.0、usb3.0和usb4.0或者更高标准usb规范在内的各种usb规范。示例性的,usb接口130可以包括一个或多个usb接口。
78.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本技术另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
79.充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
80.天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
81.移动通信模块150可以提供应用在手机100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
82.无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
83.在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
84.手机100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
85.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
86.手机100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
87.图3为本技术实施例的手机100的软件结构框图。分层架构将软件分成若干层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为五层,从上至下分别为应用程序层,系统框架层,系统库与运行时层和内核层。
88.应用程序层可以包括相机,图库,日历,运动健康,wlan,音乐,视频等应用程序。需要说明的是,图3中示出的应用程序层所包括的应用程序仅为示例性说明,本技术对此不作限定。可以理解的是,应用程序层包括的应用并不构成对手机100的具体限定。在本技术另
一些实施例中,相较于图3所示应用程序层包含的应用,手机100可包括更多或更少的应用,手机100也可包括完全不同的应用。
89.系统框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架,包括各种组件和服务来支持开发者的安卓开发。系统框架层包括一些预先定义的函数。如图3所示,系统框架层可包括视图系统、窗口管理器、资源管理器、内容提供器等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可包括视频,图像,音频等。
90.系统库与运行时层包括系统库和安卓运行时(android runtime)。系统库可以包括多个功能模块。例如:浏览器内核,3d图形库(例如:opengl es),字体库等。浏览器内核负责对网页语法的解释(如标准通用标记语言下的一个应用html、javascript)并渲染(显示)网页。3d图形库用于实现三维图形绘图,图像渲染,合成和图层处理等。字体库用于实现不同字体的输入。安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
91.可以理解的是,图3示出的系统框架层、系统库与运行时层包含的部件,并不构成对手机100的具体限定。在本技术另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
92.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
93.图4为本技术实施例的智能手表200的软件结构框图。分层架构将软件分成若干层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,智能手表内的软件结构分为四层,从上至下分别为应用层、系统框架层、硬件抽象层(hardware abstraction layer,hal)和驱动。
94.应用程序层可以包括表盘、段炼等应用,需要说明的是,这些应用均可以理解为是运动健康应用中的子功能,也可就是说,智能手表中嵌入有运动健康应用,智能手表启动后,默认启动运动健康应用,用户可选择运动健康应用中的子应用,例如段炼等,选择相应的模式。需要说明的是,图4中示出的应用程序层所包括的应用程序仅为示例性说明,本技术对此不作限定。可以理解的是,应用程序层包括的应用并不构成对智能手表200的具体限定。在本技术另一些实施例中,相较于图4所示应用程序层包含的应用,智能手表200可包括更多或更少的应用,智能手表200也可包括完全不同的应用。
95.系统框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架,如图4所示,系统框架层可包括基础平台服务、运动服务、健康服务、短距服务、音频服务、手机协同服务等服务。示例性的,基础平台服务
包括设备管理、通信管理、dfm、维测营、文件系统、安全存储、升级服务。运动服务包括日常跟踪、锻炼、健身、佩戴检测。健康服务包括心率、压力、呼吸、睡眠、房颤。短距服务包括蓝牙、nfc支付、定位。音频服务包括音乐播放、音频设备管理。手机协同服务包括通话管理、消息管理。
96.hal层用于隔离硬件差异,对硬件进行逻辑抽象,并形成统一接口,以使系统框架层不依赖于具体硬件。该层包括音频(audio)hal和传感器(sensor)hal。
97.可以理解的是,图4示出的系统框架层和hal层包含的部件,并不构成对智能手表200的具体限定。在本技术另一些实施例中,智能手表200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
98.如图5为示例性示出的一种应用场景示意图。参照图5,用户沿a路径跑步,用户的实际运动轨迹即为图5中所示的运动轨迹a。一个示例中,用户携带手机跑步,由于手机的天线效率较高(一般在-4.5db~-5.5db左右),且搜星通道数较多(即能够搜到并连接较多卫星,例如搜星通道数为100~144个),其中,天线效率越高,则手机接收到的gps信号的增益越大,以及,手机在定位时,能够搜到并连接的卫星数量越多,则手机获取到的可供定位的参数越多且越准确,因此,手机获取到的运动轨迹(即为图5中的运动轨迹b)接近实际的运动轨迹a。另一个示例中,用户仅佩戴智能手表跑步(不携带手机),由于智能手表的天线效率较低(一般为-11db左右),且搜星通道数较少(例如搜星通道数为24~64个),因此,可能造成智能手表获取到的运动轨迹c与运动轨迹a之间的偏差较大。
99.为解决智能手表获取到的运动轨迹与实际运动轨迹之间的偏差较大的问题,示例性的,手机可对智能手表获取到的运动轨迹进行纠偏。如图6为示例性示出的轨迹纠偏流程示意图,参照图6,具体包括:
100.步骤101,手机周期性或触发性地从云端下载路网数据。
101.示例性的,在云端存储有路网数据,路网数据均为人工制作而成,具体制作方式本技术不做说明。
102.示例性的,手机可周期性地从云端下载路网数据,可选地,周期时长可以为7天,本技术不做限定。
103.示例性的,手机还可以在接收到用户的指令后,从云端下载路网数据。
104.需要说明的是,本技术实施例中所述的路网数据是指包含经纬度的数据,例如,手机获取到的路网数据中的经纬度数据可以指示街道宽度、位置、长度等参数,而通常地图软件示出的地图画面通常是将路网数据的各参数进行渲染后的结果。
105.步骤102,智能手表获取运动轨迹信息。
106.示例性的,在用户跑步过程中,智能手表可按照采样周期(例如1s)采集运动轨迹信息。举例说明,智能手表每隔1s获取当前运动信息,运动信息包括但不限于:位置、方向、速度、置信度和高度(即海拔),智能手表按照获取顺序,将每个周期获取到的运动信息保存,可以理解为,智能手表每隔1s获取的是一个轨迹点的运动信息,从用户开始跑步到结束跑步的过程中,智能手表获取到的轨迹点(例如获取到1000个轨迹点)构成用户的运动轨迹,因此,本技术实施例中所述的运动轨迹信息包括组成运动轨迹的每个轨迹点对应的运动信息,即,运动轨迹信息包括但不限于运动轨迹上的各轨迹点的位置、方向、速度、置信度和高度。
107.可选地,智能手表还可以获取用户的健康信息,例如用户的脉搏、体温、心率等数据。
108.示例性的,本技术实施例中所述的轨迹点的位置为该轨迹点的经纬度信息。
109.示例性的,轨迹点的方向可以是电子设备(例如手机或智能手表)基于接收到的gps信号获取到的,也可以是基于该轨迹点与前一轨迹点和/或后一个轨迹点之间的位置获取到的。需要说明的是,通过轨迹点与前一轨迹点和/或后一个轨迹点之间的位置获取到的轨迹点的方向可能与该轨迹点的实际方向存在一定的偏差,可以理解为是该轨迹点对应的方向趋势(或运动趋势)。
110.示例性的,轨迹点的速度可以是直接测得的,也可以是基于与前一轨迹点之间位移和采样周期计算所得。
111.示例性的,置信度也可以称为评估精度,其用于评估轨迹点的质量,或者说是轨迹点的可信程度。举例说明,如果第一轨迹点的位置与第二轨迹点的位置相差10米,或者是速度相差10m/s,且第一轨迹点为可信轨迹点,即置信度满足置信度范围,则第二轨迹点置信度较低,对应的置信度评分将超出置信度评分范围。可选地,若置信度越低,置信度评分越低,对应的轨迹点与实际轨迹点的位置、方向和/或速度的偏差越大,具体评分规则可根据实际需求设置,本技术不做限定。
112.示例性的,高度表示当前手表所属位置对应的海拔高度。
113.步骤103,智能手表向手机发送运动轨迹信息。
114.示例性的,智能手表在获取到运动轨迹信息后,向手机发送该运动轨迹信息。
115.可选地,若在步骤102中智能手表还获取到其它信息,例如健康信息等,可与运动轨迹信息一起发送给手机。
116.步骤104,手机基于路网数据,纠正运动轨迹。
117.示例性的,如步骤101所述,手机预先获取到路网数据,手机可基于接收到的运动轨迹的各轨迹点的位置信息,获取运动轨迹所属区域范围内的路网数据,示例性的,区域范围为5公里*5公里的矩形区域,或者是以运动轨迹上的任一轨迹点为圆心,半径5公里的圆形区域,或者是将运动轨迹上的多个轨迹点取质心,以质心为圆心,半径5公里的圆形区域。
118.示例性的,手机可基于获取到的路网数据对运动轨迹进行纠正(也可以称为纠偏、修正或校准)。举例说明,路网数据中包括但不限于道路的宽度、位置(经纬度)和长度等数据,如图7a所示为手机显示的纠偏前的运动轨迹示意图,手机的运动健康应用显示的运动轨迹是基于手机获取到的路网数据显示的,假设手机显示的是未纠偏前的运动轨迹,如图7a可见,运动轨迹上存在多个轨迹点偏离道路。如上文所述,手机可基于道路的路网数据对偏离道路的轨迹点进行纠偏,以使偏离的轨迹点恢复到道路上,从而使得运动轨迹上的各轨迹点始终保持在道路上,如图7b所示即为手机显示的纠偏后的运动轨迹示意图。
119.可选地,若运动轨迹上的各轨迹点均位于道路上,则无需对运动轨迹进行纠正。
120.步骤106,手机显示运动轨迹。
121.示例性的,手机的运动健康应用显示纠正后的运动轨迹。可选地,运动健康应用还可以显示健康信息等。
122.由于智能手表的天线性能限制,智能手表获取到的运动轨迹与实际运动轨迹之间可能出现较大的偏差,例如轨迹点不在道路上,在手机获取到路网数据的情况下,手机可实
现对智能手表发送的运动轨迹的纠正。但是,由于路网数据是人工生成的,在实际道路发生变换的情况下,如果人工未能及时更新路网数据,则手机获取到的该道路所属区域范围内的路网数据是不准确的数据。此外,路网数据通常只覆盖主干道路,对于运动场、公园等内部道路是无法覆盖的。因此,在手机未能成功获取到运动轨迹所属区域范围内的路网数据,或者,获取到的路网数据不精确的情况下,则手机无法对运动轨迹进行纠偏,仅能显示获取到的智能手表发送的运动轨迹,例如图7a所示的结果。举例说明,假设空地a上新修了一条道路,而路网数据未能及时更新,则在手机存储的路网数据中,空地a对应的路网数据仍然指示的该地为空地。假设用户佩戴智能手表在空地a新修的道路上跑步,由于手机未能获取到的该道路的路网数据,则手机无法对接收到的智能手表发送的运动轨迹进行纠正,只能显示智能手表发送的精准度较差的运动轨迹。
123.为解决上述问题,本技术提供一种轨迹纠偏方法,可在不依赖路网数据的情况下,实现对智能手表的运动轨迹的纠偏,以有效提高应用显示的运动轨迹的精准度,提升用户体验。
124.场景一
125.结合图1,如图8所示为本技术实施例提供的一种轨迹纠偏方法的流程示意图,参照图8,具体的,本技术的轨迹纠偏方法可包括标准路径训练、标准路径下载、标准路径匹配以及轨迹纠偏四个部分,下面分别对上述四个部分进行详细说明。
126.部分11、标准路径训练。
127.具体的,云端可用于对一个或多个终端上传的运动轨迹进行训练,以得到标准路径。如图9为示例性示出的标准路径训练的流程示意图,参照图9,具体的,手机1、手机2和手机3可分别向云端发送运动轨迹1~5、运动轨迹6、运动轨迹7~10。云端将接收到的运动轨迹1~10存储于存储单元。示例性的,云端的训练单元可每隔一周(即7天)从存储单元获取一周内存储的运动轨迹(例如运动轨迹1~10),训练单元根据运动轨迹1~10的位置、方向等信息进行训练,以得到一个或多个标准路径。
128.在一种可能的实现方式中,手机1、手机2和手机3可于相同或不同的周期内向云端发送运动轨迹。例如,手机1可在第一周期向云端发送运动轨迹1~5,手机2可在第二周期向云端发送运动轨迹6,手机3可在第三周期向云端发送运动轨迹7~10,本技术不做限定。
129.在一种可能的实现方式中,训练单元可周期性地从存储单元获取周期内的运动轨迹以进行训练。示例性的,周期时长可以为7天或3天,本技术中所述的周期时长仅为示意性举例,本技术不做限定。
130.在另一种可能的实现方式中,训练单元还可以非周期性地从存储单元获取未训练过的运动轨迹,例如,存储单元每接收到1000个运动轨迹,即通知训练单元进行训练。
131.部分12,标准路径下载。
132.如图10为标准路径下载的流程示意图,参照图10,具体的,云端的训练单元得到标准路径后,将标准路径输出至存储单元进行存储。手机1~手机3(包括手机1、手机2和手机3)可按需下载标准路径。
133.示例性的,手机端的标准路径下载规则包括但不限于:
134.1)手机每个周期(7天)下载一次。
135.2)每次下载指定区域范围内的标准路径。
136.在一种可能的实现方式中,手机的下载周期可以为7天或3天,本技术不做限定。
137.在一种可能的实现方式中,指定区域范围可以是用户经常跑步的地点所属的区域范围(区域范围的概念可参照步骤104中的描述,此处不再赘述)。示例性的,指定区域范围还可以是用户最近跑步的地点所属的区域范围。可选地,为降低存储的数据量,指定区域范围的数量上线可以为7个,例如,手机每周仅更新用户最近跑步的7个地点(假设用户每次跑步的地点不一样)所属的指定区域范围。
138.示例性的,手机端的标准路径下载方式还可以为用户点击运动健康应用后,手机响应于用户的点击操作,获取手机当前所在的位置,并更新手机所在区域范围内的标准路径。示例性的,运动健康应用可提供搜索功能,用户可在搜索功能中搜索指定的地点,例如xx园区,并选择在下载xx园区内的标准路径,手机检测到用户的操作行为,可向云端请求xx园区内的标准路径,云端可将xx园区内的标准路径发送至手机。示例性的,若手机中已存储一个或多个xx园区内的标准路径,手机可检测已存储的标准路径是否为近期(例如7天内)获取到的标准路径,如果一个或多个标准路径是7天内获取到的,手机可向云端请求xx园区内除已保存的一个或多个标准路径之外的其它标准路径。
139.示例性的,手机端的标准路径下载方式还可以为云端主动向手机端推送指定区域范围内的标准路径。例如,云端可记录手机端对应的指定区域范围,并在检测到指定区域范围内有更新的标准路径后,向手机端推送指定范围内的标准路径,或者,云端还可以周期性(例如7天)地向手机端推送指定区域范围内的标准路径,并在用户确定允许下载的情况下,手机获取云端推送的标准路径。
140.部分13,标准路径匹配。
141.如图11为标准路径匹配和轨迹纠偏的流程示意图,参照图11,示例性的,用户佩戴智能手表跑步,跑步过程中,智能手表获取用户的运动信息,包括但不限于运动轨迹11上的各轨迹点的位置、方向、速度、置信度和高度等信息。用户回家后,可将智能手表与手机1进行蓝牙配对,智能手表与手机1响应于用户的操作建立蓝牙连接之后,可进行应用配对,如图12所示为应用配对的示意图,参照图12,手机的显示窗口显示主页面,主页面上包括一个或多个空间,例如应用图标、电量控件等,用户可点击运动健康应用图标,手机检测到用户的点击操作,在显示窗口上显示运动健康应用界面,运动健康应用界面包括一个或多个插件,用户可点击“设备”选项,手机检测到用户的点击操作,显示设备界面。可选地,设备界面中包括一个或多个提示框,提示框可以包括提示信息,提示信息用于指示“可添加多个设备”,还可以包括其它提示框,例如,另一提示框包括提示信息“帮你轻松玩转华为穿戴设备”。用户可点击“添加设备”提示框,手机检测到用户的点击操作,显示添加设备界面(也可称为全部设备界面),该界面中包括一个或多个设备选项,用户可点击“手表”选项。手机检测到用户的点击操作,显示手表界面,可选地,手表界面可提供一个或多个华为手表的系列选项,用户可点击huawei watch gt2系列,需要说明的是,图中所示的品牌和系列仅为示意性举例,本技术不做限定。示例性的,手机检测到用户的点击操作,显示huawei watch gt2系列配对界面,示例性的,该界面包括一个或多个控件,例如底端的多个控件(包括健康、运动、设备等选项),还包括“开始配对”选项,用户可点击“开始配对”选项,手机检测到用户的点击操作,与用户的智能手表对应的型号(例如华为智能手表4)进行配对。
142.可选地,手机和智能手表具有同一个用户账号,用户可在手机和智能手表上登陆
同一个账号。可选地,手机与智能手表第一次配对成功后,智能手表再次靠近手机,手机与智能手表具有同一账号的情况下,手机可与智能手表自动连接。
143.仍参照图11,智能手表与手机1配对成功(指蓝牙配对和应用配对)后,智能手表可通过蓝牙连接向手机1发送运动轨迹11。手机1获取到运动轨迹11后,将运动轨迹11与已下载的一个或多个标准路径逐一匹配,并获取匹配成功的标准路径。
144.部分14,轨迹纠偏。
145.具体的,仍参照图11,手机1获取到与运动轨迹11匹配的标准路径后,可基于标准路径对运动轨迹11进行纠偏。
146.综上,相较于已有技术中手机需要依赖路网数据对运动轨迹进行纠偏的方式,本技术中,云端可基于获取到的多个运动轨迹进行群体运动轨迹手的训练,以得到标准路径,手机可从云端获取到与运动轨迹匹配的标准路径,从而基于标准路径对运动轨迹进行纠偏,以提出一种不依赖于路网数据的纠偏方式,有效提升运动轨迹纠偏的精准度和可靠性,从而提升用户体验。
147.下面采用几个具体的实施例,对上述方法实施例中的各部分进行详细说明。
148.场景:手机1在第一周期内获取到运动轨迹信息1~5,并在第一周期内向云端发送运动轨迹信息1~5。其中,运动轨迹1~5为用户1在第一周期内的不同时间段,在园区a内沿逆时针方向跑步生成的。需要说明的是,下面的实施例中,均以周期时长为一周(即7天)为例进行说明,第一周期可以理解为第一周,第二周期可以为与第一周相邻的下一周。在其他实施例中,第二周期还可以是与第一周期相隔的另一周,本技术不做限定。
149.手机2在第一周期内获取到运动轨迹信息6~9,并在第一周期内向云端发送运动轨迹信息6~9。其中,运动轨迹6~9为用户2在第一周期内的不同时间段,在园区b内沿逆时针方向跑步生成的。
150.手机3在第二周期内获取到运动轨迹信息10,并在第二周期内向云端发送运动轨迹信息10。其中,运动轨迹10为用户3在第二周期内,在园区a内沿顺时针方向跑步生成的。
151.各运动轨迹信息包括但不限于:运动轨迹上的各轨迹点的位置、方向、速度、置信度和高度,可选地,还包括手机的标识信息。可选地,手机的标识信息可以为手机的序列号等信息,发送该信息的目的是用于使得云端可基于手机的标识信息识别获取到的运动轨迹信息的生成端是否为指定类型的设备,例如手机等,也可以理解为,指定类型的设备是指获取到的运动轨迹可作为标准路径训练基础的设备,而非指定类型的设备则是指智能手表、智能手表等运动轨迹不可作为生成标准路径基础的设备。举例说明,手机序列号中的部分参数可用于指示设备的类型,例如指示手机为华为p30,则云端可基于预先设置的序列号参数与指定类型设备的对应关系,确定华为p30手机即为指定类型设备。
152.可选地,所述手机的标识信息也可以是指定字段中的特殊符号,例如,手机向云端发送的数据包中的数据字段中可以包括指示字段,该指示字段中的数值为“1”时,表示该数据包的发送端为手机,即指定类型设备,相应的,手表向云端发送的数据包中的数据字段中可以包括指示字段,该指示字段中的数值为“0”时,标识数据包的发送端为手表,即非指定类型设备。
153.下面结合上述场景,对云端的训练方式进行详细说明,如图13所示为本技术实施例提供的标准路径训练的流程示意图,参照图13,具体包括:
154.步骤201,云端判断运动轨迹信息1~9是否为指定类型设备生成的。
155.示例性的,云端(如非特殊说明,下文中的执行主体均是指云端中的训练单元)在第一周期结束时刻,从存储单元提取第一周期内获取到的运动轨迹信息1~9。
156.示例性的,云端可基于各运动轨迹信息中包括的标识信息,确定运动轨迹的生成端是否为指定类型的设备(概念可参照上文)。示例性的,在本实施例中,云端基于标识信息,确定运动轨迹1~9的生成端均为手机,并执行步骤202。
157.在一种可能的实现方式中,手机可将接收到的智能手表发送的运动轨迹发送至云端,以指示云端存储智能手表获取到的纠偏前的运动轨迹。在该示例中,以手机1为例,手机1发送智能手表的运动轨迹时,需携带用于指示该运动轨迹是智能手表生成的标识,例如,可以是智能手表的序列号或者指示字段中携带特殊标识(可参照上文),云端可基于序列号或特殊表示与指定类型设备的对应关系,确定运动轨迹的生成端为智能手表,则将该运动轨迹进行存储。
158.在另一种可能的实现方式中,若智能手表或智能手环等电子设备具有蜂窝通信功能,即,可通过蜂窝网络与云端交互数据,智能手表获取到运动轨迹后,可将纠偏前的运动轨迹以及智能手表的序列号发送至云端,同样,云端可基于序列号,确定运动轨迹的生成端为智能手表,并存储该运动轨迹。
159.在又一种可能的实现方式中,若智能手表是基于手机的定位系统生成的运动轨迹,则手机获取智能手表发送的运动轨迹后,向云端发送的运动轨迹信息中包括指示运动轨迹为智能手表基于手机的定位系统生成的。举例说明,用户携带手机和智能手表跑步,智能手表和手机始终保持蓝牙连接,手机可基于手机的定位系统获取运动轨迹,并传输至智能手表,智能手表结合运动轨迹与健康信息,生成运动健康信息(包括运动轨迹信息和健康信息),智能手表将运动健康信息上报给手机后,手机可将运动轨迹信息发送给云端,其中,信息中包括指示运动轨迹为基于手机的定位系统发送的标识。在该示例中,云端可将该类运动轨迹作为训练样本,对标准路径进行训练。
160.步骤202,云端检测是否已存在与运动轨迹1~9匹配的标准路径。
161.具体的,云端基于运动轨迹的位置信息,提取已存储的运动轨迹所属区域范围内的一个或多个标准路径进行相似度匹配,以确定是否存在与运动轨迹对应的标准路径,例如,运动轨迹1~5所属的区域范围为园区a,运动轨迹6~9所属区域范围为园区b。
162.下面对相似度匹配的具体过程进行详细说明:
163.如图14为示例性示出的相似度匹配的流程示意图,参照图14,示例性的,以运动轨迹a和运动轨迹b之间的匹配为例进行说明,云端存储的运动轨迹上的轨迹点均是以轨迹点的生成时间为顺序存储的,也就是说,手机按照采样周期获取到的轨迹点后,向云端发送的运动轨迹信息中的各轨迹点的运动信息仍是按照各轨迹点的生成(或获取)顺序发送的。在相似度匹配的过程中,云端按照轨迹点的顺序,以此对各轨迹点进行相似度匹配,其中,所述轨迹点的顺序是指运动轨迹上的各轨迹点在时间上的顺序。示例性的,以运动轨迹a上的轨迹点1为例,轨迹点1即为运动轨迹a上的起始轨迹点(即第一次记录的轨迹点),云端基于轨迹点1的方向1,遍历运动轨迹b上的各轨迹点,并获取与方向1之间的夹角小于30
°
的轨迹点。需要说明的是,遍历过程同样是按照运动轨迹b上的各轨迹点的顺序。可选地,云端可基于运动轨迹b上的各轨迹点的顺序,从轨迹1’点开始遍历,且仅遍历80个(具体数值可根据
实际需求进行设置)轨迹点,以降低云端服务器的功耗。示例性的,经过逐点匹配后,云端获取到运动轨迹b上与轨迹点1的方向1之间的夹角小于或等于30
°
的轨迹点包括轨迹点1’、轨迹点2’、轨迹点3’。需要说明的是,本技术实施例中所述的各阈值,例如,方向之间的夹角,以及下文所述的距离阈值等均为示意性举例,在其他实施例中,还可以是其它数值,例如方向夹角的阈值可以为40
°
等,本技术不做限定。进一步需要说明的是,两个方向之间的夹角范围取[0,180
°
],举例说明,方向1和方向2之间的夹角为28
°
,方向1与方向3之间的夹角为10
°
,方向1与方向4之间的夹角为12
°

[0164]
示例性的,经过方向匹配后,云端将轨迹点1与方向匹配成功的轨迹点集合(包括轨迹点1’、轨迹点2’、轨迹点3’)中的各点进行距离匹配,选取与轨迹点1之间距离最近的轨迹点为轨迹点1对应的投影点。示例性的,云端将轨迹点1与轨迹点集合中的轨迹点逐一匹配,获取到轨迹点1与轨迹点1’、轨迹点2’、轨迹点3’之间的距离分别为:距离1、距离2、距离3。经过比较,云端确定距离1为几个距离值中的最小值,即,轨迹点1与轨迹点1’的距离最近,轨迹点1’即为轨迹点1的投影点。可选地,距离值是基于轨迹点的位置获取到的。
[0165]
示例性的,确定投影点后,云端判断投影点是否符合设定的条件。示例性的,设定的条件为距离小于或等于50米。一个示例中,若云端检测到距离1小于50米,例如,距离1为10米,云端确定轨迹点1’为与轨迹点1对应的符合设定的条件的投影点。
[0166]
示例性的,云端按照上述方式,继续按序对运动轨迹a上的各轨迹点进行匹配,需要说明的是,如果轨迹点1对应的投影点为轨迹点2’,则在对轨迹点1后面的轨迹点,例如轨迹点2进行匹配时,只能从轨迹点3’开始遍历,以选取对应的投影点。需要说明的是,上文所述轨迹点1后面的轨迹点2是指时间顺序上的,也就是说,在轨迹生成的时候,先生成轨迹点1,再生成的轨迹点2。进一步需要说明的是,从轨迹点3’开始遍历即是指,从与轨迹点1匹配的轨迹点2’后面的相邻轨迹点(即轨迹点3’)开始遍历。
[0167]
示例性的,若运动轨迹a上70%的轨迹点均在运动轨迹b上存在符合设定的条件的投影点,则确定运动轨迹a与运动轨迹b匹配成功,也可以理解为,运动轨迹a与运动轨迹b的相似度大于或等于70%。需要说明的是,本技术中所述的相似度匹配方式仅为示意性举例,在其他实施例中,也可以以其他方式进行相似度匹配,例如,可以先确定与运动轨迹上的各轨迹点对应的距离最小的点为投影点,再基于每个投影点与轨迹点的方向和距离,判断投影点是否符合条件等方式,本技术不做限定。
[0168]
仍参照图13,示例性的,云端将运动轨迹1~5与存储单元存储的园区a内的标准路径逐一进行匹配后,确定未存在与运动轨迹1~5匹配的标准路径,同样未检测到与运动轨迹6~9匹配的标准路径,执行步骤203。
[0169]
步骤203,云端生成标准路径。
[0170]
示例性的,如图15所示为基于运动轨迹1~5生成标准路径的示意图,需要说明的是,在生成标准路径之前,云端同样将运动轨迹1~5进行两两匹配,以确定运动轨迹1~5为相似度大于或等于70%的运动轨迹,也就是说,只有相似度大于或等于70%的多个运动轨迹才能作为样本进行标准路径的生成训练。
[0171]
示例性的,云端采用层次聚类法对多个运动轨迹进行训练,参照图15,云端对运动轨迹1与运动轨迹2进行纠偏,得到修正结果1;对运动轨迹2和运动轨迹3进行纠偏,得到修正结果2;对运动轨迹5和修正结果2进行纠偏,得到修正结果3;对修正结果1和修正结果3进
行纠偏,得到修正结果4,修正结果4即为与运动轨迹1~5对应的标准路径,可将其标记为园区a内的标准路径a1。需要说明的是,纠偏过程中是对各轨迹点的位置、方向和速度均进行纠偏,保存的信息包括修正结果4对应的修正运动轨迹4上各轨迹点的位置、方向和速度。
[0172]
需要说明的是,本技术仅以层次聚类法为例进行说明,在其他实施例中,也可以以其他算法或方式确定标准路径,本技术不做限定。
[0173]
下面对纠偏过程进行详细说明,如图16为示例性示出的纠偏过程的示意图,参照图16,示例性的,云端基于运动轨迹a与运动轨迹b进行纠偏的过程中,云端仍按照上文所述的相似度匹配方式,确定运动轨迹b上与运动轨迹a的各轨迹点对应的投影点,以运动轨迹a上的轨迹点1和运动轨迹b上对应于轨迹点1的投影点(轨迹点1’)为例进行说明,假设轨迹点1对应的位置为位置1、轨迹点1’对应的位置为位置2,修正轨迹点1的修正位置1即为位置1与位置2取中,修正轨迹点1的方向、速度、置信度和高度也同样是基于轨迹点1’和轨迹点1的方向和速度取中所得。需要说明的是,上述举例中的取中纠偏方式仅适用于热度相同的两个运动轨迹之间的纠偏,其中,热度是指生成标准路径或修正结果的训练样本数,举例说明,参照图15,修正结果1是基于运动轨迹1和运动轨迹2生成的,其热度(即训练样本数)即为2,相应的,修正结果3的热度即为3(包括运动轨迹3、运动轨迹4和运动轨迹5)。示例性的,在对修正结果1和修正结果3进行纠偏时,由于修正结果3的热度大于修正结果1,则修正结果4上的各轨迹点的位置离修正结果3更近,示例性的,修正结果1的热度与修正结果3的热度比为2:3,则纠偏过程中按照该比例纠偏。云端将运动轨迹a与运动轨迹b上每个对应的轨迹点(即轨迹点与投影点之间的对应关系)的位置、方向和速度进行纠偏,以得到每个修正后的轨迹点对应的运动信息,即构成修正运动轨迹对应的修正轨迹信息。
[0174]
示例性的,如图17所示为基于运动轨迹6~9生成标准路径的示意图,云端同样基于层次聚类法,对运动轨迹6~9进行训练,生成园区b内的标准路径b1及对应的运动信息。
[0175]
在一种可能的实现方式中,标准路径的生成还可以采用人工干预的方式,例如,可人工选择多个运动轨迹中的任一轨迹作为标准路径,可选地,云端记录该标准路径为人工干预后生成的。
[0176]
步骤204,云端保存标准路径信息。
[0177]
具体的,云端保存标准路径信息,即包括标准路径a1上的各轨迹点的位置、方向、速度、置信度和高度,以及,标准路径b1上的各轨迹点的位置、方向、速度、置信度和高度。
[0178]
在一种可能的实现方式中,若在步骤202中,云端获取到与运动轨迹1~5匹配的标准路径(假设为标准路径x),则云端基于运动轨迹1~5对标准路径x进行更新。示例性的,云端将运动轨迹1~5仍按照图15所示的方式两两进行修正,并对修正结果4与标准路径x进行纠偏,纠偏方式仍可参照上文。可选地,云端还可记录有标准路径x的热度和修正结果4的热度(热度的概念详见上文),举例说明,标准路径x的热度为100,修正结果4的热度即为5(即运动轨迹1~5),则在对修正结果4与标准路径x进行纠偏时,按照100:5的比例纠偏,即纠偏后的标准路径x’与标准路径x更接近。需要说明的是,如上文所述,标准路径可能是人工干预生成的,对于该类标准路径,则无需对其进行更新,也就是说,即使获取到与其匹配的运动轨迹,也不会基于运动轨迹对人工干预生成的标准路径进行更新。
[0179]
图13所示为对第一周期内获取到的运动轨迹进行训练的流程,下面对第二周期内的标准路径训练的流程进行说明。如图18所示为本技术实施例提供的标准路径训练的流程
示意图,在无特别说明的情况下,本实施例涉及的相关内容与图13中的相关内容相同或相类似,此处不再赘述。参照图18,具体包括:
[0180]
步骤301,云端判断运动轨迹信息6是否为指定类型设备生成的。
[0181]
步骤302,云端检测是否已存在与运动轨迹6匹配的标准路径。
[0182]
示例性的,如图19所示,云端提取与运动轨迹6所属区域范围(即园区a)内的标准路径,即标准路径a1。云端将运动轨迹6与标准路径a1进行相似度匹配,确定运动轨迹6与标准路径a1的相似度为0。具体匹配过程可参照步骤202中的相关内容,此处不赘述。
[0183]
步骤303,云端生成标准路径。
[0184]
示例性的,由于云端未检测到与运动轨迹6匹配的标准路径以及其他运动轨迹,则运动轨迹6可作为园区a内的标准路径b1。
[0185]
步骤304,云端保存标准路径。
[0186]
示例性的,手机1从云端下载标准路径a1、标准路径a2和标准路径a3,具体下载规则可参照上文,此处不赘述。
[0187]
如图20所示为本技术实施例提供的另一种轨迹纠偏方法的流程示意图,参照图20,具体包括:
[0188]
步骤401,手机获取一个或多个运动轨迹信息。
[0189]
步骤402,手机基于一个或多个运动轨迹,生成标准路径。
[0190]
和私立下你给的,手机可基于一个或多个运动轨迹进行训练,生成对应的标准路径,标准路径的生成方式可参照步骤203的相关内容,此处不赘述。
[0191]
步骤403,手机向云端发送标准路径信息。
[0192]
步骤404,云端基于一个或多个手机发送的标准路径样本进行训练,生成标准路径。
[0193]
示例性的,一个或多个手机可向云端发送各自生成的一个或多个标准路径,对于云端,各手机发送的标准路径即为标准路径训练样本,云端可基于标准路径训练样本进行训练,生成标准路径,生成标准路径的方式可参照步骤203,此处不赘述。
[0194]
步骤405,云端保存标准路径信息。
[0195]
下面结合图21所示的本技术实施例提供的轨迹纠偏方法的流程示意图,对轨迹纠偏方式进行详细说明,在本实施例中,用户佩戴智能手表在园区a1内沿逆时针方向跑步,智能手表获取到运动轨迹11,智能手表与手机1进行蓝牙配对和应用配对成功后,智能手表通过蓝牙连接向手机1发送运动轨迹11,运动轨迹11可参照图22所示的场景示意图,参照图21,具体的:
[0196]
步骤501,手机1判断是否存储有运动轨迹11所属区域范围内的标准路径。
[0197]
示例性的,手机1基于运动轨迹11的各轨迹点的位置,提取运动轨迹11所属区域范围(即园区a)内的标准路径,包括标准路径a1和标准路径a2。
[0198]
在一种可能的实现方式中,若手机1判断未存储运动轨迹11所属区域范围内的标准路径,则手机1从云端下载园区a内的标准路径。示例性的,若云端也未存储有园区a内的标准路径,则手机1直接显示运动轨迹11。
[0199]
步骤502,手机1判断标准路径a1和标准路径a2是否为最新的标准路径。
[0200]
示例性的,如上文所述,手机1会周期性地更新保存的标准路径,手机1判断标准路
径a1和标准路径a2是否为最近一个周期内更新过的标准路径,一个示例中,若标准路径a1和标准路径a2为最近一个周期内更新过的标准路径,执行步骤503,另一个示例中,若标准路径a1和标准路径a2非最近一个周期内更新过的标准路径,手机1从云端下载园区a内的标准路径。
[0201]
步骤503,手机1将运动轨迹11与标准路径a1和标准路径a2进行相似度匹配。
[0202]
示例性的,手机1对运动轨迹11和标准路径a1进行相似度匹配,得到运动轨迹11和标准路径a1之间的相似度大于70%,手机1确定运动轨迹11与标准路径a1相匹配。
[0203]
在一种可能的实现方式中,若标准路径a1和标准路径a2均与运动轨迹11不匹配,则手机1显示运动轨迹11。
[0204]
步骤504,手机1基于标准路径a1,对运动轨迹11进行纠偏。
[0205]
示例性的,参照图22,手机可基于标准路径a1,对运动轨迹11进行纠偏,纠偏后的运动轨迹11如图22所示。
[0206]
需要说明的是,与图16中的纠偏不同的是,手机1在步骤504的纠偏过程中,仅对运动轨迹11上的轨迹点与标准路径上对应的投影点之间的距离小于或等于50米,且方向夹角小于或等于30
°
的轨迹点进行纠偏,并且,符合上述条件的轨迹点在纠偏的过程中,采用将运动轨迹11上的轨迹点向对应的投影点纠正75%的方式进行纠偏。举例说明,假设运动轨迹11上的轨迹点与标准路径a1上的投影点之间的距离为10米,则修正后的轨迹点距离投影点的距离为2.5米,方向和速度的修正与位置的修正类似,此处不赘述,其它细节仍可参照图16的相关描述,此处不赘述。
[0207]
示例性的,对于不符合上述条件的轨迹点,即轨迹点与投影点之间的距离大于50米和/或方向夹角大于30
°
,则云端进一步判断轨迹点是否为跳变轨迹点,其中,跳变轨迹点是指轨迹点的位置或方向与前一个轨迹点之间的偏差较大。
[0208]
一个示例中,若运动轨迹11上不存在跳变轨迹点,即如图23a所示,部分轨迹点虽然与标准路径a1上的投影点之间的距离大于50米,但是,该类轨迹点是缓慢变换的,即,每个轨迹点与前一个轨迹点之间的位置、方向均未发生突然跳变,因此,对于该类轨迹点,手机1不进行纠偏。举例说明,用户在跑步过程中,从某个小路小路绕道,形成运动轨迹11中的突起部分对应的轨迹点,在纠偏过程中,手机1忽略该部分轨迹点,即不对这些轨迹点进行纠偏,仍保留轨迹点,手机显示纠偏后的运动轨迹11如图24所示,需要说明的是,图24中的户外跑步界面可以参照图12,手机检测到用户点击底端的“运动”选项,显示户外跑步界面,参照图24,示例性的,户外跑步界面包括一个或多个控件,例如包括轨迹控件(即“轨迹”选项),用户点击“轨迹”选项后,手机可响应于用户的点击操作,在户外跑步界面上显示纠偏后的运动轨迹,以及其它运动信息,例如公里数、时间(是指手表生成运动轨迹的时间)、运动时间(也可以理解为运动时长)、平均配速、热量等信息。可选地,若手机中存储有该运动轨迹所属区域内的地图(即上文所述的路网数据),手机可对地图与纠偏后的运动轨迹进行相应处理,以在地图上的相应区域内显示纠偏后的运动轨迹。
[0209]
另一个示例中,若运动轨迹11上存在跳变轨迹点,如图23b所示,则手机1在纠偏过程中,删除该类轨迹点,并将删除轨迹点的前一个轨迹点和后一个轨迹点连接,手机显示的纠偏后的运动轨迹如图25所示。
[0210]
步骤505,手机1显示纠偏后的运动轨迹11。
[0211]
上文中的方法实施例中均是基于手机在线场景说明的,手机在线是指手机可从云端获取到标准路径。本技术实施例中的技术方案还可以应用于手机离线场景,即手机无法从云端获取标准路径的场景,如图26所示为手机离线场景下的轨迹纠偏方法流程示意图,参照图26,示例性的,以草原场景为例,用户携带手机在草原上的一个区域内跑步,假设在一个时间段内,用户沿同一个轨迹跑了4圈,对应的运动轨迹分别为运动轨迹12~运动轨迹15。与云端类似,手机可包括存储单元和训练单元,手机可保存运动轨迹12~15,训练单元可从存储单元中提取运动轨迹12~15进行训练,得到标准路径。
[0212]
示例性的,手机端的训练周期时长可以是一天,即,每隔一天对存储单元获取到的运动轨迹进行训练,或者也可以是响应于用户指令,基于用户指令,执行训练过程。
[0213]
示例性的,手机可基于各轨迹点的置信度,计算每个运动轨迹的置信度,运动轨迹的置信度可以为各轨迹点的置信度之和,其中,置信度越高,则表示该运动轨迹更精准,即越贴近实际轨迹。手机可选择置信度最高的运动轨迹中的任一轨迹作为标准路径。可选地,手机还可以基于与云端相同的训练方式(即步骤203的相关内容)对运动轨迹12~15进行训练,以得到标准路径。
[0214]
仍参照图17,,训练单元将获取到的标准路径发送至存储单元。
[0215]
示例性的,用户佩戴智能手表沿上述轨迹跑步,智能手表获取到运动轨迹信息16,包括运动轨迹16上的各轨迹点的位置、方向、速度、置信度和高度。智能手表向手机发送运动轨迹信息16,手机中的匹配单元可基于运动轨迹16获取与其匹配的标准路径,纠偏单元可基于匹配的标准路径对运动轨迹16进行纠偏。需要说明的是,无特殊说明的情况下,离线场景中的手机执行的各步骤与在线场景中云端和手机执行的各步骤类似,此处不赘述。
[0216]
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0217]
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0218]
示例性的,图27示出了本技术实施例的一种装置200的示意性框图装置200可包括:处理器201和收发器/收发管脚202,可选地,还包括存储器203。
[0219]
装置200的各个组件通过总线204耦合在一起,其中总线204除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都称为总线204。
[0220]
可选地,存储器203可以用于前述方法实施例中的指令。该处理器201可用于执行存储器203中的指令,并控制接收管脚接收信号,以及控制发送管脚发送信号。
[0221]
装置200可以是上述方法实施例中的手机、智能手表或云端中的服务器。
[0222]
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块
的功能描述,在此不再赘述。
[0223]
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备或网络设备(例如云服务器)上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的轨迹纠偏方法。
[0224]
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的轨迹纠偏方法。
[0225]
另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的轨迹纠偏方法。
[0226]
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0227]
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0228]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0229]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0230]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0231]
本技术各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本技术的范围之内。
[0232]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0233]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1