首页> 中国专利> 一种运动轨迹处理方法、介质、装置及设备

一种运动轨迹处理方法、介质、装置及设备

摘要

本申请涉及一种运动轨迹处理方法,包括:获取运动轨迹集合,其中运动轨迹集合包括多个运动轨迹;和根据运动轨迹集合确定运动路线要素,其中运动路线要素包括中心位置和交点集合中的至少一个,其中,中心位置由多个栅格共享并且运动轨迹集合被包含在多个栅格的地理范围内;其中,交点集合包括与多个轨迹段簇相关的多个交点,其中多个轨迹段簇中的每个轨迹段簇包括多个运动轨迹的多个轨迹段,并且多个轨迹段中的相邻轨迹段之间的间距小于预定值,其中相邻轨迹段分别属于多个运动轨迹中的不同运动轨迹。在本申请中,确定多个运动轨迹的中心位置和/或交点集合,可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率。

著录项

  • 公开/公告号CN112989220A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201911283885.X

  • 发明设计人 刘亘轶;

    申请日2019-12-13

  • 分类号G06F16/9537(20190101);G06F16/9535(20190101);G06F16/29(20190101);G06F16/22(20190101);G06F21/62(20130101);

  • 代理机构31267 上海音科专利商标代理有限公司;

  • 代理人夏峰

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本申请的一个或多个实施例通常涉及人工智能领域,具体涉及一种运动轨迹处理方法、介质、装置及设备。

背景技术

现有技术中,在推荐运动路线时,通常利用移动终端采集多个用户的多条运动轨迹数据,将这些包括多个GPS坐标点的运动轨迹数据通过网络发到云侧服务器,服务器将这些运动轨迹数据直接存储为运动路线,或是由规则轨迹形状的求质心算法,将运动轨迹数据和质心的GPS坐标存储为运动路线。最后,当其他用户请求运动路线时,根据请求用户的GPS坐标从云侧数据库中查找与请求用户相近的运动路线,返回给请求用户。

发明内容

以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。

第一方面,本申请实施例提供了一种运动轨迹处理方法,该方法包括:获取运动轨迹集合,其中运动轨迹集合包括多个运动轨迹;和根据运动轨迹集合确定运动路线要素,其中运动路线要素包括中心位置和交点集合中的至少一个,其中,中心位置由多个栅格共享并且运动轨迹集合被包含在多个栅格的地理范围内;其中,交点集合包括与多个轨迹段簇相关的多个交点,其中多个轨迹段簇中的每个轨迹段簇包括多个运动轨迹的多个轨迹段,并且多个轨迹段中的相邻轨迹段之间的间距小于预定值,其中相邻轨迹段分别属于多个运动轨迹中的不同运动轨迹。

根据本申请的实施例,相对于直接存储和处理多个运动轨迹,通过对用户的多个运动轨迹的多个轨迹段聚簇,并获得与多个轨迹段簇相关的多个交点,作为从用户的多个运动轨迹中提取的跑步路线的要素,可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率;相对于使每个栅格对应一个中心位置,使多个栅格共享一个中心位置,也可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率。

在一些实施例中,运动路线要素还包括:与多个栅格中的每个栅格对应的Geohash编码,用于索引每个栅格对应的地理范围。

根据本申请的实施例,通过利用多个栅格的geohash编码值索引运动路线,可以提高运动路线的检索效率。

在一些实施例中,Geohash编码包括至少7位Base32编码字符。

在一些实施例中,运动路线要素还包括:指示多个交点中的每个交点与多个交点中的其他至少一个交点之间的链接关系的交点链接表格。

在一些实施例中,中心位置包括中心位置的GPS坐标,多个交点中的每个交点包括以中心位置为原点的相对坐标系中的相对坐标。

根据本申请的一些实施例,通过以中心位置为原点,对运动路线的各个交点进行相对坐标转换,可以保护用户的隐私,消除与用户相关的敏感数据。

在一些实施例中,根据运动轨迹集合确定运动路线要素,包括:从多个交点中选择最东、最南、最西、最北的四个交点;根据四个交点确定多个栅格的地理范围,并确定地理范围的中心点作为中心位置。

在一些实施例中,根据运动轨迹集合确定运动路线要素,包括:将运动轨迹集合中的每条运动轨迹分割为多个轨迹段;将相邻轨迹段之间的间距小于预定值的多个轨迹段聚类为多个轨迹段簇中的一个轨迹段簇;

在一些实施例中,根据多个轨迹簇中的每个轨迹段簇内的多个轨迹段,确定对应于每个轨迹段簇的簇向量从而形成对应于多个轨迹段簇的多个簇向量;确定多个簇向量中相邻簇向量之间的交点。

在一些实施例中,簇向量的起点坐标为轨迹段簇内的多个轨迹段的起点坐标的平均值,簇向量的终点坐标为轨迹段簇内的多个轨迹段的终点坐标的平均值。

第二方面,本申请实施例提供了一种运动轨迹处理方法,该方法包括:获取与当前运动轨迹集合相关的多个当前运动轨迹交点以及与历史运动轨迹集合相关的多个历史运动轨迹交点;和至少部分地根据异常段偏差,确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,从而获得优化的运动路线,其中,异常段偏差至少部分地指定当前运动轨迹集合的多个运动轨迹的多个轨迹段中出现异常轨迹段的比例,其中异常轨迹段距离多个轨迹段的至少一个类中心超出第一预定值。

根据本申请的实施例,在融合当前运动轨迹集合和历史运动轨迹集合时,考虑了当前运动轨迹集合的异常段偏差,而异常段偏差与当前运动轨迹集合中的多个运动轨迹生成时的GPS信号质量相关,因此使用当前运动轨迹集合的异常段偏差决定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,可以更准确地控制融合误差,也可以提高融合质量。

在一些实施例中,当前运动轨迹集合和历史运动轨迹集合被包含在相同的地理范围内。

在一些实施例中,确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,包括利用LSTM(Longshort-term memory,长短时记忆)模型确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点。

在一些实施例中,确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,还包括:利用LSTM模型,根据以下公式计算用于确定是否保留多个历史运动轨迹交点中的至少一个历史运动轨迹交点的遗忘门:

f

b

其中,f

在一些实施例中,确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点还包括,利用LSTM模型,根据以下公式计算用于确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点的输入门:

i

其中,i

在一些实施例中,确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点还包括,利用LSTM模型,根据以下公式确定是否输出多个当前运动轨迹交点中的至少一个当前运动轨迹交点以及多个历史运动轨迹交点中的至少一个历史运动轨迹交点,从而获得优化的运动路线:

o

h

其中,X

在一些实施例中,该方法还包括,从优化的运动路线的多个交点中,选择最东、最南、最西、最北的四个交点;

根据四个交点确定包含优化的运动路线的地理范围,并确定地理范围的中心点作为优化的运动路线的中心位置。

在一些实施例中,该方法还包括,确定地理范围的多个栅格以及多个栅格的geohash编码值,其中多个栅格共享中心位置。

根据本申请的实施例,相对于使每个栅格对应一个中心位置,使多个栅格共享一个中心位置,可以降低优化的运动路线的存储和处理成本,提高优化的运动路线的处理效率;另外,通过利用多个栅格的geohash编码值索引优化的运动路线,可以提高优化的运动路线的检索效率。

在一些实施例中,中心位置包括中心位置的GPS坐标,优化的运动路线的多个交点中的每个交点包括以中心位置为原点的相对坐标系中的相对坐标。

根据本申请的实施例,通过以中心位置为原点,对优化的运动路线的各个交点进行相对坐标转换,可以保护用户的隐私,消除与用户相关的敏感数据。

在一些实施例中,方法还包括:对多个轨迹段的中心进行聚类并获得多个轨迹段的至少一个类中心。

第三方面,本申请实施例提供了一种运动路线的推荐方法,该方法包括:接收用户对运动路线的推荐请求;获取用户的GPS坐标,并计算用户的GPS(Global PositioningSystem,全球定位系统)坐标的geohash编码值;从多个栅格geohash编码值中,查询与用户的GPS坐标的geohash编码值的差距最小的栅格geohash编码值;获取与用户的GPS坐标的geohash编码值的差距最小的栅格geohash编码值对应的运动路线以及运动路线的中心位置,其中,中心位置由包含运动路线的地理范围的多个栅格共享;和根据中心位置向用户推荐运动路线。

根据本申请的实施例,相对于使每个栅格对应一个中心位置,使多个栅格共享一个中心位置,可以降低运动路线的存储和处理成本,提高运动路线的处理效率;另外,通过利用多个栅格的geohash编码值索引运动路线,可以提高运动路线的检索效率。

第四方面,本申请实施例提供了一种计算机可读存储介质,在计算机可读存储上存储有指令,当指令在机器上运行时,使得机器执行上述任意一种方法。

第五方面,本申请实施例提供了一种运动路线处理装置,该装置包括:处理器;存储器,在存储器上存储有指令,当指令被处理器运行时,使得处理器执行上述任意一种方法。

第六方面,本申请实施例提供了一种运动轨迹处理设备,该设备包括运动轨迹记录模块,用于获取运动轨迹集合,其中运动轨迹集合包括多个运动轨迹;和运动路线提取模块,用于根据运动轨迹集合确定运动路线要素,其中运动路线要素包括中心位置和交点集合中的至少一个,其中,中心位置由多个栅格共享并且运动轨迹集合被包含在多个栅格的地理范围内;和其中,交点集合包括与多个轨迹段簇相关的多个交点,其中多个轨迹段簇中的每个轨迹段簇包括多个运动轨迹的多个轨迹段,并且多个轨迹段中的相邻轨迹段之间的间距小于预定值,其中相邻轨迹段分别属于多个运动轨迹中的不同运动轨迹。

根据本申请的实施例,相对于直接存储和处理多个运动轨迹,通过对用户的多个运动轨迹的多个轨迹段聚簇,并获得与多个轨迹段簇相关的多个交点,作为用户的多个运动轨迹的要素,可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率;相对于使每个栅格对应一个中心位置,使多个栅格共享一个中心位置,也可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率。

在一些实施例中,运动路线要素还包括:与多个栅格中的每个栅格对应的Geohash编码,用于索引每个栅格对应的地理范围。

根据本申请的实施例,通过利用多个栅格的geohash编码值索引运动路线,可以提高运动路线的检索效率。

在一些实施例中,Geohash编码包括至少7位Base32编码字符。

在一些实施例中,运动路线要素还包括:指示多个交点中的每个交点与多个交点中的其他至少一个交点之间的链接关系的交点链接表格。

在一些实施例中,运动路线提取模块还用于,确定多个交点中的每个交点在以中心位置为原点的相对坐标系中的相对坐标。

根据本申请的一些实施例,通过以中心位置为原点,对运动路线的各个交点进行相对坐标转换,可以保护用户的隐私,消除与用户相关的敏感数据。

在一些实施例中,运动路线提取模块用于根据运动轨迹集合确定运动路线要素,包括用于:从多个交点中选择最东、最南、最西、最北的四个交点;根据四个交点确定多个栅格的地理范围,并确定地理范围的中心点作为中心位置。

在一些实施例中,运动路线提取模块用于根据运动轨迹集合确定运动路线要素,包括用于:将运动轨迹集合中的每条运动轨迹分割为多个轨迹段;将相邻轨迹段之间的间距小于预定值的多个轨迹段聚类为多个轨迹段簇中的一个轨迹段簇;根据多个轨迹簇中的每个轨迹段簇内的多个轨迹段,确定对应于每个轨迹段簇的簇向量从而形成对应于多个轨迹段簇的多个簇向量;确定多个簇向量中相邻簇向量之间的交点。

在一些实施例中,簇向量的起点坐标为轨迹段簇内的多个轨迹段的起点坐标的平均值,簇向量的终点坐标为轨迹段簇内的多个轨迹段的终点坐标的平均值。

第七方面,本申请实施例提供了一种运动轨迹处理设备,该设备包括:运动路线提取模块,用于获取与当前运动轨迹集合相关的多个当前运动轨迹交点以及与历史运动轨迹集合相关的多个历史运动轨迹交点;和运动路线优化模块,至少部分地根据异常段偏差,确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,从而获得优化的运动路线;其中,异常段偏差至少部分地指定当前运动轨迹集合的多个运动轨迹的多个轨迹段中出现异常轨迹段的比例,其中异常轨迹段距离多个轨迹段的至少一个类中心超出第一预定值。

根据本申请的实施例,在融合当前运动轨迹集合和历史运动轨迹集合时,考虑了当前运动轨迹集合的异常段偏差,而异常段偏差与当前运动轨迹集合中的多个运动轨迹生成时的GPS信号质量相关,因此使用当前运动轨迹集合的异常段偏差决定是否丢弃多个历史运动轨迹交点,可以更准确地控制融合误差,也可以提高融合质量。

在一些实施例中,当前运动轨迹集合和历史运动轨迹集合被包含在相同的地理范围内。

在一些实施例中,运动路线优化模块用于确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,包括用于利用LSTM(Long short-term memory,长短时记忆)模型确定是否是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点。

在一些实施例中,运动路线优化模块用于确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,还包括用于:利用LSTM模型,根据以下公式计算用于确定是否保留多个历史运动轨迹交点中的至少一个历史运动轨迹交点的遗忘门:

f

b

其中,f

在一些实施例中,运动路线优化模块用于确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,还包括用于:利用LSTM模型,根据以下公式计算用于确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点的输入门:

i

其中,i

在一些实施例中,运动路线优化模块用于确定是否保留多个当前运动轨迹交点中的至少一个当前运动轨迹交点和/或多个历史运动轨迹交点中的至少一个历史运动轨迹交点,还包括用于:利用LSTM模型,根据以下公式确定是否输出多个当前运动轨迹交点中的至少一个当前运动轨迹交点以及多个历史运动轨迹交点中的至少一个历史运动轨迹交点,从而获得优化的运动路线:

o

h

其中,X

在一些实施例中,运动路线提取模块还用于,从优化的运动路线的多个交点中,选择最东、最南、最西、最北的四个交点;根据四个交点确定包含运动路线的地理范围,并确定地理范围的中心点作为优化的运动路线的中心位置。

在一些实施例中,运动路线提取模块还用于,确定地理范围的多个栅格以及多个栅格的geohash编码值,其中多个栅格共享中心位置。

根据本申请的实施例,相对于使每个栅格对应一个中心位置,使多个栅格共享一个中心位置,可以降低运动路线的存储和处理成本,提高运动路线的处理效率;另外,通过利用多个栅格的geohash编码值索引运动路线,可以提高运动路线的检索效率。

在一些实施例中,运动路线提取模块还用于,确定优化的运动路线的多个交点中的每个交点在以中心位置为原点的相对坐标系中的相对坐标。

根据本申请的实施例,通过以中心位置为原点,对运动路线的各个交点进行相对坐标转换,可以保护用户的隐私,消除与用户相关的敏感数据。

在一些实施例中,运动路线提取模块还用于:

对多个轨迹段的中心进行聚类并获得多个轨迹段的至少一个类中心。

附图说明

图1示出了根据本申请实施例的通过终端设备记录用户的运动轨迹的一种场景示意图;

图2示出了根据本申请实施例的终端设备100的一种结构示意图;

图3示出了根据本申请实施例的在运动路线提取时轨迹分割、聚类的一种示意图;

图4示出了根据本申请实施例的运动路线的交点的双向链表的一种示意图;

图5示出了根据本申请实施例的运动路线的geohash编码的一种示意图;

图6示出了根据本申请实施例的长短时记忆网络的一种模型示意图;

图7示出了根据本申请实施例的运动路线的提取方法的一种流程示意图;

图8示出了根据本申请实施例的运动路线的优化方法的一种流程示意图;

图9示出了根据本申请实施例的运动路线的推荐方法的一种流程示意图;

图10示出了根据本申请实施例的运动路线处理装置的一种结构示意图。

具体实施方式

下面结合具体实施例和附图对本申请做进一步说明。此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

图1示出了根据本申请实施例的通过终端设备记录用户的运动轨迹的一种场景示意图,其中,终端设备,例如图2中的终端设备100,可以包括,但不限于,便携式或移动设备、手机、个人数字助理、蜂窝电话、手持PC、便携式媒体播放器、手持设备、可穿戴设备(例如,手表、手环、显示眼镜或护目镜、头戴式显示器、头戴设备)、导航设备、服务器、网络设备、图形设备、视频游戏设备、机顶盒、膝上型设备、虚拟现实和/或增强现实设备、物联网设备、工业控制设备、车载信息娱乐设备、流媒体客户端设备、电子书、阅读设备、POS机以及其他设备。如图1所示,在用户沿运动场地(例如,但不限于,操场、公园、小区、广场、马路或其他场地)运动(例如,但不限于,跑步、快走等)期间,终端设备,例如图2中的终端设备100,可以实时地根据接收的卫星信号确定用户的GPS(global positioning system,全球定位系统)坐标,从而实时地记录用户的运动轨迹。

图2示出了根据本申请实施例的终端设备100的一种结构示意图,如图2所示,终端设备100可以包括,但不限于,GPS定位模块110、运动轨迹记录模块120、数据中心130、运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160。其中,终端设备100的一个或多个组件(例如,GPS定位模块110、运动轨迹记录模块120、数据中心130、运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160中的一个或多个),可以由专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路、提供所描述的功能的其他合适的组件的任意组合构成。根据一个方面,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。

需要说明的是,虽然图2示出了运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160均位于用户侧的终端设备100上,但运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160中的一个或多个可以位于其他设备上,该其他设备例如,但不限于,云侧服务器,因此,在本申请的实施例中,将终端设备100和云侧服务器等统称为运动轨迹处理设备。另外,虽然图2示出了运动轨迹记录模块120与运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160是相互独立的模块,但是运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160中的一个或多个也可以作为运动轨迹记录模块120的一部分。

根据本申请的一些实施例,GPS定位模块110用于根据接收的卫星信号确定用户(或终端设备100)的GPS坐标,运动轨迹记录模块120用于在用户运动期间记录用户的运动轨迹,具体地,运动APP可以一定的频率(即,打点频率)从GPS定位模块110获取用户的GPS坐标,该GPS坐标以及对应的时间将构成一个轨迹点,一条运动轨迹可以包括多个轨迹点。

根据本申请的一些实施例,通过运动轨迹记录模块120记录的运动轨迹可以保存在数据中心130中,所述数据中心130可以包括,但不限于,通过机器或设备制造或形成的物品的非瞬态的有形安排,其包括存储介质,诸如硬盘或任何其它类型的盘,包括软盘、光盘、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,例如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);相变存储器(PCM);磁卡或光卡;或适于存储数据的任何其它类型的介质。

根据本申请的一些实施例,运动路线提取模块140用于根据运动路线模型,从运动轨迹记录模块120记录的用户在一段时间内(例如,一天、三天、一周、两周、一个月或其他时间段)在相同地理范围内(例如,相同的运动场地)生成的多条运动轨迹中,提取一条简化的运动路线。其中,多条运动轨迹的示例可以是,但不限于,用户分别在今天、昨天、前天生成的运动轨迹,或者将用户在一次运动中生成的运动轨迹进行分割得到的多条运动轨迹,例如,将用户沿运动场地跑多圈生成的运动轨迹按照每一圈进行分割得到的多条运动轨迹。其中,所述运动路线模型可以包括,但不限于,构成运动路线的多个交点的集合,该交点集合包括与多个轨迹段簇相关的多个交点,其中多个轨迹段簇中的每个轨迹段簇包括运动轨迹的多个轨迹段,并且多个轨迹段中相邻轨迹段之间的间距小于预定值,其中所述相邻轨迹段分别属于所述多个跑步轨迹中的不同跑步轨迹。

根据本申请的一些实施例,运动路线优化模块150用于基于循环神经网络151,对相同地理范围内(例如,同一运动场地)的当前运动路线和至少一条历史运动路线的交点进行融合,以获得一条所述地理范围内的优化运动路线,并将其作为所述地理范围内的默认运动路线存储在数据中心130中。其中,当前运动路线指的是通过运动路线提取模块140从用户在当前时间段(例如,一天、三天、一周、两周、一个月或其他时间段)内生成的当前运动轨迹集合中提取的运动路线,至少一条历史运动路线中的每条历史运动路线指的是通过运动路线提取模块140从用户在当前时间段之前的历史时间段(例如,一天、三天、一周、两周、一个月或其他时间段)内生成的历史运动轨迹集合中提取的运动路线。其中,循环神经网络151是一类具有记忆能力的深度学习网络,循环神经网络151的一个神经元的输出不仅与该神经元的输入相关,还和上一个神经元的输出相关,循环神经网络151的示例可以包括,但不限于LSTM(long short-term memory,长短时记忆)网络和GRU(gated recurrent unit,门控循环单元)网络,在一种示例中,循环神经网络151的各个神经元可以与不同时刻的运动路线相关。其中,所述融合包括使用循环神经网络151确定当前运动路线和各条历史运动路线的哪些交点可以被保留下来构成优化运动路线,因此优化运动路线包括当前运动路线以及各条历史运动路线的一个或多个交点。其中,当前运动路线的生成用户以及各条历史运动路线的生成用户可以相同,也可以不同,在不同的情况下,终端设备100可以例如通过网络,向服务器获取相同地理范围内的其他用户的运动路线。

根据本申请的一些实施例,运动路线推荐模块160用于接收用户对运动路线的推荐请求,获取用户的GPS坐标,并根据用户的GPS坐标向用户推荐与用户相近的运动路线。

以下将参考图2,进一步描述终端设备100的运动路线提取模块140、运动路线优化模块150以及运动路线推荐模块160的功能。

如图2所示,运动路线提取模块140可以包括,但不限于轨迹分割单元141、轨迹聚类单元142、轨迹抽析单元143以及模型要素确定单元144。其中,运动路线提取模块140的一个或多个组件(例如,轨迹分割单元141、轨迹聚类单元142、轨迹抽析单元143以及模型要素确定单元144中的一个或多个),可以由专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路、提供所描述的功能的其他合适的组件的任意组合构成。根据一个方面,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。

根据本申请的一些实施例,轨迹分割单元141可以用于从数据中心130获取通过运动轨迹记录模块120记录的多条运动轨迹,并将每条运动轨迹分割为多个轨迹段。

具体地,可以将每条运动轨迹表示为

其中,TR

对于每条运动轨迹,轨迹分割单元141可以将在时间上相邻的两个轨迹点表示为一个轨迹段,其中所述轨迹段的方向由时间较早的轨迹点(即,起始轨迹点)指向时间较晚的轨迹点(即,终止轨迹点),所述轨迹段的大小为两个轨迹点之间的距离。图3示出了3条运动轨迹TR

根据本申请的一些实施例,轨迹聚类单元142可以将各条运动轨迹的轨迹段按顺序聚类为多个轨迹段簇,其中,在一个轨迹段簇内,相邻的轨迹段之间的间距小于预定值,其中,相邻轨迹段分别属于所述多个跑步轨迹中的不同跑步轨迹。作为一种示例,将两个轨迹段表示为ts

d

其中,l

例如,在图3所示的示例中,图2的轨迹聚类单元142可以首先确定第一个轨迹段簇以及第一个轨迹段簇的基准轨迹段,图2的轨迹聚类单元142将在各个运动轨迹的轨迹段中确定能够与基准轨迹段聚类的轨迹段。在一种示例中,图2的轨迹聚类单元142可以将第一个轨迹段簇的基准轨迹段确定为TR

在另一种示例中,图2的轨迹聚类单元142可以将第一个轨迹段簇的基准轨迹段确定为TR

然后,轨迹聚类单元142可以确定第二个轨迹段簇以及第二个轨迹段簇的基准轨迹段。在一种示例中,图2的轨迹聚类单元142可以将第二个轨迹段簇的基准轨迹段确定为TR

依次类推,图2的轨迹聚类单元142可以确定运动轨迹的其他轨迹段簇。需要说明的是,对于不同于图3示出的运动轨迹,可以以与前述类似的原理确定运动轨迹的各个轨迹段簇。

根据本申请的一些实施例,对于每个轨迹段簇,轨迹抽析单元143可以基于簇内的各个轨迹段计算一个簇向量。作为一种示例,轨迹抽析单元143可以以轨迹段簇内各个轨迹段的起始轨迹点的GPS坐标的均值作为簇向量的起点的GPS坐标,以各个轨迹段的终止轨迹点的GPS坐标的均值作为簇向量的终点的GPS坐标。作为另一种示例,轨迹抽析单元143可以以轨迹段簇内的任意一个轨迹段作为簇向量。需要说明的是,也可以基于其他任何合适的方式确定簇向量。

根据本申请的一些实施例,轨迹聚类单元142还用于确定异常轨迹段,并确定异常轨迹段在所有轨迹段中的占比,即异常段偏差。具体地,轨迹聚类单元142可以通过层次聚类算法、K均值聚类算法或其他聚类算法,对多条跑步轨迹的各轨迹段的中心点进行聚类,并获得多个轨迹段中心点的类别以及各个类别的类中心,轨迹聚类单元142可以计算多条跑步轨迹的各轨迹段的中心点与各个类中心的距离,并将其中心点与各个类中心之间的最小距离大于预定值(该预定值和上述与轨迹段之间的间距相关的预定值相同或者不同)的轨迹段标记为异常轨迹段。例如,在图3的示例中,TR

根据本申请的一些实施例,模型要素确定单元144可以用于根据运动路线模型,确定从运动轨迹中提取的简化的运动路线的模型要素。具体地,运动路线模型可以包括相邻轨迹段簇的相邻簇向量的交点的集合。作为一种示例,在相邻轨迹段簇的相邻簇向量首尾不相接的情况下,模型要素确定单元144可以延长该相邻簇向量中的一个或两个,以确定该相邻簇向量之间的交点的GPS坐标;在相邻的簇向量已经相交的情况下,模型要素确定单元144可以直接确定相邻簇向量之间的交点的GPS坐标。运动路线模型还可以包括运动路线的起点,以及运动路线的终点。模型要素确定单元144可以以运动轨迹的第一个轨迹段簇的簇向量的起点作为运动路线的起点,将最后一个轨迹段簇的簇向量的终点作为运动路线的终点。运动路线模型还可以包括指示簇向量的交点集合中的每个交点与其他至少一个交点之间的链接关系的交点链接表格,其中,交点集合包括运动路线的起点和终点。作为一种示例,模型要素确定单元144可以确定如图4所示的交点之间的双向链表,其中,起点可以是运动路线的起点,交点1可以是运动轨迹的第一个轨迹段簇的簇向量和第二个轨迹段簇的簇向量之间的交点,交点2可以是运动轨迹的第二个轨迹段簇的簇向量和第三个轨迹段簇的簇向量之间的交点,依次类推,终点可以是运动路线的终点。另外,图4中示出的每个交点可以包括该交点的GPS坐标、到前一交点的链接(例如,但不限于,指针)以及到后一交点的链接(例如,但不限于,指针),而起点可以包括起点的GPS坐标、到后一交点的链接(例如,但不限于,指针),终点可以包括终点的GPS坐标、到前一交点的链接(例如,但不限于,指针)。图4所示的双向链表能够使得用户可以沿运动路线的正向(例如,由图4所示的起点指向图4所示的终点)运动,也可以沿运动路线的反向(例如,由图4所示的终点指向图4所示的起点)运动。需要说明的是,模型要素确定单元144也可以确定交点之间的单向链表,即图4中示出的每个交点可以包括该交点的GPS坐标、到前一交点的链接(例如,但不限于,指针)或者到后一交点的链接(例如,但不限于,指针)。

为了提高在向用户推荐运动路线时对运动路线的检索效率,运动路线模型还可以包括运动路线的索引,即表征运动路线所处地理范围的多个栅格的geohash编码值,其中,geohash编码是一种地址编码,它可以把二维的经纬度坐标编码成一维的字符串,例如,base32编码字符串,以提高对地理位置的检索效率。图5示出了表征运动路线所处地理范围的四个栅格及其geohash编码值,如图所示,模型要素确定单元144可以确定运动路线的最小外接矩形,其中,最小外接矩形的其中两条边与纬线平行并且由运动路线的交点集合中最南和最北交点的纬度坐标确定,另外两条边与经线平行并且由运动路线的交点集合中最东和最西交点的经度坐标确定,并且模型要素确定单元144可以将运动路线的最小外接矩形的中心点作为运动路线的中心位置,例如,图中所示的运动路线的中心位置的GPS坐标为(121.623,29.855)。

如图5所示,图2的模型要素确定单元144可以以中心位置为中心,将运动路线的最小外接矩形均分为四个栅格,并确定每个栅格的地理范围对应的geohash编码值,其中geohash编码值的位数可以例如是,但不限于,7位base32编码,例如,如图5所示,四个栅格的编码值分别为wx4g340、wx4g341、wx4g342以及wx4g343。

需要说明的是,图5只是表征运动路线所处地理范围的栅格的一个示例,由各个交点构成的运动路线不限于图5中所示的运动路线,中心位置的GPS坐标也不限于图中所示出的GPS坐标。

另外,为了保护用户的隐私,运动路线模型还可以包括运动路线的中心位置的GPS坐标,并且运动路线的各个交点的坐标是相对于中心位置的相对坐标。作为一种示例,模型要素确定单元144可以以上述中心位置为原点,构建相对坐标系,将运动路线的各个交点的绝对GPS坐标(例如,经度和纬度)转换为在该相对坐标系中的相对坐标,如此,可以消除与用户相关的敏感数据。

模型要素确定单元144还可以将根据运动路线模型确定的、从运动轨迹中提取的简化运动路线的各个要素保存在数据中心130中,以作为要向用户推荐的候选运动路线。

根据本申请的一些实施例,为了进一步地提高向用户推荐的运动路线的质量,运动路线优化模块150可以基于循环神经网络151,对相同地理范围内(例如,同一运动场地)的当前运动路线和至少一条历史运动路线的交点进行融合,以获得一条该地理范围内的优化运动路线。具体地,以循环神经网络151为LSTM网络作为示例说明当前运动路线和至少一条历史运动路线的融合过程,图6示出了LSTM网络的一种模型示意图,如图6所示,LSTM网络可以包括多个神经元A

如图6所示,每个神经元都包括输入和输出,以神经元A

LSTM网络的每个神经元的输出和细胞状态通过遗忘门、输入门以及输出门来控制,如图6所示,以神经元A

f

b

其中,σ表示sigmoid函数;W

神经元A

i

其中,σ表示sigmoid函数;W

在神经元A

其中,

神经元A

o

其中,W

在神经元A

h

需要说明的是,虽然在图6中以LSTM网络作为示例描述了当前运动路线和各条历史运动路线的交点的融合,但图2的运动路线优化模块150可以使用GRU网络,基于类似的原理实现当前运动路线和各条历史运动路线的交点的融合。

回到图2,模型要素确定单元144还可以用于根据运动路线模型,确定神经元A

模型要素确定单元144还可以确定表征由神经元A

模型要素确定单元144可以以由神经元A

模型要素确定单元144还可以以由神经元A

模型要素确定单元144还可以将根据运动路线模型确定的、由神经元A

根据本申请的一些实施例,运动路线推荐模块160可以接收用户对运动路线的推荐请求,获取用户的当前GPS坐标,并计算用户的GPS坐标的geohash编码值。然后,运动路线推荐模块160可以在数据中心130存储的多条运动路线的多个栅格geohash编码值中,确定与用户的GPS坐标的geohash编码值差距最小的栅格geohash编码值,由于相近的geohash编码值可以表示相近的地理位置,因此,与用户的GPS坐标的geohash编码值差距最小的栅格geohash编码值对应的运动路线与用户的地理位置最近,并且运动路线推荐模块160可以向用户推荐该条运动路线。在一种示例中,在推荐运动路线的交点的坐标是GPS坐标的情况下,运动路线推荐模块160可以根据推荐运动路线的交点链接表格将推荐运动路线呈现在地图上;在推荐运动路线的交点的坐标是相对于中心位置的相对坐标的情况下,运动路线推荐模块160可以根据中心位置的GPS坐标以及推荐运动路线的交点链接表格将推荐运动路线呈现在地图上。

在本申请的实施例中,通过对用户在一段时间内生成的多条运动轨迹进行分割、聚类、抽析,并提取一条简化的运动路线,可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率。

进一步地,通过将包含运动路线的地理范围划分为多个栅格,并且该多个栅格共享一个中心位置,可以进一步降低运动轨迹的存储和处理成本,并且通过利用多个栅格的geohash编码值索引运动路线,可以提高运动路线的检索效率。

进一步地,通过以运动路线的中心位置为原点,对运动路线的各个交点进行相对坐标转换,可以保护用户的隐私,消除与用户相关的敏感数据。

进一步地,在通过循环神经网络融合当前运动路线和历史运动路线的交点时,考虑了当前运动路线的异常段偏差,即考虑了记录与当前运动路线相关的运动轨迹时的GPS信号的质量,当GPS信号质量较差时,丢弃的历史运动路线的交点会较少,因此可以更准确地控制融合误差,也可以提高优化运动路线的质量。

进一步地,在本申请的实施例中,终端设备100是用户侧设备,相对于现有技术中在云侧服务器进行运动路线的处理,本申请的实施例可以降低因网络和云侧故障导致不能处理运动路线的风险,并且可以降低对用户的路线推荐请求的响应延迟。

图7示出了根据本发明实施例的运动路线的提取方法的一种流程示意图。图2中的终端设备100的运动路线提取模块140可以实施方法的不同块或其他部分。对于上述装置实施例中未描述的内容,可以参见下述方法实施例,同样,对于方法实施例中未描述的内容,可参见上述装置实施例。如图7所示,运动路线的提取方法可以包括:

S701,通过轨迹分割单元141,从数据中心130获取通过运动轨迹记录模块120记录的用户在一段时间内(例如,一天、三天、一周、两周、一个月或其他时间段)在相同地理范围内(例如,相同的运动场地)生成的多条运动轨迹。

多条运动轨迹的示例可以是,但不限于,用户分别在今天、昨天、前天生成的运动轨迹,或者将用户在一次运动中生成的运动轨迹进行分割得到的多条运动轨迹,例如,将用户沿运动场地跑多圈生成的运动轨迹按照每一圈进行分割得到的多条运动轨迹,。

S702,通过轨迹分割单元141,将多条运动轨迹中的每条运动轨迹分割为多个轨迹段。

具体地,可以将每条运动轨迹表示为

其中,TR

对于每条运动轨迹,轨迹分割单元141可以将在时间上相邻的两个轨迹点表示为一个轨迹段,其中所述轨迹段的方向由时间较早的轨迹点(即,起始轨迹点)指向时间较晚的轨迹点(即,终止轨迹点),所述轨迹段的大小为两个轨迹点之间的距离。图3示出了3条运动轨迹TR

S703,通过轨迹聚类单元142,将各个运动轨迹的轨迹段按顺序聚类为多个轨迹段簇,其中,在一个轨迹段簇内,相邻的轨迹段之间的间距小于预定值,其中,在一个轨迹段簇内,相邻的轨迹段之间的间距小于预定值,其中,相邻轨迹段分别属于所述多个跑步轨迹中的不同跑步轨迹。

作为一种示例,将两个轨迹段表示为ts

d

其中,l

例如,在图3所示的示例中,图2的轨迹聚类单元142可以首先确定第一个轨迹段簇以及第一个轨迹段簇的基准轨迹段,图2的轨迹聚类单元142将在各个运动轨迹的轨迹段中确定能够与基准轨迹段聚类的轨迹段。在一种示例中,图2的轨迹聚类单元142可以将第一个轨迹段簇的基准轨迹段确定为TR

在另一种示例中,图2的轨迹聚类单元142可以将第一个轨迹段簇的基准轨迹段确定为TR

然后,轨迹聚类单元142可以确定第二个轨迹段簇以及第二个轨迹段簇的基准轨迹段。在一种示例中,图2的轨迹聚类单元142可以将第二个轨迹段簇的基准轨迹段确定为TR

依次类推,图2的轨迹聚类单元142可以确定运动轨迹的其他轨迹段簇。需要说明的是,对于不同于图3示出的运动轨迹,可以以与前述类似的原理确定运动轨迹的各个轨迹段簇。

S704,对于每个轨迹段簇,通过轨迹抽析单元143,基于簇内的各个轨迹段计算一个簇向量。

作为一种示例,轨迹抽析单元143可以以轨迹段簇内各个轨迹段的起始轨迹点的GPS坐标的均值作为簇向量的起点的GPS坐标,以各个轨迹段的终止轨迹点的GPS坐标的均值作为簇向量的终点的GPS坐标。作为另一种示例,轨迹抽析单元143可以以轨迹段簇内的任意一个轨迹段作为簇向量。需要说明的是,也可以基于其他任何合适的方式确定簇向量。

S705,通过轨迹聚类单元142,确定多条运动轨迹中的异常轨迹段,并确定异常轨迹段在所有轨迹段中的占比,即异常段偏差。

具体地,轨迹聚类单元142可以通过层次聚类算法、K均值聚类算法或其他聚类算法,对多条跑步轨迹的各轨迹段的中心点进行聚类,并获得多个轨迹段中心点的类别以及各个类别的类中心,轨迹聚类单元142可以计算多条跑步轨迹的各轨迹段的中心点与各个类中心的距离,并将其中心点与各个类中心之间的最小距离大于预定值(该预定值和上述与轨迹段之间的间距相关的预定值相同或者不同)的轨迹段标记为异常轨迹段。例如,在图3的示例中,TR

S706,通过模型要素确定单元144,确定相邻轨迹段簇的相邻簇向量的交点,以确定从运动轨迹中提取的简化的运动路线的交点的集合。

作为一种示例,在相邻轨迹段簇的相邻簇向量首尾不相接的情况下,模型要素确定单元144可以延长该相邻簇向量中的一个或两个,以确定该相邻簇向量之间的交点的GPS坐标;在相邻的簇向量已经相交的情况下,模型要素确定单元144可以直接确定相邻簇向量之间的交点的GPS坐标。

S707,通过模型要素确定单元144,在运动路线的交点集合中,确定运动路线的起点和终点。

作为一种示例,模型要素确定单元144可以以运动轨迹的第一个轨迹段簇的簇向量的起点作为运动路线的起点,以最后一个轨迹段簇的簇向量的终点作为运动路线的终点。

S708,通过模型要素确定单元144,确定指示运动路线的交点集合中的每个交点与其他至少一个交点之间的链接关系的交点链接表格,其中,交点集合包括运动路线的起点和终点。

作为一种示例,模型要素确定单元144可以确定如图4所示的交点之间的双向链表,其中,起点可以是运动路线的起点,交点1可以是运动轨迹的第一个轨迹段簇的簇向量和第二个轨迹段簇的簇向量之间的交点,交点2可以是运动轨迹的第二个轨迹段簇的簇向量和第三个轨迹段簇的簇向量之间的交点,依次类推,终点可以是运动路线的终点。另外,图4中示出的每个交点可以包括该交点的GPS坐标、到前一交点的链接(例如,但不限于,指针)以及到后一交点的链接(例如,但不限于,指针),而起点可以包括起点的GPS坐标、到后一交点的链接(例如,但不限于,指针),终点可以包括终点的GPS坐标、到前一交点的链接(例如,但不限于,指针)。图4所示的双向链表能够使得用户可以沿运动路线的正向(例如,由图4所示的起点指向图4所示的终点)运动,也可以沿运动路线的反向(例如,由图4所示的终点指向图4所示的起点)运动。需要说明的是,模型要素确定单元144也可以确定交点之间的单向链表,即图4中示出的每个交点可以包括该交点的GPS坐标、到前一交点的链接(例如,但不限于,指针)或者到后一交点的链接(例如,但不限于,指针)。

S709,通过模型要素确定单元144,确定运动路线的中心位置。

在一种示例中,模型要素确定单元144可以确定运动路线的最小外接矩形,其中,最小外接矩形的其中两条边与纬线平行并且由运动路线的交点集合中最南和最北交点的纬度坐标确定,另外两条边与经线平行并且由运动路线的交点集合中最东和最西交点的经度坐标确定,并且模型要素确定单元144可以将运动路线的最小外接矩形的中心点作为运动路线的中心位置,例如,图5中所示的运动路线的中心位置的GPS坐标为(121.623,29.855)。

S710,通过模型要素确定单元144,确定表征运动路线所处地理范围的多个栅格的geohash编码值。

在一种示例中,如图5所示,图2的模型要素确定单元144可以以中心位置为中心,将运动路线的最小外接矩形均分为四个栅格,并确定每个栅格的地理范围对应的geohash编码值,其中geohash编码值的位数可以例如是,但不限于,7位base32编码,例如,如图5所示,四个栅格的编码值分别为wx4g340、wx4g341、wx4g342以及wx4g343。

需要说明的是,图5只是表征运动路线所处地理范围的栅格的一个示例,由各个交点构成的运动路线不限于图5中所示的运动路线,中心位置的GPS坐标也不限于图中所示出的GPS坐标。

S711,通过模型要素确定单元144,确定运动路线的各个交点相对于中心位置的相对坐标。

作为一种示例,模型要素确定单元144可以以上述中心位置为原点,构建相对坐标系,将运动路线的各个交点的绝对GPS坐标(例如,经度和纬度)转换为在该相对坐标系中的相对坐标,如此,可以消除与用户相关的敏感数据。

S712,通过模型要素确定单元144,将根据运动路线模型确定的、从运动轨迹中提取的简化运动路线的各个要素保存在数据中心130中,以作为要向用户推荐的候选运动路线。

图8示出了根据本发明实施例的运动路线的优化方法的一种流程示意图。图2中的终端设备100的运动路线优化模块150和运动路线提取模块140可以实施方法的不同块或其他部分。对于上述装置实施例中未描述的内容,可以参见下述方法实施例,同样,对于方法实施例中未描述的内容,可参见上述装置实施例。如图8所示,运动路线的优化方法可以包括:

S801,通过运动路线优化模块150,获取位于同一地理范围内(例如,同一运动场地)的当前运动路线和至少一条历史运动路线。

其中,当前运动路线指的是通过图7中所示的方法从用户在当前时间段(例如,但不限于,一天、三天、一周、两周、一个月或其他时间段)内生成的当前运动轨迹集合中提取的运动路线,至少一条历史运动路线中的每条历史运动路线指的是通过图7中所示的方法从用户在当前时间段之前的历史时间段(例如,但不限于,一天、三天、一周、两周、一个月或其他时间段)内生成的历史运动轨迹集合中提取的运动路线。

S802,通过运动路线优化模块150,将当前运动路线的交点集合和至少一条历史运动路线中每条历史运动路线的交点集合分别输入循环神经网络的不同的神经元,以获得优化运动路线的交点集合。其中,对于循环神经网络可以参照以上与图6相关的描述,在此不再赘述。

S803,通过模型要素确定单元144,确定由循环神经网络的最后一个神经元输出的优化运动路线的交点链接表格。

在图6的示例中,通过模型要素确定单元144,可以根据运动路线模型,确定神经元A

S804,可选地,通过模型要素确定单元144,确定表征由循环神经网络的最后一个神经元输出的优化运动路线所处地理范围的多个栅格的geohash编码值。

在图6的示例中,模型要素确定单元144可以确定由神经元A

模型要素确定单元144可以以由神经元A

S805,可选地,通过模型要素确定单元144,确定由循环神经网络的最后一个神经元输出的优化运动路线的各个交点的相对坐标。

在图6的示例中,通过模型要素确定单元144,可以以由神经元A

S806,通过模型要素确定单元144,存储由循环神经网络的最后一个神经元输出的优化运动路线的模型要素。

在图6的示例中,通过模型要素确定单元144,可以将由神经元A

图9示出了根据本发明实施例的运动路线的推荐方法的一种流程示意图。图2中的终端设备100的运动路线推荐模块160可以实施方法的不同块或其他部分。对于上述装置实施例中未描述的内容,可以参见下述方法实施例,同样,对于方法实施例中未描述的内容,可参见上述装置实施例。如图7所示,运动路线的推荐方法可以包括:

S901,通过运动路线推荐模块160,接收用户对运动路线的推荐请求。

S902,通过运动路线推荐模块160,从GPS定位模块120获取用户的当前GPS坐标。

S903,通过运动路线推荐模块160,计算用户的GPS坐标的geohash编码值。

S904,通过运动路线推荐模块160,在数据中心130存储的多条运动路线的多个栅格geohash编码值中,确定与用户的GPS坐标的geohash编码值差距最小的栅格geohash编码值;

S905,通过运动路线推荐模块160,向用户推荐与用户的GPS坐标的geohash编码值差距最小的栅格geohash编码值对应的运动路线。

由于相近的geohash编码值可以表示相近的地理位置,因此,与用户的GPS坐标的geohash编码值差距最小的栅格geohash编码值对应的运动路线与用户的地理位置最近,运动路线推荐模块160可以向用户推荐该条运动路线。在一种示例中,在推荐运动路线的交点的坐标是GPS坐标的情况下,运动路线推荐模块160可以根据推荐运动路线的交点链接表格将推荐运动路线呈现在地图上;在推荐运动路线的交点的坐标是相对于中心位置的相对坐标的情况下,运动路线推荐模块160可以根据中心位置的GPS坐标以及推荐运动路线的交点链接表格将推荐运动路线呈现在地图上。

在本申请的实施例中,通过对用户在一段时间内生成的运动轨迹进行分割、聚类、抽析,并提取一条简化的运动路线,可以降低运动轨迹的存储和处理成本,提高运动轨迹的处理效率。

进一步地,通过将包含运动路线的地理范围划分为多个栅格,并且该多个栅格共享一个中心位置,可以进一步降低运动轨迹的存储和处理成本,并且通过利用多个栅格的geohash编码值索引运动路线,可以提高运动路线的检索效率。

进一步地,通过以运动路线的中心位置为原点,对运动路线的各个交点进行相对坐标转换,可以保护用户的隐私,消除与用户相关的敏感数据。

进一步地,在通过循环神经网络融合当前运动路线和历史运动路线的交点时,考虑了当前运动路线的异常段偏差,即考虑了记录与当前运动路线相关的运动轨迹时的GPS信号的质量,当GPS信号质量较差时,丢弃的历史运动路线的交点会较少,因此可以更准确地控制融合误差,也可以提高优化运动路线的质量。

图10示出了根据本申请实施例的运动路线处理装置1000的一种结构示意图。装置1000可以包括一个或多个处理器1002,与处理器1002中的至少一个连接的系统控制逻辑1008,与系统控制逻辑1008连接的系统内存1004,与系统控制逻辑1008连接的非易失性存储器(NVM)1006,以及与系统控制逻辑1008连接的网络接口1010。

处理器1002可以包括一个或多个单核或多核处理器。处理器1002可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本申请的实施例中,处理器1002可以被配置为执行根据如图7-9所示的各种实施例的一个或多个实施例。

在一些实施例中,系统控制逻辑1008可以包括任意合适的接口控制器,以向处理器1002中的至少一个和/或与系统控制逻辑1008通信的任意合适的设备或组件提供任意合适的接口。

在一些实施例中,系统控制逻辑1008可以包括一个或多个存储器控制器,以提供连接到系统内存1004的接口。系统内存1004可以用于加载以及存储数据和/或指令。在一些实施例中装置1000的内存1004可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。

NVM/存储器1006可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器1006可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。

NVM/存储器1006可以包括安装在装置1000的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1010通过网络访问NVM/存储1006。

特别地,系统内存1004和NVM/存储器1006可以分别包括:指令1020的暂时副本和永久副本。指令1020可以包括:由处理器1002中的至少一个执行时导致装置1000实施如图7-9所示的方法的指令。在一些实施例中,指令1020、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1008,网络接口1010和/或处理器1002中。

网络接口1010可以包括收发器,用于为装置1000提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1010可以集成于装置1000的其他组件。例如,网络接口1010可以集成于处理器1002的,系统内存1004,NVM/存储器1006,和具有指令的固件设备(未示出)中的至少一种,当处理器1002中的至少一个执行所述指令时,装置1000实现图7-9所示的各种实施例的一个或多个实施例。

网络接口1010可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1010可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。

在一个实施例中,处理器1002中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1002中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。

装置1000可以进一步包括:输入/输出(I/O)接口1012。I/O接口1012可以包括用户界面,使得用户能够与装置1000进行交互;外围组件接口的设计使得外围组件也能够与装置1000交互。在一些实施例中,装置1000还包括传感器,用于确定与装置1000相关的环境条件和位置信息的至少一种。

在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。

在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。

在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口1010的一部分或与网络接口1010交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。

虽然本申请的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本申请的权利要求而有可能延伸出的其它选择或改造。为了提供对本申请的深度了解,以下描述中将包含许多具体的细节。本申请也可以不使用这些细节实施。此外,为了避免混乱或模糊本申请的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个离散操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。特别是,这些操作不需要按呈现顺序执行。

除非上下文另有规定,否则术语“包含”,“具有”和“包括”是同义词。短语“A/B”表示“A或B”。短语“A和/或B”表示“(A和B)或者(A或B)”。

如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。

在附图中,以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可以不需要这样的特定布置和/或排序。在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包含结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。

本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。

可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。

程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。

在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。在一些情况下,至少一些实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本申请所述的技术的逻辑。被称为“IP核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。

这样的计算机可读存储介质可以包括但不限于通过机器或设备制造或形成的物品的非瞬态的有形安排,其包括存储介质,诸如:硬盘任何其它类型的盘,包括软盘、光盘、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,例如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);相变存储器(PCM);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。

因此,本申请的各实施例还包括非瞬态的计算机可读存储介质,该介质包含指令或包含设计数据,诸如硬件描述语言(HDL),它定义本申请中描述的结构、电路、装置、处理器和/或系统特征。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号