CN114510542A - 一种生成运动轨迹的方法、电子设备及服务器 - Google Patents

一种生成运动轨迹的方法、电子设备及服务器 Download PDF

Info

Publication number
CN114510542A
CN114510542A CN202011187921.5A CN202011187921A CN114510542A CN 114510542 A CN114510542 A CN 114510542A CN 202011187921 A CN202011187921 A CN 202011187921A CN 114510542 A CN114510542 A CN 114510542A
Authority
CN
China
Prior art keywords
motion
track
motion track
point
trajectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011187921.5A
Other languages
English (en)
Other versions
CN114510542B (zh
Inventor
胡子付
钟振
周峰
张绳富
张康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202011187921.5A priority Critical patent/CN114510542B/zh
Publication of CN114510542A publication Critical patent/CN114510542A/zh
Application granted granted Critical
Publication of CN114510542B publication Critical patent/CN114510542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Fuzzy Systems (AREA)
  • Quality & Reliability (AREA)
  • Remote Sensing (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种生成运动轨迹的方法、电子设备及服务器,该方法通过对原始运动轨迹进行纠偏,以提高运动轨迹的准确率。该方法包括:确定原始运动轨迹所属的运动区域,所述原始运动轨迹为根据用户外出运动过程中经过的运动轨迹点的轨迹信息得到的;从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹;获取最终运动轨迹,所述最终运动轨迹为根据所述第一参考运动轨迹对所述原始运动轨迹进行纠偏得到的;展示所述最终运动轨迹。

Description

一种生成运动轨迹的方法、电子设备及服务器
技术领域
本申请涉及终端领域,尤其涉及一种生成运动轨迹的方法、电子设备及服务器。
背景技术
随着人们对人体健康的关注度不断提高,运动已经成为了人们生活中必不可少的部分。 在相关技术中,移动终端可以记录运动轨迹,以使得用户可以通过移动终端查看到运动情况。
其中,运动轨迹可以通过运动过程中的各个运动轨迹点生成,而运动轨迹点需要通过定 位得到。目前,移动终端可以通过全球定位系统(global positioning system,GPS)定位、基 站定位和辅助全球卫星定位系统(assisted global positioning system,AGPS)定位等中的任一 种方式实现定位。
但是,对于GPS定位,在高楼林立的环境,或者,云层较厚的天气,GPS信号的强度较弱,故移动终端的定位精度较差;对于基站定位,移动终端可以根据周围基站的基站信息确定移动终端的位置信息,但基站定位的定位精度与基站密度和基站覆盖范围有关,一般基站 定位的定位精度在百米级,故移动终端的定位误差比较大;对于AGPS定位,由于AGPS定位是通过结合基站定位和GPS定位来进行定位,且基站定位的精度较差,故AGPS定位的定位精度取决于GPS定位的定位精度,这样在GPS信号的强度较弱时仍存在移动终端的定位精度较差的问题。综上,由于移动终端的定位精度较差,故大大降低运动轨迹的准确性。
发明内容
本申请提供一种生成运动轨迹的方法、电子设备及服务器,该方法通过对原始运动轨迹 进行纠偏,以提高运动轨迹的准确率。
第一方面,提供了一种生成运动轨迹的方法,应用于第一电子设备,该方法包括:确定 原始运动轨迹所属的运动区域,该原始运动轨迹为根据用户外出运动过程中经过的运动轨迹 点的轨迹信息得到的;从该运动区域对应的参考运动轨迹中,获取与该原始运动轨迹相似的 第一参考运动轨迹;获取最终运动轨迹,该最终运动轨迹为根据该第一参考运动轨迹对该原 始运动轨迹进行纠偏得到的;展示该最终运动轨迹。
可选地,第一电子设备可以包括移动终端(例如手机等)或者可穿戴设备(例如手表、 手环等)等可以进行定位的设备。
可以理解的是,本申请中涉及的区域可以为服务器对地理空间进行划分得到的;其中, 服务器可以通过粒度进行区域划分得到各个区域。若粒度越粗,则区域的面积越大;若粒度 越细,则区域的面积越小。故上述所述的运动区域为划分得到的区域中的一个。
还应理解,本申请可以通过第一电子设备确定与原始运动轨迹相似的第一参考运动轨迹, 也可以通过第一电子设备控制服务器确定与原始运动轨迹相似的第一参考运动轨迹,并且服 务器向第一电子设备发送第一参考运动轨迹。
应理解,确定原始运动轨迹所属的运动区域可以理解为:第一电子设备确定原始运动轨 迹所属的运动区域,或者,第一电子设备通过服务器确定原始运动轨迹所属的运动区域,本 申请对此不作特殊限制。
通过上述技术方案,考虑到原始运动轨迹会存在较多噪声,偏离用户实际的运动轨迹, 严重影响了用户体验。故,本申请通过获取准确度较高的参考运动轨迹,对原始运动轨迹进 行纠偏,提高了运动轨迹的准确率。
结合第一方面,在第一方面的某些实现方式中,参考运动轨迹为服务器将该运动区域内 相似的运动轨迹样本进行聚类合并得到的运动轨迹;或者,该参考运动轨迹为服务器对第一 待处理轨迹样本进行平滑处理得到的运动轨迹,该第一待处理轨迹样本为该服务器将该运动 区域内相似的运动轨迹样本进行聚类合并得到的运动轨迹;或者,该参考运动轨迹为服务器 对第二待处理轨迹样本进行平滑处理得到的运动轨迹,该第二待处理轨迹样本为该服务器将 该运动区域内相似的处理后的运动轨迹样本进行聚类合并得到的运动轨迹;该处理后的运动 轨迹样本为该服务器对该运动轨迹样本进行样本处理得到的运动轨迹;或者,该参考运动轨 迹为服务器将该运动区域内相似的处理后的运动轨迹样本进行聚类合并得到的运动轨迹;该 处理后的运动轨迹样本为该服务器对该运动轨迹样本进行样本处理得到的运动轨迹;其中, 该样本处理包括数据脱敏处理和数据清洗处理中的至少一种;该数据清洗处理包括以下至少 一种:对该运动轨迹样本包括的噪声轨迹点进行的去除处理、对存在重复运动轨迹的运动轨 迹样本进行的分割处理、以及对该运动轨迹样本进行的平滑处理,该噪声轨迹点包括停留轨 迹点和离群轨迹点中的至少一种。
其中,在获取到运动轨迹样本之后,可以确定运动轨迹样本所属的区域;然后考虑到同 一区域中的运动轨迹可能完全不同,故需要进一步地针对各个区域中相似的运动轨迹样本进 行聚类合并,得到各个区域对应的参考运动轨迹。参考运动轨迹的数量可以为一个或者多个。
可以理解的是,本申请考虑到运动轨迹样本可能存在噪声轨迹点,存在重复运动轨迹, 存在锯齿状等中的一种或者多种情况,故本申请需要根据运动轨迹样本的具体情况执行对应 的处理。
还应理解,运动轨迹样本中还可能携带有用户标识和/或用户的外出运动时间,这样容易 造成用户的隐私泄露。故本申请可以针对用户标识和/或用户的外出运动时间进行脱敏处理, 降低了用户信息泄露的风险。
通过上述技术方案,服务器可以基于运动区域内大量的运动轨迹样本生成运动区域的参 考运动轨迹,使得参考运动轨迹具备一定的稳定性,避免了参考运动轨迹存在欠拟合的问题, 以及参考运动轨迹更加准确。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该运动区域内相似的运 动轨迹样本为根据预设轨迹相似算法确定运动区域内的每两个运动轨迹样本是否为相似轨迹 得到的;其中,预设轨迹相似算法包括最长公共子序列算法、豪斯多夫距离算法、编辑距离 算法以及动态时间扭曲法则中的至少一种。
需要说明的是,两个处理后的运动轨迹样本是否为相似轨迹的确认过程与上述两个运动 轨迹样本的确认过程类似,不再赘述。
通过上述技术方案,本申请实施例可以通过确定每两个运动轨迹样本是否为相似轨迹, 从而可以获取到运动区域内相似的运动轨迹样本。这样,可以实现对运动区域内相似的运动 轨迹样本进行聚类合并。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,在该预设轨迹相似算法 包括该最长公共子序列算法和该豪斯多夫距离算法的情况下,两个运动轨迹样本为相似轨迹 的条件包括:该两个运动轨迹样本之间最长公共子序列的相似度大于第一阈值,或者,在两 个运动轨迹样本之间最长公共子序列的相似度小于等于第一阈值时,该两个运动轨迹样本之 间的豪斯多夫距离小于第二阈值。
应理解,运动轨迹样本A与运动轨迹样本B之间最长公共子序列的相似度越大,则说明 运动轨迹样本A与运动轨迹样本B越相似,故若该两个运动轨迹样本之间最长公共子序列的 相似度大于第一阈值,则可以确定该两个运动轨迹样本为相似轨迹。若该两个运动轨迹样本 之间最长公共子序列的相似度小于等于第一阈值,则为了避免对该两个运动轨迹样本进行误 判,可以进一步地确定该两个运动轨迹样本之间的豪斯多夫距离是否小于第二阈值。其中, 该两个运动轨迹样本之间的豪斯多夫距离越小,则该两个运动轨迹样本越相似。
综上所述,通过最长公共子序列算法可以初判两个运动轨迹样本是否为相似轨迹,豪斯 多夫距离算法可以进一步地对初判结果为非相似运动轨迹进行二次判断。这样结合最长公共 子序列算法和豪斯多夫距离算法可以在一定程度上提高了确定相似运动轨迹的准确率。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该参考运动轨迹为该服 务器对运动轨迹集合包括的运动轨迹样本进行轨迹合并得到的运动轨迹;该运动轨迹集合为 该服务器将该运动区域内相似的运动轨迹样本进行聚类得到的集合。
由此可见,本申请中的聚类合并过程可以包括聚类过程以及轨迹合并过程。需要说明的 是,将运动区域内相似的处理后的运动轨迹样本进行聚类合并过程与上述所述的将运动区域 内相似的运动轨迹样本进行聚类合并过程类似,不再赘述。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该参考运动轨迹为该服 务器根据基准运动轨迹上各个运动轨迹样本点的最终位置信息得到的运动轨迹,该运动轨迹 集合包括该基准运动轨迹;其中,该基准运动轨迹上第g个运动轨迹样本点的最终位置信息 为该服务器计算若干运动轨迹样本点的位置信息与第g个运动轨迹样本点的位置信息的均值 得到的位置信息,该若干个运动轨迹样本点为该服务器从该运动轨迹集合中除该基准运动轨 迹样本外的其他运动轨迹样本中,获取的第g个运动轨迹样本点的采样半径内的运动轨迹样 本点,g为正整数。
可以理解的是,服务器可以从该运动轨迹集合中选取轨迹距离最长的运动轨迹样本作为 基准运动轨迹,也可以从运动轨迹集合中选取轨迹距离最短的运动轨迹样本作为基准运动轨 迹,还可以从运动轨迹集合中随机选取任一个运动轨迹样本作为基准运动轨迹,本申请对此 不作特殊限制。
通过上述技术方案,由于运动轨迹集合中包括多个运动轨迹样本,故本申请可以从中选 取一个基准运动轨迹,并基于剩余的运动轨迹样本对该基准运动轨迹上的各个运动轨迹样本 点进行位置拟合。这样,基准运动轨迹上的各个运动轨迹样本点更加准确,基于更加准确的 各个运动轨迹样本点获取参考运动轨迹,从而提高了参考运动轨迹的准确率。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,从该运动区域对应的参 考运动轨迹中,获取与该原始运动轨迹相似的第一参考运动轨迹,包括:从待测参考运动轨 迹上,获取第一运动轨迹点的投影轨迹点,该运动轨迹点包括该第一运动轨迹点,该参考运 动轨迹包括该待测参考运动轨迹;其中,该投影轨迹点为候选轨迹点中与该第一运动轨迹点 距离最近的轨迹点,该候选轨迹点为该待测参考运动轨迹上满足预设条件的轨迹点,该预设 条件包括:该第一运动轨迹点所在的第一直线与该候选轨迹点所在的第二直线之间的夹角小 于预设夹角,该第一运动轨迹点所在的第一直线为该第一运动轨迹点与该原始运动轨迹上第 一运动轨迹点的下一运动轨迹点构成的直线,该候选轨迹点所在的第二直线为该候选轨迹点 与该待测参考运动轨迹上候选轨迹点的下一运动轨迹点构成的直线;获取该第一运动轨迹点 与该投影轨迹点之间的投影距离;计算该投影距离小于等于距离阈值的第一运动轨迹点的数 量与该运动轨迹点的总数量之间的比值,得到轨迹相似度;若该轨迹相似度大于第一数值, 则确定该待测参考运动轨迹为该第一参考运动轨迹。
其中,上述所述的投影距离越小,则说明第一运动轨迹点与该投影轨迹点之间的距离比 较靠近。这样,该第一运动轨迹点与该投影轨迹点为相近的轨迹点。
可以理解的是,由于运动区域中可以存在一个或者多个参考运动轨迹,故本申请可以针 对每个参考运动轨迹(即上述所述的待测参考运动轨迹)获取轨迹相似度,该轨迹相似度用 于表示每个参考运动轨迹分别与原始运动轨迹之间的相似度。这样,本申请可以将轨迹相似 度较大的参考运动轨迹作为与原始运动轨迹相似的第一参考运动轨迹。
需要说明的是,本申请也可以通过上述所述的最长公共子序列算法和豪斯多夫距离算法 等获取原始运动轨迹相似的第一参考运动轨迹,具体过程此处不再赘述。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,最终运动轨迹为根据该 第一运动轨迹点对应的纠偏点,对该原始运动轨迹进行纠偏得到的;其中,若该第一运动轨 迹点与该投影轨迹点之间的投影距离小于等于距离阈值,则该第一运动轨迹点对应的纠偏点 为在该第一运动轨迹点与该投影轨迹点构成的线段上,靠近该投影轨迹点一侧的轨迹点。
可以理解的是,若该第一运动轨迹点与该投影轨迹点之间的投影距离大于距离阈值,则 说明该第一运动轨迹点与该投影轨迹点不为相近的轨迹点。此时,由于投影轨迹点为第一参 考运动轨迹上与第一运动轨迹点的方向类似以及距离最短的轨迹点,故可以得到:第一参考 运动轨迹上不存在用于对第一运动轨迹点进行纠偏的其他轨迹点,故无需针对第一运动轨迹 点进行纠偏,避免进行错误纠偏。
还应理解,该纠偏过程可以在第一电子设备中执行,也可以在服务器中执行,本申请对 执行主体不作特殊限制。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,轨迹信息包括该运动轨 迹点的位置信息,以及用户经过该运动轨迹点的时刻信息;确定原始运动轨迹所属的运动区 域,包括:根据任意的至少一个运动轨迹点的位置信息确定该原始运动轨迹所属的运动区域; 或者,在该原始运动轨迹为闭合轨迹的情况下,获取该原始运动轨迹所围成图形的中心点, 并确定中心点所在区域为该原始运动轨迹所属的运动区域;或者,根据指定的至少一个运动 轨迹点的位置信息确定该原始运动轨迹所属的运动区域,该指定的至少一个运动轨迹点为根 据该时刻信息确定的轨迹点。
可选地,本申请可以直接根据运动轨迹点的轨迹信息生成初始运动轨迹,在初始运动轨 迹不存在重复运动轨迹的情况下,该初始运动轨迹即为最终运动轨迹;在初始运动轨迹存在 重复运动轨迹的情况下,需要对初始运动轨迹进行分割处理得到多段原始运动轨迹。
可选地,本申请可以直接根据运动轨迹点的轨迹信息生成初始运动轨迹,并对初始运动 轨迹进行数据清洗处理得到原始运动轨迹。
可以理解的是,若上述所述的任意的至少一个运动轨迹点包括任意的多个运动轨迹点, 则可能获取到多个运动区域。这样,本申请可以分别从多个运动区域对应的参考运动轨迹中, 获取与原始运动轨迹相似的第一参考运动轨迹。
还应理解,上述所述的指定的至少一个运动轨迹点可以包括:初始运动轨迹点;或者, 终止运动轨迹点;或者,终止运动轨迹点以及初始运动轨迹点,等等。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该运动轨迹点的轨迹信 息为该第一电子设备采集的信息;或者,该运动轨迹点的轨迹信息为第二电子设备采集的信 息。
可以理解的是,假设用户携带第一电子设备进行户外运动,则第一电子设备可以采集到 运动轨迹点的轨迹信息。假设用户携带第二电子设备进行户外运动,则第二电子设备可以采 集到运动轨迹点的轨迹信息,然后由于第二电子设备的数据处理能力不足,故可以通过第一 电子设备执行轨迹纠偏过程。示例性的,第一电子设备可以为终端设备,第二电子设备可以 为可穿戴设备。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,从该运动区域对应的参 考运动轨迹中,获取与该原始运动轨迹相似的第一参考运动轨迹,包括:在该第一电子设备 中存储有固定区域对应的参考运动轨迹,且该固定区域包括该运动区域的情况下,从该运动 区域对应的参考运动轨迹中,获取与该原始运动轨迹相似的第一参考运动轨迹;或者,在该 第一电子设备中存储有固定区域对应的参考运动轨迹,且该固定区域不包括该运动区域的情 况下,向服务器获取该运动区域对应的参考运动轨迹,并从该运动区域对应的参考运动轨迹 中,获取与该原始运动轨迹相似的第一参考运动轨迹;或者,向服务器发送该运动区域的区 域标识以及该原始运动轨迹,接收该服务器基于该区域标识以及该原始运动轨迹,发送的第 一参考运动轨迹。
可以理解的是,第一电子设备可以周期性地获取固定区域对应的参考运动轨迹并存储, 若该运动区域为用户最近经常运动的区域,则固定区域可能存在不包括运动区域的情况。
由此可见,本申请中的第一参考运动轨迹可以通过第一电子设备或者服务器获取到,本 申请对此不作特殊限制。
还应理解,若第一参考运动轨迹和运动区域都是通过服务器获取到的,则一种实施例中, 第一电子设备可以向服务器发送原始运动轨迹,以便服务器确定原始运动轨迹所属的运动区 域,并从运动区域对应的参考运动轨迹中,获取与原始运动轨迹相似的第一参考运动轨迹。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该方法还包括:根据该 运动轨迹点的轨迹信息,生成初始运动轨迹;对该初始运动轨迹进行数据清洗处理,得到该 原始运动轨迹;其中,该数据清洗处理包括以下至少一种:对该运动轨迹点中包括的噪声轨 迹点进行的去除处理、对存在重复运动轨迹的初始运动轨迹进行的分割处理、以及对该初始 运动轨迹进行的平滑处理,该噪声轨迹点包括停留轨迹点和离群轨迹点中的至少一种。
可以理解的是,该数据清洗处理过程也可以通过服务器执行,这样,在一些实施例中, 第一电子设备可以通过服务器生成初始运动轨迹,并通过服务器对初始运动轨迹进行数据清 洗处理得到原始运动轨迹。
由此可见,通过对初始运动轨迹进行数据清洗处理,使得原始运动轨迹中不存在噪声轨 迹点,重复运动轨迹以及锯齿状。这样,避免噪声轨迹点对获取运动区域的影响,提高运动 区域的获取准确率;以及避免重复运动轨迹以及锯齿状对轨迹纠偏过程的影响,改善了运动 轨迹的纠偏效果。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该方法还包括:在显示 运动记录的窗口中,针对各个运动记录对应展示纠偏轨迹查看控件;确定原始运动轨迹所属 的运动区域,包括:检测到用户对第一运动记录对应的纠偏轨迹查看控件的触发操作时,响 应于对该纠偏轨迹查看控件的触发操作,获取该第一运动记录的原始运动轨迹,确定该第一 运动记录的原始运动轨迹所属运动区域;该运动记录包括该第一运动记录。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,该方法还包括:在显示 运动记录的窗口中,展示各个运动记录对应的轨迹类型选择控件,该轨迹类型选择控件处于 用于获取该最终运动轨迹的目标状态;确定原始运动轨迹所属的运动区域,包括:检测到关 于第二运动记录的轨迹类型选择控件处于该目标状态,且用户对该第二运动记录进行触发操 作时,获取该第二运动记录的原始运动轨迹,确定该第二运动记录的原始运动轨迹所属运动 区域,该运动记录包括该第二运动记录。其中,目标状态可以为第二状态。
综上所述,第一电子设备可以根据用户的需求来生成运动轨迹,即若用户需要查看一个 精确的运动轨迹,则可以触发纠偏轨迹查看控件;或者,用户可以切换轨迹类型选择控件的 状态进行轨迹类型的选取,这样第一电子设备可以按照选取的轨迹类型生成用户需要查看的 运动轨迹,从而满足用户的查看需求。
第二方面,本申请提供了一种生成运动轨迹的方法,应用于服务器,该方法包括:获取 运动轨迹样本;将同一区域内相似的运动轨迹样本进行聚类合并得到该同一区域对应的参考 运动轨迹,用于在该同一区域包括运动区域,且在确定第一电子设备在运动过程中的原始运 动轨迹属于该运动区域的情况下,从该运动区域对应的参考运动轨迹中,获取与该原始运动 轨迹相似的第一参考运动轨迹,以及根据该第一参考运动轨迹对该原始运动轨迹进行纠偏得 到最终运动轨迹。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,将同一区域内相似的运 动轨迹样本进行聚类合并得到该同一区域对应的参考运动轨迹,包括:将同一区域内相似的 运动轨迹样本进行聚类得到运动轨迹集合;对该运动轨迹集合包括的运动轨迹样本进行轨迹 合并得到该同一区域对应的参考运动轨迹。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,该同一区域内相似的运 动轨迹样本为根据预设轨迹相似算法确定该同一区域内的每两个运动轨迹样本是否为相似轨 迹得到的;其中,预设轨迹相似算法包括最长公共子序列算法、豪斯多夫距离算法、编辑距 离算法以及动态时间扭曲法则中的至少一种。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,在该预设轨迹相似算法 包括该最长公共子序列算法和该豪斯多夫距离算法的情况下,两个运动轨迹样本为相似轨迹 的条件包括:该两个运动轨迹样本之间最长公共子序列的相似度大于第一阈值,或者,在该 两个运动轨迹样本之间最长公共子序列的相似度小于等于第一阈值时,该两个运动轨迹样本 之间的豪斯多夫距离小于第二阈值。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,该将同一区域内相似的 运动轨迹样本进行聚类合并得到该同一区域对应的参考运动轨迹,包括:对该运动轨迹样本 进行样本处理得到处理后的运动轨迹样本;将同一区域内相似的处理后的运动轨迹样本进行 聚类合并得到该同一区域对应的参考运动轨迹;其中,该样本处理包括数据脱敏处理和数据 清洗处理中的至少一种;该数据清洗处理包括以下至少一种:对该运动轨迹样本包括的噪声 轨迹点进行去除处理、对存在重复运动轨迹的运动轨迹样本进行分割处理、以及对该运动轨 迹样本进行平滑处理,该噪声轨迹点包括停留轨迹点和离群轨迹点中的至少一种。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,对该运动轨迹集合包括 的运动轨迹样本进行轨迹合并得到该同一区域对应的参考运动轨迹,包括:对该运动轨迹集 合包括的运动轨迹样本进行轨迹合并得到该同一区域对应的待处理轨迹样本;对该待处理轨 迹样本进行平滑处理得到该同一区域对应的参考运动轨迹。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,该参考运动轨迹为该服 务器根据基准运动轨迹上各个运动轨迹样本点的最终位置信息得到的运动轨迹,该运动轨迹 集合包括该基准运动轨迹;其中,该基准运动轨迹上第g个运动轨迹样本点的最终位置信息 为该服务器计算若干运动轨迹样本点的位置信息与第g个运动轨迹样本点的位置信息的均值 得到的位置信息,该若干个运动轨迹样本点为该服务器从该运动轨迹集合中除该基准运动轨 迹样本外的其他运动轨迹样本中,获取的第g个运动轨迹样本点的采样半径内的运动轨迹样 本点,g为正整数。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,该方法还包括:向该第 一电子设备发送该运动区域对应的参考运动轨迹,用于该第一电子设备根据该运动区域对应 的参考运动轨迹,获取与该原始运动轨迹相似的第一参考运动轨迹。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,该方法还包括:获取新 运动轨迹样本;根据该新运动轨迹样本,更新该同一区域对应的参考运动轨迹。
需要说明的是,上述第二方面的相关内容可以参考第一方面的描述内容,此处不再赘述。
第三方面,本申请提供了一种装置,该装置包含在电子设备中,该装置具有实现上述第 一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也 可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或 单元。例如,显示模块或单元、检测模块或单元、处理模块或单元等。
第四方面,本申请提供了一种装置,该装置包含在服务器中,该装置具有实现上述第二 方面及上述第二方面的可能实现方式中服务器行为的功能。功能可以通过硬件实现,也可以 通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。 例如,显示模块或单元、检测模块或单元、处理模块或单元等。
第五方面,本申请实施例提供一种电子设备,包括一个或多个处理器和一个或多个存储 器,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储 计算机程序;当所述一个或多个处理器执行所述计算机程序时,使得所述电子设备执行第一 方面所述的技术方案中任意一种方法。
第六方面,本申请实施例提供一种服务器,包括一个或多个处理器和一个或多个存储器, 所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算 机程序;当所述一个或多个处理器执行所述计算机程序时,使得所述服务器执行第二方面所 述的技术方案中任意一种方法。
第七方面,本申请实施例提供一种芯片,包括处理器;处理器用于读取并执行存储器中 存储的计算机程序,以执行第一方面所述的技术方案中任意一种方法,或者执行第二方面所 述的技术方案中任意一种方法。
可选地,所述芯片还包括存储器,处理器通过电路或电线与存储器连接。
进一步可选地,所述芯片还包括通信接口。
第八方面,本申请提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在 第一电子设备上运行时,使得第一电子设备执行上述第一方面所述的技术方案中任意一种方 法,或者,当所述计算机指令在服务器上运行时,使得所述服务器执行上述第二方面所述的 技术方案中任意一种方法。
第九方面,本申请提供了一种计算机程序产品,当计算机程序产品在第一电子设备上运 行时,使得第一电子设备执行上述第一方面所述的技术方案中任意一种方法,或者,当所述 计算机程序产品在服务器上运行时,使得所述服务器执行上述第二方面所述的技术方案中任 意一种方法。
附图说明
图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是本申请实施例提供的另一种生成运动轨迹的系统框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在 本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本 文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/ 或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请 实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者 隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含 地包括一个或者更多个该特征。
在现有技术中,移动终端(例如手机等)以及可穿戴设备(例如手表、手环等)等可以 采用GPS定位、基站定位或者AGPS定位中的任一种方法进行定位。
图1示出了一种基站定位方法的示意图。为了便于理解,以对手机进行定位为例进行说明。 若用户携带手机进行户外运动,则手机可以获取到附近区域的至少一个基站对应的位置信息、 以及手机与每个基站进行信号传输的信号传输时间(例如到达时间(time ofarrival,TOA),或 者,到达时间差(time difference of arrival,TDOA))等。这样,手机可以根据至少一个基站对 应的位置信息和信号传输时间获取手机的位置信息。
示例性的,如图1所示,以三基站定位方法为例进行说明,手机11在获取到三个基站(即 图1中的基站12、基站13、基站14)的位置信息,以及每个基站与手机11之间的信号传输时间 之后,手机11可以通过预设函数获取手机11的位置信息。其中,预设函数可以表示为: Location=GetLocation([Position1,T1],[Position2,T2],[Position3,T3]),Location表示手 机11的位置信息,Position1表示第一基站12的位置信息,Position2表示第二基站13的位置信息, Position3表示第三基站14的位置信息,T1表示基站12与手机11之间的信号传输时间,T2表示 基站13与手机11之间的信号传输时间,T3表示基站14与手机11之间的信号传输时间。应理解, 上述所述的信号传输时间可以为手机与基站进行信号传输的往返时间。
需要说明的是,若手表、手环等可穿戴设备具有接入蜂窝网络(如GSM网络等)的功能, 则也可以通过基站定位方法进行定位。
图2示出了一种AGPS定位方法的示意图。为了便于理解,以对手机进行定位为例进行说 明。如图2所示,AGPS定位方法可以至少包括以下步骤:201、手机启动定位功能;202、手 机与基站进行连接;203、若手机与附近区域的一个基站连接成功,则可以获取该个基站的位 置信息,并将该个基站的位置信息作为手机当前大致的位置信息;204、手机通过基站向AGPS 服务器发送卫星查询消息,其中,卫星查询消息可以包括手机当前大致的位置信息;205、 AGPS服务器根据卫星查询消息查询当前可用的卫星信息(例如卫星的频段、方位、仰角等信 息);206、AGPS服务器通过基站向手机发送当前可用的卫星信息;207、手机根据当前可用 的卫星信息连接卫星并对手机进行定位。可见,通过AGPS定位方法,可以避免手机进行大范 围的搜星,从而提高了定位效率。
当然,手机还可以获取附近区域的多个基站,并获取多个基站中信号强度最强的基站的 位置信息,将信号强度最强的基站的位置信息作为上述所述的手机当前大致的位置信息。
但是上述所述的定位方法均存在定位不精准的问题,这样,由于运动轨迹需要通过运动 过程中的各个运动轨迹点生成,而运动轨迹点需要通过定位得到,故导致运动过程中的运动 轨迹不准确。而本申请通过对运动轨迹进行纠偏,提高运动轨迹的准确率。
图3至图6是本申请实施例提供的运动轨迹的应用场景的示意图。为了便于理解,本申 请是以移动终端为手机,可穿戴设备为手表为例进行说明。其中,图3和图4是以用户外出 运动携带手表102记录运动轨迹点的轨迹信息为例进行说明;图5是以用户外出运动携带手 机101和手表102分别记录运动轨迹点的轨迹信息为例进行说明;图6是以用户外出运动携 带手机101记录运动轨迹点的轨迹信息为例进行说明。
应理解,本申请中的外出运动可以包括跑步、步行或者骑行运动等,本申请对具体的运 动形式不作特殊限制。
在本申请的一种应用场景中,如图3所示,用户携带手表102进行户外运动的过程中, 可以通过启动手表102采集用户经过的运动轨迹点的轨迹信息;在用户运动结束之后,手表 102可以向手机101发送运动过程中采集的运动轨迹点的轨迹信息;手机101接收到运动轨 迹点的轨迹信息之后,可以根据运动轨迹点的轨迹信息生成运动过程中的原始运动轨迹。由 于原始运动轨迹的准确性较差,故服务器103可以预先构建不同区域对应的参考运动轨迹, 以便手机101可以从服务器103中获取到与原始运动轨迹相似的第一参考运动轨迹,并通过 第一参考运动轨迹对原始运动轨迹进行纠偏得到最终运动轨迹,从而手机101可以展示最终 运动轨迹,大大提高了运动轨迹的准确率。
可以理解的是,本申请中的轨迹信息可以包括运动轨迹点的位置信息(例如经纬度坐标 等),以及用户经过该运动轨迹点的时刻信息(即通常所说的时间戳)。
可选地,手表102也可以根据采集到的运动轨迹点的轨迹信息,生成原始运动轨迹;并 向手机101发送原始运动轨迹。可见,由于手机101的屏幕尺寸大于手表102的屏幕尺寸, 故用户在手机101中查看运动轨迹更加方便,以及运动轨迹的显示效果更好。
在本申请的另一种应用场景中,如图4所示,用户携带手表102进行户外运动的过程中, 可以通过启动手表102采集用户经过的运动轨迹点的轨迹信息。在用户运动结束之后,手表 102可以向服务器103发送运动轨迹点的轨迹信息。服务器103根据运动轨迹点的轨迹信息 生成运动过程中的原始运动轨迹,并且服务器103可以预先构建不同区域对应的参考运动轨 迹,这样服务器103可以获取到与原始运动轨迹相似的第一参考运动轨迹,并通过第一参考 运动轨迹对原始运动轨迹进行纠偏得到最终运动轨迹,大大提高了运动轨迹的准确率。服务 器103可以向手表102发送最终运动轨迹,以便手表102展示最终运动轨迹。
又或者,在图4所示的场景中,手表102可以根据运动轨迹点的轨迹信息生成运动过程 中的原始运动轨迹。服务器103可以预先构建不同区域对应的参考运动轨迹,使得手表102 可以从服务器103中获取到与原始运动轨迹相似的第一参考运动轨迹,并通过第一参考运动 轨迹对原始运动轨迹进行纠偏得到最终运动轨迹,从而手表102可以展示最终运动轨迹,大 大提高了运动轨迹的准确率。
在本申请的又一种应用场景中,如图5所示,用户携带手表102和手机101进行户外运 动的过程中,可以通过启动手表102记录用户经过的第一运动轨迹点的第一轨迹信息,以及 通过手机101记录用户经过的第二运动轨迹点的第二轨迹信息。
应理解,手表102和手机101二者采集运动轨迹点的周期可能不同,故第一轨迹信息与 第二轨迹信息可能不相同;又或者,手表102和手机101二者采用的定位方法不同,故第一 轨迹信息与第二轨迹信息也可能不相同。故,为了区分手表102和手机101采集到的运动轨 迹点,本实施例中将手表102采集到的运动轨迹点称为第一运动轨迹点,将手机101采集到 的运动轨迹点称为第二运动轨迹点。
在用户运动结束之后,一种实施方式为:手表102可以根据第一运动轨迹点的第一轨迹 信息生成第一原始运动轨迹,手机101可以根据第二运动轨迹点的第二轨迹信息生成第二原 始运动轨迹。服务器103可以预先构建不同区域对应的参考运动轨迹,这样手表102可以从 服务器103中获取到与第一原始运动轨迹相似的第一参考运动轨迹(如图5中虚线箭头所示), 并根据获取到的第一参考运动轨迹对第一原始运动轨迹进行纠偏得到最终运动轨迹;手机101 可以从服务器103中获取到与第二原始运动轨迹相似的第一参考运动轨迹(如图5中粗实线 箭头所示),并根据获取到的第一参考运动轨迹对第二原始运动轨迹进行纠偏得到最终运动轨 迹。这样,用户可以根据自己的需求选取手机101或者手表102查看纠偏后的最终运动轨迹。
又一种实施方式为:考虑到不同电子设备(例如手环、手表、手机等)都具备定位功能。 且不同电子设备内的定位模块存在性能差异,以及电子设备本身的硬件性能存在差异,故不 同电子设备的定位精度存在较大的差异。示例性的,以不同电子设备包括手机、手表、手环 为例进行说明,通常手机的定位精度最高,手表的定位精度次高,手环的定位精度最差。基 于此,在图5所示的应用场景中,手表102采集的第一轨迹信息的准确性低于手机101采集 的第二轨迹信息的准确性。这样,本申请优选地对手机101采集到的第二轨迹信息进行纠偏。 但是,用户在运动过程中通常将手机放置于衣服口袋内或者放置在用户佩戴的手机臂包中等 位置,从而手机容易检测到误触发操作,导致手机采集到的第二轨迹信息不完整,此时可能 需要对手表102采集到的第一轨迹信息进行纠偏。
综上,在图5所示的场景中,手表102可以向手机101发送第一运动轨迹点的第一轨迹 信息,手机101在接收到第一运动轨迹点的第一轨迹信息之后,可以根据第一运动轨迹点的 第一轨迹信息确定时间区间;若手机101在该时间区间内的各个区间段均采集有第二运动轨 迹点的第二轨迹信息(即表示手机101在该时间区间内采集的第二轨迹信息为完整信息),则 将第一运动轨迹点的第一轨迹信息过滤掉,以及根据第二运动轨迹点的第二轨迹信息生成运 动过程中的原始运动轨迹,并可以从服务器103中获取到与原始运动轨迹相似的第一参考运 动轨迹(如图5中粗实线箭头所示),并根据获取到的第一参考运动轨迹对原始运动轨迹进行 纠偏得到最终运动轨迹,以及在手机101中展示最终运动轨迹。
若手机101在该时间区间内未采集有第二运动轨迹点的第二轨迹信息,或者,手机101 在该时间区间内的任一区间段内未采集有第二运动轨迹点的第二轨迹信息,则可以确定手机 101未成功采集到第二运动轨迹点的第二轨迹信息,或者,手机101未成功采集到完整的第 二轨迹信息。这样手机101可以根据第一运动轨迹点的第一轨迹信息生成运动过程中的原始 运动轨迹,并同样地根据从服务器103中获取到的第一参考运动轨迹,对原始运动轨迹进行 纠偏得到最终运动轨迹,以及在手机101中展示最终运动轨迹。
应理解,若手机101和手表102同时开始采集运动轨迹点的轨迹信息,以及同时终止采 集运动轨迹点的轨迹信息,则该时间区间的左端点可以为手表102的起始采集时刻,且该时 间区间的右端点可以为手表102的终止采集时刻。又或者,若手机101和手表102未同时开 始采集运动轨迹点的轨迹信息,和/或,未同时终止采集运动轨迹点的轨迹信息,则该时间区 间的左端点可以为手表102的起始采集时刻朝前或者朝后延长一定时长(比如5s,10s)后的 时刻,该时间区间的右端点可以为手表102的终止采集时刻朝前或者朝后延长一定时长(比 如5s,10s)后的时刻。其中,各个区间段可以为按照指定时长对时间区间进行划分得到。
还应理解,为了便于手机101区分一个时间区间内的运动轨迹点的轨迹信息是手机101 采集的,还是手表102采集的,本申请涉及的轨迹信息中还可以包括终端标识。这样,手机 101可以通过终端标识识别到轨迹信息的数据来源。即手机101中同时存在同一时间区间内 的手表102采集的第一轨迹信息,和手机101采集的第二轨迹信息时,手机101可以根据终 端标识识别到手表102采集的第一轨迹信息,以及识别到手机101采集的第二轨迹信息。示 例性的,终端标识可以为终端型号等信息。
在本申请的又一种应用场景中,如图6所示,用户携带手机101进行户外运动的过程中, 可以通过启动手机101采集用户经过的运动轨迹点的轨迹信息。在用户运动结束之后,手机 101根据运动轨迹点的轨迹信息生成运动过程中的原始运动轨迹。由于服务器103可以预先 构建不同区域对应的参考运动轨迹,这样手机101可以从服务器103中获取到与原始运动轨 迹相似的第一参考运动轨迹,并根据获取到的第一参考运动轨迹对原始运动轨迹进行纠偏得 到最终运动轨迹,以及展示原始运动轨迹。
可选地,针对图3至图6所示的场景,手机101或者手表102可以通过定位方法(例如图1或者图2所示的方法,或者可以为GPS定位方法等)获取到运动轨迹点的轨迹信息。
可选地,图3至图5所示的场景中涉及的手表102,可以至少支持蓝牙通信、Wi-Fi通信 以及蜂窝通信等中的一种。其中,针对图3所示的场景,若手表102的通信方式为蓝牙通信, 则用户需要携带手表102返回至手机101附近之后,手表102首先与手机101进行蓝牙连接, 并在蓝牙连接成功后,手表102向手机101发送运动轨迹点的轨迹信息;若手表102的通信 方式为Wi-Fi通信或者蜂窝通信,则在用户结束运动之后,手表102的Wi-Fi网络或者蜂窝 网络可以正常使用的情况下,手表102向手机101发送运动轨迹点的轨迹信息,无需返回至 手机101的附近。
为了便于理解,下面以图3中的应用场景为例进行说明。如图7所示,提供了一种生成 运动轨迹的系统框图,该系统可以应用于图3所示的场景中。
如图7所示,该系统可以包括三部分:手机、手表以及服务器。
其中,手机可以包括第一定位模块、定位精度校准模块、用于显示运动轨迹的显示模块; 其中,定位精度校准模块与显示模块连接;第一定位模块用于对手机进行定位获取到运动轨 迹样本;定位精度校准模块用于对手机中的原始运动轨迹进行纠偏得到最终运动轨迹;显示 模块用于显示最终运动轨迹。
服务器可以包括与第一定位模块连接的第一存储模块、与第一存储模块连接的轨迹处理 装置、与轨迹处理装置连接的第二存储模块,以及与第二存储模块连接的轨迹服务模块;轨 迹服务模块与定位精度校准模块连接;其中,轨迹处理装置包括与第一存储模块连接的数据 处理模块,与数据处理模块连接的轨迹聚类模块,以及分别与轨迹聚类模块和第二存储模块 连接的轨迹平滑模块。
可以理解的是,第一存储模块用于存储运动轨迹样本;数据处理模块用于对运动轨迹样 本进行预处理(即可以为数据脱敏处理和数据清洗处理等中的至少一种),得到处理后的运动 轨迹样本;轨迹聚类模块用于将同一区域内相似的处理后的运动轨迹样本进行聚类合并得到 同一区域的待处理轨迹样本;轨迹平滑模块用于对待处理参考轨迹样本进行平滑处理得到同 一区域对应的参考运动轨迹;第二存储模块用于存储同一区域对应的参考运动轨迹;轨迹服 务模块用于提供下载参考运动轨迹的服务。
其中,第一存储模块和第二存储模块可以为同一数据库或者不同数据库,例如可以为对 象存储服务(object storage service,OBS),或者,关系型数据库(relationaldatabase management system,RDBMS),本申请对此不作特殊限制。
需要说明的是,在轨迹平滑模块与轨迹服务模块在同一平台中时,轨迹平滑模块与轨迹 服务模块可以直接进行交互,无需通过第二存储模块,此时,可以将第二存储模块删除,并 将轨迹平滑模块与轨迹服务模块进行连接,等等。
手表中至少包括第二定位模块,用于对手表进行定位得到原始运动轨迹。第二定位模块 与手机中的定位精度校准模块连接。
其中,手机、手表以及服务器可以分别包括通信模块,以便进行信息传输。
需要说明的是,图7中的手机与手表可以是预先绑定的。
需要说明的是,若数据处理模块具备平滑处理的功能,则轨迹平滑模块可以去除掉,避 免功能重复。在该情况下,轨迹聚类模块与第二存储模块直接连接。
针对上述图7所示系统中的各个部分,示例性的,图8示出了手机101的结构示意图。 手机101可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,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等。
可以理解的是,本申请实施例示意的结构并不构成对手机101的具体限定。在本申请另 一些实施例中,手机101可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分 某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU), 图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit, NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行 指令的控制。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电 路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuit sound,I2S)接 口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块 (subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串 行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处 理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头 193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传 感器180K通过I2C总线接口通信,实现手机101的触摸功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口 包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface, DSI)等。处理器110和显示屏194通过DSI接口通信,实现手机101的显示功能。
在一些实施例中,处理器110在生成最终运动轨迹之后,通过DSI接口与显示屏194传 输最终运动轨迹,以便显示屏194显示最终运动轨迹。
在另一些实施例中,触摸屏还可以显示图形用户界面(graphical userinterface,GUI), 该UI界面中可以显示关于选择查看不同运动轨迹的控件,这样处理器110根据用户的查看需 求生成最终运动轨迹或者原始运动轨迹。这样,在用户需要查看原始运动轨迹的情况下,处 理器110控制显示屏194显示原始运动轨迹;在用户需要查看最终运动轨迹的情况下,处理 器110控制显示屏194显示最终运动轨迹。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信 号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线 通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不 构成对手机101的结构限定。在本申请另一些实施例中,手机101也可以采用上述实施例中 不同的接口连接方式,或多种接口连接方式的组合。
手机101的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160, 调制解调处理器以及基带处理器等实现。这样,在图3所示的应用场景中,手机101与手表102通过移动通信模块150或者无线通信模块160进行通信,以及手机101与服务器103同 样可以通过移动通信模块150或者无线通信模块160进行通信。其中,手表102可以向手机 101发送运动过程中运动轨迹点的轨迹信息,服务器103可以向手机101发送固定区域的参 考运动轨迹。
天线1和天线2用于发射和接收电磁波信号。手机101中的每个天线可用于覆盖单个或 多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为 无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机101上的包括2G/3G/4G/5G等无线通信的解决方 案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤 波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调 处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块 150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150 的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机101上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导 航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距 离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决 方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。
在一些实施例中,手机101的天线1和移动通信模块150耦合,天线2和无线通信模块 160耦合,使得手机101可以通过无线通信技术与网络以及其他设备通信。所述无线通信技 术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无 线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple 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),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统 (quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems, SBAS)。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至 少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手 机101使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以 包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存 器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储 器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机101的各种功能应用 以及数据处理。
在一些实施例中,内部存储器121可以存储有从服务器中获取到的固定区域的参考运动 轨迹,以便处理器110可以基于参考运动轨迹对手表采集到的原始运动轨迹进行纠偏。控件 控件控件控件控件陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施 例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。 陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电 子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵 消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电 子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖 屏切换,计步器等应用。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的 开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D 检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁 等特性。
故,在本申请的一些实施例中,可以通过陀螺仪传感器180B、加速度传感器180E以及 磁传感器180D实现手机定位。这样,手机102可以通过定位获取到运动轨迹样本。
需要说明的是,基于图8所示的手机101的结构,若处理器110按照功能模块进行划分, 则处理器110可以包括图7中所述的定位精度校准模块。显示屏194可以包括图7中的显示 模块,陀螺仪传感器180B、加速度传感器180E以及磁传感器180D可以构成图7中的第一定位模块。
另外,手表102可以包括图8所示的手机101中的全部或者部分部件。同样地,陀螺仪传感 器180B、加速度传感器180E以及磁传感器180D可以构成手表102中的第二定位模块。
示例性的,图9示出了服务器103的结构示意图。该服务器103可因配置或性能不同而 产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)922 (例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据 944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930 可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块,每 个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与 存储介质930通信,在服务器103上执行存储介质930中的一系列指令操作。
服务器103还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口 950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在一些实施例中,存储器932可以存储手机101上传的运动轨迹样本,中央处理器922 根据应用程序942中的一系列指令,基于运动轨迹样本生成固定区域的参考运动轨迹,并且 可以在存储器932中存储生成的参考运动轨迹。
可以理解的是,若中央处理器922按照功能模块进行划分,则中央处理器922可以包括 图7中所述的数据处理模块、轨迹聚类模块、轨迹平滑模块以及轨迹平滑模块;存储器932 可以包括图7中所述的第一存储模块和第二存储模块。
示例性的,本申请实施例以具有分层架构的Android系统的手机为例,示例性说明手机 的软件结构。图10是本申请实施例的手机101的软件结构框图,手表102的软件结构框图也 可以包括图10中的部分或者全部结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接 口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程 序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列 应用程序包。
如图10所示,应用程序层可以包括一些应用程序(application,app),例如运动健康app (为了便于描述,本申请使用运动健康app表示运动健康类的应用程序),相机,图库,日历, 通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图10所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理 器,资源管理器,通知管理器等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包 括固定区域的参考运动轨迹以及各个运动记录的轨迹信息等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构 建应用程序。显示界面可以由一个或多个视图组成的。例如,包括运动轨迹的显示界面,可 以包括显示关于运动轨迹的文字的视图以及显示运动轨迹图片的视图。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融 合。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传 感器驱动。
为了便于理解,本申请以下实施例将以具有图8和图10所示结构的手机,以及图9所示 结构的服务器为例,结合图3所示应用场景,对本申请实施例提供的生成运动轨迹的方法进 行具体阐述。
图11是本申请实施例提供的一种生成运动轨迹的方法的流程示意图。在本申请实施例中, 可以包括三个阶段,第一个阶段为运动轨迹样本的采集阶段;第二个阶段为参考运动轨迹的 生成阶段;第三个阶段为轨迹纠偏阶段。
如图11所示,在第一阶段中可以包括以下步骤:
1101、手机采集用户在户外运动过程中的运动轨迹样本。
其中,运动轨迹样本可以包括运动轨迹样本点的轨迹样本信息,或者,可以为根据运动 轨迹样本点的轨迹样本信息生成的运动轨迹。
例如,手机中安装有运动健康app,则手机可以通过运动健康app采集运动轨迹样本点的 轨迹样本信息,或者,手机的设置页面中设置有轨迹采集功能,故可以通过启动轨迹采集功 能采集运动轨迹样本点的轨迹样本信息。
1102、手机向服务器(如用于对运动健康app提供服务的运动健康云等)发送运动轨迹 样本。
1103、服务器存储运动轨迹样本。
例如,服务器可以将运动轨迹样本存储至图7中的第一存储模块。
可选地,运动轨迹样本点的轨迹样本信息可以是通过一个或者多个手机采集到的,也可 以由一个或者多个手表采集到的,还可以由手机和手表采集到的,本申请对此不作特殊限制。
可选地,若通过手表采集运动轨迹样本,则一种实施例中,手表可以向手机发送运动轨 迹样本,以便手机向服务器发送运动轨迹样本;又或者,手表可以直接向服务器发送运动轨 迹样本,本申请对该数据传输的形式不作限制。
如图11所示,在第二阶段中可以包括以下步骤:
1104、服务器对运动轨迹样本进行样本处理,得到处理后的运动轨迹样本。
其中,样本处理可以包括数据脱敏处理和数据清洗处理等中的至少一种。
可选地,数据清洗处理可以包括以下至少一种:对运动轨迹样本点中的停留轨迹点和离 群轨迹点等中的至少一种噪声轨迹点的去除处理、对存在重复运动轨迹的运动轨迹样本进行 分割处理、以及对运动轨迹样本进行平滑处理等。
可选地,服务器可以根据运动轨迹样本点的轨迹样本信息,获取运动轨迹样本点中的离 群轨迹点;将运动轨迹样本点中的离群轨迹点进行去除得到第一剩余轨迹点。这样,处理后 的运动轨迹样本可以包括第一剩余运动轨迹样本点的轨迹样本信息;或者可以为根据第一剩 余运动轨迹样本点的轨迹样本信息生成的运动轨迹,即将第一剩余运动轨迹点中相邻时刻的 两个运动轨迹点进行连接生成的运动轨迹。
例如,假设手机在某次外出运动过程中采集到w个运动轨迹样本点(即运动轨迹点a0、 运动轨迹点a1、…、运动轨迹点aw-1)的轨迹样本信息(即每个运动轨迹样本点对应的位置 信息,以及手机经过每个运动轨迹样本点的时刻),w为正整数。那么,服务器在接收到该w 个运动轨迹样本点的轨迹样本信息之后,可以计算运动轨迹点a0和运动轨迹点a1之间的距离 d1,并根据手机经过运动轨迹点a0和运动轨迹点a1分别对应的时刻,计算运动轨迹点a0和运 动轨迹点a1之间的时间差t1;接着计算距离d1和时间差t1之间的比值,得到用户在运动轨迹 点a0和运动轨迹点a1之间运动时的速度v1。这样,服务器可以根据速度v1确定运动轨迹点 a1是否为离群轨迹点;若运动轨迹点a1为离群轨迹点,则将w个运动轨迹样本点中的运动轨 迹点a1进行去除,且接着计算用户在运动轨迹点a0和运动轨迹点a2之间运动时的速度v2, 根据速度v2确定运动轨迹点a2是否为离群轨迹点,若运动轨迹点a2为离群轨迹点,则将w 个运动轨迹样本点中的运动轨迹点a2进行去除,以此类推;若运动轨迹点a1不为离群轨迹点, 则计算用户在运动轨迹点a1和运动轨迹点a2之间运动时的速度v3,根据速度v3确定运动轨 迹点a2是否为离群轨迹点,若运动轨迹点a2为离群轨迹点,则将w个运动轨迹样本点中的运 动轨迹点a2进行去除,以此类推。可见,通过上述方式可以依次确定运动轨迹点a1、…、运 动轨迹点aw-1是否为离群轨迹点,并将w个运动轨迹样本点中的离群轨迹点进行去除。这样, 可以避免通过离群轨迹点生成运动轨迹导致的运动轨迹的准确性较差。
可以理解的是,如果速度v1大于一定值,服务器可以确定运动轨迹点a1为离群轨迹点; 如果速度v1小于一定值,服务器可以确定运动轨迹点a1不为离群轨迹点。
又如,服务器可以首先计算用户在运动轨迹点aw-1和运动轨迹点aw-2之间运动时的速度 v4,根据速度v4确定运动轨迹点aw-2是否为离群轨迹点,以此类推,可以依次确定运动轨迹 点aw-2、…、运动轨迹点a0是否为离群轨迹点。
再如,服务器可以计算用户在运动轨迹点ai和运动轨迹点ai-1之间运动时的速度v5,根 据速度v5确定运动轨迹点ai-1是否为离群轨迹点;其中,i为正整数,大于0且小于w-1;以 此类推,可以依次确定运动轨迹点ai-1、…、运动轨迹点a0是否为离群轨迹点;以及,计算用 户在运动轨迹点ai和运动轨迹点ai+1之间运动时的速度v6,根据速度v6确定运动轨迹点ai+1是否为离群轨迹点,以此类推,依次确定运动轨迹点ai+1、…、运动轨迹点aw-1是否为离群轨 迹点。
可选地,服务器可以根据运动轨迹样本点的轨迹样本信息,获取运动轨迹样本点中的停 留轨迹点;将运动轨迹样本点中的停留轨迹点进行去除得到第二剩余轨迹点。这样,处理后 的运动轨迹样本可以包括第二剩余运动轨迹样本点的轨迹样本信息;或者可以为根据第二剩 余运动轨迹样本点的轨迹样本信息生成的运动轨迹,即将第二剩余运动轨迹点中相邻时刻的 两个运动轨迹点进行连接生成的运动轨迹。
例如,对于手机采集到的某次户外运动过程中的运动轨迹样本,服务器可以根据对应的 运动轨迹样本点的轨迹样本信息确定该次运动的总运动时长,并将总运动时长划分为多个子 运动时长,并确定用户在各个子运动时长内的运动距离。
若用户在某个子运动时长内的运动距离大于一定数值(例如50m),则服务器可以确定用 户在该子运动时长内未进行逗留,故确定在该子运动时长内采集到的运动轨迹样本点不为停 留轨迹点。
若用户在某个子运动时长内的运动距离小于一定数值,则服务器可以确定用户在该子运 动时长内进行了逗留,故确定在该子运动时长内采集到的运动轨迹样本点存在停留轨迹点。 比如,该子运动时长内存在10个运动轨迹样本点,那么可以将该10个运动轨迹样本点中除 第1个运动轨迹样本点和第10个运动轨迹样本点外的其他运动轨迹样本点作为停留轨迹点, 并将运动轨迹样本点中的停留轨迹点进行去除。
其中,服务器可以根据用户在该次户外运动过程中的初始运动轨迹样本点和终止运动轨 迹样本点分别对应的时刻计算总运动时长,并将总运动时长按照指定时长进行划分,得到多 个子运动时长。
进一步地,用户在该子运动时长内进行了逗留,若服务器通过将该子运动时长内的第1 个运动轨迹样本点和最后1个运动轨迹样本点进行连接,得到该子运动时长对应的子运动轨 迹,那么可能会造成该子运动轨迹存在欠拟合的问题。在一种实施例中,服务器可以获取在 第1个运动轨迹样本点和最后1个运动轨迹样本点之间的插值轨迹点,并且通过第1个运动 轨迹样本点和最后1个运动轨迹样本点以及插值轨迹点,生成该子运动时长对应的子运动轨 迹。
其中,插值轨迹点的数量可以为一个或者多个,本申请对此不作特殊限制。
例如,若插值轨迹点的数量为一个,则服务器可以计算该子运动时长内的第1个运动轨 迹样本点和最后1个运动轨迹样本点之间的中点,并将该中间轨迹点作为该插值轨迹点;又 或者,若插值轨迹点的数量为两个,则服务器可以计算该子运动时长内的第1个运动轨迹样 本点和最后1个运动轨迹样本点之间的第一中点,并继续计算该第一中点和第1个运动轨迹 样本点之间的第二中点,并将该第二中点、第一中点作为该插值轨迹点,等等。上述示例只 是示例性说明,本申请对此不作特殊限制。
当然,服务器也可以将运动轨迹样本点中的离群轨迹点和停留轨迹点进行去除得到第三 剩余轨迹点。这样,处理后的运动轨迹样本可以包括第三剩余运动轨迹样本点的轨迹样本信 息;或者可以为根据第三剩余运动轨迹样本点的轨迹样本信息生成的运动轨迹,即将第三剩 余运动轨迹点中相邻时刻的两个运动轨迹点进行连接生成的运动轨迹。
在本申请一种实施例中,运动轨迹样本点的轨迹样本信息中通常还可以包括用户标识, 以便服务器可以准确地识别到用户的运动习惯(如确定出用户的固定区域);其中,身份标识 可以为用户标识(如用户名称、手机号码等),或者设备标识(如国际移动设备识别码 (international mobile equipment identity,IMEI等等)。但是,携带身份标识会造成用户的隐 私泄露。这样,服务器在获取到运动轨迹样本点的轨迹样本信息之后,对轨迹样本信息包括 的身份标识进行数据脱敏处理,得到脱敏后的轨迹样本信息。综上,数据脱敏处理可以为对 用户标识进行的脱敏处理。
在本申请另一种实施例中,本申请还考虑到若用户固定每天早上7点至8点之间外出运 动,则非法者可以通过该用户经过运动轨迹样本点的时刻信息分析出用户的外出运动时间, 容易造成用户的隐私泄露。故数据脱敏处理还可以为对指定的时刻信息进行的脱敏处理,其 中,指定的时刻信息可以包括初始运动时刻和终止运动时刻。例如,服务器可以将运动轨迹 样本点的初始运动时刻向前或者向后延长一定时长(例如该一定时长的范围可以为0~3600 秒)得到新的初始运动时刻。当然,服务器还可以将运动轨迹样本点的终止运动时刻向前或 者向后延长一定时长得到新的终止运动时刻,又或者,服务器将运动轨迹样点中的初始运动 时刻和终止运动时刻向前或者向后延长一定时长得到新的初始运动时刻和新的终止运动时刻。
在本申请又一种实施例中,数据脱敏处理可以为对用户标识进行的脱敏处理,以及对指 定的运动时刻进行的脱敏处理,具体内容不再赘述。
可选地,用户进行单次户外运动的过程中,可能存在重复的运动路径。为了可以准确地 对轨迹进行聚类,服务器还可以对存在重复运动轨迹的运动轨迹样本进行分割处理,得到多 个分割后的运动轨迹样本。这样,后续步骤中可以对多个分割后的运动轨迹样本和不存在重 复运动轨迹的运动轨迹样本进行聚类合并,得到不同区域的待处理轨迹样本。
进一步地,服务器可以依次计算运动轨迹样本上的每个采样轨迹点至初始运动轨迹样本 点之间的距离,接着可以从采样轨迹点中获取距离初始运动轨迹样本点最远的轨迹点,该最 远的轨迹点为折返轨迹点。然后服务器可以计算在折返轨迹点之前的运动轨迹(即折返轨迹 点Z1与初始运动轨迹样本点构成的运动轨迹)上的采样轨迹点R1,和在折返轨迹点之后的运 动轨迹(即折返轨迹点与终止运动轨迹样本点构成的运动轨迹)上的采样轨迹点R2之间的距 离。
若采样轨迹点R1与采样轨迹点R2之间的距离小于预设距离值,则服务器可以确定采样 轨迹点R1与采样轨迹点R2互为重合轨迹点。
其中,采样轨迹点R1可以为在折返轨迹点之前的运动轨迹上的任意一个运动轨迹样本点, 采样轨迹点R2可以为折返轨迹点之后的运动轨迹上的任意一个运动轨迹样本点;或者,采样 轨迹点R1可以为按照采样距离间隔在折返轨迹点之前的运动轨迹上获取的轨迹点,采样轨 迹点R2可以为按照采样距离间隔在折返轨迹点之后的运动轨迹上获取的轨迹点。
这样,服务器可以获取折返轨迹点之前的运动轨迹中存在重合轨迹点的采样轨迹点的第 一数量,以及获取折返轨迹点之后的运动轨迹中存在重合轨迹点的采样轨迹点的第二数量; 然后计算第一数量与折返轨迹点之前的运动轨迹上采样轨迹点的总数量之间的比值,得到第 一重合度,以及计算第二数量与折返轨迹点之后的运动轨迹上采样轨迹点的总数量之间的比 值,得到第二重合度。在任一个重合度大于等于一定数值的情况下,服务器将运动轨迹样本 分割为折返轨迹点之前的运动轨迹样本和折返轨迹点之后的运动轨迹样本;在两个重合度均 小于一定数值的情况下,服务器无需进行轨迹分割。
可以理解的是,若采样轨迹点R1为折返轨迹点之前的运动轨迹上的任意一个运动轨迹样 本点,采样轨迹点R2为折返轨迹点之后的运动轨迹上的任意一个运动轨迹样本点。则上述所 述的预设距离值可以为两个相邻运动轨迹样本点之间的距离均值。
又或者,若采样轨迹点R1为按照采样距离间隔在折返轨迹点之前的运动轨迹上获取的轨 迹点,采样轨迹点R2为按照采样距离间隔在折返轨迹点P2之后的运动轨迹上获取的轨迹点。 则上述所述的预设距离值可以为采样距离间隔。其中,采样距离间隔与运动轨迹样本对应的 轨迹长度相关。
示例性的,运动轨迹样本对应的轨迹长度小于等于5km,采样距离间隔为11m;运动轨 迹样本对应的轨迹长度小于等于10km且大于5km,采样距离间隔为50m;运动轨迹样本对应的轨迹长度大于10km,采样距离间隔为100m。这样,通过设置采样距离间隔,服务器可 以针对数量较少的采样轨迹点确定是否存在对应的重合轨迹点,从而较少数据计算量。
1105、服务器将同一区域内相似的处理后的运动轨迹样本进行聚类合并得到同一区域对 应的待处理轨迹样本。
需要说明的是,步骤1104中的预处理过程为可选步骤,这样若本申请不执行步骤1104, 则本步骤1105可以替换为:服务器将同一区域内相似的运动轨迹样本进行聚类合并得到同一 区域对应的待处理轨迹样本。
下面针对确定两个运动轨迹样本是否为相似轨迹的过程进行说明。
在一种实施例中,服务器可以根据最长公共子序列(longest commonsubsequences,LCSS) 算法和豪斯多夫距离算法中的至少一种算法,确定运动轨迹样本中的每两个运动轨迹样本是 否为相似轨迹。下面以通过最长公共子序列算法和豪斯多夫距离算法确定运动轨迹样本中的 每两个运动轨迹样本是否为相似轨迹为例进行说明。
示例性的,若一个运动轨迹样本表示为A,另一个运动轨迹样本表示为B,且运动轨迹 样本A包括m个运动轨迹样本点,运动轨迹样本B包括n个运动轨迹样本点,m,n表示正 整数。那么服务器可以通过最长公共子序列算法,计算运动轨迹样本A和运动轨迹样本B之 间的最长公共子序列长度,计算过程如公式1所示:
Figure BDA0002751932980000201
其中,lcss[i][j]表示运动轨迹样本A中第i个运动轨迹样本点之前的运动轨迹样本点(包 括第i个运动轨迹样本点),和运动轨迹样本B中第j个运动轨迹样本点之前的运动轨迹样本 点(包括第j个运动轨迹样本点)之间的最长公共子序列长度;δ表示运动轨迹样本A和运动 轨迹样本B之间的样本点标号的最大差值阈值;ε表示预设的距离阈值;lcss[i-1][j-1]表示 运动轨迹样本A中第i-1个运动轨迹样本点之前的运动轨迹样本点(包括第i-1个运动轨迹样 本点),和运动轨迹样本B中第j-1个运动轨迹样本点之前的运动轨迹样本点(包括第j-1个 运动轨迹样本点)之间的最长公共子序列长度;lcss[i][j-1]表示运动轨迹样本A中第i个运 动轨迹样本点之前的运动轨迹样本点(包括第i个运动轨迹样本点),和运动轨迹样本B中第 j-1个运动轨迹样本点之前的运动轨迹样本点(包括第j-1个运动轨迹样本点)之间的最长公 共子序列长度;lcss[i-1][j]表示运动轨迹样本A中第i-1个运动轨迹样本点之前的运动轨迹 样本点(包括第i-1个运动轨迹样本点),和运动轨迹样本B中第j个运动轨迹样本点之前的 运动轨迹样本点(包括第j个运动轨迹样本点)之间的最长公共子序列长度;dis[i][j]表示运 动轨迹样本A中第i个运动轨迹样本点与运动轨迹样本B中第j个运动轨迹样本点之间的距 离,且1≤i≤m,1≤j≤n。可见,通过公式1,可以获取到运动轨迹样本A与运动轨迹样本B之 间的最长公共子序列长度,即通过公式1获取lcss[m,n]的计算结果。
接着可以根据运动轨迹样本A与运动轨迹样本B之间的最长公共子序列长度,计算运动 轨迹样本A与运动轨迹样本B之间最长公共子序列的相似度,计算过程如公式2所示:
Figure BDA0002751932980000202
其中,S(A,B)表示运动轨迹样本A与运动轨迹样本B之间最长公共子序列的相似度;LCSS(A,B)表示运动轨迹样本A与运动轨迹样本B之间的最长公共子序列长度,即相当于lcss[m,n]的计算结果;dis(A)表示运动轨迹样本A的采样轨迹点长度,dis(B)表示运动轨迹样本B的采样轨迹点长度。
示例性的,图12示出了一种运动轨迹样本的示意图。以图12中的两个运动轨迹样本(即 运动轨迹样本A和运动轨迹样本B)为例进行说明,运动轨迹样本A包括四个运动轨迹样本点 (即图12中所示的a1、a2、a3、a4),运动轨迹样本B包括五个运动轨迹样本点(即图12中所 示的b1、b2、b3、b4、b5)。若运动轨迹样本点a2和运动轨迹样本点b1之间的距离小于距离阈 值,运动轨迹样本点a3和运动轨迹样本点b3之间的距离小于距离阈值,则LCSS(A,B)=2,min(dis(A),dis(B))=4,故S(A,B)=0.5。
如果S(A,B)大于第一阈值,则运动轨迹样本A和运动轨迹样本B为相似轨迹。
如果S(A,B)小于等于第一阈值,则采用豪斯多夫距离算法进一步地确定运动轨迹样本A 和运动轨迹样本B是否为相似轨迹,其中豪斯多夫距离算法如公式3所示:
Figure BDA0002751932980000211
其中,hausdorff表示运动轨迹样本A和运动轨迹样本B之间的豪斯多夫距离,dis(a,b)表 示运动轨迹样本点a和运动轨迹样本点b之间的距离。
示例性的,若以图12中的两个运动轨迹样本为例,则hausdorff=dis(a1,b1)。
如果运动轨迹样本A和运动轨迹样本B之间的豪斯多夫距离,小于第二阈值,则确定运动 轨迹样本A和运动轨迹样本B为相似轨迹;如果运动轨迹样本A和运动轨迹样本B之间的豪斯 多夫距离,大于等于第二阈值,则确定运动轨迹样本A和运动轨迹样本B不为相似轨迹。
在本申请的一些实施例中,若本申请通过最长公共子序列算法确定运动轨迹样本中的每 两个运动轨迹样本是否为相似轨迹,则如果两个运动轨迹样本之间的S(A,B)大于第一阈值, 确定两个运动轨迹样本为相似轨迹;如果两个运动轨迹样本之间的S(A,B)小于等于第一阈值, 确定两个运动轨迹样本不为相似轨迹。
在本申请的另一些实施例中,若本申请通过豪斯多夫距离算法确定运动轨迹样本中的每 两个运动轨迹样本是否为相似轨迹,则如果两个运动轨迹样本之间的豪斯多夫距离小于第二 阈值,确定两个运动轨迹样本为相似轨迹;如果两个运动轨迹样本之间的豪斯多夫距离大于 等于第二阈值,确定两个运动轨迹样本不为相似轨迹。
综上,通过LCSS算法可以有效消除轨迹数据中噪声的干扰,豪斯多夫距离算法从集合 差异的角度对运动轨迹之间的距离进行衡量,豪斯多夫距离本身不需要进行阈值的选取,精 度较高。当然,本申请还可以采用其他算法确定两个运动轨迹样本是否为相似轨迹,例如, 采用编辑距离算法(edit distance on real penalty,ERP),或者,动态时间扭曲法则(dynamic time warping,DTW),或者,将编辑距离算法、动态时间扭曲法则、豪斯多夫距离算法以及LCSS 算法中的多种算法结合等。
在本申请的可选实施例中,服务器可以将同一区域内相似的运动轨迹样本进行聚类得到 运动轨迹集合;接着对运动轨迹集合包括的运动轨迹样本进行轨迹合并得到同一区域对应的 待处理轨迹样本。
可选地,服务器可以按照一个指定面积M1*M2将地理空间进行划分,得到多个M1*M2 区域;对各个M1*M2区域内相似的运动轨迹样本进行聚类得到运动轨迹集合,并对运动轨 迹集合包括的运动轨迹样本进行轨迹合并,得到M1*M2区域对应的待处理轨迹样本。
可以理解的是,本申请涉及的区域为服务器对地理空间进行区域划分得到的;其中,服 务器可以通过粒度进行区域划分得到各个区域。若粒度越粗,则区域的面积越大;若粒度越 细,则区域的面积越小。
还应理解,一个运动轨迹样本可以覆盖多个M1*M2区域,则一种方式为:服务器可以 确定该个运动轨迹样本处于该多个M1*M2区域内;另一种方式为:服务器可以确定该个运 动轨迹样本的中心点,并将该中心点所在的区域作为该运动轨迹样本所处的M1*M2区域。
例如,针对某个M1*M2区域内的运动轨迹样本,服务器可以通过上述所述的方式确定 该M1*M2区域内的每两个运动轨迹样本是否为相似轨迹;并将相似的运动轨迹样本进行聚 类得到运动轨迹集合。
又如,针对某个M1*M2区域内的运动轨迹样本,服务器可以通过上述所述的方式确定 该M1*M2区域内的任两个运动轨迹样本是否为相似轨迹,若该任两个运动轨迹样本为相似 轨迹,则可以对该任两个运动轨迹样本进行轨迹合并得到聚类轨迹样本。服务器可以继续确 定聚类轨迹样本以及其他运动轨迹样本中的,某两个运动轨迹样本是否为相似轨迹;其他运 动轨迹样本可以包括:该M1*M2区域内除该任两个运动轨迹样本外的运动轨迹样本;若该 某两个运动轨迹样本为相似轨迹,则可以获取该某两个运动轨迹样本对应的聚类轨迹样本, 依次类推。
需要说明的是,若上述所述的M1和M2均为较大的数值,则服务器在每个M1*M2区域内的计算量较大。比如,若某个M1*M2区域内的运动轨迹样本包括100个样本,则服务器 可能需要判断2450组运动轨迹样本(1组运动轨迹样本包括2个运动轨迹样本)是否为相似 轨迹。故本申请为了减少数据的计算量,可以设置M1、M2小于一定数值。示例性的,M1*M2 可以为5km*5km。
在本申请的又一可选实施例中,在通过上述方式获取到各个M1*M2区域的待处理轨迹 样本之后,服务器可以按照另一个指定面积M3*M4将地理空间进一步进行划分,得到多个 M3*M4区域;并对各个M3*M4区域内的运动轨迹样本进行聚类,得到最终的运动轨迹集合; 接着对最终的运动轨迹集合包括的运动轨迹样本进行轨迹合并得到M1*M2区域对应的待处 理轨迹样本。其中,指定面积M1*M2小于指定面积M3*M4。这样,由于M3*M4区域包括 了若干个M1*M2区域,故本实施例在获取到M1*M2区域对应的待处理轨迹样本之后,可以 根据M1*M2区域对应的待处理轨迹样本,获取M3*M4区域对应的待处理轨迹样本,大大提 高了计算效率。
可以理解的是,在获取到一个运动轨迹集合的情况下,服务器可以从该运动轨迹集合中 选取轨迹距离最长的运动轨迹样本作为基准运动轨迹。假设基准运动轨迹包括h个运动轨迹 样本点,则服务器可以从其他运动轨迹样本中,获取基准运动轨迹上第g个运动轨迹样本点 的采样半径内的若干运动轨迹样本点,h为正整数,g为小于等于h的自然数;计算若干运动 轨迹样本点的位置信息以及第g个运动轨迹样本点的位置信息的均值,得到第g个运动轨迹 样本点的最终位置信息。基于该方法,服务器可以获取到基准运动轨迹上各个运动轨迹样本 点的最终位置信息,该最终位置信息用于得到该运动轨迹集合所属区域对应的待处理轨迹样 本。
当然,服务器也可以从运动轨迹集合中选取轨迹距离最短的运动轨迹样本作为基准运动 轨迹;或者,从运动轨迹集合中随机选取任一个运动轨迹样本作为基准运动轨迹,本申请对 此不作特殊限制。
需要说明的是,两个处理后的运动轨迹样本是否为相似轨迹的确认过程与上述两个运动 轨迹样本的确认过程类似,以及将同一区域内相似的处理后的运动轨迹样本进行聚类合并过 程与上述所述的将同一区域内相似的运动轨迹样本进行聚类合并过程类似,不再赘述。
1106、服务器对待处理轨迹样本进行平滑处理得到同一区域对应的参考运动轨迹,并存 储同一区域对应的参考运动轨迹。
在本申请的一种实施例中,由于待处理轨迹样本可能具有明显锯齿状,从而导致运动轨 迹的平滑度较差。基于此,服务器还可以对上述生成的待处理轨迹样本进行平滑处理,从而 可以消除待处理轨迹样本中的锯齿状。
可选地,若服务器在步骤1104中对运动轨迹样本进行了平滑处理,则本步骤为可选步骤, 即可以不执行步骤1106,此时,步骤1105中获取到的同一区域的待处理轨迹样本即为同一 区域对应的参考运动轨迹。
其中,可以使用n阶贝塞尔函数对待处理轨迹样本进行平滑处理,其中n阶贝塞尔函数 如公式4所示:
Figure BDA0002751932980000231
其中,B(t)为拟合贝塞尔曲线(即相当于本申请中的参考运动轨迹对应的拟合函数); t∈[0,1],
Figure BDA0002751932980000232
Pv表示待处理轨迹样本中的第v+1个运动轨迹样本点。
示例性的,图13示出了一种三阶贝塞尔函数的拟合曲线示意图。如图13所示,P0、P1、 P2、P3为待处理轨迹样本上的运动轨迹样本点,虚线线段为在某个时刻时的平滑后的运动轨 迹。
可选地,服务器可以采用8阶贝塞尔函数对待处理轨迹样本进行平滑处理,可以同时保 证平滑度以及参考运动轨迹的误差较小。其中,采用8阶贝塞尔函数进行平滑处理的过程中, 服务器使用8阶贝塞尔函数对连续的9个运动轨迹样本点计算拟合贝塞尔曲线。这样可以将 贝塞尔曲线上距离各个运动轨迹样本点最近的点作为各个运动轨迹样本点对应的拟合点。
可选地,本申请还可以采用埃尔米特(即通常所说的Hermite)插值函数或者B样条插 值函数对待处理轨迹样本进行平滑处理,本申请对平滑处理的算法不作特殊限制。
需要说明的是,服务器还可以获取新运动轨迹样本,并根据新运动轨迹样本更新同一区 域的参考运动轨迹。
如图11所示,在第三阶段中,可以包括以下步骤:
1107、手机从服务器中下载固定区域的参考运动轨迹。
可以理解的是,固定区域为手机的用户经常进行运动的区域。示例性的,服务器预先对 F市E区进行划分,得到了xx公园构成的区域、yy住宅区构成的区域、zz商铺区构成的区 域等等。若某个用户经常在xx公园进行户外运动,那么,可以将xx公园构成的区域作为该 个用户的固定区域。
还应理解,若手机首次从服务器中获取一个固定区域的参考运动轨迹,则手机保存该固 定区域的参考运动轨迹;若手机非首次从服务器中获取一个固定区域的参考运动轨迹,则手 机可以对该个固定区域的参考运动轨迹进行更新,即存储本次获取的该个固定区域的参考运 动轨迹,且删除之前存储的该个固定区域的参考运动轨迹。
例如,用户最近一周在公园内运动的路线发生变化,这样,会导致公园的参考运动轨迹 发生变化;又或者,用户之前一段时间喜欢在公园运动,但最近喜欢在海边附近运动,这样 会导致固定区域发生变化;再或者,手机中存储的固定区域的参考运动轨迹是基于少量的运 动轨迹样本生成的,故手机中存储的参考运动轨迹仍需要进一步地更新。
综上,为了使得手机中存储的固定区域的参考运动轨迹较为准确,且符合用户在最近一 段时间内的运动习惯。本申请可以通过但不限于以下实施例获取固定区域对应的参考运动轨 迹。
一种实施例中,手机可以周期性地从服务器获取固定区域的参考运动轨迹。其中,手机 的系统中可以预先配置有参考运动轨迹的获取周期,或者用户在相关设置界面中手动配置该 获取周期等。示例性的,手机可以每周或者每月获取一次固定区域的参考运动轨迹。这样, 在服务器生成一个新固定区域的参考运动轨迹之后,手机可以及时获取到新固定区域的参考 运动轨迹;又或者,在服务器对某个固定区域的参考运动轨迹进行更新之后,手机可以及时 获取到该个固定区域更新后的参考运动轨迹,并且根据更新后的参考运动轨迹进行运动轨迹 的纠偏,提高了运动轨迹的准确率。
在另一种实施例中,用户在最近一周内的运动路线发生变化;又或者,用户最近经常运 动的区域发生变化。则用户可以指示手机从服务器中获取固定区域的参考运动轨迹,指示方 式可以为语音指示方式、触控指示方式、按键指示方式、手势指示方式以及对手机进行的晃 动指示方式等中的至少一种。例如,若用户将手机沿着水平面来回晃动3次,则手机自动从 服务器中获取固定区域的参考运动轨迹。这样,用户可以根据自己的运动习惯变化,及时对 固定区域的参考运动轨迹进行更新。
进一步地,考虑到用户在携带手机的过程中,可能无意按照晃动指示方式晃动了手机, 从而导致手机进行了无效的信息获取过程。为了避免该问题,在用户当前使用运动健康app 的过程中,若检测到用户按照晃动指示方式对手机进行晃动,则手机从运动健康云获取固定 区域的参考运动轨迹。当然,触控指示方式、按键指示方式也可能存在用户误指示的情况, 故同样可以通过在用户当前使用运动健康app的过程中,手机根据用户输入的指示进行信息 获取,从而保证可以准确地获取信息。
示例性的,图14示出了一种获取参考运动轨迹过程的示意图。如图14中的(a)图所示, 手机在显示固定区域的窗口中,展示时间设置区域1401,以及各个固定区域对应的轨迹获取 控件1402。这样,用户可以在展示时间设置区域1401中更改起始时间和终止时间,手机根 据用户设置后的时间段对固定区域进行更新,设置后的时间段为更改后的起始时间和更改后 终止时间构成的时间段。应理解,在设置后的时间段内,运动次数大于一定次数的区域为固 定区域。
进一步地,手机检测到用户对某个固定区域对应的轨迹获取控件1402进行触控操作时, 从服务器中获取该某个固定区域对应的参考运动轨迹。
例如,如图14的(a)图所示,时间设置区域1401的起始时间为2020年8月4日,终 止时间为2020年9月4日。用户可以对时间设置区域1401中的时间进行更改,更改后的时 间如图14的(b)图所示,即时间设置区域1401中的起始时间更改为2020年9月4日,终 止时间更改为2020年9月17日。
这样,手机可以根据更改后的时间更新固定区域,即图14的(b)图中增加了固定区域 4。此时,手机检测到用户对固定区域4对应的轨迹获取控件1402进行触发操作,则手机从 服务器获取固定区域对应的参考运动轨迹,该触发操作如图14的(b)图所示。
可选地,如图14中的(c)图所示,当手机从服务器获取到固定区域4对应的参考运动 轨迹之后,手机可以展示轨迹成功下载窗口1403,该轨迹成功下载窗口1403中可以展示有“固 定区域4的参考运动轨迹已下载成功”等文字内容。
可选地,手机可以向服务器上报设置后的时间段,以便服务器根据设置后的时间段,对 固定区域进行更新;服务器可以将更新后的固定区域以及更新后的固定区域对应的参考运动 轨迹下发至手机。
示例性的,图15示出了另一种获取参考运动轨迹过程的示意图。如图15中的(a)图所 示,手机可以展示当前确定的多个固定区域(即固定区域1、固定区域1以及固定区域3)。
由于用户最近一段时间内,可能在一个新区域经常运动,但手机中未存储有该新区域的 参考运动轨迹。故,如图15中的(a)图所示,手机可以在显示固定区域的窗口中,展示固 定区域更新控件1501。手机在接收到对固定区域更新控件1501的触发操作时,向服务器获 取更新后的固定区域,更新后的固定区域如图15中的(b)所示,其中固定区域5为上述所 述的新区域。
进一步地,手机可以在显示固定区域的窗口中,还展示有各个固定区域的轨迹获取控件 1502。这样,手机向服务器获取更新后的固定区域之后,若检测到关于某个固定区域对应的 轨迹获取控件的触发操作,则获取该个固定区域对应的参考运动轨迹并存储。图15中的(b) 示出了对固定区域5对应的轨迹获取控件进行触发操作的示意图。
可选地,手机向服务器获取更新后的固定区域的同时,可以获取更新后的固定区域对应 的参考运动轨迹。
可选地,如图15中的(c)图所示,当手机从服务器获取到固定区域5对应的参考运动 轨迹之后,手机可以展示轨迹成功下载窗口1503,该轨迹成功下载窗口1503中可以展示有“固 定区域5的参考运动轨迹已下载成功”。
在又一种实施例中,服务器可以周期性地确定手机的固定区域,以及固定区域对应的参 考运动轨迹,并且向手机发送固定区域,以及固定区域对应的参考运动轨迹。
在又一种实施例中,服务器可以采集新运动轨迹样本,并根据新运动轨迹样本周期性地 对固定区域的参考运动轨迹进行更新,并在固定区域的参考运动轨迹更新之后,向手机发送 更新后的参考运动轨迹。这样,手机可以获取到更新后的参考运动轨迹,并且根据更新后的 参考运动轨迹对运动轨迹进行纠偏,从而提高了运动轨迹的准确率。
上述获取参考运动轨迹的过程只是示例性说明,本申请对此不作特殊限制。
1108、用户启动手表的轨迹采集功能。
一种实施方式中,手表的显示界面上可以显示关于开始运动的第一控件,以及关于终止 运动的第二控件。这样,若用户开始进行户外运动,则可以点击手表上的第一控件;手表响 应于对第一控件的点击操作,开始采集用户的运动轨迹点的轨迹信息;若用户结束运动,则 可以点击手表上的第二控件;手表响应于对第二控件的点击操作,终止采集用户的运动轨迹 点的轨迹信息。可见,通过用户对指定的控件进行点击操作,手表可以采集到用户在运动过 程中经过的各个运动轨迹点的轨迹信息。
另一种实施方式中,若用户开始进行户外运动,则可以对手表上的第一种按键组合进行 点击操作,手表响应于对第一按键组合的点击操作,开始采集用户的运动轨迹点的轨迹信息; 若用户结束运动,则可以对手表上的第二种按键组合进行点击操作;手表响应于对第二种按 键组合的点击操作,终止采集用户的运动轨迹点的轨迹信息。可见,通过用户对指定的按键 组合进行点击操作,手表可以采集到用户在运动过程中经过的各个运动轨迹点的轨迹信息。 示例性的,第一种按键组合可以包括电源键和调大音量键,第二种按键组合可以包括电源键 和调小音量键。
又一种实施方式中,若用户开始进行户外运动,则可以在手表的显示界面上进行单击操 作,手表响应于单击操作,开始采集用户的运动轨迹点的轨迹信息;若用户结束运动,则可 以在手表的显示界面上进行双击操作;手表响应于双击操作,终止采集用户的运动轨迹点的 轨迹信息。可见,通过用户在显示界面上输入指定操作,手表可以采集到用户在运动过程中 经过的各个运动轨迹点的轨迹信息。上述所述的单击操作和双击操作只是示例性说明,例如, 单击操作和双击操作也可以替换为长按操作等。
又一种实施方式中,考虑到手表上设置有摄像头,若用户开始进行户外运动,则可以在 摄像头的拍摄范围内做出第一人脸表情或者第一手势;手表响应于第一人脸表情或者第一手 势,开始采集用户的运动轨迹点的轨迹信息;若用户结束运动,则可以在摄像头的拍摄范围 内做出第二人脸表情或者第二手势;手表响应于第二人脸表情或者第二手势,终止采集用户 的运动轨迹点的轨迹信息。可见,通过用户输入指定的人脸表情或者手势等,手表可以采集 到用户在运动过程中经过的各个运动轨迹点的轨迹信息。示例性的,用户可以通过笑脸表情 指示手表开始采集用户的运动轨迹点的轨迹信息,以及通过哭脸表情指示手机终止采集用户 的运动轨迹点的轨迹信息;或者,用户可以通过“ok”手势指示手表开始采集用户的运动轨迹 点的轨迹信息,以及通过“握拳”手势指示手机终止采集用户的运动轨迹点的轨迹信息,等等。
又一种实施方式中,用户通常在一个固定时间段内进行户外运动。例如,可以假设晚上 7点至晚上8点,用户经常进行户外运动;又如,可以假设早上6点至早上7点,用户经常进行户外运动。这样,手表可以从固定时间段的起始时刻开始采集运动轨迹点的轨迹信息,以及在固定时间段的终止时刻终止采集运动轨迹点的轨迹信息。可见,手表可以通过用户的 运动习惯识别固定时间段,以便在固定时间段内采集到各个运动轨迹点的轨迹信息。
又一种实施方式中,手表开始采集运动轨迹点的轨迹信息之后,一定时间段内用户持续 处于运动状态,则手表保持采集运动轨迹点的轨迹信息,直至检测到用户处于非运动状态, 则终止采集运动轨迹点的轨迹信息。可见,手表可以通过识别用户的运动状态采集到各个运 动轨迹点的轨迹信息。
可以理解的是,手表可以通过内置的陀螺仪传感器和/或加速度传感器检测用户是否处于 运动状态。例如,陀螺仪传感器检测到手机围绕三个轴(即,x,y和z轴)的角速度中的任一 个角速度大于等于一定数值,则手表可以确定用户处于运动状态;陀螺仪传感器检测到手机 围绕三个轴(即,x,y和z轴)的角速度均小于一定数值,则手表可以确定用户处于非运动状 态,等等。
上述控制手表的过程只是示例性说明,本申请对此不作特殊限制。另外,手机的控制过 程与手表的控制过程类似。
1109、手表采集运动轨迹点的轨迹信息。
其中,运动轨迹点可以为用户佩戴手表进行户外运动的过程中,手表周期性采集到的轨 迹点。
1110、手表向手机发送运动轨迹点的轨迹信息。
1111、手机确定原始运动轨迹所属的运动区域,并获取运动区域对应的参考运动轨迹; 原始运动轨迹为根据用户外出运动过程中经过的运动轨迹点的轨迹信息得到的。
在本申请一些实施例中,可以直接根据运动轨迹点的轨迹信息生成初始运动轨迹,在初 始运动轨迹不存在重复运动轨迹的情况下,该初始运动轨迹即为最终运动轨迹;在初始运动 轨迹存在重复运动轨迹的情况下,需要对初始运动轨迹进行分割处理得到多段原始运动轨迹。
在本申请的另一些实施例中,可以直接根据运动轨迹点的轨迹信息生成初始运动轨迹, 并对初始运动轨迹进行数据清洗处理得到原始运动轨迹。数据清洗处理的具体过程与步骤 1104中对运动轨迹样本的预处理过程类似,此处不再赘述。
其中,手机在获取到原始运动轨迹所属的运动区域之后,若手机中预先存储有固定区域 对应的参考运动轨迹,则可以首先确定固定区域中是否包括运动区域;若包括,则获取运动 区域对应的参考运动轨迹;若不包括,则说明用户不经常在该运动区域进行运动(例如用户 首次在该运动区域进行运动),故可以从服务器中获取运动区域对应的参考运动轨迹。
又或者,为了减少对手机的内存占用,手机中并未存储有固定区域对应的参考运动轨迹, 这样,手机可以向服务器获取运动区域对应的参考运动轨迹。可选地,在后续对轨迹纠偏完 成后,可以删除运动区域对应的参考运动轨迹。
可选地,手机可以根据任一运动轨迹点(如初始运动轨迹点、终止运动轨迹点、或者除 初始运动轨迹点和终止运动轨迹点外的运动轨迹点)的位置信息确定用户运动过程所处的运 动区域;又或者,若原始运动轨迹为闭合轨迹,则手机可以获取原始运动轨迹所围成图形的 中心点,并确定中心点所属的区域为运动区域;又或者,手机还可以根据多个运动轨迹点(如 初始运动轨迹点和终止运动轨迹点;或者,终止运动轨迹点,以及除初始运动轨迹点和终止 运动轨迹点外的至少一个运动轨迹点;或者,初始运动轨迹点,以及除初始运动轨迹点和终 止运动轨迹点外的至少一个运动轨迹点;或者,除初始运动轨迹点和终止运动轨迹点外的多 个运动轨迹点)的位置信息确定用户运动过程所处的运动区域。其中,运动区域可以包括一 个或者多个区域,本申请对此不作特殊限制。
1112、手机从运动区域对应的参考运动轨迹中,获取与原始运动轨迹相似的第一参考运 动轨迹。
一种实施例中,手机可以通过步骤1105中所述的LCSS算法和豪斯多夫距离算法等获取 原始运动轨迹相似的第一参考运动轨迹,具体过程此处不再赘述。
另一种实施例中,手机从待测参考运动轨迹上,获取第一运动轨迹点的投影轨迹点,运 动轨迹点包括第一运动轨迹点,参考运动轨迹包括待测参考运动轨迹;其中,投影轨迹点为 候选轨迹点中与第一运动轨迹点距离最近的轨迹点,候选轨迹点为待测参考运动轨迹上满足 预设条件的轨迹点,预设条件包括:第一运动轨迹点所在的第一直线与候选轨迹点所在的第 二直线之间的夹角小于预设夹角(例如30°),第一运动轨迹点所在的第一直线为第一运动轨 迹点与原始运动轨迹上第一运动轨迹点的下一运动轨迹点构成的直线,候选轨迹点所在的第 二直线为候选轨迹点与待测参考运动轨迹上候选轨迹点的下一运动轨迹点构成的直线;获取 第一运动轨迹点与投影轨迹点之间的投影距离;根据投影距离计算轨迹相似度,即投影距离 小于等于距离阈值(例如50m)的第一运动轨迹点的数量与运动轨迹点的总数量之间的比值, 作为轨迹相似度;若轨迹相似度大于第一数值(例如70%),则确定待测参考运动轨迹为第一 参考运动轨迹,若轨迹相似度小于等于第一数值,则继续获取下一个待测参考运动轨迹,并 确定下一个待测参考运动轨迹是否为第一参考运动轨迹。
可选地,若初始运动轨迹存在重复运动轨迹,则步骤1111获取到的原始运动轨迹为多段 运动轨迹。这样,在本步骤中,手机可以获取每段原始运动轨迹对应的第一参考运动轨迹, 以便后续步骤中可以通过第一参考运动轨迹对对应的原始运动轨迹进行纠偏,以及将纠偏后 的运动轨迹合并为最终运动轨迹。
1113、手机根据第一参考运动轨迹对原始运动轨迹进行纠偏,得到最终运动轨迹,并展 示最终运动轨迹。
在本申请的一种实施例中,若第一运动轨迹点与投影轨迹点之间的投影距离小于等于距 离阈值(例如50m),且第一运动轨迹点所在的第一直线与候选轨迹点所在的第二直线之间的 夹角小于预设夹角(例如30°);则可以在第一运动轨迹点与投影轨迹点构成的线段上,选取 靠近投影轨迹点一侧的轨迹点为第一运动轨迹点对应的纠偏点。例如,第一距离与第二距离 之间的比值为1/3,第一距离为该纠偏点与该投影轨迹点之间的距离,第二距离为运动轨迹点 与该纠偏点之间的距离。
这样,可以根据第一运动轨迹点对应的纠偏点,对原始运动轨迹进行纠偏得到最终运动 轨迹,即可以将原始运动轨迹中需要纠偏的运动轨迹点替换为对应的纠偏点。
为了便于理解,下面结合一些示意图对生成运动轨迹的过程进行说明。图16至图21示 出了生成运动轨迹过程的示意图,图16至图21中的载体虽然为手机,但本申请同样可以在 手表中生成运动轨迹,此时,图16至图21中的载体替换为手表,而显示的内容类似,另外 可以根据手表的屏幕尺寸对显示的内容进行相应布局。其中,图16至图21所示的运动轨迹 上标注有用户开始运动时的初始轨迹点U1,以及结束运动时的终止轨迹点U2
图16示出了一种生成运动轨迹过程的示意图。其中,图16所示实施例是以初始运动轨 迹与原始运动轨迹为同一轨迹为例进行说明的。图16中的(a)图示出了一种原始运动轨迹 的示意图,该原始运动轨迹上标注有用户开始进行运动的初始轨迹点U1,以及终止运动的终 止轨迹点U2,且该原始运动轨迹为根据运动轨迹点的位置信息,将运动轨迹点中相邻时刻的 两个运动轨迹点进行连接生成的运动轨迹。
图16中的(b)图示出了一种最终运动轨迹的示意图,该最终运动轨迹是手机对原始运 动轨迹进行纠偏后得到的,该最终运动轨迹上标注有用户开始进行运动的初始轨迹点U1,以 及终止运动的终止轨迹点U2
其中,图16中的(a)图示出了用户在操场1602进行了1圈跑圈的原始运动轨迹1603, 虚线框区域1601中的轨迹明显偏离实际的操场路线;在图16中的(b)图中,示出了最终运 动轨迹1604,虚线框区域1601中的轨迹经过纠偏后与实际道路比较贴合,更加接近实际操 场1602的形状。可见,本申请通过对原始运动轨迹进行纠偏,使得纠偏后得到的最终运动轨 迹更加准确。
图17示出了一种生成运动轨迹过程的示意图。其中,图17所示实施例是以初始运动轨 迹与原始运动轨迹不为同一轨迹,且对初始运动轨迹去除噪声轨迹点得到原始运动轨迹的过 程为例进行说明的。
图17中的(a)图示出了初始运动轨迹中存在噪声轨迹点,其中,噪声轨迹点可以包括 离群噪声点和停留噪声点等中的至少一种。
可以理解的是,由于户外运动的路线上可能存在建筑物,故手表和/或手机的定位信号的 强度较弱,使得手表和/或手机采集到的运动轨迹点发生漂移(发生漂移的运动轨迹点通常称 为离群轨迹点)。离群轨迹点不为用户实际的运动轨迹点,若手机根据离群轨迹点生成最终运 动轨迹,则最终运动轨迹的准确性较差。示例性的,如图17中的(a)图所示,离群轨迹点 包括L1和L2
在本申请的一种实现方式中,手机可以自动对初始运动轨迹中的离群轨迹点进行去除, 去除离群轨迹点后的运动轨迹如图17中的(b)图所示。
在本申请的另一种实现方式中,手机可以在显示初始运动轨迹的窗口上,展示离群轨迹 点的消除控件。这样手机在检测到用户对离群轨迹点的消除控件进行的触发操作时,对初始 运动轨迹中的离群轨迹点进行去除。
应理解,用户在外出运动的过程中可能会在某个地方逗留一会,这样手表或者手机会采 集到用户在该个地方逗留时的多个运动轨迹点(即为通常所说的停留轨迹点)的轨迹信息。 由于该个地方的多个运动轨迹点过于密集,故运动轨迹的显示效果较差。如图17中的(a) 图所示,停留轨迹点包括S1、S2、…、S8、S9,其中,为了使得图17中的(a)图的视觉效果较好,标注的停留轨迹点的数量较少,在实际的初始运动轨迹中可能存在数量较多的停留 轨迹点。
在本申请的一种实现方式中,手机可以自动对初始运动轨迹中的停留轨迹点进行去除。 例如,若图17中的(a)图所示的初始运动轨迹经过去除离群轨迹点后,得到如图17中的(b) 图所示的运动轨迹;接着,手机对图17中的(b)图所示的运动轨迹去除停留轨迹点之后, 可以得到图17中的(c)图所示的原始运动轨迹;最后手机可以对图17中的(c)图所示的原始运动轨迹进行纠偏得到最终运动轨迹,最终运动轨迹如图17中的(d)图所示。
在本申请的另一种实现方式中,手机可以在显示初始运动轨迹的窗口上,展示停留轨迹 点的消除控件。这样手机在检测到用户对停留轨迹点的消除控件进行的触发操作时,对初始 运动轨迹中的停留轨迹点进行去除。
需要说明的是,本申请对停留轨迹点的去除步骤和离群轨迹点的去除步骤的先后顺序不 作限定。
另外,手机可能并不会向用户展示图17中的(a)图、(b)图和(c)图,而是在后台进行处理得到最终运动轨迹,向用户展示图17中的(d)图所示的最终运动轨迹。
图18和图19是本申请实施例提供的一种生成运动轨迹过程的示意图。其中,图18和图 19所示实施例是以初始运动轨迹与原始运动轨迹不为同一轨迹,且对初始运动轨迹进行分割 处理得到原始运动轨迹的过程为例进行说明的。图18是以用户进行往复式运动为例的,图 19是以用户进行折返式运动为例的。
如图18中的(a)图所示,初始运动轨迹180包括在操场181上进行了2圈跑圈的轨迹。 该初始运动轨迹180上可以标注有用户开始进行运动的初始轨迹点U1,以及终止运动的终止 轨迹点U2
如图18中的(b)图所示,为了可以准确地对初始运动轨迹180进行纠偏,手机可以首 先将初始运动轨迹180划分为两部分运动轨迹得到原始运动轨迹,即图18的(b)图中粗实 线表示的原始运动轨迹1801,以及图18的(b)图中粗虚线表示的原始运动轨迹1802。
如图18中的(b)图所示,虚线框区域182中的运动轨迹明显偏离实际的操场路线。故, 手机可以分别对原始运动轨迹1801和原始运动轨迹1802进行纠偏,得到最终运动轨迹。图 18中的(c)图示出了一种最终运动轨迹183的示意图。其中,运动轨迹1831为原始运动轨 迹1801纠偏后的轨迹,运动轨迹1832为原始运动轨迹1802纠偏后的轨迹。在图18的(c) 图中,虚线框区域182中的运动轨迹经过纠偏后与实际道路比较贴合,更加接近实际的操场 路线。可见,本申请通过对原始运动轨迹进行纠偏,使得纠偏后得到的最终运动轨迹更加准 确。
在一种实施例中,手机可以在显示初始运动轨迹的窗口上,展示轨迹分割控件,这样手 机在检测到用户对轨迹分割控件进行的触发操作时,对初始运动轨迹进行分割;又或者,用 户对轨迹分割控件进行触发操作之后,手动对初始运动轨迹进行分割。例如,用户在显示初 始运动轨迹的窗口上增加分割运动轨迹点,手机可以根据增加的分割运动轨迹点将初始运动 轨迹进行分割。
可选地,为了区分增加的运动轨迹点以及原本的运动轨迹点,可以将增加的运动轨迹点 和原始的运动轨迹点设置为不同显示样式(例如颜色,尺寸,控件内标注的字符等)。当然, 本申请还可以针对初始运动轨迹点和终止运动轨迹点设置不同显示样式。
需要说明的是,手机可能并不会向用户展示图18中的(a)图和(b)图所示的运动轨迹, 而是在后台进行处理得到最终运动轨迹,向用户展示图18中的(c)图所示的最终运动轨迹。
图19中的初始运动轨迹为折返式轨迹。如图19中的(a)图所示,初始运动轨迹1901包括从初始轨迹点U1至轨迹折返点Z1之间的轨迹,以及从轨迹折返点Z1至终止轨迹点U2之间的轨迹。
如图19中的(b)图所示,为了可以准确地对初始运动轨迹1901进行纠偏,手机可以首 先将初始运动轨迹1901划分为两部分运动轨迹得到原始运动轨迹1902,即图19的(b)图中粗实线表示的原始运动轨迹19021,以及图19的(b)图中粗虚线表示的原始运动轨迹19022。
这样,手机可以分别对原始运动轨迹19021和原始运动轨迹19022进行纠偏,得到最终 运动轨迹。图19中的(c)图示出了一种最终运动轨迹1903的示意图。运动轨迹19031为原 始运动轨迹19021纠偏后的轨迹,运动轨迹19032为原始运动轨迹19022纠偏后的轨迹。
需要说明的是,手机可能并不会向用户展示图19中的(a)图和(b)图所示的运动轨迹, 而是在后台进行处理得到最终运动轨迹,向用户展示图19中的(c)图所示的最终运动轨迹。
图20是本申请实施例提供的一种生成运动轨迹过程的示意图。其中,图20所示实施例 是以初始运动轨迹与原始运动轨迹不为同一轨迹,且手动对初始运动轨迹进行分割处理得到 原始运动轨迹的过程为例进行说明的。
如图20中的(a)图所示,手机可以在显示初始运动轨迹2001的窗口上,展示轨迹分割 控件2002。手机在检测到用户将轨迹分割控件2002移动至初始运动轨迹上的一个位置(如 图20的(a)图中的G1所在位置)之后,如图20中的(b)图所示,将初始运动轨迹2001 分割为两部分运动轨迹得到原始运动轨迹2003,即图20的(b)中粗实线表示的原始运动轨 迹20031和虚实线表示的原始运动轨迹20032。这样,手机可以分别对原始运动轨迹20031 和原始运动轨迹20032进行纠偏,得到最终运动轨迹。图20中的(c)图示出了一种最终运 动轨迹2004的示意图。其中,运动轨迹20041为原始运动轨迹20031纠偏后的轨迹,运动轨 迹20042为原始运动轨迹20032纠偏后的轨迹。
图21是本申请实施例提供的一种生成运动轨迹过程的示意图。其中,图21所示实施例 是以初始运动轨迹与原始运动轨迹不为同一轨迹,且对初始运动轨迹进行平滑处理得到原始 运动轨迹的过程为例进行说明的。
如图21中的(a)图所示,初始运动轨迹2101中存在锯齿状,故初始运动轨迹的平滑度 较差,使得用户的视觉效果较差。
在一种实现方式中,手机可以自动对初始运动轨迹2101进行平滑处理得到原始运动轨迹, 原始运动轨迹2102如图21中的(b)图所示;在另一种实现方式中,手机可以在显示初始运 动轨迹的窗口上,展示平滑处理控件,这样手机在检测到用户对平滑处理控件进行的触发操 作时,对初始运动轨迹2101进行平滑处理。
进一步地,在获取到图21中的(b)图所示的原始运动轨迹2102之后,手机可以对原始 运动轨迹2102纠偏得到图21中的(c)图所示的最终运动轨迹2103。
需要说明的是,手机可能并不会向用户展示图21中的(a)图和(b)图所示的运动轨迹, 而是在后台进行处理得到最终运动轨迹,向用户展示图21中的(c)图所示的最终运动轨迹。
可选地,本申请也可以先对初始运动轨迹进行纠偏,并对纠偏后的运动轨迹进行平滑处 理得到最终运动轨迹,本申请对纠偏处理和平滑处理的时序不作限定。
应理解,手机也可以对初始运动轨迹进行图17至图21中的多种处理,得到最终运动轨 迹。
需要说明的是,本申请对图11中的各个步骤的时序不作限定。例如,步骤1107可以在 步骤1109之后执行。
在本申请的一些可选实施例中,手机可以不执行步骤1107。这样,在步骤1110之后,若 手机接收到手表发送的运动轨迹点的轨迹信息,手机可以确定原始运动轨迹所属的运动区域, 原始运动轨迹根据运动轨迹点的轨迹信息得到;然后手机可以向服务器发送原始运动轨迹和 运动区域的区域标识。服务器基于区域标识获取运动区域对应的参考运动轨迹,以及从运动 区域对应的参考运动轨迹中,获取与原始运动轨迹相似的第一参考运动轨迹,并根据第一参 考运动轨迹对原始运动轨迹进行纠偏,得到最终运动轨迹,然后向手机发送最终运动轨迹, 以便手机展示该最终运动轨迹。由此可见,手机可以无需存储参考运动轨迹,故避免了占用 手机的较大内存,以及通过服务器对运动轨迹进行纠偏,降低了手机的数据处理量。
在本申请的另一些可选实施例中,在服务器获取到与原始运动轨迹相似的第一参考运动 轨迹之后,还可以向手机发送第一参考运动轨迹。这样,手机根据第一参考运动轨迹对原始 运动轨迹进行纠偏,得到最终运动轨迹,并展示最终运动轨迹。避免了手机中存储参考运动 轨迹造成的内存占用较大的问题。
综上所述,考虑到大部分手表只有GPS定位功能,当用户携带手表进行户外运动时,手 表记录的运动轨迹会存在较多噪声,偏离用户实际的运动轨迹,严重影响了用户体验。故, 本申请通过准确度较高的参考运动轨迹,对原始运动轨迹进行纠偏,从而提高了运动轨迹的 准确率。另外,本申请可以使用运动健康app进行轨迹信息的采集,无需使用第三方地图厂 商的数据,从而减少了程序调用。此外,在参考运动轨迹是基于手机采集到的运动轨迹样本 生成的情况下,手机的定位精度高于手表的定位精度,使得参考运动轨迹的准确度较高。这 样,手机在对手表采集的原始运动轨迹进行纠偏的过程中,可以无需对手表中定位模块进行 硬件的改进,从而降低了成本。
在本申请的一些实施例中,考虑到某些用户可能并不关心自己的运动轨迹是否准确。这 样,手机每次针对原始运动轨迹进行纠偏,手机的数据处理量会较大。基于此,手机在获取 运动轨迹点的轨迹信息之后,存储运动轨迹点的轨迹信息。
图22和图23示出了一种生成运动轨迹过程的示意图。如图22中的(a)图所示,在手机显示运动记录的窗口中,手机针对各个运动记录对应展示有原始轨迹查看控件2201和纠偏 轨迹查看控件2202。
在一种实施例中,手机在检测到用户对第一运动记录对应的纠偏轨迹查看控件2202的触 发操作时,手机可以响应于对纠偏轨迹查看控件2202的触发操作,确定关于第一运动记录的 原始运动轨迹所属运动区域;运动记录包括所述第一运动记录。这样手机可以从运动区域对 应的参考运动轨迹中,获取与第一运动记录的原始运动轨迹相似的第一参考运动轨迹,并根 据第一参考运动轨迹对第一运动记录的原始运动轨迹进行纠偏生成第一运动记录的最终运动 轨迹,并展示最终运动轨迹。
例如,如图22中的(a)图所示,用户触发了关于2.05公里运动记录的纠偏轨迹查看控 件2202之后,手机生成关于2.05公里运动记录对应的最终运动轨迹,并展示该最终运动轨 迹。图22中的(b)图示出了生成的最终运动轨迹2204,该最终运动轨迹2204符合操场2203 实际的路线,故用户查看的最终运动轨迹2204为纠偏后的运动轨迹。
在另一种实施例中,如图23中的(a)图所示,手机在检测到用户对第一运动记录对应 的原始轨迹查看控件2301的触发操作时,手机可以响应于对原始轨迹查看控件2301的触发 操作,根据运动轨迹点的轨迹信息生成该第一运动记录的原始运动轨迹,并展示原始运动轨 迹。如图23中的(a)图所示,用户触发了关于2.05公里运动记录的原始轨迹查看控件2301 之后,手机生成关于2.05公里运动记录对应的原始运动轨迹,并展示该原始运动轨迹。图23 中的(b)图示出了该原始运动轨迹2305,虚线框区域2306内的运动轨迹明显超出了操场2303 实际的路线,故用户查看的原始运动轨迹2305为未纠偏的运动轨迹。
结合图22和图23可见,手机可以根据用户的需求来生成运动轨迹,即用户需要查看一 个粗略的运动轨迹,则可以触发原始轨迹查看控件;若用户需要查看一个精确的运动轨迹, 则可以触发纠偏轨迹查看控件。其中,图22的(a)图中的原始轨迹查看控件和纠偏轨迹查 看控件只是示例性说明,本申请对此不作特殊限制。
需要说明的是,若原始运动轨迹和初始运动轨迹不为相同轨迹,则可以通过图22和图 23所示实施例的方法,选取初始运动轨迹和最终运动轨迹中的一个轨迹进行查看,具体内容 不再赘述。
图24和图25示出了一种生成运动轨迹过程的示意图。其中,在手机显示运动记录的窗 口中,手机展示各个运动记录对应的轨迹类型选择控件,该轨迹类型选择控件可以处于用于 获取原始运动轨迹的第一状态,或者,处于用于获取最终运动轨迹的第二状态。
在一种实施例中,手机检测到关于第二运动记录的轨迹类型选择控件处于第一状态,且 用户对该第二运动记录进行触发操作,则手机生成该第二运动记录对应的原始运动轨迹,并 展示该原始运动轨迹,运动记录包括第二运动记录。
例如,如图24中的(a)图所示,手机检测到用户对关于2.05公里运动记录的轨迹类型 选择控件2401进行触发操作,则由于轨迹类型选择控件2401为处于第一状态的轨迹类型选 择控件,故手机生成关于2.05公里运动记录对应的原始运动轨迹,并展示该原始运动轨迹。 图24中的(b)图示出了该原始运动轨迹2403,虚线框区域2404内的运动轨迹明显超出了 操场2402实际的路线,故用户查看到的原始运动轨迹为未纠偏的运动轨迹。
在另一种实施例中,手机检测到关于第二运动记录中的轨迹类型选择控件处于第二状态, 且用户对该第二运动记录进行触发操作,则手机确定第二运动记录的原始运动轨迹所属运动 区域。这样手机可以从运动区域对应的参考运动轨迹中,获取与第二运动记录的原始运动轨 迹相似的第一参考运动轨迹,并根据第一参考运动轨迹对第二运动记录的原始运动轨迹进行 纠偏生成该第二运动记录对应的最终运动轨迹。
例如,如图25中的(a)图所示,手机检测到用户对关于2.05公里运动记录的轨迹类型 选择控件2501进行触发操作,则由于轨迹类型选择控件2501为处于第二状态的轨迹类型选 择控件,故生成关于2.05公里运动记录对应的最终运动轨迹,并展示该最终运动轨迹。图25 中的(b)图示出了该最终运动轨迹2503,该最终运动轨迹2503符合操场2502实际的路线, 故用户查看到的最终运动轨迹2503为纠偏后的运动轨迹。
结合图24和图25可见,用户可以切换轨迹类型选择控件的状态(例如滑动轨迹类型选 择控件中的圆形控件),进行轨迹类型的选取。这样,手机可以按照选取的轨迹类型生成用户 需要查看的运动轨迹,从而满足用户的查看需求。
同样地,若原始运动轨迹和初始运动轨迹不为相同轨迹,则可以通过图24和图25所示 实施例的方法,选取初始运动轨迹和最终运动轨迹中的一个轨迹进行查看,具体内容不再赘 述。
考虑到用户通常喜欢使用一些运动健康app记录和展示运动轨迹。故手机中可以下载并 安装运动健康app。这样,安装有运动健康app的手机可以通过Wi-Fi网络或者蜂窝网络等与 运动健康云进行通信。下面实施例是以运动健康app和运动健康云之间的交互为例,对生成 运动轨迹的过程进行说明。
图26示出了一种生成运动轨迹的方法的流程示意图。如图26所示,该方法可以包括以 下步骤:
2601、运动健康云获取户外运动过程中的运动轨迹样本。
其中,运动轨迹样本可以是通过手机采集到的,也可以由手表采集到的,还可以由手机 和手表采集到的,本申请对此不作特殊限制。
2602、运动健康云对运动轨迹样本进行预处理,得到处理后的运动轨迹样本。
2603、运动健康云对同一区域内相似的处理后的运动轨迹样本进行聚类合并得到同一区 域对应的待处理轨迹样本。
2604、运动健康云对待处理轨迹样本进行平滑处理得到同一区域对应的参考运动轨迹。
2605、人工对同一区域对应的参考运动轨迹进行校验。
可以理解的是,运维人员可以通过地图查看一些区域的参考运动轨迹,对于误差较大的 参考运动轨迹,运维人员可以进行删除操作,或者对参考运动轨迹进行更改等。
2606、人工进行版本管理。
可以理解的是,运动健康云可以周期性地更新参考运动轨迹,若运维人员确定更新后的 参考运动轨迹可用,则更新运动健康app的版本信息。
2607、运动健康云存储同一区域对应的参考运动轨迹。
其中,区域的标识信息可以作为参考运动轨迹的索引信息,以便运动健康云或者运动健 康app可以通过区域的标识信息快速查找到对应的参考运动轨迹。示例性的,区域的标识信 息可以包括“城市标识+区域标识”。
本申请实施例是以图3所示的应用场景为例说明的,故需要通过手表采集运动轨迹点的 轨迹信息,并通过手机对手表采集的运动轨迹点的轨迹信息进行纠偏。故,图26所示实施例 中的运动健康app为安装在手机中的app。本申请还可以包括以下步骤:
2608、运动健康app检测手机与手表之间是否存在通信连接记录。
其中,手机可以通过蓝牙、蜂窝网络或者Wi-Fi网络等通信方式与手表进行通信。
若手机与手表之间存在通信连接记录,则执行步骤2609;
若手机与手表之间不存在通信连接记录,则说明用户经常携带手机进行户外运动,且通 过手机采集运动轨迹点的轨迹信息,考虑到手机采集的轨迹信息的准确性可能满足用户需求, 故无需对手机采集的运动轨迹点的轨迹信息进行纠偏,结束流程。
在本申请的另一可选实施例中,若手机与手表之间不存在通信连接记录,考虑到手机采 集到的运动轨迹点的轨迹信息的准确性可能不满足用户需求,故可以执行步骤2609。
2609、运动健康app从运动健康云下载固定区域的参考运动轨迹。
其中,上述所述的同一区域可以包括该固定区域。
2610、运动健康app获取用户外出运动过程中经过的运动轨迹点的轨迹信息。
其中,运动健康app可以从手表中获取运动轨迹点的轨迹信息。应理解,手表在获取到 运动轨迹点的轨迹信息,并检测到与手机可以正常通信时,向手机中的运动健康app发送运 动轨迹点的轨迹信息。
2611、运动健康app确定原始运动轨迹所属的运动区域,原始运动轨迹为根据运动轨迹 点的轨迹信息得到。
可选地,运动健康app在获取到运动轨迹点的轨迹信息之后,可以先根据运动轨迹点的 轨迹信息生成初始运动轨迹,并对初始运动轨迹进行数据清洗处理得到原始运动轨迹。
2612、运动健康app确定固定区域是否包括运动区域。
若固定区域包括运动区域,则执行步骤2613;
若固定区域不包括运动区域,则执行步骤2615。
2613、运动健康app确定运动区域对应的参考运动轨迹中,是否存在与原始运动轨迹相 似的第一参考运动轨迹。
若存在第一参考运动轨迹,则执行步骤2614;
若不存在第一参考运动轨迹,则结束流程。
2614、运动健康app根据第一参考运动轨迹对原始运动轨迹进行纠偏,得到最终运动轨 迹,并展示最终运动轨迹。
2615、运动健康app调用运动健康云查询同一区域中是否包括运动区域。
若同一区域包括运动区域,则执行步骤2613;
若同一区域不包括运动区域,则结束流程。
本申请实施例的具体内容可以参考图11所示实施例,不再赘述。
综上,运动健康云可以通过大量用户的历史轨迹数据(即本申请中的运动轨迹样本),得 到不同区域对应的参考运动轨迹,故该参考运动轨迹减少了定位的误差。运动健康app可以 根据运动健康云中的参考运动轨迹,对用户运动过程中的原始运动轨迹进行纠偏,大大提高 了运动轨迹的准确性,改善了用户查看运动轨迹的视觉效果。另外,本申请使用运动健康app 采集轨迹信息,无需使用第三方地图厂商的数据,从而减少了程序调用。
另外,本申请还可以应用于图4至图6所示的应用场景,这些场景的具体内容可以参考 图3应用场景中的实施例内容,不再详细赘述。
示例性的,图27示出了一种生成运动轨迹的系统框图,该系统可以应用于图4所示场景。
其中,基于图7所示的系统,图27所示的系统为:将图7的手机中的定位精度校准模块 以及轨迹展示模块移除,以及在手表中设置有定位精度校准模块以及轨迹展示模块,且手表 中的定位精度校准模块与服务器中的轨迹服务模块连接,具体结构参见图27。
各个模块的具体功能可以参考图7所示实施例,不再赘述。
相应地,若图11所示实施例应用于图4所示的场景,则在一种方式中,步骤1110可以 删除,并且步骤1111至步骤1113在手表侧执行;在另一种方式中,步骤1110可以替换为:手表向服务器发送运动轨迹点的轨迹信息,且步骤1111至步骤1113可以在服务器侧执行,且服务器可以向手表发送最终运动轨迹,以便手表展示最终运动轨迹。
示例性的,图28示出了一种生成运动轨迹的系统框图,该系统可以应用于图5所示场景。
其中,基于图7所示的系统,图28所示的系统为:将图7所示手机中的第一定位模块与 手机中的定位精度校准模块进行连接,具体结构参见图28。
各个模块的具体功能可以参考图7所示实施例,不再赘述。
相应地,若图11所示实施例应用于图5所示的场景,则步骤1109可以替换为手表采集 第一运动轨迹点的第一轨迹信息,在第三阶段还可以包括:启动手机的轨迹采集功能,以及 手机采集第二运动轨迹点的第二轨迹信息。这样,一种实施方式中,手机采集到的第二轨迹 信息不为完整信息,则可以根据第一运动轨迹点的第一轨迹信息,执行步骤1111至步骤1113; 另一种实施方式中,手机采集到的第二轨迹信息为完整信息,手机可以根据第二运动轨迹点 的第二轨迹信息,执行步骤1111至步骤1113;又一种实施方式中,手机可以根据第二运动 轨迹点的第二轨迹信息,执行步骤1111至步骤1113,以及手表可以根据第一运动轨迹点的 第一轨迹信息,执行步骤1111至步骤1113,这样可以对不同设备采集的轨迹信息分别进行 纠偏。
图29示出了一种生成运动轨迹的系统框图,该系统可以应用于图6所示场景。
其中,基于图7所示的系统,图29所示的系统为:将图7所示手表部分进行移除,且手 机中的第一定位模块与手机中的定位精度校准模块进行连接,具体结构参见图29。
各个模块的具体功能可以参考图7所示实施例,不再赘述。
相应地,若图11所示实施例应用于图6所示的场景,则步骤1109可以在手机侧执行, 且步骤1110可以删除。
可以理解的是,考虑到手机的定位精度高于手表的定位精度,故在图27至图29所示实 施例中,将手机采集的运动轨迹样本进行上报,以便服务器根据手机采集的运动轨迹样本生 成准确的参考运动轨迹。
可选地,运动轨迹样本也可以由手表采集到的,或者可以由手表和手机采集到的,本申 请对此不作特殊限制。
还应理解,本申请实施例中涉及的手机只是示例性说明,当然还可以为其他终端设备, 同样地,涉及的手表也只是示例性说明,当然也可以为其他可穿戴设备,本申请对此不作特 殊限制。
可以理解的是,电子设备(即手机或者手表等)和服务器为了实现上述功能,其包含了 执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步 骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计 算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术 人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现 不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个 功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成 的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅 仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,该电子设备可以包括:处理单元和显 示单元。
其中,显示单元和处理单元相互协作,可以用于支持电子设备执行上述生成运动轨迹的 过程,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模 块的功能描述,在此不再赘述。
在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中, 处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行上述 显示单元和处理单元执行的步骤。存储模块可以用于支持电子设备执行存储程序代码和数据 等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述 的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一 个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等 等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他 电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子 设备可以为具有图8所示结构的设备。
本实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功 能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的 模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅 为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功 能模块的情况下,该服务器可以包括:处理单元,可以用于支持服务器执行上述生成运动轨 迹的过程,和/或用于本文所描述的技术的其他过程。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令, 当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例 中的生成运动轨迹的方法,或者,当该计算机指令在服务器上运行时,使得服务器执行上述 相关方法步骤实现上述实施例中的生成运动轨迹的方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使 得电子设备执行上述相关方法步骤实现上述实施例中的生成运动轨迹的方法,或者,当该计 算机程序产品在服务器上运行时,使得服务器执行上述相关方法步骤实现上述实施例中的生 成运动轨迹的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装 置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时, 处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的生成运动 轨迹的方法。
其中,本实施例提供的电子设备、服务器、计算机可读存储介质、计算机程序产品或芯 片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的 对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅 以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不 同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或 者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的 方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅 仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合 或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相 互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连 接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可 以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。 可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个 单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以 采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有 技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件 产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或 处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉 本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本 申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (26)

1.一种生成运动轨迹的方法,其特征在于,应用于第一电子设备,所述方法包括:
确定原始运动轨迹所属的运动区域,所述原始运动轨迹为根据用户外出运动过程中经过的运动轨迹点的轨迹信息得到的;
从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹;
获取最终运动轨迹,所述最终运动轨迹为根据所述第一参考运动轨迹对所述原始运动轨迹进行纠偏得到的;
展示所述最终运动轨迹。
2.根据权利要求1所述的方法,其特征在于,所述参考运动轨迹为服务器将所述运动区域内相似的运动轨迹样本进行聚类合并得到的运动轨迹;
或者,
所述参考运动轨迹为服务器对第一待处理轨迹样本进行平滑处理得到的运动轨迹,所述第一待处理轨迹样本为所述服务器将所述运动区域内相似的运动轨迹样本进行聚类合并得到的运动轨迹;
或者,
所述参考运动轨迹为服务器对第二待处理轨迹样本进行平滑处理得到的运动轨迹,所述第二待处理轨迹样本为所述服务器将所述运动区域内相似的处理后的运动轨迹样本进行聚类合并得到的运动轨迹;所述处理后的运动轨迹样本为所述服务器对所述运动轨迹样本进行样本处理得到的运动轨迹;
或者,
所述参考运动轨迹为服务器将所述运动区域内相似的处理后的运动轨迹样本进行聚类合并得到的运动轨迹;所述处理后的运动轨迹样本为所述服务器对所述运动轨迹样本进行样本处理得到的运动轨迹;
其中,所述样本处理包括数据脱敏处理和数据清洗处理中的至少一种;所述数据清洗处理包括以下至少一种:对所述运动轨迹样本包括的噪声轨迹点进行的去除处理、对存在重复运动轨迹的运动轨迹样本进行的分割处理、以及对所述运动轨迹样本进行的平滑处理,所述噪声轨迹点包括停留轨迹点和离群轨迹点中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述运动区域内相似的运动轨迹样本为根据预设轨迹相似算法确定所述运动区域内的每两个运动轨迹样本是否为相似轨迹得到的;
其中,所述预设轨迹相似算法包括最长公共子序列算法、豪斯多夫距离算法、编辑距离算法以及动态时间扭曲法则中的至少一种。
4.根据权利要求3所述的方法,其特征在于,在所述预设轨迹相似算法包括所述最长公共子序列算法和所述豪斯多夫距离算法的情况下,
两个运动轨迹样本为相似轨迹的条件包括:所述两个运动轨迹样本之间最长公共子序列的相似度大于第一阈值,或者,在所述两个运动轨迹样本之间最长公共子序列的相似度小于等于第一阈值时,所述两个运动轨迹样本之间的豪斯多夫距离小于第二阈值。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述参考运动轨迹为所述服务器对运动轨迹集合包括的运动轨迹样本进行轨迹合并得到的运动轨迹;所述运动轨迹集合为所述服务器将所述运动区域内相似的运动轨迹样本进行聚类得到的集合。
6.根据权利要求5所述的方法,其特征在于,所述参考运动轨迹为所述服务器根据基准运动轨迹上各个运动轨迹样本点的最终位置信息得到的运动轨迹,所述运动轨迹集合包括所述基准运动轨迹;
其中,所述基准运动轨迹上第g个运动轨迹样本点的最终位置信息为所述服务器计算若干运动轨迹样本点的位置信息与第g个运动轨迹样本点的位置信息的均值得到的位置信息,所述若干个运动轨迹样本点为所述服务器从所述运动轨迹集合中除所述基准运动轨迹样本外的其他运动轨迹样本中,获取的第g个运动轨迹样本点的采样半径内的运动轨迹样本点,g为正整数。
7.根据权利要求1至6任一项所述的方法,其特征在于,从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹,包括:
从待测参考运动轨迹上,获取第一运动轨迹点的投影轨迹点,所述运动轨迹点包括所述第一运动轨迹点,所述参考运动轨迹包括所述待测参考运动轨迹;其中,所述投影轨迹点为候选轨迹点中与所述第一运动轨迹点距离最近的轨迹点,所述候选轨迹点为所述待测参考运动轨迹上满足预设条件的轨迹点,所述预设条件包括:所述第一运动轨迹点所在的第一直线与所述候选轨迹点所在的第二直线之间的夹角小于预设夹角,所述第一运动轨迹点所在的第一直线为所述第一运动轨迹点与所述原始运动轨迹上第一运动轨迹点的下一运动轨迹点构成的直线,所述候选轨迹点所在的第二直线为所述候选轨迹点与所述待测参考运动轨迹上候选轨迹点的下一运动轨迹点构成的直线;
获取所述第一运动轨迹点与所述投影轨迹点之间的投影距离;
计算所述投影距离小于等于距离阈值的第一运动轨迹点的数量与所述运动轨迹点的总数量之间的比值,得到轨迹相似度;
若所述轨迹相似度大于第一数值,则确定所述待测参考运动轨迹为所述第一参考运动轨迹。
8.根据权利要求7所述的方法,其特征在于,所述最终运动轨迹为根据所述第一运动轨迹点对应的纠偏点,对所述原始运动轨迹进行纠偏得到的;
其中,若所述第一运动轨迹点与所述投影轨迹点之间的投影距离小于等于距离阈值,则所述第一运动轨迹点对应的纠偏点为在所述第一运动轨迹点与所述投影轨迹点构成的线段上,靠近所述投影轨迹点一侧的轨迹点。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述轨迹信息包括所述运动轨迹点的位置信息,以及用户经过所述运动轨迹点的时刻信息;
所述确定原始运动轨迹所属的运动区域,包括:
根据任意的至少一个运动轨迹点的位置信息确定所述原始运动轨迹所属的运动区域;
或者,
在所述原始运动轨迹为闭合轨迹的情况下,获取所述原始运动轨迹所围成图形的中心点,并确定中心点所在区域为所述原始运动轨迹所属的运动区域;
或者,
根据指定的至少一个运动轨迹点的位置信息确定所述原始运动轨迹所属的运动区域,所述指定的至少一个运动轨迹点为根据所述时刻信息确定的轨迹点。
10.根据权利要求1至9任一项所述的方法,其特征在于,
所述运动轨迹点的轨迹信息为所述第一电子设备采集的信息;
或者,
所述运动轨迹点的轨迹信息为第二电子设备采集的信息。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹,包括:
在所述第一电子设备中存储有固定区域对应的参考运动轨迹,且所述固定区域包括所述运动区域的情况下,从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹;
或者,
在所述第一电子设备中存储有固定区域对应的参考运动轨迹,且所述固定区域不包括所述运动区域的情况下,向服务器获取所述运动区域对应的参考运动轨迹,并从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹;
或者,
向服务器发送所述运动区域的区域标识以及所述原始运动轨迹,接收所述服务器基于所述区域标识以及所述原始运动轨迹,发送的第一参考运动轨迹。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:
根据所述运动轨迹点的轨迹信息,生成初始运动轨迹;
对所述初始运动轨迹进行数据清洗处理,得到所述原始运动轨迹;
其中,所述数据清洗处理包括以下至少一种:对所述运动轨迹点中包括的噪声轨迹点进行的去除处理、对存在重复运动轨迹的初始运动轨迹进行的分割处理、以及对所述初始运动轨迹进行的平滑处理,所述噪声轨迹点包括停留轨迹点和离群轨迹点中的至少一种。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述方法还包括:
在显示运动记录的窗口中,针对各个运动记录对应展示纠偏轨迹查看控件;
所述确定原始运动轨迹所属的运动区域,包括:
检测到用户对第一运动记录对应的纠偏轨迹查看控件的触发操作时,响应于对所述纠偏轨迹查看控件的触发操作,获取所述第一运动记录的原始运动轨迹,确定所述第一运动记录的原始运动轨迹所属运动区域;所述运动记录包括所述第一运动记录。
14.根据权利要求1至12任一项所述的方法,其特征在于,所述方法还包括:
在显示运动记录的窗口中,展示各个运动记录对应的轨迹类型选择控件,所述轨迹类型选择控件处于用于获取所述最终运动轨迹的目标状态;
所述确定原始运动轨迹所属的运动区域,包括:
检测到关于第二运动记录的轨迹类型选择控件处于所述目标状态,且用户对所述第二运动记录进行触发操作时,获取所述第二运动记录的原始运动轨迹,确定所述第二运动记录的原始运动轨迹所属运动区域,所述运动记录包括所述第二运动记录。
15.一种生成运动轨迹的方法,其特征在于,应用于服务器,所述方法包括:
获取运动轨迹样本;
将同一区域内相似的运动轨迹样本进行聚类合并得到所述同一区域对应的参考运动轨迹,用于在所述同一区域包括运动区域,且在确定第一电子设备在运动过程中的原始运动轨迹属于所述运动区域的情况下,从所述运动区域对应的参考运动轨迹中,获取与所述原始运动轨迹相似的第一参考运动轨迹,以及根据所述第一参考运动轨迹对所述原始运动轨迹进行纠偏得到最终运动轨迹。
16.根据权利要求15所述的方法,其特征在于,所述将同一区域内相似的运动轨迹样本进行聚类合并得到所述同一区域对应的参考运动轨迹,包括:
将同一区域内相似的运动轨迹样本进行聚类得到运动轨迹集合;
对所述运动轨迹集合包括的运动轨迹样本进行轨迹合并得到所述同一区域对应的参考运动轨迹。
17.根据权利要求15或者16所述的方法,其特征在于,所述同一区域内相似的运动轨迹样本为根据预设轨迹相似算法确定所述同一区域内的每两个运动轨迹样本是否为相似轨迹得到的;
其中,预设轨迹相似算法包括最长公共子序列算法、豪斯多夫距离算法、编辑距离算法以及动态时间扭曲法则中的至少一种。
18.根据权利要求17所述的方法,其特征在于,在所述预设轨迹相似算法包括所述最长公共子序列算法和所述豪斯多夫距离算法的情况下,
两个运动轨迹样本为相似轨迹的条件包括:所述两个运动轨迹样本之间最长公共子序列的相似度大于第一阈值,或者,在所述两个运动轨迹样本之间最长公共子序列的相似度小于等于第一阈值时,所述两个运动轨迹样本之间的豪斯多夫距离小于第二阈值。
19.根据权利要求16至18任一项所述的方法,其特征在于,所述将同一区域内相似的运动轨迹样本进行聚类合并得到所述同一区域对应的参考运动轨迹,包括:
对所述运动轨迹样本进行样本处理得到处理后的运动轨迹样本;
将同一区域内相似的处理后的运动轨迹样本进行聚类合并得到所述同一区域对应的参考运动轨迹;
其中,所述样本处理包括数据脱敏处理和数据清洗处理中的至少一种;所述数据清洗处理包括以下至少一种:对所述运动轨迹样本包括的噪声轨迹点进行去除处理、对存在重复运动轨迹的运动轨迹样本进行分割处理、以及对所述运动轨迹样本进行平滑处理,所述噪声轨迹点包括停留轨迹点和离群轨迹点中的至少一种。
20.根据权利要求16至19任一项所述的方法,其特征在于,所述对所述运动轨迹集合包括的运动轨迹样本进行轨迹合并得到所述同一区域对应的参考运动轨迹,包括:
对所述运动轨迹集合包括的运动轨迹样本进行轨迹合并得到所述同一区域对应的待处理轨迹样本;
对所述待处理轨迹样本进行平滑处理得到所述同一区域对应的参考运动轨迹。
21.根据权利要求16至20任一项所述的方法,其特征在于,所述参考运动轨迹为所述服务器根据基准运动轨迹上各个运动轨迹样本点的最终位置信息得到的运动轨迹,所述运动轨迹集合包括所述基准运动轨迹;
其中,所述基准运动轨迹上第g个运动轨迹样本点的最终位置信息为所述服务器计算若干运动轨迹样本点的位置信息与第g个运动轨迹样本点的位置信息的均值得到的位置信息,所述若干个运动轨迹样本点为所述服务器从所述运动轨迹集合中除所述基准运动轨迹样本外的其他运动轨迹样本中,获取的第g个运动轨迹样本点的采样半径内的运动轨迹样本点,g为正整数。
22.根据权利要求15至21任一项所述的方法,其特征在于,所述方法还包括:
向所述第一电子设备发送所述运动区域对应的参考运动轨迹,用于所述第一电子设备根据所述运动区域对应的参考运动轨迹,获取与所述原始运动轨迹相似的第一参考运动轨迹。
23.根据权利要求15至22任一项所述的方法,其特征在于,所述方法还包括:
获取新运动轨迹样本;
根据所述新运动轨迹样本,更新所述同一区域对应的参考运动轨迹。
24.一种电子设备,其特征在于,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序;当所述一个或多个处理器执行所述计算机程序时,使得所述电子设备执行权利要求1至14中任一项所述的生成运动轨迹的方法。
25.一种服务器,其特征在于,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序;当所述一个或多个处理器执行所述计算机程序时,使得所述服务器执行如权利要求15至23中任一项所述的生成运动轨迹的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在第一电子设备上运行时,使得所述第一电子设备执行如权利要求1至14中任一项所述的生成运动轨迹的方法,或者,当所述计算机指令在服务器上运行时,使得所述服务器执行如权利要求15至23中任一项所述的生成运动轨迹的方法。
CN202011187921.5A 2020-10-29 2020-10-29 一种生成运动轨迹的方法、电子设备及服务器 Active CN114510542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011187921.5A CN114510542B (zh) 2020-10-29 2020-10-29 一种生成运动轨迹的方法、电子设备及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011187921.5A CN114510542B (zh) 2020-10-29 2020-10-29 一种生成运动轨迹的方法、电子设备及服务器

Publications (2)

Publication Number Publication Date
CN114510542A true CN114510542A (zh) 2022-05-17
CN114510542B CN114510542B (zh) 2022-12-09

Family

ID=81547055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011187921.5A Active CN114510542B (zh) 2020-10-29 2020-10-29 一种生成运动轨迹的方法、电子设备及服务器

Country Status (1)

Country Link
CN (1) CN114510542B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116358562A (zh) * 2023-05-31 2023-06-30 氧乐互动(天津)科技有限公司 消毒操作轨迹检测方法、装置、设备和存储介质
CN116561437A (zh) * 2023-07-10 2023-08-08 荣耀终端有限公司 用户行为预测方法、终端设备及存储介质
WO2024055859A1 (zh) * 2022-09-15 2024-03-21 华为技术有限公司 运动数据获取方法及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239556A (zh) * 2014-09-25 2014-12-24 西安理工大学 基于密度聚类的自适应轨迹预测方法
CN105390028A (zh) * 2015-10-23 2016-03-09 广州乙禾航运风险咨询有限公司 船舶航行轨迹的纠正方法和系统
CN107158685A (zh) * 2017-04-28 2017-09-15 北京小米移动软件有限公司 运动检验方法和装置
CN107202574A (zh) * 2016-03-17 2017-09-26 北京小米移动软件有限公司 运动轨迹信息修正方法及装置
CN107277765A (zh) * 2017-05-12 2017-10-20 西南交通大学 一种基于聚类离群分析的手机信令轨迹预处理方法
CN107645701A (zh) * 2017-09-12 2018-01-30 咪咕互动娱乐有限公司 一种生成运动轨迹的方法及装置
CN109714709A (zh) * 2019-02-25 2019-05-03 北京化工大学 一种基于历史信息的失联车辆位置预测方法和系统
CN111427075A (zh) * 2020-02-29 2020-07-17 中国平安财产保险股份有限公司 路径导航方法、装置、移动终端及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239556A (zh) * 2014-09-25 2014-12-24 西安理工大学 基于密度聚类的自适应轨迹预测方法
CN105390028A (zh) * 2015-10-23 2016-03-09 广州乙禾航运风险咨询有限公司 船舶航行轨迹的纠正方法和系统
CN107202574A (zh) * 2016-03-17 2017-09-26 北京小米移动软件有限公司 运动轨迹信息修正方法及装置
CN107158685A (zh) * 2017-04-28 2017-09-15 北京小米移动软件有限公司 运动检验方法和装置
CN107277765A (zh) * 2017-05-12 2017-10-20 西南交通大学 一种基于聚类离群分析的手机信令轨迹预处理方法
CN107645701A (zh) * 2017-09-12 2018-01-30 咪咕互动娱乐有限公司 一种生成运动轨迹的方法及装置
CN109714709A (zh) * 2019-02-25 2019-05-03 北京化工大学 一种基于历史信息的失联车辆位置预测方法和系统
CN111427075A (zh) * 2020-02-29 2020-07-17 中国平安财产保险股份有限公司 路径导航方法、装置、移动终端及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
彭冬旭: "基于单目视觉的机器人定位算法研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *
葛艺佩: "移动轨迹去匿名化方法研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055859A1 (zh) * 2022-09-15 2024-03-21 华为技术有限公司 运动数据获取方法及电子设备
CN116358562A (zh) * 2023-05-31 2023-06-30 氧乐互动(天津)科技有限公司 消毒操作轨迹检测方法、装置、设备和存储介质
CN116561437A (zh) * 2023-07-10 2023-08-08 荣耀终端有限公司 用户行为预测方法、终端设备及存储介质

Also Published As

Publication number Publication date
CN114510542B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN114510542B (zh) 一种生成运动轨迹的方法、电子设备及服务器
EP3014476B1 (en) Using movement patterns to anticipate user expectations
JP6674791B2 (ja) 混雑度推定方法、人数推定方法、混雑度推定プログラム、人数推定プログラム、および人数推定システム
US9740773B2 (en) Context labels for data clusters
US9804270B2 (en) Sensor-based GNSS view zone selection
CN106168673B (zh) 传感器信息使用方法和使用该方法的电子设备
CN114466308B (zh) 一种定位方法和电子设备
CN111664848B (zh) 一种多模态室内定位导航方法及系统
WO2021027215A1 (zh) 定位信息的创建方法、车载终端、服务器设备和定位系统
CN106209595A (zh) 信息提醒方法及装置
WO2020029146A1 (zh) 一种获取用户运动轨迹的方法及终端
CN113810850B (zh) 一种定位数据库的创建方法及电子设备
CN110967013A (zh) 一种基于室内地磁场信息和智能手机的室内区域定位系统
US10895626B2 (en) Device state estimation with body-fixed assumption
CN110672086B (zh) 场景识别方法、装置、设备及计算机可读介质
CN115379388A (zh) 地理围栏的生成方法及电子设备
JP2011082770A (ja) データ生成装置及びその制御方法、プログラム
US20220095954A1 (en) A foot mounted wearable device and a method to operate the same
CN115061740A (zh) 应用程序处理方法及装置
JP2013050308A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2017182424A (ja) 物体を識別するための装置および方法ならびに当該方法をコンピュータに実行させるためのプログラム
US11394931B2 (en) Multimedia capture and editing using wireless sensors
CN105991822B (zh) 终端应用的控制方法及装置
CN115374482B (zh) 图像处理方法及电子设备
JP7307139B2 (ja) 追跡装置により捕捉される少なくとも1つの無線信号観測結果セットに基づく、追跡装置が対象エリア内にいるかどうかの判定

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant